summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--3rdparty/ymfm/.editorconfig9
-rw-r--r--3rdparty/ymfm/.gitignore39
-rw-r--r--3rdparty/ymfm/GeneralInfo.md282
-rw-r--r--3rdparty/ymfm/LICENSE29
-rw-r--r--3rdparty/ymfm/README.md118
-rw-r--r--3rdparty/ymfm/buildall.cpp114
-rw-r--r--3rdparty/ymfm/examples/vgmrender/.gitignore1
-rw-r--r--3rdparty/ymfm/examples/vgmrender/em_inflate.cpp1185
-rw-r--r--3rdparty/ymfm/examples/vgmrender/em_inflate.h49
-rw-r--r--3rdparty/ymfm/examples/vgmrender/vgmrender.cpp1412
-rw-r--r--3rdparty/ymfm/src/ymfm.h486
-rw-r--r--3rdparty/ymfm/src/ymfm_adpcm.cpp (renamed from src/devices/sound/ymadpcm.cpp)415
-rw-r--r--3rdparty/ymfm/src/ymfm_adpcm.h411
-rw-r--r--3rdparty/ymfm/src/ymfm_fm.h449
-rw-r--r--3rdparty/ymfm/src/ymfm_fm.ipp1539
-rw-r--r--3rdparty/ymfm/src/ymfm_misc.cpp175
-rw-r--r--3rdparty/ymfm/src/ymfm_misc.h94
-rw-r--r--3rdparty/ymfm/src/ymfm_opl.cpp2207
-rw-r--r--3rdparty/ymfm/src/ymfm_opl.h902
-rw-r--r--3rdparty/ymfm/src/ymfm_opm.cpp535
-rw-r--r--3rdparty/ymfm/src/ymfm_opm.h320
-rw-r--r--3rdparty/ymfm/src/ymfm_opn.cpp2469
-rw-r--r--3rdparty/ymfm/src/ymfm_opn.h800
-rw-r--r--3rdparty/ymfm/src/ymfm_opq.cpp480
-rw-r--r--3rdparty/ymfm/src/ymfm_opq.h293
-rw-r--r--3rdparty/ymfm/src/ymfm_opz.cpp808
-rw-r--r--3rdparty/ymfm/src/ymfm_opz.h332
-rw-r--r--3rdparty/ymfm/src/ymfm_pcm.cpp712
-rw-r--r--3rdparty/ymfm/src/ymfm_pcm.h307
-rw-r--r--3rdparty/ymfm/src/ymfm_ssg.cpp279
-rw-r--r--3rdparty/ymfm/src/ymfm_ssg.h206
-rw-r--r--android-project/app/src/main/AndroidManifest.xml4
-rw-r--r--artwork/chess/README.md2
-rw-r--r--docs/source/initialsetup/configuringmame.rst26
-rw-r--r--docs/source/techspecs/naming.rst2
-rw-r--r--docs/source/usingmame/usingmame.rst2
-rw-r--r--hash/a800.xml16
-rw-r--r--hash/a800_flop.xml93
-rw-r--r--hash/apple2_flop_clcracked.xml348
-rw-r--r--hash/apple2_flop_orig.xml812
-rw-r--r--hash/aquarius_cart.xml92
-rw-r--r--hash/bbc_rom.xml1663
-rw-r--r--hash/bml3_flop.xml89
-rw-r--r--hash/chip8_quik.xml12
-rw-r--r--hash/fmtowns_cd.xml781
-rw-r--r--hash/fmtowns_flop_orig.xml6
-rw-r--r--hash/gamegear.xml388
-rw-r--r--hash/ibm5150.xml244
-rw-r--r--hash/ibm5170.xml239
-rw-r--r--hash/jakks_gamekey_sw.xml39
-rw-r--r--hash/juicebox.xml58
-rw-r--r--hash/leapfrog_leapster_explorer_cart.xml44
-rw-r--r--hash/leapfrog_zippity_cart.xml12
-rw-r--r--hash/leapster.xml20
-rw-r--r--hash/mbee_cart.xml279
-rw-r--r--hash/mbee_cass.xml9
-rw-r--r--hash/megadriv.xml150
-rw-r--r--hash/mobigo_cart.xml55
-rw-r--r--hash/neogeo.xml5
-rw-r--r--hash/nes.xml1581
-rw-r--r--hash/pc98.xml46
-rw-r--r--hash/pce.xml2
-rw-r--r--hash/pce_tourvision.xml16
-rw-r--r--hash/pmd85_cass.xml2
-rw-r--r--hash/rx78_cart.xml16
-rw-r--r--hash/saitek_kso.xml2
-rw-r--r--hash/sms.xml120
-rw-r--r--hash/spectrum_cass.xml1928
-rw-r--r--hash/trs80_cass.xml708
-rw-r--r--hash/trs80_quik.xml128
-rw-r--r--hash/vgmplay.xml1400
-rw-r--r--hash/vsmile_cart.xml29
-rw-r--r--hash/vtech_innotab_cart.xml27
-rw-r--r--hash/vtech_storio_cart.xml115
-rw-r--r--language/Afrikaans/strings.po3190
-rw-r--r--language/Albanian/strings.po3190
-rw-r--r--language/Arabic/strings.po3190
-rw-r--r--language/Basque/strings.po3190
-rw-r--r--language/Belarusian/strings.po3190
-rw-r--r--language/Bosnian/strings.po3190
-rw-r--r--language/Bulgarian/strings.po3190
-rw-r--r--language/Burmese/strings.po3190
-rw-r--r--language/Catalan/strings.po3914
-rw-r--r--language/Chinese_Simplified/strings.po4239
-rw-r--r--language/Chinese_Traditional/strings.po4239
-rw-r--r--language/Croatian/strings.po3190
-rw-r--r--language/Czech/strings.po4095
-rw-r--r--language/Danish/strings.po3190
-rw-r--r--language/Dutch/strings.po4373
-rw-r--r--language/English/strings.po3190
-rw-r--r--language/Estonian/strings.po3190
-rw-r--r--language/Finnish/strings.po3190
-rw-r--r--language/French/strings.po4240
-rw-r--r--language/French_Belgium/strings.po4027
-rw-r--r--language/French_Canada/strings.po3190
-rw-r--r--language/Georgian/strings.po3190
-rw-r--r--language/German/strings.po4330
-rw-r--r--language/Greek/strings.po4387
-rw-r--r--language/Hebrew/strings.po3190
-rw-r--r--language/Hindi/strings.po3190
-rw-r--r--language/Hungarian/strings.po4150
-rw-r--r--language/Indonesian/strings.po3190
-rw-r--r--language/Italian/strings.po4290
-rw-r--r--language/Japanese/strings.po4287
-rw-r--r--language/Korean/strings.po4316
-rw-r--r--language/Latvian/strings.po3190
-rw-r--r--language/Lithuanian/strings.po3190
-rw-r--r--language/Macedonian/strings.po3190
-rw-r--r--language/Norwegian/strings.po4321
-rw-r--r--language/Persian/strings.po3190
-rw-r--r--language/Polish/strings.po3190
-rw-r--r--language/Portuguese/strings.po4301
-rw-r--r--language/Portuguese_Brazil/strings.po4379
-rw-r--r--language/Romanian/strings.po3190
-rw-r--r--language/Russian/strings.po4269
-rw-r--r--language/Serbian/strings.po4147
-rw-r--r--language/Serbian_Cyrillic/strings.po4143
-rw-r--r--language/Slovak/strings.po3190
-rw-r--r--language/Slovenian/strings.po3190
-rw-r--r--language/Spanish/strings.po4321
-rw-r--r--language/Spanish_Mexico/strings.po3190
-rw-r--r--language/Swedish/strings.po4279
-rw-r--r--language/Thai/strings.po3190
-rw-r--r--language/Turkish/strings.po3879
-rw-r--r--language/Ukrainian/strings.po3190
-rw-r--r--language/Vietnamese/strings.po3190
-rw-r--r--makefile9
-rw-r--r--plugins/console/init.lua10
-rw-r--r--plugins/data/data_history.lua1
-rw-r--r--scripts/genie.lua10
-rw-r--r--scripts/src/3rdparty.lua38
-rw-r--r--scripts/src/bus.lua34
-rw-r--r--scripts/src/cpu.lua12
-rw-r--r--scripts/src/formats.lua38
-rw-r--r--scripts/src/main.lua1
-rw-r--r--scripts/src/sound.lua141
-rw-r--r--scripts/src/tools.lua6
-rw-r--r--scripts/target/mame/arcade.lua7
-rw-r--r--scripts/target/mame/mess.lua53
-rw-r--r--scripts/target/mame/virtual.lua3
-rw-r--r--src/devices/bus/a2bus/booti.cpp16
-rw-r--r--src/devices/bus/a2gameio/gameio.h3
-rw-r--r--src/devices/bus/a7800/xboard.h2
-rw-r--r--src/devices/bus/adb/a9m0330.cpp268
-rw-r--r--src/devices/bus/adb/a9m0330.h48
-rw-r--r--src/devices/bus/adb/a9m0331.cpp125
-rw-r--r--src/devices/bus/adb/a9m0331.h42
-rw-r--r--src/devices/bus/adb/adb.cpp6
-rw-r--r--src/devices/bus/adb/adb.h3
-rw-r--r--src/devices/bus/apricot/expansion/winchester.cpp1
-rw-r--r--src/devices/bus/bbc/1mhzbus/beebopl.h2
-rw-r--r--src/devices/bus/bbc/tube/tube.cpp6
-rw-r--r--src/devices/bus/bbc/tube/tube_arm7.cpp295
-rw-r--r--src/devices/bus/bbc/tube/tube_arm7.h92
-rw-r--r--src/devices/bus/bml3/bml3mp1802.cpp1
-rw-r--r--src/devices/bus/bml3/bml3mp1805.cpp58
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.h2
-rw-r--r--src/devices/bus/cbus/pc9801_118.cpp2
-rw-r--r--src/devices/bus/cbus/pc9801_118.h2
-rw-r--r--src/devices/bus/cbus/pc9801_26.cpp2
-rw-r--r--src/devices/bus/cbus/pc9801_26.h2
-rw-r--r--src/devices/bus/cbus/pc9801_86.h2
-rw-r--r--src/devices/bus/coco/coco_max.cpp172
-rw-r--r--src/devices/bus/coco/coco_max.h14
-rw-r--r--src/devices/bus/coco/coco_ssc.cpp47
-rw-r--r--src/devices/bus/coco/cococart.cpp2
-rw-r--r--src/devices/bus/isa/adlib.h2
-rw-r--r--src/devices/bus/isa/ibm_mfc.cpp12
-rw-r--r--src/devices/bus/isa/ibm_mfc.h4
-rw-r--r--src/devices/bus/isa/sb16.h2
-rw-r--r--src/devices/bus/isa/sblaster.cpp2
-rw-r--r--src/devices/bus/isa/sblaster.h2
-rw-r--r--src/devices/bus/isa/stereo_fx.h2
-rw-r--r--src/devices/bus/msx_cart/fmpac.h2
-rw-r--r--src/devices/bus/msx_cart/moonsound.h2
-rw-r--r--src/devices/bus/msx_cart/msx_audio.h2
-rw-r--r--src/devices/bus/msx_cart/yamaha.cpp23
-rw-r--r--src/devices/bus/msx_cart/yamaha.h4
-rw-r--r--src/devices/bus/msx_slot/music.h2
-rw-r--r--src/devices/bus/nes/konami.h2
-rw-r--r--src/devices/bus/rs232/mboardd.cpp18
-rw-r--r--src/devices/bus/saitek_osa/expansion.cpp155
-rw-r--r--src/devices/bus/saitek_osa/expansion.h128
-rw-r--r--src/devices/bus/saitek_osa/maestro.cpp350
-rw-r--r--src/devices/bus/saitek_osa/maestro.h86
-rw-r--r--src/devices/bus/saitek_osa/maestroa.cpp196
-rw-r--r--src/devices/bus/saitek_osa/maestroa.h57
-rw-r--r--src/devices/bus/saitek_osa/modules.cpp22
-rw-r--r--src/devices/bus/saitek_osa/modules.h16
-rw-r--r--src/devices/bus/saitek_osa/sparc.cpp102
-rw-r--r--src/devices/bus/saitek_osa/sparc.h45
-rw-r--r--src/devices/bus/samcoupe/expansion/expansion.cpp8
-rw-r--r--src/devices/bus/sg1000_exp/fm_unit.h2
-rw-r--r--src/devices/bus/vsmile/keyboard.cpp569
-rw-r--r--src/devices/bus/vsmile/keyboard.h143
-rw-r--r--src/devices/bus/vsmile/mat.h3
-rw-r--r--src/devices/bus/vsmile/pad.h3
-rw-r--r--src/devices/bus/vsmile/vsmile_ctrl.cpp4
-rw-r--r--src/devices/bus/vsmile/vsmile_ctrl.h1
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.cpp73
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.h39
-rw-r--r--src/devices/bus/vtech/ioexp/joystick.cpp23
-rw-r--r--src/devices/bus/vtech/ioexp/joystick.h7
-rw-r--r--src/devices/bus/vtech/ioexp/lpen.cpp63
-rw-r--r--src/devices/bus/vtech/ioexp/lpen.h43
-rw-r--r--src/devices/bus/vtech/ioexp/printer.cpp30
-rw-r--r--src/devices/bus/vtech/ioexp/printer.h13
-rw-r--r--src/devices/bus/vtech/memexp/carts.cpp2
-rw-r--r--src/devices/bus/vtech/memexp/floppy.cpp66
-rw-r--r--src/devices/bus/vtech/memexp/floppy.h15
-rw-r--r--src/devices/bus/vtech/memexp/memexp.cpp127
-rw-r--r--src/devices/bus/vtech/memexp/memexp.h52
-rw-r--r--src/devices/bus/vtech/memexp/memory.cpp111
-rw-r--r--src/devices/bus/vtech/memexp/memory.h32
-rw-r--r--src/devices/bus/vtech/memexp/rs232.cpp46
-rw-r--r--src/devices/bus/vtech/memexp/rs232.h12
-rw-r--r--src/devices/bus/vtech/memexp/rtty.cpp32
-rw-r--r--src/devices/bus/vtech/memexp/rtty.h14
-rw-r--r--src/devices/bus/vtech/memexp/sdloader.cpp180
-rw-r--r--src/devices/bus/vtech/memexp/sdloader.h60
-rw-r--r--src/devices/bus/vtech/memexp/wordpro.cpp25
-rw-r--r--src/devices/bus/vtech/memexp/wordpro.h5
-rw-r--r--src/devices/cpu/dsp56000/dsp56000d.cpp4
-rw-r--r--src/devices/cpu/i86/i286.cpp2
-rw-r--r--src/devices/cpu/m6502/m5074x.cpp2
-rw-r--r--src/devices/cpu/m6800/6800dasm.cpp12
-rw-r--r--src/devices/cpu/m6800/6800dasm.h10
-rw-r--r--src/devices/cpu/m6800/6800ops.hxx24
-rw-r--r--src/devices/cpu/m6800/m6800.cpp130
-rw-r--r--src/devices/cpu/m6800/m6800.h10
-rw-r--r--src/devices/cpu/m6800/m6801.cpp209
-rw-r--r--src/devices/cpu/m6800/m6801.h44
-rw-r--r--src/devices/cpu/m68000/m68000.h4
-rw-r--r--src/devices/cpu/m68000/m68kfpu.cpp117
-rw-r--r--src/devices/cpu/m68hc16/cpu16dasm.cpp1408
-rw-r--r--src/devices/cpu/m68hc16/cpu16dasm.h59
-rw-r--r--src/devices/cpu/pdp8/hd6120.cpp1356
-rw-r--r--src/devices/cpu/pdp8/hd6120.h217
-rw-r--r--src/devices/cpu/pdp8/pdp8dasm.cpp1008
-rw-r--r--src/devices/cpu/pdp8/pdp8dasm.h38
-rw-r--r--src/devices/cpu/ucom4/ucom4d.cpp21
-rw-r--r--src/devices/cpu/ucom4/ucom4d.h7
-rw-r--r--src/devices/imagedev/floppy.cpp273
-rw-r--r--src/devices/imagedev/floppy.h48
-rw-r--r--src/devices/imagedev/midiin.cpp378
-rw-r--r--src/devices/imagedev/midiin.h109
-rw-r--r--src/devices/machine/am79c90.cpp2
-rw-r--r--src/devices/machine/at28c64b.cpp2
-rw-r--r--src/devices/machine/dc7085.cpp519
-rw-r--r--src/devices/machine/dc7085.h195
-rw-r--r--src/devices/machine/dp83932c.cpp2
-rw-r--r--src/devices/machine/edlc.cpp2
-rw-r--r--src/devices/machine/hd63450.cpp39
-rw-r--r--src/devices/machine/i82586.cpp93
-rw-r--r--src/devices/machine/input_merger.cpp28
-rw-r--r--src/devices/machine/input_merger.h13
-rw-r--r--src/devices/machine/keyboard.cpp4
-rw-r--r--src/devices/machine/mc68681.cpp22
-rw-r--r--src/devices/machine/ns32202.cpp6
-rw-r--r--src/devices/machine/spg2xx_io.cpp10
-rw-r--r--src/devices/machine/swim1.cpp11
-rw-r--r--src/devices/machine/swim2.cpp2
-rw-r--r--src/devices/machine/swim3.cpp2
-rw-r--r--src/devices/machine/wd1010.cpp9
-rw-r--r--src/devices/machine/wd1010.h8
-rw-r--r--src/devices/machine/wd_fdc.cpp8
-rw-r--r--src/devices/machine/z80scc.cpp7
-rw-r--r--src/devices/sound/ay8910.cpp2
-rw-r--r--src/devices/sound/bbd.cpp165
-rw-r--r--src/devices/sound/bbd.h93
-rw-r--r--src/devices/sound/c140.cpp18
-rw-r--r--src/devices/sound/c140.h2
-rw-r--r--src/devices/sound/c6280.cpp4
-rw-r--r--src/devices/sound/es5503.cpp2
-rw-r--r--src/devices/sound/mixer.cpp30
-rw-r--r--src/devices/sound/mixer.h27
-rw-r--r--src/devices/sound/votrax.cpp1
-rw-r--r--src/devices/sound/y8950.cpp309
-rw-r--r--src/devices/sound/y8950.h81
-rw-r--r--src/devices/sound/ym2151.cpp244
-rw-r--r--src/devices/sound/ym2151.h85
-rw-r--r--src/devices/sound/ym2154.cpp311
-rw-r--r--src/devices/sound/ym2154.h99
-rw-r--r--src/devices/sound/ym2203.cpp195
-rw-r--r--src/devices/sound/ym2203.h59
-rw-r--r--src/devices/sound/ym2413.cpp253
-rw-r--r--src/devices/sound/ym2413.h98
-rw-r--r--src/devices/sound/ym2608.cpp414
-rw-r--r--src/devices/sound/ym2608.h71
-rw-r--r--src/devices/sound/ym2610.cpp317
-rw-r--r--src/devices/sound/ym2610.h80
-rw-r--r--src/devices/sound/ym2612.cpp349
-rw-r--r--src/devices/sound/ym2612.h90
-rw-r--r--src/devices/sound/ym3526.cpp153
-rw-r--r--src/devices/sound/ym3526.h53
-rw-r--r--src/devices/sound/ym3812.cpp151
-rw-r--r--src/devices/sound/ym3812.h53
-rw-r--r--src/devices/sound/ymadpcm.h371
-rw-r--r--src/devices/sound/ymf262.cpp138
-rw-r--r--src/devices/sound/ymf262.h48
-rw-r--r--src/devices/sound/ymf278b.cpp945
-rw-r--r--src/devices/sound/ymf278b.h134
-rw-r--r--src/devices/sound/ymfm.cpp3298
-rw-r--r--src/devices/sound/ymfm.h1415
-rw-r--r--src/devices/sound/ymfm_mame.h495
-rw-r--r--src/devices/sound/ymopl.cpp373
-rw-r--r--src/devices/sound/ymopl.h208
-rw-r--r--src/devices/sound/ymopm.cpp81
-rw-r--r--src/devices/sound/ymopm.h56
-rw-r--r--src/devices/sound/ymopn.cpp300
-rw-r--r--src/devices/sound/ymopn.h196
-rw-r--r--src/devices/sound/ymopq.cpp38
-rw-r--r--src/devices/sound/ymopq.h36
-rw-r--r--src/devices/sound/ymopz.cpp22
-rw-r--r--src/devices/sound/ymopz.h29
-rw-r--r--src/devices/video/315_5124.cpp39
-rw-r--r--src/devices/video/upd7220.cpp6
-rw-r--r--src/emu/dinetwork.cpp8
-rw-r--r--src/emu/dinetwork.h2
-rw-r--r--src/emu/emumem.cpp2
-rw-r--r--src/emu/emumem.h3
-rw-r--r--src/emu/emumem_mview.cpp6
-rw-r--r--src/emu/screen.h2
-rw-r--r--src/emu/xtal.cpp1
-rw-r--r--src/frontend/mame/ui/filecreate.cpp11
-rw-r--r--src/frontend/mame/ui/filecreate.h9
-rw-r--r--src/frontend/mame/ui/floppycntrl.cpp32
-rw-r--r--src/frontend/mame/ui/floppycntrl.h1
-rw-r--r--src/frontend/mame/ui/imgcntrl.cpp7
-rw-r--r--src/frontend/mame/ui/miscmenu.cpp55
-rw-r--r--src/frontend/mame/ui/selmenu.cpp2
-rw-r--r--src/lib/formats/all.cpp15
-rw-r--r--src/lib/formats/all.h2
-rw-r--r--src/lib/formats/ap_dsk35.cpp6
-rw-r--r--src/lib/formats/flopimg.cpp25
-rw-r--r--src/lib/formats/flopimg.h121
-rw-r--r--src/lib/formats/fs_oric_jasmin.cpp386
-rw-r--r--src/lib/formats/fs_oric_jasmin.h35
-rw-r--r--src/lib/formats/fs_prodos.cpp187
-rw-r--r--src/lib/formats/fs_prodos.h38
-rw-r--r--src/lib/formats/fs_unformatted.cpp17
-rw-r--r--src/lib/formats/fs_unformatted.h6
-rw-r--r--src/lib/formats/fs_vtech.cpp366
-rw-r--r--src/lib/formats/fs_vtech.h96
-rw-r--r--src/lib/formats/fsmgr.cpp163
-rw-r--r--src/lib/formats/fsmgr.h101
-rw-r--r--src/lib/formats/mfi_dsk.cpp9
-rw-r--r--src/lib/formats/vt_dsk.cpp396
-rw-r--r--src/lib/formats/vt_dsk.h58
-rw-r--r--src/lib/util/timeconv.cpp4
-rw-r--r--src/mame/arcade.flt3
-rw-r--r--src/mame/audio/atarijsa.h2
-rw-r--r--src/mame/audio/dragrace.cpp42
-rw-r--r--src/mame/audio/leland.h2
-rw-r--r--src/mame/audio/nichisnd.h2
-rw-r--r--src/mame/audio/nitedrvr.cpp44
-rw-r--r--src/mame/audio/pinsnd88.h2
-rw-r--r--src/mame/audio/s11c_bg.h2
-rw-r--r--src/mame/audio/segam1audio.h2
-rw-r--r--src/mame/audio/sprint2.cpp56
-rw-r--r--src/mame/audio/t5182.h2
-rw-r--r--src/mame/audio/williams.cpp2
-rw-r--r--src/mame/audio/williams.h2
-rw-r--r--src/mame/audio/wpcsnd.h2
-rw-r--r--src/mame/drivers/1942.cpp10
-rw-r--r--src/mame/drivers/1943.cpp8
-rw-r--r--src/mame/drivers/2mindril.cpp4
-rw-r--r--src/mame/drivers/88games.cpp2
-rw-r--r--src/mame/drivers/actfancr.cpp4
-rw-r--r--src/mame/drivers/aerofgt.cpp6
-rw-r--r--src/mame/drivers/airbustr.cpp2
-rw-r--r--src/mame/drivers/airraid.cpp2
-rw-r--r--src/mame/drivers/ajax.cpp2
-rw-r--r--src/mame/drivers/alg.cpp22
-rw-r--r--src/mame/drivers/aliens.cpp2
-rw-r--r--src/mame/drivers/alpha68k_n.cpp8
-rw-r--r--src/mame/drivers/amaticmg.cpp2
-rw-r--r--src/mame/drivers/amstr_pc.cpp2
-rw-r--r--src/mame/drivers/anes.cpp2
-rw-r--r--src/mame/drivers/angelkds.cpp2
-rw-r--r--src/mame/drivers/apple2.cpp4
-rw-r--r--src/mame/drivers/apple2e.cpp4
-rw-r--r--src/mame/drivers/apple2gs.cpp35
-rw-r--r--src/mame/drivers/aquarium.cpp2
-rw-r--r--src/mame/drivers/aquarius.cpp46
-rw-r--r--src/mame/drivers/argus.cpp2
-rw-r--r--src/mame/drivers/armedf.cpp3
-rw-r--r--src/mame/drivers/ashnojoe.cpp2
-rw-r--r--src/mame/drivers/asterix.cpp4
-rw-r--r--src/mame/drivers/asuka.cpp61
-rw-r--r--src/mame/drivers/atari_s1.cpp12
-rw-r--r--src/mame/drivers/atari_s2.cpp25
-rw-r--r--src/mame/drivers/atarisy1.cpp2
-rw-r--r--src/mame/drivers/battlane.cpp2
-rw-r--r--src/mame/drivers/battlera.cpp2
-rw-r--r--src/mame/drivers/battlnts.cpp2
-rw-r--r--src/mame/drivers/bbusters.cpp2
-rw-r--r--src/mame/drivers/bebox.cpp2
-rw-r--r--src/mame/drivers/bfcobra.cpp2
-rw-r--r--src/mame/drivers/bfm_sc2.cpp2
-rw-r--r--src/mame/drivers/bigkarnk_ms.cpp2
-rw-r--r--src/mame/drivers/bingoc.cpp93
-rw-r--r--src/mame/drivers/bingowav.cpp2
-rw-r--r--src/mame/drivers/bionicc.cpp12
-rw-r--r--src/mame/drivers/bladestl.cpp2
-rw-r--r--src/mame/drivers/blktiger.cpp7
-rw-r--r--src/mame/drivers/blktiger_ms.cpp2
-rw-r--r--src/mame/drivers/blockhl.cpp2
-rw-r--r--src/mame/drivers/blockout.cpp2
-rw-r--r--src/mame/drivers/bloodbro_ms.cpp2
-rw-r--r--src/mame/drivers/bmcbowl.cpp2
-rw-r--r--src/mame/drivers/bmcpokr.cpp2
-rw-r--r--src/mame/drivers/bml3.cpp60
-rw-r--r--src/mame/drivers/boogwing.cpp2
-rw-r--r--src/mame/drivers/brkthru.cpp4
-rw-r--r--src/mame/drivers/bublbobl.cpp40
-rw-r--r--src/mame/drivers/bw12.cpp8
-rw-r--r--src/mame/drivers/cabal.cpp2
-rw-r--r--src/mame/drivers/cabaret.cpp2
-rw-r--r--src/mame/drivers/calomega.cpp1983
-rw-r--r--src/mame/drivers/canon_s80.cpp305
-rw-r--r--src/mame/drivers/capbowl.cpp2
-rw-r--r--src/mame/drivers/capr1.cpp2
-rw-r--r--src/mame/drivers/cave.cpp4
-rw-r--r--src/mame/drivers/cbasebal.cpp2
-rw-r--r--src/mame/drivers/cbuster.cpp4
-rw-r--r--src/mame/drivers/cclimber.cpp12
-rw-r--r--src/mame/drivers/cgang.cpp2
-rw-r--r--src/mame/drivers/chanbara.cpp2
-rw-r--r--src/mame/drivers/changyu.cpp2
-rw-r--r--src/mame/drivers/chessmate.cpp12
-rw-r--r--src/mame/drivers/chexx.cpp58
-rw-r--r--src/mame/drivers/chinagat.cpp4
-rw-r--r--src/mame/drivers/chinsan.cpp2
-rw-r--r--src/mame/drivers/chqflag.cpp2
-rw-r--r--src/mame/drivers/cischeat.cpp2
-rw-r--r--src/mame/drivers/citycon.cpp2
-rw-r--r--src/mame/drivers/cninja.cpp4
-rw-r--r--src/mame/drivers/coco12.cpp1
-rw-r--r--src/mame/drivers/coco3.cpp39
-rw-r--r--src/mame/drivers/cointek.cpp2
-rw-r--r--src/mame/drivers/combatsc.cpp490
-rw-r--r--src/mame/drivers/commando.cpp9
-rw-r--r--src/mame/drivers/compgolf.cpp2
-rw-r--r--src/mame/drivers/contra.cpp2
-rw-r--r--src/mame/drivers/cop01.cpp32
-rw-r--r--src/mame/drivers/cps1.cpp2
-rw-r--r--src/mame/drivers/cps1bl_5205.cpp2
-rw-r--r--src/mame/drivers/cpzodiac.cpp6
-rw-r--r--src/mame/drivers/crei680.cpp339
-rw-r--r--src/mame/drivers/crimfght.cpp2
-rw-r--r--src/mame/drivers/crospang.cpp2
-rw-r--r--src/mame/drivers/crshrace.cpp2
-rw-r--r--src/mame/drivers/cybertnk.cpp2
-rw-r--r--src/mame/drivers/cyclemb.cpp13
-rw-r--r--src/mame/drivers/d9final.cpp2
-rw-r--r--src/mame/drivers/dacholer.cpp3
-rw-r--r--src/mame/drivers/dai3wksi.cpp74
-rw-r--r--src/mame/drivers/dangbar.cpp128
-rw-r--r--src/mame/drivers/darius.cpp2
-rw-r--r--src/mame/drivers/darkseal.cpp4
-rw-r--r--src/mame/drivers/dassault.cpp4
-rw-r--r--src/mame/drivers/dblewing.cpp2
-rw-r--r--src/mame/drivers/dbz.cpp2
-rw-r--r--src/mame/drivers/dcon.cpp4
-rw-r--r--src/mame/drivers/ddealer.cpp2
-rw-r--r--src/mame/drivers/ddenlovr.cpp2
-rw-r--r--src/mame/drivers/ddragon.cpp4
-rw-r--r--src/mame/drivers/ddragon3.cpp2
-rw-r--r--src/mame/drivers/ddribble.cpp260
-rw-r--r--src/mame/drivers/de_2.cpp2
-rw-r--r--src/mame/drivers/deadang.cpp2
-rw-r--r--src/mame/drivers/dec0.cpp4
-rw-r--r--src/mame/drivers/dec8.cpp5
-rw-r--r--src/mame/drivers/decmate2.cpp1006
-rw-r--r--src/mame/drivers/deco32.cpp10
-rw-r--r--src/mame/drivers/decstation.cpp760
-rw-r--r--src/mame/drivers/deniam.cpp2
-rw-r--r--src/mame/drivers/dfruit.cpp2
-rw-r--r--src/mame/drivers/diamondking.cpp2
-rw-r--r--src/mame/drivers/dietgo.cpp2
-rw-r--r--src/mame/drivers/discoboy.cpp2
-rw-r--r--src/mame/drivers/djboy.cpp2
-rw-r--r--src/mame/drivers/dooyong.cpp4
-rw-r--r--src/mame/drivers/dragon.cpp2
-rw-r--r--src/mame/drivers/dragrace.cpp120
-rw-r--r--src/mame/drivers/dunhuang.cpp2
-rw-r--r--src/mame/drivers/dynax.cpp5
-rw-r--r--src/mame/drivers/dynduke.cpp2
-rw-r--r--src/mame/drivers/esd16.cpp2
-rw-r--r--src/mame/drivers/exerion.cpp95
-rw-r--r--src/mame/drivers/exprraid.cpp4
-rw-r--r--src/mame/drivers/exzisus.cpp2
-rw-r--r--src/mame/drivers/f-32.cpp4
-rw-r--r--src/mame/drivers/f1gp.cpp2
-rw-r--r--src/mame/drivers/fantland.cpp4
-rw-r--r--src/mame/drivers/fb01.cpp6
-rw-r--r--src/mame/drivers/fcrash.cpp4
-rw-r--r--src/mame/drivers/ffantasy_ms.cpp2
-rw-r--r--src/mame/drivers/fidel_elite.cpp2
-rw-r--r--src/mame/drivers/fidel_sc9.cpp16
-rw-r--r--src/mame/drivers/finalizr.cpp120
-rw-r--r--src/mame/drivers/firetrap.cpp2
-rw-r--r--src/mame/drivers/flkatck.cpp2
-rw-r--r--src/mame/drivers/fm7.cpp2
-rw-r--r--src/mame/drivers/fmtowns.cpp8
-rw-r--r--src/mame/drivers/fresh.cpp2
-rw-r--r--src/mame/drivers/fromanc2.cpp2
-rw-r--r--src/mame/drivers/fromance.cpp2
-rw-r--r--src/mame/drivers/funkyjet.cpp2
-rw-r--r--src/mame/drivers/fuukifg2.cpp4
-rw-r--r--src/mame/drivers/fuukifg3.cpp2
-rw-r--r--src/mame/drivers/fwheel.cpp211
-rw-r--r--src/mame/drivers/gaelco.cpp2
-rw-r--r--src/mame/drivers/gaiden.cpp4
-rw-r--r--src/mame/drivers/galivan.cpp2
-rw-r--r--src/mame/drivers/galpanic_ms.cpp2
-rw-r--r--src/mame/drivers/galspnbl.cpp2
-rw-r--r--src/mame/drivers/gauntlet.cpp2
-rw-r--r--src/mame/drivers/ginganin.cpp2
-rw-r--r--src/mame/drivers/gladiatr.cpp2
-rw-r--r--src/mame/drivers/gluck2.cpp2
-rw-r--r--src/mame/drivers/gng.cpp5
-rw-r--r--src/mame/drivers/goal92.cpp2
-rw-r--r--src/mame/drivers/goindol.cpp2
-rw-r--r--src/mame/drivers/gokidetor.cpp2
-rw-r--r--src/mame/drivers/goodejan.cpp2
-rw-r--r--src/mame/drivers/goori.cpp2
-rw-r--r--src/mame/drivers/gotcha.cpp2
-rw-r--r--src/mame/drivers/gradius3.cpp2
-rw-r--r--src/mame/drivers/gsspade.cpp2
-rw-r--r--src/mame/drivers/gstriker.cpp2
-rw-r--r--src/mame/drivers/gticlub.cpp604
-rw-r--r--src/mame/drivers/gundealr.cpp2
-rw-r--r--src/mame/drivers/gunpey.cpp577
-rw-r--r--src/mame/drivers/gunsmoke.cpp9
-rw-r--r--src/mame/drivers/hcastle.cpp2
-rw-r--r--src/mame/drivers/heromem.cpp2
-rw-r--r--src/mame/drivers/hh_cops1.cpp168
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp3
-rw-r--r--src/mame/drivers/hh_pic16.cpp2
-rw-r--r--src/mame/drivers/hh_pps41.cpp4
-rw-r--r--src/mame/drivers/hh_tms1k.cpp14
-rw-r--r--src/mame/drivers/hh_ucom4.cpp2
-rw-r--r--src/mame/drivers/himesiki.cpp2
-rw-r--r--src/mame/drivers/hnayayoi.cpp10
-rw-r--r--src/mame/drivers/homerun.cpp2
-rw-r--r--src/mame/drivers/hornet.cpp14
-rw-r--r--src/mame/drivers/hshavoc.cpp2
-rw-r--r--src/mame/drivers/hvyunit.cpp2
-rw-r--r--src/mame/drivers/hyprduel.cpp4
-rw-r--r--src/mame/drivers/ibmpcjr.cpp2
-rw-r--r--src/mame/drivers/ichiban.cpp2
-rw-r--r--src/mame/drivers/igs009.cpp2
-rw-r--r--src/mame/drivers/igs011.cpp3
-rw-r--r--src/mame/drivers/igs017.cpp2
-rw-r--r--src/mame/drivers/igspoker.cpp2
-rw-r--r--src/mame/drivers/inufuku.cpp2
-rw-r--r--src/mame/drivers/iqblock.cpp2
-rw-r--r--src/mame/drivers/ironhors.cpp206
-rw-r--r--src/mame/drivers/itech8.cpp5
-rw-r--r--src/mame/drivers/jackal.cpp285
-rw-r--r--src/mame/drivers/jackie.cpp2
-rw-r--r--src/mame/drivers/jackpot.cpp2
-rw-r--r--src/mame/drivers/joctronic.cpp2
-rw-r--r--src/mame/drivers/joystand.cpp2
-rw-r--r--src/mame/drivers/jpmimpctsw.cpp51
-rw-r--r--src/mame/drivers/karnov.cpp5
-rw-r--r--src/mame/drivers/kikikai.cpp38
-rw-r--r--src/mame/drivers/kingdrby.cpp2
-rw-r--r--src/mame/drivers/kminus.cpp337
-rw-r--r--src/mame/drivers/koftball.cpp2
-rw-r--r--src/mame/drivers/korgds8.cpp2
-rw-r--r--src/mame/drivers/korgz3.cpp2
-rw-r--r--src/mame/drivers/ksys573.cpp227
-rw-r--r--src/mame/drivers/labyrunr.cpp10
-rw-r--r--src/mame/drivers/ladybug.cpp373
-rw-r--r--src/mame/drivers/lastbank.cpp2
-rw-r--r--src/mame/drivers/lastduel.cpp2
-rw-r--r--src/mame/drivers/leapfrog_leappad.cpp2
-rw-r--r--src/mame/drivers/leapfrog_leapster_explorer.cpp108
-rw-r--r--src/mame/drivers/legionna.cpp4
-rw-r--r--src/mame/drivers/lemmings.cpp2
-rw-r--r--src/mame/drivers/lkage.cpp2
-rw-r--r--src/mame/drivers/lockon.cpp2
-rw-r--r--src/mame/drivers/lordgun.cpp3
-rw-r--r--src/mame/drivers/lsasquad.cpp2
-rw-r--r--src/mame/drivers/lwings.cpp2
-rw-r--r--src/mame/drivers/m107.cpp2
-rw-r--r--src/mame/drivers/m72.cpp6
-rw-r--r--src/mame/drivers/m90.cpp2
-rw-r--r--src/mame/drivers/m92.cpp2
-rw-r--r--src/mame/drivers/macquadra700.cpp8
-rw-r--r--src/mame/drivers/madmotor.cpp4
-rw-r--r--src/mame/drivers/mainevt.cpp2
-rw-r--r--src/mame/drivers/matmania.cpp2
-rw-r--r--src/mame/drivers/max80.cpp2
-rw-r--r--src/mame/drivers/maygayv1.cpp2
-rw-r--r--src/mame/drivers/mbee.cpp271
-rw-r--r--src/mame/drivers/mcatadv.cpp2
-rw-r--r--src/mame/drivers/mcr68.cpp478
-rw-r--r--src/mame/drivers/mechatt.cpp2
-rw-r--r--src/mame/drivers/megasys1.cpp4
-rw-r--r--src/mame/drivers/megatech.cpp2
-rw-r--r--src/mame/drivers/mephisto_brikett.cpp4
-rw-r--r--src/mame/drivers/mephisto_modular.cpp4
-rw-r--r--src/mame/drivers/mephisto_risc.cpp3
-rw-r--r--src/mame/drivers/mephistp.cpp2
-rw-r--r--src/mame/drivers/merit.cpp110
-rw-r--r--src/mame/drivers/merits.cpp3
-rw-r--r--src/mame/drivers/metlclsh.cpp4
-rw-r--r--src/mame/drivers/metro.cpp5
-rw-r--r--src/mame/drivers/mg1.cpp397
-rw-r--r--src/mame/drivers/micro3d.cpp2
-rw-r--r--src/mame/drivers/missb2.cpp2
-rw-r--r--src/mame/drivers/missbamby.cpp2
-rw-r--r--src/mame/drivers/mitchell.cpp59
-rw-r--r--src/mame/drivers/mlanding.cpp2
-rw-r--r--src/mame/drivers/model1.cpp116
-rw-r--r--src/mame/drivers/model2.cpp2
-rw-r--r--src/mame/drivers/momoko.cpp2
-rw-r--r--src/mame/drivers/moo.cpp2
-rw-r--r--src/mame/drivers/mosaic.cpp2
-rw-r--r--src/mame/drivers/mpu4vid.cpp2
-rw-r--r--src/mame/drivers/mugsmash.cpp2
-rw-r--r--src/mame/drivers/multi8.cpp2
-rw-r--r--src/mame/drivers/namcos1.cpp52
-rw-r--r--src/mame/drivers/namcos2.cpp120
-rw-r--r--src/mame/drivers/namcos21.cpp2
-rw-r--r--src/mame/drivers/namcos21_c67.cpp2
-rw-r--r--src/mame/drivers/namcos21_de.cpp2
-rw-r--r--src/mame/drivers/namcos22.cpp6
-rw-r--r--src/mame/drivers/namcos86.cpp2
-rw-r--r--src/mame/drivers/naomi.cpp35
-rw-r--r--src/mame/drivers/nbmj8688.cpp2
-rw-r--r--src/mame/drivers/nbmj8891.cpp2
-rw-r--r--src/mame/drivers/nbmj8900.cpp2
-rw-r--r--src/mame/drivers/nbmj8991.cpp2
-rw-r--r--src/mame/drivers/nbmj9195.cpp2
-rw-r--r--src/mame/drivers/nemesis.cpp4
-rw-r--r--src/mame/drivers/neoprint.cpp2
-rw-r--r--src/mame/drivers/nes_vt369_vtunknown.cpp32
-rw-r--r--src/mame/drivers/nightgal.cpp8
-rw-r--r--src/mame/drivers/ninjakd2.cpp2
-rw-r--r--src/mame/drivers/ninjaw.cpp2
-rw-r--r--src/mame/drivers/nitedrvr.cpp44
-rw-r--r--src/mame/drivers/nmg5.cpp2
-rw-r--r--src/mame/drivers/nmk16.cpp6
-rw-r--r--src/mame/drivers/novag_const.cpp2
-rw-r--r--src/mame/drivers/nwk-tr.cpp10
-rw-r--r--src/mame/drivers/oneshot.cpp2
-rw-r--r--src/mame/drivers/onetwo.cpp2
-rw-r--r--src/mame/drivers/opwolf.cpp2
-rw-r--r--src/mame/drivers/othunder.cpp2
-rw-r--r--src/mame/drivers/overdriv.cpp2
-rw-r--r--src/mame/drivers/pacman.cpp88
-rw-r--r--src/mame/drivers/parodius.cpp2
-rw-r--r--src/mame/drivers/pasha2.cpp218
-rw-r--r--src/mame/drivers/pass.cpp2
-rw-r--r--src/mame/drivers/pc9801.cpp31
-rw-r--r--src/mame/drivers/pcktgal.cpp4
-rw-r--r--src/mame/drivers/philipsbo.cpp271
-rw-r--r--src/mame/drivers/phoenix.cpp82
-rw-r--r--src/mame/drivers/pipedrm.cpp3
-rw-r--r--src/mame/drivers/pipeline.cpp2
-rw-r--r--src/mame/drivers/pkscram.cpp2
-rw-r--r--src/mame/drivers/plsonic4.cpp195
-rw-r--r--src/mame/drivers/pokechmp.cpp4
-rw-r--r--src/mame/drivers/popobear.cpp2
-rw-r--r--src/mame/drivers/powerins.cpp2
-rw-r--r--src/mame/drivers/ppmast93.cpp2
-rw-r--r--src/mame/drivers/prehisle.cpp2
-rw-r--r--src/mame/drivers/psikyo.cpp4
-rw-r--r--src/mame/drivers/psikyosh.cpp2
-rw-r--r--src/mame/drivers/psrockman.cpp2
-rw-r--r--src/mame/drivers/psychic5.cpp2
-rw-r--r--src/mame/drivers/puckpkmn.cpp2
-rw-r--r--src/mame/drivers/quizdna.cpp2
-rw-r--r--src/mame/drivers/quizpun2.cpp2
-rw-r--r--src/mame/drivers/r2dx_v33.cpp2
-rw-r--r--src/mame/drivers/raiden.cpp2
-rw-r--r--src/mame/drivers/raiden2.cpp6
-rw-r--r--src/mame/drivers/raiden_ms.cpp2
-rw-r--r--src/mame/drivers/rastan.cpp2
-rw-r--r--src/mame/drivers/rbisland.cpp4
-rw-r--r--src/mame/drivers/rbmk.cpp2
-rw-r--r--src/mame/drivers/realbrk.cpp2
-rw-r--r--src/mame/drivers/regence.cpp12
-rw-r--r--src/mame/drivers/relief.cpp2
-rw-r--r--src/mame/drivers/renegade.cpp2
-rw-r--r--src/mame/drivers/rfslotsmcs48.cpp2
-rw-r--r--src/mame/drivers/rmnimbus.cpp14
-rw-r--r--src/mame/drivers/rockrage.cpp2
-rw-r--r--src/mame/drivers/rohga.cpp48
-rw-r--r--src/mame/drivers/rollerg.cpp2
-rw-r--r--src/mame/drivers/rpunch.cpp2
-rw-r--r--src/mame/drivers/saitek_corona.cpp22
-rw-r--r--src/mame/drivers/saitek_leonardo.cpp179
-rw-r--r--src/mame/drivers/saitek_renaissance.cpp159
-rw-r--r--src/mame/drivers/saitek_simultano.cpp2
-rw-r--r--src/mame/drivers/saitek_stratos.cpp47
-rw-r--r--src/mame/drivers/saitek_superstar.cpp7
-rw-r--r--src/mame/drivers/sandscrp.cpp2
-rw-r--r--src/mame/drivers/sangho.cpp2
-rw-r--r--src/mame/drivers/sauro.cpp2
-rw-r--r--src/mame/drivers/sbmjb.cpp2
-rw-r--r--src/mame/drivers/scotrsht.cpp2
-rw-r--r--src/mame/drivers/segac2.cpp2
-rw-r--r--src/mame/drivers/segacoin.cpp2
-rw-r--r--src/mame/drivers/segahang.cpp4
-rw-r--r--src/mame/drivers/segajw.cpp2
-rw-r--r--src/mame/drivers/segam1.cpp2
-rw-r--r--src/mame/drivers/segaorun.cpp2
-rw-r--r--src/mame/drivers/segas18.cpp2
-rw-r--r--src/mame/drivers/segas24.cpp2
-rw-r--r--src/mame/drivers/segas32.cpp2
-rw-r--r--src/mame/drivers/segasp.cpp1
-rw-r--r--src/mame/drivers/segaufo.cpp2
-rw-r--r--src/mame/drivers/segaxbd.cpp2
-rw-r--r--src/mame/drivers/segaybd.cpp2
-rw-r--r--src/mame/drivers/sengokmj.cpp2
-rw-r--r--src/mame/drivers/seta.cpp11
-rw-r--r--src/mame/drivers/sf.cpp2
-rw-r--r--src/mame/drivers/sfkick.cpp2
-rw-r--r--src/mame/drivers/shadfrce.cpp2
-rw-r--r--src/mame/drivers/shangha3.cpp2
-rw-r--r--src/mame/drivers/shanghai.cpp2
-rw-r--r--src/mame/drivers/shisen.cpp2
-rw-r--r--src/mame/drivers/shootout.cpp2
-rw-r--r--src/mame/drivers/sidearms.cpp4
-rw-r--r--src/mame/drivers/sidepckt.cpp4
-rw-r--r--src/mame/drivers/sigmab31.cpp2
-rw-r--r--src/mame/drivers/sigmab52.cpp2
-rw-r--r--src/mame/drivers/silkroad.cpp2
-rw-r--r--src/mame/drivers/silvmil.cpp2
-rw-r--r--src/mame/drivers/simpsons.cpp2
-rw-r--r--src/mame/drivers/skyfox.cpp2
-rw-r--r--src/mame/drivers/slapshot.cpp4
-rw-r--r--src/mame/drivers/smotor.cpp2
-rw-r--r--src/mame/drivers/sms_bootleg.cpp88
-rw-r--r--src/mame/drivers/snk.cpp4
-rw-r--r--src/mame/drivers/snk68.cpp2
-rw-r--r--src/mame/drivers/snowbros.cpp57
-rw-r--r--src/mame/drivers/sorcerer.cpp19
-rw-r--r--src/mame/drivers/sothello.cpp2
-rw-r--r--src/mame/drivers/spbactn.cpp2
-rw-r--r--src/mame/drivers/spdheat.cpp2
-rw-r--r--src/mame/drivers/spdodgeb.cpp2
-rw-r--r--src/mame/drivers/speedbal.cpp2
-rw-r--r--src/mame/drivers/spg110.cpp2
-rw-r--r--src/mame/drivers/spg2xx_jakks_gkr.cpp80
-rw-r--r--src/mame/drivers/spinb.cpp36
-rw-r--r--src/mame/drivers/splash.cpp4
-rw-r--r--src/mame/drivers/splash_ms.cpp2
-rw-r--r--src/mame/drivers/spoker.cpp2
-rw-r--r--src/mame/drivers/sprint2.cpp286
-rw-r--r--src/mame/drivers/spy.cpp2
-rw-r--r--src/mame/drivers/srumbler.cpp2
-rw-r--r--src/mame/drivers/sshangha.cpp2
-rw-r--r--src/mame/drivers/stadhero.cpp4
-rw-r--r--src/mame/drivers/stfight.cpp2
-rw-r--r--src/mame/drivers/storio.cpp14
-rw-r--r--src/mame/drivers/subsino.cpp3
-rw-r--r--src/mame/drivers/subsino2.cpp2
-rw-r--r--src/mame/drivers/suna16.cpp4
-rw-r--r--src/mame/drivers/suna8.cpp4
-rw-r--r--src/mame/drivers/supduck.cpp11
-rw-r--r--src/mame/drivers/super80.cpp26
-rw-r--r--src/mame/drivers/suprgolf.cpp2
-rw-r--r--src/mame/drivers/suprslam.cpp2
-rw-r--r--src/mame/drivers/surpratk.cpp2
-rw-r--r--src/mame/drivers/sweetland.cpp2
-rw-r--r--src/mame/drivers/system16.cpp5
-rw-r--r--src/mame/drivers/tail2nos.cpp2
-rw-r--r--src/mame/drivers/taito_b.cpp5
-rw-r--r--src/mame/drivers/taito_f2.cpp3
-rw-r--r--src/mame/drivers/taito_h.cpp2
-rw-r--r--src/mame/drivers/taito_l.cpp3
-rw-r--r--src/mame/drivers/taito_o.cpp2
-rw-r--r--src/mame/drivers/taito_x.cpp4
-rw-r--r--src/mame/drivers/taito_z.cpp2
-rw-r--r--src/mame/drivers/taitoair.cpp2
-rw-r--r--src/mame/drivers/taitotz.cpp57
-rw-r--r--src/mame/drivers/taotaido.cpp2
-rw-r--r--src/mame/drivers/tbowl.cpp2
-rw-r--r--src/mame/drivers/tceptor.cpp3
-rw-r--r--src/mame/drivers/tecmo.cpp3
-rw-r--r--src/mame/drivers/tecmo16.cpp2
-rw-r--r--src/mame/drivers/tecmosys.cpp2
-rw-r--r--src/mame/drivers/tek410x.cpp254
-rw-r--r--src/mame/drivers/tek440x.cpp149
-rw-r--r--src/mame/drivers/tekigw.cpp602
-rw-r--r--src/mame/drivers/terracre.cpp4
-rw-r--r--src/mame/drivers/thedeep.cpp2
-rw-r--r--src/mame/drivers/thunderx.cpp2
-rw-r--r--src/mame/drivers/tigeroad.cpp11
-rw-r--r--src/mame/drivers/tmnt.cpp6
-rw-r--r--src/mame/drivers/tnzs.cpp4
-rw-r--r--src/mame/drivers/toaplan2.cpp4
-rw-r--r--src/mame/drivers/toki.cpp2
-rw-r--r--src/mame/drivers/toki_ms.cpp2
-rw-r--r--src/mame/drivers/tomcat.cpp2
-rw-r--r--src/mame/drivers/topspeed.cpp2
-rw-r--r--src/mame/drivers/tryout.cpp2
-rw-r--r--src/mame/drivers/tsamurai.cpp76
-rw-r--r--src/mame/drivers/tumbleb.cpp4
-rw-r--r--src/mame/drivers/twin16.cpp2
-rw-r--r--src/mame/drivers/twincobr.cpp2
-rw-r--r--src/mame/drivers/ultraman.cpp2
-rw-r--r--src/mame/drivers/umipoker.cpp2
-rw-r--r--src/mame/drivers/unico.cpp4
-rw-r--r--src/mame/drivers/unixpc.cpp3
-rw-r--r--src/mame/drivers/vamphalf.cpp16
-rw-r--r--src/mame/drivers/vaportra.cpp4
-rw-r--r--src/mame/drivers/vball.cpp2
-rw-r--r--src/mame/drivers/vendetta.cpp2
-rw-r--r--src/mame/drivers/vgmplay.cpp14
-rw-r--r--src/mame/drivers/vigilant.cpp4
-rw-r--r--src/mame/drivers/vis.cpp2
-rw-r--r--src/mame/drivers/volfied.cpp2
-rw-r--r--src/mame/drivers/vt1682.cpp8
-rw-r--r--src/mame/drivers/vtech1.cpp19
-rw-r--r--src/mame/drivers/vtech2.cpp5
-rw-r--r--src/mame/drivers/vtech_innotab.cpp218
-rw-r--r--src/mame/drivers/vulgus.cpp5
-rw-r--r--src/mame/drivers/wacky_gator.cpp2
-rw-r--r--src/mame/drivers/wardner.cpp2
-rw-r--r--src/mame/drivers/warriorb.cpp4
-rw-r--r--src/mame/drivers/wc90.cpp2
-rw-r--r--src/mame/drivers/wc90b.cpp2
-rw-r--r--src/mame/drivers/wecleman.cpp2
-rw-r--r--src/mame/drivers/welltris.cpp2
-rw-r--r--src/mame/drivers/wgp.cpp2
-rw-r--r--src/mame/drivers/wrally.cpp34
-rw-r--r--src/mame/drivers/wwfsstar.cpp2
-rw-r--r--src/mame/drivers/xain.cpp2
-rw-r--r--src/mame/drivers/xerox820.cpp70
-rw-r--r--src/mame/drivers/xexex.cpp2
-rw-r--r--src/mame/drivers/xmen.cpp2
-rw-r--r--src/mame/drivers/xxmissio.cpp2
-rw-r--r--src/mame/drivers/ymdx11.cpp2
-rw-r--r--src/mame/drivers/ympsr340.cpp2
-rw-r--r--src/mame/drivers/ympsr60.cpp521
-rw-r--r--src/mame/drivers/ymtx81z.cpp17
-rw-r--r--src/mame/drivers/yunsun16.cpp2
-rw-r--r--src/mame/drivers/yunsung8.cpp2
-rw-r--r--src/mame/drivers/yuvomz80.cpp2
-rw-r--r--src/mame/drivers/zn.cpp1119
-rw-r--r--src/mame/drivers/zr107.cpp291
-rw-r--r--src/mame/includes/alpha68k.h5
-rw-r--r--src/mame/includes/amspdwy.h2
-rw-r--r--src/mame/includes/aquarius.h12
-rw-r--r--src/mame/includes/atarisy1.h2
-rw-r--r--src/mame/includes/atarisy2.h2
-rw-r--r--src/mame/includes/badlands.h2
-rw-r--r--src/mame/includes/bloodbro.h2
-rw-r--r--src/mame/includes/bublbobl.h24
-rw-r--r--src/mame/includes/calomega.h55
-rw-r--r--src/mame/includes/coco.h7
-rw-r--r--src/mame/includes/coco3.h12
-rw-r--r--src/mame/includes/combatsc.h193
-rw-r--r--src/mame/includes/cop01.h2
-rw-r--r--src/mame/includes/ddribble.h81
-rw-r--r--src/mame/includes/deadang.h2
-rw-r--r--src/mame/includes/deco32.h2
-rw-r--r--src/mame/includes/dragrace.h69
-rw-r--r--src/mame/includes/drgnmst.h2
-rw-r--r--src/mame/includes/exterm.h2
-rw-r--r--src/mame/includes/finalizr.h54
-rw-r--r--src/mame/includes/fm7.h2
-rw-r--r--src/mame/includes/fmtowns.h6
-rw-r--r--src/mame/includes/fuukifg3.h2
-rw-r--r--src/mame/includes/gauntlet.h2
-rw-r--r--src/mame/includes/gng.h2
-rw-r--r--src/mame/includes/homedata.h2
-rw-r--r--src/mame/includes/ironhors.h102
-rw-r--r--src/mame/includes/jackal.h71
-rw-r--r--src/mame/includes/jpmsys5.h2
-rw-r--r--src/mame/includes/kaneko16.h2
-rw-r--r--src/mame/includes/kikikai.h22
-rw-r--r--src/mame/includes/ladybug.h66
-rw-r--r--src/mame/includes/maygay1b.h2
-rw-r--r--src/mame/includes/mbee.h105
-rw-r--r--src/mame/includes/megadriv.h4
-rw-r--r--src/mame/includes/metro.h2
-rw-r--r--src/mame/includes/mpu4.h2
-rw-r--r--src/mame/includes/msx.h2
-rw-r--r--src/mame/includes/mz2500.h2
-rw-r--r--src/mame/includes/namcos2.h1
-rw-r--r--src/mame/includes/naomi.h1
-rw-r--r--src/mame/includes/neogeo.h2
-rw-r--r--src/mame/includes/nitedrvr.h60
-rw-r--r--src/mame/includes/pacman.h8
-rw-r--r--src/mame/includes/pc6001.h2
-rw-r--r--src/mame/includes/pc8801.h3
-rw-r--r--src/mame/includes/pc88va.h2
-rw-r--r--src/mame/includes/pc9801.h15
-rw-r--r--src/mame/includes/psikyo4.h2
-rw-r--r--src/mame/includes/rampart.h2
-rw-r--r--src/mame/includes/relief.h2
-rw-r--r--src/mame/includes/s11.h2
-rw-r--r--src/mame/includes/saitek_stratos.h8
-rw-r--r--src/mame/includes/segas16a.h2
-rw-r--r--src/mame/includes/segas16b.h4
-rw-r--r--src/mame/includes/sms.h2
-rw-r--r--src/mame/includes/sms_bootleg.h20
-rw-r--r--src/mame/includes/snowbros.h1
-rw-r--r--src/mame/includes/sorcerer.h1
-rw-r--r--src/mame/includes/sprint2.h86
-rw-r--r--src/mame/includes/stfight.h2
-rw-r--r--src/mame/includes/supbtime.h2
-rw-r--r--src/mame/includes/taito_l.h2
-rw-r--r--src/mame/includes/tatsumi.h2
-rw-r--r--src/mame/includes/tigeroad.h2
-rw-r--r--src/mame/includes/toaplan1.h2
-rw-r--r--src/mame/includes/witch.h2
-rw-r--r--src/mame/includes/x1.h2
-rw-r--r--src/mame/includes/x68k.h3
-rw-r--r--src/mame/includes/xerox820.h7
-rw-r--r--src/mame/includes/zn.h2
-rw-r--r--src/mame/layout/cambrp.lay22
-rw-r--r--src/mame/layout/coco3.lay20
-rw-r--r--src/mame/layout/crei680.lay47
-rw-r--r--src/mame/layout/j6drdogh.lay4777
-rw-r--r--src/mame/layout/j6guabc.lay2
-rw-r--r--src/mame/layout/j6indy6.lay3976
-rw-r--r--src/mame/layout/j6indy8.lay3976
-rw-r--r--src/mame/layout/j6indyi.lay8015
-rw-r--r--src/mame/layout/j6reelmn.lay5449
-rw-r--r--src/mame/layout/j6sonic10.lay2
-rw-r--r--src/mame/layout/j6wldkng.lay5855
-rw-r--r--src/mame/layout/kenokb.lay195
-rw-r--r--src/mame/layout/kn01.lay30
-rw-r--r--src/mame/layout/mg1.lay36
-rw-r--r--src/mame/layout/psr60.lay1115
-rw-r--r--src/mame/layout/psr70.lay1040
-rw-r--r--src/mame/layout/saitek_galileo.lay669
-rw-r--r--src/mame/layout/saitek_leonardo.lay360
-rw-r--r--src/mame/layout/saitek_renaissance.lay295
-rw-r--r--src/mame/layout/tx81z.lay240
-rw-r--r--src/mame/machine/315_5338a.cpp22
-rw-r--r--src/mame/machine/315_5338a.h1
-rw-r--r--src/mame/machine/6883sam.cpp81
-rw-r--r--src/mame/machine/bingoct.cpp305
-rw-r--r--src/mame/machine/bingoct.h61
-rw-r--r--src/mame/machine/bublbobl.cpp63
-rw-r--r--src/mame/machine/coco.cpp138
-rw-r--r--src/mame/machine/coco3.cpp21
-rw-r--r--src/mame/machine/egret.cpp6
-rw-r--r--src/mame/machine/k573kara.cpp166
-rw-r--r--src/mame/machine/k573kara.h50
-rw-r--r--src/mame/machine/kikikai.cpp64
-rw-r--r--src/mame/machine/mbee.cpp217
-rw-r--r--src/mame/machine/megadriv.cpp2
-rw-r--r--src/mame/machine/nb1412m2.cpp4
-rw-r--r--src/mame/machine/nitedrvr.cpp78
-rw-r--r--src/mame/machine/nmk004.cpp2
-rw-r--r--src/mame/machine/slapstic.cpp2
-rw-r--r--src/mame/machine/sms.cpp2
-rw-r--r--src/mame/machine/sorcerer.cpp197
-rw-r--r--src/mame/machine/tek410x_kbd.cpp385
-rw-r--r--src/mame/machine/tek410x_kbd.h69
-rw-r--r--src/mame/machine/toaplan1.cpp2
-rw-r--r--src/mame/mame.lst183
-rw-r--r--src/mame/mess.flt8
-rw-r--r--src/mame/video/1942.cpp16
-rw-r--r--src/mame/video/1943.cpp9
-rw-r--r--src/mame/video/aquarius.cpp49
-rw-r--r--src/mame/video/avgdvg.cpp3
-rw-r--r--src/mame/video/blktiger.cpp9
-rw-r--r--src/mame/video/calomega.cpp36
-rw-r--r--src/mame/video/combatsc.cpp176
-rw-r--r--src/mame/video/commando.cpp7
-rw-r--r--src/mame/video/cop01.cpp2
-rw-r--r--src/mame/video/ddribble.cpp75
-rw-r--r--src/mame/video/dragrace.cpp12
-rw-r--r--src/mame/video/finalizr.cpp32
-rw-r--r--src/mame/video/fmtowns.cpp62
-rw-r--r--src/mame/video/gime.cpp179
-rw-r--r--src/mame/video/gime.h7
-rw-r--r--src/mame/video/gng.cpp7
-rw-r--r--src/mame/video/gunsmoke.cpp7
-rw-r--r--src/mame/video/ironhors.cpp72
-rw-r--r--src/mame/video/jackal.cpp73
-rw-r--r--src/mame/video/k001005.cpp14
-rw-r--r--src/mame/video/ladybug.cpp34
-rw-r--r--src/mame/video/mbee.cpp8
-rw-r--r--src/mame/video/megasys1.cpp2
-rw-r--r--src/mame/video/namco_c45road.cpp11
-rw-r--r--src/mame/video/namco_c45road.h3
-rw-r--r--src/mame/video/namcos2.cpp2
-rw-r--r--src/mame/video/namcos2_sprite.cpp55
-rw-r--r--src/mame/video/namcos2_sprite.h32
-rw-r--r--src/mame/video/nitedrvr.cpp2
-rw-r--r--src/mame/video/pacman.cpp68
-rw-r--r--src/mame/video/sprint2.cpp90
-rw-r--r--src/mame/video/tigeroad.cpp5
-rw-r--r--src/mame/video/tigeroad_spr.cpp2
-rw-r--r--src/mame/video/vulgus.cpp7
-rw-r--r--src/mame/video/x68k.cpp190
-rw-r--r--src/mame/video/x68k_crtc.cpp144
-rw-r--r--src/mame/video/x68k_crtc.h1
-rw-r--r--src/osd/modules/debugger/debugimgui.cpp3
-rw-r--r--src/osd/modules/debugger/qt/dasmwindow.cpp7
-rw-r--r--src/osd/modules/debugger/qt/memorywindow.cpp31
-rw-r--r--src/osd/sdl/osdsdl.h4
-rw-r--r--src/osd/sdl/sdlmain.cpp3
-rw-r--r--src/osd/sdl/window.cpp62
-rw-r--r--src/tools/floptool.cpp885
-rw-r--r--src/tools/image_handler.cpp481
-rw-r--r--src/tools/image_handler.h121
-rw-r--r--src/tools/imgtool/formats/vt_dsk_legacy.cpp (renamed from src/tools/imgtool/formats/vt_dsk.cpp)6
-rw-r--r--src/tools/imgtool/formats/vt_dsk_legacy.h (renamed from src/tools/imgtool/formats/vt_dsk.h)10
-rw-r--r--src/tools/imgtool/modules/vzdos.cpp2
-rw-r--r--src/tools/unidasm.cpp182
1015 files changed, 169470 insertions, 134153 deletions
diff --git a/3rdparty/ymfm/.editorconfig b/3rdparty/ymfm/.editorconfig
new file mode 100644
index 00000000000..29f634bbe5e
--- /dev/null
+++ b/3rdparty/ymfm/.editorconfig
@@ -0,0 +1,9 @@
+root = true
+
+[*]
+charset = utf-8
+indent_size = 4
+indent_style = tab
+insert_final_newline = true
+tab_width = 4
+trim_trailing_whitespace = true
diff --git a/3rdparty/ymfm/.gitignore b/3rdparty/ymfm/.gitignore
new file mode 100644
index 00000000000..69111d94505
--- /dev/null
+++ b/3rdparty/ymfm/.gitignore
@@ -0,0 +1,39 @@
+# Prerequisites
+*.d
+
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+*.smod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+
+# Symbol/intermediate files
+*.pdb
+*.ilk
+
+# VS Code stuff
+.vs/
diff --git a/3rdparty/ymfm/GeneralInfo.md b/3rdparty/ymfm/GeneralInfo.md
new file mode 100644
index 00000000000..52cdbf5e81b
--- /dev/null
+++ b/3rdparty/ymfm/GeneralInfo.md
@@ -0,0 +1,282 @@
+# ymfm: One FM core to rule them all
+
+The ymfm emulator ws written from the ground-up using the analysis and deduction by Nemesis as a starting point, particularly in [this thread](https://gendev.spritesmind.net/forum/viewtopic.php?f=24&t=386).
+
+The core assumption is that these details apply to all FM variants unless otherwise proven incorrect.
+
+The fine details of this implementation have also been cross-checked against Nemesis' implementation in his [Exodus emulator](https://www.exodusemulator.com/), as well as Alexey Khokholov's ["Nuked" implementations](https://github.com/nukeykt/Nuked-OPN2) based off die shots.
+
+Operator and channel summing/mixing code for OPM and OPN is largely based off of research done by [David Viens](https://twitter.com/plgDavid) and Hubert Lamontagne.
+
+## Families
+
+The Yamaha FM chips can be broadly categoried into families:
+
+* OPM (YM2151)
+ * OPP (YM2164)
+* OPN (YM2203)
+ * OPNA/OPNB/OPN2 (YM2608, YM2610, YM2610B, YM2612, YM3438, YMF276, YMF288)
+* OPL (YM3526)
+ * OPL2 (YM3812)
+ * OPLL (YM2413, YM2423, YMF281, DS1001, and others)
+ * OPL3 (YMF262, YMF289B)
+ * OPL4 (YMF278)
+
+Additionally, several lesser-documented variants exist exclusively in the employ of Yamaha synthesizers:
+
+* OPQ (YM3608)
+* OPZ (YM2414)
+
+All of these families are very closely related, and the ymfm engine is designed to be universal to work across all of
+these families.
+
+Of course, each variant has its own register maps, features, and implementation details which need to be sorted out.
+Thus, each significant variant listed above is represented by a register class.
+The register class contains:
+
+* constants describing core parameters and features
+* mappers between operators and channels
+* generic fetchers that return normalized values across families
+* family-specific implementations of LFO and phase calculations
+
+## Family History
+
+This history outlines the progress of adding/removing features across the three main families (OPM, OPN, OPL):
+
+OPM started it all off, featuring:
+* 8 FM channels, 4 operators each
+* LFO and noise support
+* Stereo output
+
+OPM -> OPN changes:
+* Reduced to 3 FM channels, 4 operators each
+* Removed LFO and noise support
+* Mono output
+* Integrated AY-8910 compatible PSG
+* Added SSG-EG envelope mode
+* Added multi-frequency mode: ch. 3 operators can have separate frequencies
+* Software controlled clock divider
+
+OPN -> OPNA changes:
+* Increased to 6 FM channels, 4 operators each
+* Added back (a cut-down) LFO
+* Stereo output again
+* Removed software controlled divider on later versions (OPNB/OPN2)
+* Removed PSG on OPN2 models
+
+OPNA -> OPL changes:
+* Increased to 9 FM channels, but only 2 operators each
+* Even more simplified LFO
+* Mono output
+* Removed PSG
+* Removed SSG-EG envelope modes
+* Removed multi-frequency modes
+* Fixed clock divider
+* Built-in ryhthm generation
+
+OPL -> OPL2 changes:
+* Added 4 selectable waveforms
+
+OPL2 -> OPLL changes:
+* Vastly simplified register map
+* 15 built-in instruments, plus built-in rhythm instruments
+* 1 user-controlled instrument
+
+OPL2 -> OPL3 changes:
+* Increased to 18 FM channels, 2 operators each
+* 4 output channels
+* Increased to 8 selectable waveforms
+* 6 channels can be configured to use 4 operators
+
+## Channels and Operators
+
+The polyphony of a given chip is determined by the number of channels it supports.
+This number ranges from as low as 3 to as high as 18.
+Each channel has either 2 or 4 operators that can be combined in a myriad of ways.
+On most chips the number of operators per channel is fixed; however, some later OPL chips allow this to be toggled between 2 and 4 at runtime.
+
+The base ymfm engine class maintains an array of channels and operators, while the relationship between the two is described by the register class.
+
+## Registers
+
+Registers on the Yamaha chips are generally write-only, and can be divided into three distinct categories:
+
+* system-wide registers
+* channel-specific registers
+* operator-specific registers
+
+For maximum flexibility, most parameters can be configured at the operator level, with channel-level registers controlling details such as how to combine the operators into the final output.
+System-wide registers are used to control chip-wide modes and manage onboard timer functions.
+
+Note that since registers are write-only, some ymfm register classes will use "holes" in the register space to store additional values that may be needed.
+
+## Attenuation
+
+Most of the computations of the FM engines are done in terms of attenuation, and thus are logarithmic in nature.
+The maximum resolution used internally is 12 bits, as returned by the sin table:
+
+Bit | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
+----|----|----|----|----|----|----|-----|------|-------|--------|---------|---------
+ dB | -96| -48| -24| -12| -6| -3| -1.5| -0.75| -0.375| -0.1875| -0.09375| -0.046875
+
+The envelope generator internally uses 10 bits:
+
+Bit | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+----|----|----|----|----|----|-----|------|-------|--------|---------|
+ dB | -48| -24| -12| -6| -3| -1.5| -0.75| -0.375| -0.1875| -0.09375|
+
+Total level for operators is usually represented by 7 bits:
+
+Bit | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+----|----|----|----|----|----|-----|------|
+ dB | -48| -24| -12| -6| -3| -1.5| -0.75|
+
+Sustain level in the envelope generator is usually represented by 4 bits:
+
+Bit | 3 | 2 | 1 | 0 |
+----|----|----|----|----|
+ dB | -24| -12| -6| -3|
+
+## Status and Timers
+
+Generically, all chips (except OPLL) support two timers that can be programmed to fire and signal IRQs.
+These timers also set bits in the status register.
+The behavior of these bits is shared across all implementations, even if the exact bit positions shift (this is controlled by constants in the registers class).
+
+In addition, several chips incorporate ADPCM decoders which also may set bits in the same status register.
+For this reason, it is possible to control various bits in the status register via the `set_reset_status()` function directly.
+Any active bits that are set and which are not masked (mask is controlled by `set_irq_mask()`), lead to an IRQ being signalled.
+
+Thus, it is possible for the chip-specific implementations to set the mask and control the status register bits such that IRQs are signalled via the same mechanism as timer signals.
+
+In addition, the OPM and OPN families have a "busy" flag, which is set after each write, indicating that another write should not be performed.
+Historically, the duration of this flag was constant and had nothing to do with the internals of the chip.
+However, since the details can potentially vary chip-to-chip, it is the chip's responsibility to insert the busy flag into the status before returning it to the caller.
+
+## Clocking
+
+Each of the Yamaha chips works by cycling through all operators one at a time.
+Thus, the effective output rate of the chips is related to the input clock divided by the number of operators.
+In addition, the input clock is prescaled by an amount.
+Generally, this is a fixed value, though some early OPN chips allow this to be selected at runtime from a small
+number of values.
+
+## Channel Frequencies
+
+One major difference between OPM and later families is in how frequencies are specified.
+OPM specifies frequency via a 3-bit 'block' (aka octave), combined with a 4-bit 'key code' (note number) and a 6-bit 'key fraction'.
+The key code and fraction are converted on the chip into an x.11 fixed-point value and then shifted by the block to produce the final step value for the phase.
+
+Later families, on the other hand, specify frequencies via a 3-bit 'block' just as on OPM, but combined with a 9-12-bit 'frequency number' or 'fnum', which is directly shifted by the block to produce the step value.
+So essentially, later chips make the user do the conversion from note value to phase increment, while OPM is programmed in a more 'musical' way, specifying notes and cents.
+
+Internally, this is abstracted away into a 'block_freq' value, which is a 16-bit value containing the block and frequency info concatenated together as follows:
+
+* OPM: `[3-bit block]:[4-bit keycode]:[6-bit fraction] = 13 bits total`
+
+* OPZ: `[3-bit block]:[12-bit fnum] = 15 bits total`
+* OPN: `[3-bit block]:[11-bit fnum] 0 = 15 bits total`
+* OPL: `[3-bit block]:[10-bit fnum]:00 = 15 bits total`
+* OPLL: `[3-bit block]:[ 9-bit fnum]:000 = 15 bits total`
+
+The register classes handle the raw format directly and convert it into a phase increment which can be used by the generic engine.
+
+## Low Frequency Oscillator (LFO)
+
+The LFO engines are different in several key ways.
+The OPM LFO engine is fairly intricate.
+It has a 4.4 floating-point rate which allows for a huge range of frequencies, and can select between four different waveforms (sawtooth, square, triangle, or noise).
+Separate 7-bit depth controls for AM and PM control the amount of modulation applied in each case.
+This global LFO value is then further controlled at the channel level by a 2-bit AM sensitivity and a 3-bit PM sensitivity, and each operator has a 1-bit AM on/off switch.
+
+For OPN the LFO engine was removed entirely, but a limited version was put back in OPNA and later chips.
+This stripped-down version offered only a 3-bit rate setting (versus the 4.4 floating-point rate in OPN), and no
+global depth control.
+It did bring back the channel-level sensitivity controls and the operator-level on/off control.
+
+For OPL, the LFO is simplified again, with AM and PM running at fixed frequencies, and simple enable flags at the operator level for each controlling their application.
+
+## Differences Between Families
+
+The table below provides some high level functional differences between the differnet families:
+
+subfamily: | OPM | OPN | OPNA | OPL | OPL2 | OPLL | OPL3 |
+------------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
+outputs: | 2 | 1 | 2 | 1 | 1 | 1 | 4 |
+channels: | 8 | 3 | 6 | 9 | 9 | 9 | 18 |
+operators: | 32 | 12 | 24 | 18 | 18 | 18 | 36 |
+waveforms: | 1 | 1 | 1 | 1 | 4 | 2 | 8 |
+instruments: | no | no | no | yes | yes | yes | yes |
+ryhthm: | no | no | no | no | no | yes | no |
+dynamic ops: | no | no | no | no | no | no | yes |
+prescale: | 2 | 2/3/6 | 2/3/6 | 4 | 4 | 4 | 8 |
+EG divider: | 3 | 3 | 3 | 1 | 1 | 1 | 1 |
+EG DP: | no | no | no | no | no | yes | no |
+EG SSG: | no | yes | yes | no | no | no | no |
+mod delay: | no | no | no | yes | yes | yes? | no |
+CSM: | yes | ch 2 | ch 2 | yes | yes | yes | no |
+LFO: | yes | no | yes | yes | yes | yes | yes |
+noise: | yes | no | no | no | no | no | no |
+
+* Outputs represents the number of output channels: 1=mono, 2=stereo, 4=stereo+.
+* Channels represents the number of independent FM channels.
+* Operators represents the number of operators, or "slots" which are assembled into the channels.
+* Waveforms represents the number of different sine-derived waveforms available.
+* Instruments indicates whether the family has built-in instruments.
+* Rhythm indicates whether the family has a built-in rhythm
+* Dynamic ops indicates whether it is possible to switch between 2-operator and 4-operator modes dynamically.
+* Prescale specifies the default clock divider; some chips allow this to be controlled via register writes.
+* EG divider represents the divider applied to the envelope generator clock.
+* EG DP indicates whether the envelope generator includes a DP (depress?) phase at the beginning of each key on.
+* SSG EG indicates whether the envelope generator has SSG-style support.
+* Mod delay indicates whether the connection to the first modulator's input is delayed by 1 sample.
+* CSM indicates whether CSM mode is supported, triggered by timer A.
+* LFO indicates whether LFO is supported.
+* Noise indicates whether one of the operators can be replaced with a noise source.
+
+## Chip Specifics
+
+While OPM is its own thing, the OPN and OPL families have quite a few specific
+implementations, with many differing details beyond the core FM parts. Here are
+some details on the OPN family:
+
+chip ID: | YM2203 | YM2608 | YMF288 | YM2610 | YM2610B | YM2612 | YM3438 | YMF276 |
+---------:|:------:|:------:|:------:|:------:|:-------:|:------:|:------:|:------:|
+aka: | OPN | OPNA | OPN3L | OPNB | OPNB2 | OPN2 | OPN2C | OPN2L |
+FM: | 3 | 6 | 6 | 4 | 6 | 6 | 6 | 6 |
+AY-8910: | 3 | 1 | 1 | 1 | 1 | - | - | - |
+ADPCM-A: | - | 6 int | 6 int | 6 ext | 6 ext | - | - | - |
+ADPCM-B: | - | 1 ext | - | 1 ext | 1 ext | - | - | - |
+DAC: | no | no | no | no | no | yes | yes | yes |
+output: | 10.3fp | 16-bit | 16-bit | 16-bit | 16-bit | 9-bit | 9-bit | 16-bit |
+summing: | adder | adder | adder | adder | adder | muxer | muxer | adder |
+
+* FM represents the number of FM channels available.
+* AY-8910 represents the number of AY-8910-compatible outputs.
+* ADPCM-A represents the number of internal/external ADPCM-A channels present.
+* ADPCM-B represents the number of internal/external ADPCM-B channels present.
+* DAC indicates if a directly-accessible DAC output exists, replacing one channel.
+* Output indicates the output format to the final DAC.
+* Summing indicates whether channels are added or time divided in the output.
+
+OPL has a similar trove of chip variants:
+
+chip ID: | YM3526 | Y8950 | YM3812 | YM2413 | YMF262 | YMF289B | YMF278B |
+------------:|:------:|:-------:|:------:|:------:|:------:|:-------:|:-------:|
+aka: | OPL |MSX-AUDIO| OPL2 | OPLL | OPL3 | OPL3L | OPL4 |
+FM: | 9 | 9 | 9 | 9 | 18 | 18 | 18 |
+ADPCM-B: | - | 1 ext | - | - | - | - | - |
+wavetable: | - | - | - | - | - | - | 24 |
+instruments: | no | no | no | yes | no | no | no |
+output: | 10.3fp | 10.3fp | 10.3fp | 9-bit | 16-bit | 16-bit | 16-bit |
+summing: | adder | adder | adder | muxer | adder | adder | adder |
+
+* FM represents the number of FM channels available.
+* ADPCM-B represents the number of external ADPCM-B channels present.
+* Wavetable indicates the number of wavetable channels present.
+* Instruments indicates that the chip has built-in instrument selection.
+* Output indicates the output format to the final DAC.
+* Summing indicates whether channels are added or time divided in the output.
+
+There are several close variants of the YM2413 with different sets of built-in instruments.
+These include the YM2423, YMF281, and DS1001 (aka Konami VRC7).
diff --git a/3rdparty/ymfm/LICENSE b/3rdparty/ymfm/LICENSE
new file mode 100644
index 00000000000..f73e841aa27
--- /dev/null
+++ b/3rdparty/ymfm/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2021, Aaron Giles
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/3rdparty/ymfm/README.md b/3rdparty/ymfm/README.md
new file mode 100644
index 00000000000..86b7dd446f9
--- /dev/null
+++ b/3rdparty/ymfm/README.md
@@ -0,0 +1,118 @@
+# ymfm
+
+[ymfm](https://github.com/aaronsgiles/ymfm) is a collection of BSD-licensed Yamaha FM sound cores (OPM, OPN, OPL, and others), written by [Aaron Giles](https://aarongiles.com)
+
+## Supported environments
+
+This code should compile cleanly in any environment that has C++14 support.
+It has been tested on gcc, clang, and Microsoft Visual C++ 2019.
+
+## Supported chip families
+
+Currently, support is present for the following chips (organized by header file):
+
+* ymfm_opm.h:
+ * YM2151 (OPM)
+ * YM2164 (OPP)
+* ymfm_opn.h:
+ * YM2149 (SSG)
+ * YM2203 (OPN)
+ * YM2608 (OPNA)
+ * YM2610 (OPNB)
+ * YM2610B (OPNB2)
+ * YM2612 (OPN2)
+ * YM3438 (OPN2C)
+ * YMF276 (OPN2L)
+ * YMF288 (OPN3L)
+* ymfm_opl.h:
+ * YM3526 (OPL)
+ * Y8950 (MSX-Audio)
+ * YM3812 (OPL2)
+ * YMF262 (OPL3)
+ * YMF289B (OPL3L)
+ * YMF278B (OPL4)
+ * YM2413 (OPLL)
+ * YM2423 (OPLL-X)
+ * YMF281 (OPLLP)
+ * DS1001 (Konami 053982)
+* ymfm_opq.h:
+ * YM3806 (OPQ) -- preliminary
+* ymfm_opz.h:
+ * YM2414 (OPZ) -- preliminary
+
+There are some obviously-related chips that also are on my horizon but have no implementation as yet:
+
+* YMW-258-F 'GEW8' (aka Sega 315-5560 aka Sega Multi-PCM)
+* YMF271 (OPX)
+
+## History
+
+These cores were originally written during the summer and fall of 2020 as part of the [MAME](https://mamedev.org/) project.
+As such, their design started off heavily based on how MAME works.
+
+The OPM/OPN cores first appeared in MAME 0.230.
+The OPL cores were added in MAME 0.231.
+A further rewrite to abstract MAME dependencies is planned for MAME 0.232.
+
+The goal was threefold:
+1. provide BSD-licensed emulation cores that are more compatible with MAME's core licensing
+1. modernize and unify the code around a common implementation of shared features
+1. improve accuracy where possible based on discoveries made by others
+
+## Accuracy
+
+The goal of these cores is not 100% digital accuracy.
+To achieve that would require full emulation of the pipelines, which would make the code extremely difficult to comprehend.
+It would also make it much harder to share common implementations of features, or to add support for less well-known chip types.
+If you want that level of accuracy, there are [several](https://github.com/nukeykt/Nuked-OPN2) [decap-based](https://github.com/nukeykt/Nuked-OPM) [emulation cores](https://github.com/nukeykt/Nuked-OPLL) out there.
+
+Instead, the main goals are:
+1. Extremely high (audibly indistinguishable) accuracy
+1. Reasonable performance
+1. Clean design with readable code
+1. Clear documentation of the various chips
+
+## General approach
+
+Check out the [examples directory](https://github.com/aaronsgiles/ymfm/tree/main/examples) for some example usage patterns.
+I'm not a big fan of makefiles for simple things, so instructions on how to compile each example are provided at the top.
+
+# IMPORTANT
+
+As of May 2021, the interface to these is still a bit in flux.
+Be prepared when syncing with upstream to make some adjustments.
+
+### Clocking
+
+The general philosophy of the emulators provided here is that they are clock-independent.
+Much like the actual chips, you (the consumer) control the clock; the chips themselves have no idea what time it is.
+They just tick forward each time you ask them to.
+
+The way you move things along is via the `generate()` function, which ticks the internal system forward one or more samples, and writes out an array out chip-specific `output_data`.
+But what, exactly, is a "sample", and how long is it?
+
+This is where the external clock comes in.
+Most of the Yamaha chips are externally clocked in the MHz range.
+They then divide that clock by a factor (sometimes dynamically controllable), and then the internal operators are pipelined to further divide the clock.
+
+For example, the YM2151 internally divides the clock by 2, and has 32 operators to iterate through.
+Thus, for a nominal input lock of 3.58MHz, you end up at around a 55.9kHz sample rate.
+Fortunately, all the chip implementations can compute this for you; just pass the raw external clock value to the `sample_rate()` method and it will hand you back the output sample rate you want.
+
+Then call `generate()` that many times per second to output the results.
+
+But what if I want to output at a "normal" rate, like 44.1kHz?
+Sorry, you'll have to rate convert as needed.
+
+### Reading and Writing
+
+To read or write to the chips, you can call the `read()` and `write()` methods.
+The offset provided corresponds to the addressing input lines in a (hopefully) logical way.
+
+For reads, almost all chips have a status register, which you can read via `read_status()`.
+Some chips have a data port that can be read via `read_data()`.
+And chips with extended addressing may also have `read_status_hi()` and `read_data_hi()`.
+
+For writes, almost all chips have an address register and a data register, and so you can reliably count on there being a `write_address()` and `write_data()` method as well.
+If the chip supports extended addressing, it may also have `write_address_hi()` and `write_data_hi()`.
+
diff --git a/3rdparty/ymfm/buildall.cpp b/3rdparty/ymfm/buildall.cpp
new file mode 100644
index 00000000000..40bd75e2864
--- /dev/null
+++ b/3rdparty/ymfm/buildall.cpp
@@ -0,0 +1,114 @@
+//
+// Simple program that touches all the existing cores to help ensure
+// that everything builds cleanly.
+//
+// Compile with:
+//
+// g++ --std=c++14 -I../../src buildall.cpp ../../src/ymfm_misc.cpp ../../src/ymfm_opl.cpp ../../src/ymfm_opm.cpp ../../src/ymfm_opn.cpp ../../src/ymfm_opq.cpp ../../src/ymfm_opz.cpp ../../src/ymfm_adpcm.cpp ../../src/ymfm_pcm.cpp ../../src/ymfm_ssg.cpp -o buildall.exe
+//
+// or:
+//
+// clang --std=c++14 -I../../src buildall.cpp ../../src/ymfm_misc.cpp ../../src/ymfm_opl.cpp ../../src/ymfm_opm.cpp ../../src/ymfm_opn.cpp ../../src/ymfm_opq.cpp ../../src/ymfm_opz.cpp ../../src/ymfm_adpcm.cpp ../../src/ymfm_pcm.cpp ../../src/ymfm_ssg.cpp -o buildall.exe
+//
+// or:
+//
+// cl -I..\..\src buildall.cpp ..\..\src\ymfm_misc.cpp ..\..\src\ymfm_opl.cpp ..\..\src\ymfm_opm.cpp ..\..\src\ymfm_opn.cpp ..\..\src\ymfm_opq.cpp ..\..\src\ymfm_opz.cpp ..\..\src\ymfm_adpcm.cpp ..\..\src\ymfm_pcm.cpp ..\..\src\ymfm_ssg.cpp /Od /Zi /std:c++14 /EHsc
+//
+
+#include <vector>
+
+#include "ymfm_misc.h"
+#include "ymfm_opl.h"
+#include "ymfm_opm.h"
+#include "ymfm_opn.h"
+#include "ymfm_opq.h"
+#include "ymfm_opz.h"
+
+
+//-------------------------------------------------
+// main - program entry point
+//-------------------------------------------------
+
+template<typename ChipType>
+class chip_wrapper : public ymfm::ymfm_interface
+{
+public:
+ chip_wrapper() :
+ m_chip(*this)
+ {
+ // reset
+ m_chip.reset();
+
+ // save/restore
+ std::vector<uint8_t> buffer;
+ {
+ ymfm::ymfm_saved_state saver(buffer, true);
+ m_chip.save_restore(saver);
+ }
+ {
+ ymfm::ymfm_saved_state restorer(buffer, false);
+ m_chip.save_restore(restorer);
+ }
+
+ // dummy read/write
+ m_chip.read(0);
+ m_chip.write(0, 0);
+
+ // generate
+ typename ChipType::output_data output[20];
+ m_chip.generate(&output[0], ymfm::array_size(output));
+ }
+
+private:
+ ChipType m_chip;
+};
+
+
+//-------------------------------------------------
+// main - program entry point
+//-------------------------------------------------
+
+int main(int argc, char *argv[])
+{
+ // just keep adding chip variants here as they are implemented
+
+ // ymfm_misc.h:
+ chip_wrapper<ymfm::ym2149> test2149;
+
+ // ymfm_opl.h:
+ chip_wrapper<ymfm::ym3526> test3526;
+ chip_wrapper<ymfm::y8950> test8950;
+ chip_wrapper<ymfm::ym3812> test3812;
+ chip_wrapper<ymfm::ymf262> test262;
+ chip_wrapper<ymfm::ymf289b> test289b;
+ chip_wrapper<ymfm::ymf278b> test278b;
+ chip_wrapper<ymfm::ym2413> test2413;
+ chip_wrapper<ymfm::ym2423> test2423;
+ chip_wrapper<ymfm::ymf281> test281;
+ chip_wrapper<ymfm::ds1001> test1001;
+
+ // ymfm_opm.h:
+ chip_wrapper<ymfm::ym2151> test2151;
+ chip_wrapper<ymfm::ym2164> test2164;
+
+ // ymfm_opn.h:
+ chip_wrapper<ymfm::ym2203> test2203;
+ chip_wrapper<ymfm::ym2608> test2608;
+ chip_wrapper<ymfm::ymf288> test288;
+ chip_wrapper<ymfm::ym2610> test2610;
+ chip_wrapper<ymfm::ym2610b> test2610b;
+ chip_wrapper<ymfm::ym2612> test2612;
+ chip_wrapper<ymfm::ym3438> test3438;
+ chip_wrapper<ymfm::ymf276> test276;
+
+ // ymfm_opq.h:
+ chip_wrapper<ymfm::ym3806> test3806;
+ chip_wrapper<ymfm::ym3533> test3533;
+
+ // ymfm_opz.h:
+ chip_wrapper<ymfm::ym2414> test2414;
+
+ printf("Done\n");
+
+ return 0;
+}
diff --git a/3rdparty/ymfm/examples/vgmrender/.gitignore b/3rdparty/ymfm/examples/vgmrender/.gitignore
new file mode 100644
index 00000000000..9daeafb9864
--- /dev/null
+++ b/3rdparty/ymfm/examples/vgmrender/.gitignore
@@ -0,0 +1 @@
+test
diff --git a/3rdparty/ymfm/examples/vgmrender/em_inflate.cpp b/3rdparty/ymfm/examples/vgmrender/em_inflate.cpp
new file mode 100644
index 00000000000..b9d2f428c48
--- /dev/null
+++ b/3rdparty/ymfm/examples/vgmrender/em_inflate.cpp
@@ -0,0 +1,1185 @@
+/*
+ * em_inflate.c - fast in-memory inflate (gzip/zlib decompressor) implementation
+ *
+ * Copyright (C) 2019 Emmanuel Marty
+ *
+ * gzip crc32 computation by Stephen Brumme - zlib-like license included below
+ * adler checksum computation by Mark Adler - zlib license included below
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
+#include "em_inflate.h"
+
+/* Comment out this define to disable checksum verification */
+#define EM_INFLATE_VERIFY_CHECKSUM
+
+/*--- LSB bitreader ---*/
+
+#if defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__)
+#define EM_LSB_BITREADER_64BIT_SHIFTER
+#endif /* defined(_M_X64) */
+
+#ifdef EM_LSB_BITREADER_64BIT_SHIFTER
+typedef unsigned long long em_lsb_bitreader_shifter_t;
+#else
+typedef unsigned int em_lsb_bitreader_shifter_t;
+#endif
+
+/** Bit reader context */
+typedef struct {
+ int nDecShifterBitCount;
+ em_lsb_bitreader_shifter_t nDecShifterData;
+ const unsigned char *pInBlock;
+ const unsigned char *pInBlockEnd;
+ const unsigned char *pInBlockStart;
+} em_lsb_bitreader_t;
+
+/**
+ * Initialize bit reader
+ *
+ * @param pBitReader bit reader context
+ * @param pInBlock pointer to start of compressed block
+ * @param InBlockEnd pointer to end of compressed block + 1
+ */
+static inline void em_lsb_bitreader_init(em_lsb_bitreader_t *pBitReader, const unsigned char *pInBlock, const unsigned char *pInBlockEnd) {
+ pBitReader->nDecShifterBitCount = 0;
+ pBitReader->nDecShifterData = 0;
+ pBitReader->pInBlock = pInBlock;
+ pBitReader->pInBlockEnd = pInBlockEnd;
+ pBitReader->pInBlockStart = pInBlock;
+}
+
+/**
+ * Refill 32 bits at a time if the architecture allows it, otherwise do nothing.
+ *
+ * @param pBitReader bit reader context
+ */
+static inline void em_lsb_bitreader_refill_32(em_lsb_bitreader_t *pBitReader) {
+#ifdef EM_LSB_BITREADER_64BIT_SHIFTER
+ if (pBitReader->nDecShifterBitCount <= 32 && (pBitReader->pInBlock + 4) <= pBitReader->pInBlockEnd) {
+#if defined(_M_X64) || defined(__x86_64__)
+ /* Read unaligned word */
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*((unsigned int*)pBitReader->pInBlock))) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 32;
+ pBitReader->pInBlock += 4;
+#else
+ /* Read bytes */
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+#endif
+ }
+#endif /* EM_LSB_BITREADER_64BIT_SHIFTER */
+}
+
+/**
+ * Read variable bit-length value
+ *
+ * @param pBitReader bit reader context
+ * @param nBits size of value in bits (number of bits to read), 0..16
+ *
+ * @return value, or -1 for failure
+ */
+static inline unsigned int em_lsb_bitreader_get_bits(em_lsb_bitreader_t *pBitReader, const int nBits) {
+ if (pBitReader->nDecShifterBitCount < nBits) {
+ if (pBitReader->pInBlock < pBitReader->pInBlockEnd) {
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+
+ if (pBitReader->pInBlock < pBitReader->pInBlockEnd) {
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ pBitReader->nDecShifterBitCount += 8;
+ }
+ }
+ else
+ return -1;
+ }
+
+ unsigned int nValue = pBitReader->nDecShifterData & ((1 << nBits) - 1);
+ pBitReader->nDecShifterData >>= nBits;
+ pBitReader->nDecShifterBitCount -= nBits;
+ return nValue;
+}
+
+/**
+ * Peek at a 16-bit value in the bitstream (lookahead)
+ *
+ * @param pBitReader bit reader context
+ *
+ * @return value
+ */
+static inline unsigned int em_lsb_bitreader_peek_16bits(em_lsb_bitreader_t *pBitReader) {
+ if (pBitReader->nDecShifterBitCount < 16) {
+ if (pBitReader->pInBlock < pBitReader->pInBlockEnd) {
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << pBitReader->nDecShifterBitCount);
+ if (pBitReader->pInBlock < pBitReader->pInBlockEnd)
+ pBitReader->nDecShifterData |= (((em_lsb_bitreader_shifter_t)(*pBitReader->pInBlock++)) << (pBitReader->nDecShifterBitCount + 8));
+ pBitReader->nDecShifterBitCount += 16;
+ }
+ }
+
+ return pBitReader->nDecShifterData & 0xffff;
+}
+
+/**
+ * Consume variable bit-length value, after reading it with em_lsb_bitreader_peek_16bits()
+ *
+ * @param pBitReader bit reader context
+ * @param nBits size of value to consume, in bits
+ */
+static inline void em_lsb_bitreader_consume_bits(em_lsb_bitreader_t *pBitReader, const int nBits) {
+ pBitReader->nDecShifterData >>= nBits;
+ pBitReader->nDecShifterBitCount -= nBits;
+}
+
+/**
+ * Re-align bitstream on a byte
+ *
+ * @param pBitReader bit reader context
+ */
+static int em_lsb_bitreader_byte_align(em_lsb_bitreader_t *pBitReader) {
+ /* Align on byte */
+ while (pBitReader->nDecShifterBitCount >= 8) {
+ /* Rewind - the bit reader can load more than 8 bits at a time */
+ pBitReader->nDecShifterBitCount -= 8;
+ pBitReader->pInBlock--;
+ if (pBitReader->pInBlock < pBitReader->pInBlockStart) return -1;
+ }
+
+ pBitReader->nDecShifterBitCount = 0;
+ pBitReader->nDecShifterData = 0;
+ return 0;
+}
+
+/*-- Huffman decoder for a LSB bitstream --*/
+
+/** Maximum number of symbols that can be read by the huffman decoder */
+#define MAX_SYMBOLS 288
+
+/** Number of symbols used to decode variable code lengths */
+#define NCODELENSYMS 19
+
+/** Number of most significant huffman codeword bits that are used to skip the initial code length finding steps */
+#define NFASTSYMBOLBITS 10
+
+/** Huffman decoding context */
+typedef struct {
+ unsigned int nFastSymbol[1 << NFASTSYMBOLBITS];
+ unsigned int nStartIndex[16]; /* One per code bit length */
+ unsigned int nSymbols;
+ int nNumSorted;
+ int nStartingPos[16];
+} em_lsb_huffman_decoder_t;
+
+/**
+ * Prepare huffman tables
+ *
+ * @param pDecoder decoding context
+ * @param pRevSymbolTable array of 2 * nSymbols entries for storing the reverse lookup table
+ * @param pCodeLength codeword lengths table
+ *
+ * @return 0 for success, -1 for failure
+ */
+static int em_lsb_huffman_decoder_prepare_table(em_lsb_huffman_decoder_t *pDecoder, unsigned int *pRevSymbolTable, const int nReadSymbols, const int nSymbols, const unsigned char *pCodeLength) {
+ int nNumSymbolsPerLen[16];
+ int i;
+
+ if (nReadSymbols < 0 || nReadSymbols > MAX_SYMBOLS || nSymbols < 0 || nSymbols > MAX_SYMBOLS || nReadSymbols > nSymbols)
+ return -1;
+ pDecoder->nSymbols = nSymbols;
+
+ /* Calculate starting positions of symbols for each code length, so we don't have to sort them */
+
+ for (i = 0; i < 16; i++)
+ nNumSymbolsPerLen[i] = 0;
+ for (i = 0; i < nReadSymbols; i++) {
+ if (pCodeLength[i] >= 16) return -1;
+ nNumSymbolsPerLen[pCodeLength[i]]++;
+ }
+
+ pDecoder->nStartingPos[0] = 0;
+ pDecoder->nNumSorted = 0;
+ for (i = 1; i < 16; i++) {
+ pDecoder->nStartingPos[i] = pDecoder->nNumSorted;
+ pDecoder->nNumSorted += nNumSymbolsPerLen[i];
+ }
+
+ /* Assign symbols for any non-zero lengths, auto sorted by increasing code length */
+
+ for (i = 0; i < nSymbols; i++)
+ pRevSymbolTable[i] = -1;
+
+ for (i = 0; i < nReadSymbols; i++) {
+ if (pCodeLength[i]) {
+ pRevSymbolTable[pDecoder->nStartingPos[pCodeLength[i]]++] = i;
+ }
+ }
+
+ return 0;
+}
+
+/**
+ * Finalize huffman codewords for decoding
+ *
+ * @param pDecoder decoding context
+ * @param pRevSymbolTable array of 2 * nSymbols entries that contains the reverse lookup table
+ *
+ * @return 0 for success, -1 for failure
+ */
+static int em_lsb_huffman_decoder_finalize_table(em_lsb_huffman_decoder_t *pDecoder, unsigned int *pRevSymbolTable) {
+ const int nSymbols = pDecoder->nSymbols;
+ unsigned int nCanonicalCodeWord = 0;
+ unsigned int *nRevCodeLengthTable = pRevSymbolTable + nSymbols;
+ int nCanonicalLength = 1;
+ int i;
+
+ /* Re-create canonical huffman codewords and create left-justified words for em_lsb_huffman_decoder_read_value() */
+
+ for (i = 0; i < (1 << NFASTSYMBOLBITS); i++)
+ pDecoder->nFastSymbol[i] = 0;
+ for (i = 0; i < 16; i++)
+ pDecoder->nStartIndex[i] = 0;
+
+ i = 0;
+ while (i < pDecoder->nNumSorted) {
+ if (nCanonicalLength >= 16) return -1;
+ pDecoder->nStartIndex[nCanonicalLength] = i - nCanonicalCodeWord;
+
+ while (i < pDecoder->nStartingPos[nCanonicalLength]) {
+ /* Write canonical order -> codeword mapping */
+ if (i >= nSymbols) return -1;
+ nRevCodeLengthTable[i] = nCanonicalLength;
+
+ /* Check for malformed table */
+ if (nCanonicalCodeWord >= (1U << nCanonicalLength)) return -1;
+
+ /* Write accelerated symbol value + codeword len for the (upside down) top NFASTSYMBOLBITS bits of the codeword, at all bit positions */
+ if (nCanonicalLength <= NFASTSYMBOLBITS) {
+ unsigned int nRevWord;
+
+ /* Get upside down codeword (branchless method by Eric Biggers) */
+ nRevWord = ((nCanonicalCodeWord & 0x5555) << 1) | ((nCanonicalCodeWord & 0xaaaa) >> 1);
+ nRevWord = ((nRevWord & 0x3333) << 2) | ((nRevWord & 0xcccc) >> 2);
+ nRevWord = ((nRevWord & 0x0f0f) << 4) | ((nRevWord & 0xf0f0) >> 4);
+ nRevWord = ((nRevWord & 0x00ff) << 8) | ((nRevWord & 0xff00) >> 8);
+ nRevWord = nRevWord >> (16 - nCanonicalLength);
+
+ int nSlots = 1 << (NFASTSYMBOLBITS - nCanonicalLength);
+ while (nSlots) {
+ pDecoder->nFastSymbol[nRevWord] = (pRevSymbolTable[i] & 0xffffff) | (nCanonicalLength << 24);
+ nRevWord += (1 << nCanonicalLength);
+ nSlots--;
+ }
+ }
+
+ i++;
+ nCanonicalCodeWord++;
+ }
+ nCanonicalLength++;
+ nCanonicalCodeWord <<= 1;
+ }
+
+ while (i < nSymbols) {
+ pRevSymbolTable[i] = -1;
+ nRevCodeLengthTable[i++] = 0;
+ }
+
+ return 0;
+}
+
+/**
+ * Decode next symbol
+ *
+ * @param pDecoder decoding context
+ * @param pRevSymbolTable reverse lookup table
+ * @param pBitReader bit reader context
+ *
+ * @return symbol, or -1 for error
+ */
+static inline unsigned int em_lsb_huffman_decoder_read_value(em_lsb_huffman_decoder_t *pDecoder, const unsigned int *pRevSymbolTable, em_lsb_bitreader_t *pBitReader) {
+ unsigned int nStream = em_lsb_bitreader_peek_16bits(pBitReader);
+ unsigned int nFastSymAndBits = pDecoder->nFastSymbol[nStream & ((1 << NFASTSYMBOLBITS) - 1)];
+ if (nFastSymAndBits) {
+ /* Fast path: the symbol len is <= NFASTSYMBOLBITS, we have a symbol and bit length for the (upside-down) MSB bits */
+ em_lsb_bitreader_consume_bits(pBitReader, nFastSymAndBits >> 24);
+ return nFastSymAndBits & 0xffffff;
+ }
+
+ /* The symbol len is larger than NFASTSYMBOLBITS, decode using the slower path. By definition, the more frequent symbols are shorter and in the fast path. */
+
+ const unsigned int *nRevCodeLengthTable = pRevSymbolTable + pDecoder->nSymbols;
+ unsigned int nCodeWord = 0;
+ int nBits = 1;
+
+ do {
+ nCodeWord |= (nStream & 1);
+
+ unsigned int nTableIndex = pDecoder->nStartIndex[nBits] + nCodeWord;
+ if (nTableIndex < pDecoder->nSymbols) {
+ if (nBits == nRevCodeLengthTable[nTableIndex]) {
+ em_lsb_bitreader_consume_bits(pBitReader, nBits);
+ return pRevSymbolTable[nTableIndex];
+ }
+ }
+
+ nCodeWord <<= 1;
+ nStream >>= 1;
+ nBits++;
+ } while (nBits < 16);
+ return -1;
+}
+
+/**
+ * Read fixed bit size code lengths
+ *
+ * @param nLenBits number of bits per code length
+ * @param nReadSymbols number of symbols actually read
+ * @param nSymbols number of symbols to build codes for
+ * @param pCodeLength output code lengths table
+ * @param pBitReader bit reader context
+ *
+ * @return 0 for success, -1 for failure
+ */
+static int em_lsb_huffman_decoder_read_raw_lengths(const int nLenBits, const int nReadSymbols, const int nSymbols, unsigned char *pCodeLength, em_lsb_bitreader_t *pBitReader) {
+ static const unsigned char nCodeLenSymIndex[NCODELENSYMS] = { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 }; /* Order in which code lengths are stored, as per the zlib specification */
+ int i;
+
+ if (nReadSymbols < 0 || nReadSymbols > MAX_SYMBOLS || nSymbols < 0 || nSymbols > MAX_SYMBOLS || nReadSymbols > nSymbols)
+ return -1;
+
+ i = 0;
+ while (i < nReadSymbols) {
+ unsigned int nLength = em_lsb_bitreader_get_bits(pBitReader, nLenBits);
+ if (nLength == -1) return -1;
+
+ pCodeLength[nCodeLenSymIndex[i++]] = nLength;
+ }
+
+ while (i < nSymbols) {
+ pCodeLength[nCodeLenSymIndex[i++]] = 0;
+ }
+
+ return 0;
+}
+
+/**
+ * Read huffman-encoded code lengths
+ *
+ * @param pTablesDecoder decoding context for code lengths
+ * @param pTablesRevSymbolTable reverse lookup table for code lengths
+ * @param nReadSymbols number of symbols actually read
+ * @param nSymbols number of symbols to build codes for
+ * @param pCodeLength output code lengths table
+ * @param pBitReader bit reader context
+ *
+ * @return 0 for success, -1 for failure
+ */
+static int em_lsb_huffman_decoder_read_var_lengths(em_lsb_huffman_decoder_t *pTablesDecoder, const unsigned int *pTablesRevSymbolTable,
+ const int nReadSymbols, const int nSymbols, unsigned char *pCodeLength, em_lsb_bitreader_t *pBitReader) {
+ int i;
+
+ if (nReadSymbols < 0 || nSymbols < 0 || nReadSymbols > nSymbols)
+ return -1;
+
+ i = 0;
+ unsigned int nPrevLength = 0;
+
+ while (i < nReadSymbols) {
+ unsigned int nLength = em_lsb_huffman_decoder_read_value(pTablesDecoder, pTablesRevSymbolTable, pBitReader);
+ if (nLength == -1) return -1;
+
+ if (nLength < 16) {
+ nPrevLength = nLength;
+ pCodeLength[i++] = nPrevLength;
+ }
+ else {
+ unsigned int nRunLen = 0;
+
+ if (nLength == 16) {
+ int nExtraRunLen = em_lsb_bitreader_get_bits(pBitReader, 2);
+ if (nExtraRunLen == -1) return -1;
+ nRunLen = 3 + nExtraRunLen;
+ }
+ else if (nLength == 17) {
+ int nExtraRunLen = em_lsb_bitreader_get_bits(pBitReader, 3);
+ if (nExtraRunLen == -1) return -1;
+ nPrevLength = 0;
+ nRunLen = 3 + nExtraRunLen;
+ }
+ else if (nLength == 18) {
+ int nExtraRunLen = em_lsb_bitreader_get_bits(pBitReader, 7);
+ if (nExtraRunLen == -1) return -1;
+ nPrevLength = 0;
+ nRunLen = 11 + nExtraRunLen;
+ }
+
+ while (nRunLen && i < nReadSymbols) {
+ pCodeLength[i++] = nPrevLength;
+ nRunLen--;
+ }
+ }
+ }
+
+ while (i < nSymbols)
+ pCodeLength[i++] = 0;
+ return 0;
+}
+
+/*-- zlib stored blocks copier --*/
+
+static size_t em_inflate_copy_stored(em_lsb_bitreader_t *pBitReader, unsigned char *pOutData, size_t nOutDataOffset, size_t nBlockMaxSize) {
+ /* Align on byte */
+ if (em_lsb_bitreader_byte_align(pBitReader) < 0)
+ return -1;
+
+ if ((pBitReader->pInBlock + 4) > pBitReader->pInBlockEnd) return -1;
+
+ /* Read block length, and its two's complement verification value */
+ unsigned short nStoredLen = ((unsigned short)pBitReader->pInBlock[0]) | (((unsigned short)pBitReader->pInBlock[1]) << 8);
+ pBitReader->pInBlock += 2;
+
+ unsigned short nNegStoredLen = ((unsigned short)pBitReader->pInBlock[0]) | (((unsigned short)pBitReader->pInBlock[1]) << 8);
+ pBitReader->pInBlock += 2;
+
+ /* Make sure that the len and the two's complement match */
+ if (nStoredLen != ((~nNegStoredLen) & 0xffff)) return -1;
+
+ /* Make sure there is room */
+ if (nStoredLen > nBlockMaxSize) return -1;
+
+ /* Copy stored data */
+ memcpy(pOutData + nOutDataOffset, pBitReader->pInBlock, nStoredLen);
+ pBitReader->pInBlock += nStoredLen;
+
+ return (size_t)nStoredLen;
+}
+
+/*-- zlib static and dynamic blocks inflater --*/
+
+#define NCODELENBITS 3
+#define NLITERALSYMS 288
+#define NEODMARKERSYM 256
+#define NMATCHLENSYMSTART 257
+#define NMATCHLENSYMS 29
+#define NOFFSETSYMS 32
+#define MIN_MATCH_SIZE 3
+#define MATCHLEN_PAIR(__base,__dispbits) ((__base) | ((__dispbits) << 16) | 0x8000)
+#define OFFSET_PAIR(__base,__dispbits) ((__base) | ((__dispbits) << 16))
+
+/** Base value and number of extra displacement bits for each match length codeword */
+static const unsigned int em_inflate_matchlen_code[NMATCHLENSYMS] = {
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 0, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 1, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 2, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 3, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 4, 0),
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 5, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 6, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 7, 0), MATCHLEN_PAIR(MIN_MATCH_SIZE + 8, 1), MATCHLEN_PAIR(MIN_MATCH_SIZE + 10, 1),
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 12, 1), MATCHLEN_PAIR(MIN_MATCH_SIZE + 14, 1), MATCHLEN_PAIR(MIN_MATCH_SIZE + 16, 2), MATCHLEN_PAIR(MIN_MATCH_SIZE + 20, 2), MATCHLEN_PAIR(MIN_MATCH_SIZE + 24, 2),
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 28, 2), MATCHLEN_PAIR(MIN_MATCH_SIZE + 32, 3), MATCHLEN_PAIR(MIN_MATCH_SIZE + 40, 3), MATCHLEN_PAIR(MIN_MATCH_SIZE + 48, 3), MATCHLEN_PAIR(MIN_MATCH_SIZE + 56, 3),
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 64, 4), MATCHLEN_PAIR(MIN_MATCH_SIZE + 80, 4), MATCHLEN_PAIR(MIN_MATCH_SIZE + 96, 4), MATCHLEN_PAIR(MIN_MATCH_SIZE + 112, 4), MATCHLEN_PAIR(MIN_MATCH_SIZE + 128, 5),
+ MATCHLEN_PAIR(MIN_MATCH_SIZE + 160, 5), MATCHLEN_PAIR(MIN_MATCH_SIZE + 192, 5), MATCHLEN_PAIR(MIN_MATCH_SIZE + 224, 5), MATCHLEN_PAIR(MIN_MATCH_SIZE + 255, 0),
+};
+
+/** Base value and number of extra displacement bits for each offset codeword */
+static const unsigned int em_inflate_offset_code[NOFFSETSYMS] = {
+ OFFSET_PAIR(1, 0), OFFSET_PAIR(2, 0), OFFSET_PAIR(3, 0), OFFSET_PAIR(4, 0), OFFSET_PAIR(5, 1), OFFSET_PAIR(7, 1), OFFSET_PAIR(9, 2), OFFSET_PAIR(13, 2), OFFSET_PAIR(17, 3), OFFSET_PAIR(25, 3),
+ OFFSET_PAIR(33, 4), OFFSET_PAIR(49, 4), OFFSET_PAIR(65, 5), OFFSET_PAIR(97, 5), OFFSET_PAIR(129, 6), OFFSET_PAIR(193, 6), OFFSET_PAIR(257, 7), OFFSET_PAIR(385, 7), OFFSET_PAIR(513, 8), OFFSET_PAIR(769, 8),
+ OFFSET_PAIR(1025, 9), OFFSET_PAIR(1537, 9), OFFSET_PAIR(2049, 10), OFFSET_PAIR(3073, 10), OFFSET_PAIR(4097, 11), OFFSET_PAIR(6145, 11), OFFSET_PAIR(8193, 12), OFFSET_PAIR(12289, 12), OFFSET_PAIR(16385, 13), OFFSET_PAIR(24577, 13),
+};
+
+/**
+ * Decompress one data block
+ *
+ * @param pInBlock pointer to compressed data
+ * @param nDynamicBlock non-zero for a dynamic huffman tables block, zero for a static huffman tables block
+ * @param nInBlockSize size of compressed data, in bytes
+ * @param pOutData pointer to output decompression buffer (previously decompressed bytes + room for decompressing this block)
+ * @param nOutDataOffset starting index of where to store decompressed bytes in output buffer (and size of previously decompressed bytes)
+ * @param nBlockMaxSize total size of output decompression buffer, in bytes
+ *
+ * @return size of decompressed data in bytes, or -1 for error
+ */
+static size_t em_inflate_decompress_block(em_lsb_bitreader_t *pBitReader, int nDynamicBlock, unsigned char *pOutData, size_t nOutDataOffset, size_t nBlockMaxSize) {
+ em_lsb_huffman_decoder_t literalsDecoder;
+ em_lsb_huffman_decoder_t offsetDecoder;
+ unsigned int nLiteralsRevSymbolTable[NLITERALSYMS * 2];
+ unsigned int nOffsetRevSymbolTable[NOFFSETSYMS * 2];
+ int i;
+
+ if (nDynamicBlock) {
+ em_lsb_huffman_decoder_t tablesDecoder;
+ unsigned char nCodeLength[NLITERALSYMS + NOFFSETSYMS];
+ unsigned int nTablesRevSymbolTable[NCODELENSYMS * 2];
+
+ /* Read the encoded number of literals/match len symbols, offset symbols, and code length symbols */
+ unsigned int nLiteralSyms = em_lsb_bitreader_get_bits(pBitReader, 5);
+ if (nLiteralSyms == -1) return -1;
+ nLiteralSyms += 257;
+ if (nLiteralSyms > NLITERALSYMS) return -1;
+
+ unsigned int nOffsetSyms = em_lsb_bitreader_get_bits(pBitReader, 5);
+ if (nOffsetSyms == -1) return -1;
+ nOffsetSyms += 1;
+ if (nOffsetSyms > NOFFSETSYMS) return -1;
+
+ unsigned int nCodeLenSyms = em_lsb_bitreader_get_bits(pBitReader, 4);
+ if (nCodeLenSyms == -1) return -1;
+ nCodeLenSyms += 4;
+ if (nCodeLenSyms > NCODELENSYMS) return -1;
+
+ /* Read code lengths table */
+ if (em_lsb_huffman_decoder_read_raw_lengths(NCODELENBITS /* code length bits */, nCodeLenSyms /* symbols */, NCODELENSYMS, nCodeLength, pBitReader) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_prepare_table(&tablesDecoder, nTablesRevSymbolTable, NCODELENSYMS, NCODELENSYMS, nCodeLength) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_finalize_table(&tablesDecoder, nTablesRevSymbolTable) < 0)
+ return -1;
+
+ /* Use code lengths table to read literals/match len and offset tables */
+ if (em_lsb_huffman_decoder_read_var_lengths(&tablesDecoder, nTablesRevSymbolTable, nLiteralSyms + nOffsetSyms /* read symbols */, NLITERALSYMS + NOFFSETSYMS /* total symbols */, nCodeLength, pBitReader) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_prepare_table(&literalsDecoder, nLiteralsRevSymbolTable, nLiteralSyms, NLITERALSYMS, nCodeLength) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_prepare_table(&offsetDecoder, nOffsetRevSymbolTable, nOffsetSyms, NOFFSETSYMS, nCodeLength + nLiteralSyms) < 0)
+ return -1;
+ }
+ else {
+ unsigned char nFixedLiteralCodeLen[NLITERALSYMS];
+ unsigned char nFixedOffsetCodeLen[NOFFSETSYMS];
+
+ /* Fixed huffman codes for this block. Build fixed code lengths for literals/match lens and offsets, as per the zlib specification */
+
+ for (i = 0; i < 144; i++)
+ nFixedLiteralCodeLen[i] = 8;
+ for (; i < 256; i++)
+ nFixedLiteralCodeLen[i] = 9;
+ for (; i < 280; i++)
+ nFixedLiteralCodeLen[i] = 7;
+ for (; i < NLITERALSYMS; i++)
+ nFixedLiteralCodeLen[i] = 8;
+
+ for (i = 0; i < NOFFSETSYMS; i++)
+ nFixedOffsetCodeLen[i] = 5;
+
+ if (em_lsb_huffman_decoder_prepare_table(&literalsDecoder, nLiteralsRevSymbolTable, NLITERALSYMS, NLITERALSYMS, nFixedLiteralCodeLen) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_prepare_table(&offsetDecoder, nOffsetRevSymbolTable, NOFFSETSYMS, NOFFSETSYMS, nFixedOffsetCodeLen) < 0)
+ return -1;
+ }
+
+ /* Replace codewords in the offsets table by the base + extra bit count, save table lookups when decoding */
+ for (i = 0; i < NOFFSETSYMS; i++) {
+ unsigned int n = nOffsetRevSymbolTable[i];
+ if (n < NOFFSETSYMS) {
+ nOffsetRevSymbolTable[i] = em_inflate_offset_code[n];
+ }
+ }
+
+ /* Replace match codewords in the literals/match len table by the base + extra bit count, save table lookups when decoding */
+ for (i = 0; i < NLITERALSYMS; i++) {
+ unsigned int n = nLiteralsRevSymbolTable[i];
+ if (n >= NMATCHLENSYMSTART && n < NLITERALSYMS) {
+ int index = n - NMATCHLENSYMSTART;
+ if (index >= 0 && index < NMATCHLENSYMS) {
+ nLiteralsRevSymbolTable[i] = em_inflate_matchlen_code[index];
+ }
+ else {
+ /* Handle 286 and 287 codes, used for constructing a complete canonical tree, present in static huffman tables but not used */
+ nLiteralsRevSymbolTable[i] = 0;
+ }
+ }
+ }
+
+ /* Finalize huffman tables for decoding, after setting up the bases + extra bits as the symbols */
+ if (em_lsb_huffman_decoder_finalize_table(&literalsDecoder, nLiteralsRevSymbolTable) < 0)
+ return -1;
+ if (em_lsb_huffman_decoder_finalize_table(&offsetDecoder, nOffsetRevSymbolTable) < 0)
+ return -1;
+
+ /* Finally, loop to read all the literals/match len codewords in the block to decompress it */
+
+ unsigned char *pCurOutData = pOutData + nOutDataOffset;
+ const unsigned char *pOutDataEnd = pCurOutData + nBlockMaxSize;
+ const unsigned char *pOutDataFastEnd = pOutDataEnd - 15;
+
+ while (1) {
+ em_lsb_bitreader_refill_32(pBitReader);
+
+ unsigned int nLiteralsCodeword = em_lsb_huffman_decoder_read_value(&literalsDecoder, nLiteralsRevSymbolTable, pBitReader);
+ if (nLiteralsCodeword < 256) {
+ /* 0..255: literal. copy. */
+ if (pCurOutData < pOutDataEnd)
+ *pCurOutData++ = nLiteralsCodeword;
+ else
+ return -1;
+ }
+ else {
+ if (nLiteralsCodeword == NEODMARKERSYM) break; /* EOD marker, all done */
+ if (nLiteralsCodeword == -1) return -1;
+
+ /* 256..284: match. decode match length. */
+
+ unsigned int nMatchLen = em_lsb_bitreader_get_bits(pBitReader, (nLiteralsCodeword >> 16) & 15);
+ if (nMatchLen == -1) return -1;
+
+ nMatchLen += (nLiteralsCodeword & 0x7fff);
+
+ /* Read match offset */
+
+ unsigned int nOffsetCodeword = em_lsb_huffman_decoder_read_value(&offsetDecoder, nOffsetRevSymbolTable, pBitReader);
+ if (nOffsetCodeword == -1) return -1;
+
+ unsigned int nMatchOffset = em_lsb_bitreader_get_bits(pBitReader, (nOffsetCodeword >> 16) & 15);
+ if (nMatchOffset == -1) return -1;
+
+ nMatchOffset += (nOffsetCodeword & 0x7fff);
+
+ /* Copy match */
+
+ const unsigned char *pSrc = pCurOutData - nMatchOffset;
+ if (pSrc >= pOutData) {
+ if (nMatchOffset >= 16 && (pCurOutData + nMatchLen) <= pOutDataFastEnd) {
+ const unsigned char *pCopySrc = pSrc;
+ unsigned char *pCopyDst = pCurOutData;
+ const unsigned char *pCopyEndDst = pCurOutData + nMatchLen;
+
+ do {
+ memcpy(pCopyDst, pCopySrc, 16);
+ pCopySrc += 16;
+ pCopyDst += 16;
+ } while (pCopyDst < pCopyEndDst);
+
+ pCurOutData += nMatchLen;
+ }
+ else {
+ if ((pCurOutData + nMatchLen) > pOutDataEnd) return -1;
+
+ while (nMatchLen--) {
+ *pCurOutData++ = *pSrc++;
+ }
+ }
+ }
+ else
+ return -1;
+ }
+ }
+
+ return (size_t)(pCurOutData - (pOutData + nOutDataOffset));
+}
+
+/*-- zlib adler32 calculation --*/
+
+#ifdef EM_INFLATE_VERIFY_CHECKSUM
+
+/*
+ By Mark Adler - https://github.com/madler/zlib/blob/master/adler32.c
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
+ (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
+ */
+
+#define BASE 65521U /* largest prime smaller than 65536 */
+#define NMAX 5552
+#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;}
+#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
+#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
+#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
+#define DO16(buf) DO8(buf,0); DO8(buf,8);
+# define MOD(a) a %= BASE
+# define MOD28(a) a %= BASE
+# define MOD63(a) a %= BASE
+
+static unsigned int em_inflate_adler32_z(unsigned int adler, const unsigned char *buf, size_t len) {
+ unsigned long sum2;
+ unsigned n;
+
+ /* split Adler-32 into component sums */
+ sum2 = (adler >> 16) & 0xffff;
+ adler &= 0xffff;
+
+ /* in case user likes doing a byte at a time, keep it fast */
+ if (len == 1) {
+ adler += buf[0];
+ if (adler >= BASE)
+ adler -= BASE;
+ sum2 += adler;
+ if (sum2 >= BASE)
+ sum2 -= BASE;
+ return adler | (sum2 << 16);
+ }
+
+ /* initial Adler-32 value (deferred check for len == 1 speed) */
+ if (buf == NULL)
+ return 1L;
+
+ /* in case short lengths are provided, keep it somewhat fast */
+ if (len < 16) {
+ while (len--) {
+ adler += *buf++;
+ sum2 += adler;
+ }
+ if (adler >= BASE)
+ adler -= BASE;
+ MOD28(sum2); /* only added so many BASE's */
+ return adler | (sum2 << 16);
+ }
+
+ /* do length NMAX blocks -- requires just one modulo operation */
+ while (len >= NMAX) {
+ len -= NMAX;
+ n = NMAX / 16; /* NMAX is divisible by 16 */
+ do {
+ DO16(buf); /* 16 sums unrolled */
+ buf += 16;
+ } while (--n);
+ MOD(adler);
+ MOD(sum2);
+ }
+
+ /* do remaining bytes (less than NMAX, still just one modulo) */
+ if (len) { /* avoid modulos if none remaining */
+ while (len >= 16) {
+ len -= 16;
+ DO16(buf);
+ buf += 16;
+ }
+ while (len--) {
+ adler += *buf++;
+ sum2 += adler;
+ }
+ MOD(adler);
+ MOD(sum2);
+ }
+
+ /* return recombined sums */
+ return adler | (sum2 << 16);
+}
+
+/*-- gzip crc32 calculation --*/
+
+/**
+By Stephen Brumme - https://create.stephan-brumme.com/crc32/
+
+Unless otherwise noted in a file's first 5 lines, all source code published on http://create.stephan-brumme.com and its sub-pages is licensed similar to the zlib license:
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
+If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+ */
+
+static const unsigned int ema_inflate_Crc32Lookup[4][256] = {
+ {
+ 0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,
+ 0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,
+ 0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,
+ 0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,
+ 0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,
+ 0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,
+ 0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,
+ 0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,
+ 0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433,
+ 0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01,
+ 0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,
+ 0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,
+ 0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,
+ 0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,
+ 0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F,
+ 0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD,
+ 0xEDB88320,0x9ABFB3B6,0x03B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x04DB2615,0x73DC1683,
+ 0xE3630B12,0x94643B84,0x0D6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0x0A00AE27,0x7D079EB1,
+ 0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7,
+ 0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5,
+ 0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B,
+ 0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79,
+ 0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F,
+ 0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D,
+ 0x9B64C2B0,0xEC63F226,0x756AA39C,0x026D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x05005713,
+ 0x95BF4A82,0xE2B87A14,0x7BB12BAE,0x0CB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0x0BDBDF21,
+ 0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,
+ 0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45,
+ 0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB,
+ 0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9,
+ 0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF,
+ 0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D,
+ }
+
+ // beyond this point only relevant for Slicing-by-4, Slicing-by-8 and Slicing-by-16
+ ,{
+ 0x00000000,0x191B3141,0x32366282,0x2B2D53C3,0x646CC504,0x7D77F445,0x565AA786,0x4F4196C7,
+ 0xC8D98A08,0xD1C2BB49,0xFAEFE88A,0xE3F4D9CB,0xACB54F0C,0xB5AE7E4D,0x9E832D8E,0x87981CCF,
+ 0x4AC21251,0x53D92310,0x78F470D3,0x61EF4192,0x2EAED755,0x37B5E614,0x1C98B5D7,0x05838496,
+ 0x821B9859,0x9B00A918,0xB02DFADB,0xA936CB9A,0xE6775D5D,0xFF6C6C1C,0xD4413FDF,0xCD5A0E9E,
+ 0x958424A2,0x8C9F15E3,0xA7B24620,0xBEA97761,0xF1E8E1A6,0xE8F3D0E7,0xC3DE8324,0xDAC5B265,
+ 0x5D5DAEAA,0x44469FEB,0x6F6BCC28,0x7670FD69,0x39316BAE,0x202A5AEF,0x0B07092C,0x121C386D,
+ 0xDF4636F3,0xC65D07B2,0xED705471,0xF46B6530,0xBB2AF3F7,0xA231C2B6,0x891C9175,0x9007A034,
+ 0x179FBCFB,0x0E848DBA,0x25A9DE79,0x3CB2EF38,0x73F379FF,0x6AE848BE,0x41C51B7D,0x58DE2A3C,
+ 0xF0794F05,0xE9627E44,0xC24F2D87,0xDB541CC6,0x94158A01,0x8D0EBB40,0xA623E883,0xBF38D9C2,
+ 0x38A0C50D,0x21BBF44C,0x0A96A78F,0x138D96CE,0x5CCC0009,0x45D73148,0x6EFA628B,0x77E153CA,
+ 0xBABB5D54,0xA3A06C15,0x888D3FD6,0x91960E97,0xDED79850,0xC7CCA911,0xECE1FAD2,0xF5FACB93,
+ 0x7262D75C,0x6B79E61D,0x4054B5DE,0x594F849F,0x160E1258,0x0F152319,0x243870DA,0x3D23419B,
+ 0x65FD6BA7,0x7CE65AE6,0x57CB0925,0x4ED03864,0x0191AEA3,0x188A9FE2,0x33A7CC21,0x2ABCFD60,
+ 0xAD24E1AF,0xB43FD0EE,0x9F12832D,0x8609B26C,0xC94824AB,0xD05315EA,0xFB7E4629,0xE2657768,
+ 0x2F3F79F6,0x362448B7,0x1D091B74,0x04122A35,0x4B53BCF2,0x52488DB3,0x7965DE70,0x607EEF31,
+ 0xE7E6F3FE,0xFEFDC2BF,0xD5D0917C,0xCCCBA03D,0x838A36FA,0x9A9107BB,0xB1BC5478,0xA8A76539,
+ 0x3B83984B,0x2298A90A,0x09B5FAC9,0x10AECB88,0x5FEF5D4F,0x46F46C0E,0x6DD93FCD,0x74C20E8C,
+ 0xF35A1243,0xEA412302,0xC16C70C1,0xD8774180,0x9736D747,0x8E2DE606,0xA500B5C5,0xBC1B8484,
+ 0x71418A1A,0x685ABB5B,0x4377E898,0x5A6CD9D9,0x152D4F1E,0x0C367E5F,0x271B2D9C,0x3E001CDD,
+ 0xB9980012,0xA0833153,0x8BAE6290,0x92B553D1,0xDDF4C516,0xC4EFF457,0xEFC2A794,0xF6D996D5,
+ 0xAE07BCE9,0xB71C8DA8,0x9C31DE6B,0x852AEF2A,0xCA6B79ED,0xD37048AC,0xF85D1B6F,0xE1462A2E,
+ 0x66DE36E1,0x7FC507A0,0x54E85463,0x4DF36522,0x02B2F3E5,0x1BA9C2A4,0x30849167,0x299FA026,
+ 0xE4C5AEB8,0xFDDE9FF9,0xD6F3CC3A,0xCFE8FD7B,0x80A96BBC,0x99B25AFD,0xB29F093E,0xAB84387F,
+ 0x2C1C24B0,0x350715F1,0x1E2A4632,0x07317773,0x4870E1B4,0x516BD0F5,0x7A468336,0x635DB277,
+ 0xCBFAD74E,0xD2E1E60F,0xF9CCB5CC,0xE0D7848D,0xAF96124A,0xB68D230B,0x9DA070C8,0x84BB4189,
+ 0x03235D46,0x1A386C07,0x31153FC4,0x280E0E85,0x674F9842,0x7E54A903,0x5579FAC0,0x4C62CB81,
+ 0x8138C51F,0x9823F45E,0xB30EA79D,0xAA1596DC,0xE554001B,0xFC4F315A,0xD7626299,0xCE7953D8,
+ 0x49E14F17,0x50FA7E56,0x7BD72D95,0x62CC1CD4,0x2D8D8A13,0x3496BB52,0x1FBBE891,0x06A0D9D0,
+ 0x5E7EF3EC,0x4765C2AD,0x6C48916E,0x7553A02F,0x3A1236E8,0x230907A9,0x0824546A,0x113F652B,
+ 0x96A779E4,0x8FBC48A5,0xA4911B66,0xBD8A2A27,0xF2CBBCE0,0xEBD08DA1,0xC0FDDE62,0xD9E6EF23,
+ 0x14BCE1BD,0x0DA7D0FC,0x268A833F,0x3F91B27E,0x70D024B9,0x69CB15F8,0x42E6463B,0x5BFD777A,
+ 0xDC656BB5,0xC57E5AF4,0xEE530937,0xF7483876,0xB809AEB1,0xA1129FF0,0x8A3FCC33,0x9324FD72,
+ },
+
+ {
+ 0x00000000,0x01C26A37,0x0384D46E,0x0246BE59,0x0709A8DC,0x06CBC2EB,0x048D7CB2,0x054F1685,
+ 0x0E1351B8,0x0FD13B8F,0x0D9785D6,0x0C55EFE1,0x091AF964,0x08D89353,0x0A9E2D0A,0x0B5C473D,
+ 0x1C26A370,0x1DE4C947,0x1FA2771E,0x1E601D29,0x1B2F0BAC,0x1AED619B,0x18ABDFC2,0x1969B5F5,
+ 0x1235F2C8,0x13F798FF,0x11B126A6,0x10734C91,0x153C5A14,0x14FE3023,0x16B88E7A,0x177AE44D,
+ 0x384D46E0,0x398F2CD7,0x3BC9928E,0x3A0BF8B9,0x3F44EE3C,0x3E86840B,0x3CC03A52,0x3D025065,
+ 0x365E1758,0x379C7D6F,0x35DAC336,0x3418A901,0x3157BF84,0x3095D5B3,0x32D36BEA,0x331101DD,
+ 0x246BE590,0x25A98FA7,0x27EF31FE,0x262D5BC9,0x23624D4C,0x22A0277B,0x20E69922,0x2124F315,
+ 0x2A78B428,0x2BBADE1F,0x29FC6046,0x283E0A71,0x2D711CF4,0x2CB376C3,0x2EF5C89A,0x2F37A2AD,
+ 0x709A8DC0,0x7158E7F7,0x731E59AE,0x72DC3399,0x7793251C,0x76514F2B,0x7417F172,0x75D59B45,
+ 0x7E89DC78,0x7F4BB64F,0x7D0D0816,0x7CCF6221,0x798074A4,0x78421E93,0x7A04A0CA,0x7BC6CAFD,
+ 0x6CBC2EB0,0x6D7E4487,0x6F38FADE,0x6EFA90E9,0x6BB5866C,0x6A77EC5B,0x68315202,0x69F33835,
+ 0x62AF7F08,0x636D153F,0x612BAB66,0x60E9C151,0x65A6D7D4,0x6464BDE3,0x662203BA,0x67E0698D,
+ 0x48D7CB20,0x4915A117,0x4B531F4E,0x4A917579,0x4FDE63FC,0x4E1C09CB,0x4C5AB792,0x4D98DDA5,
+ 0x46C49A98,0x4706F0AF,0x45404EF6,0x448224C1,0x41CD3244,0x400F5873,0x4249E62A,0x438B8C1D,
+ 0x54F16850,0x55330267,0x5775BC3E,0x56B7D609,0x53F8C08C,0x523AAABB,0x507C14E2,0x51BE7ED5,
+ 0x5AE239E8,0x5B2053DF,0x5966ED86,0x58A487B1,0x5DEB9134,0x5C29FB03,0x5E6F455A,0x5FAD2F6D,
+ 0xE1351B80,0xE0F771B7,0xE2B1CFEE,0xE373A5D9,0xE63CB35C,0xE7FED96B,0xE5B86732,0xE47A0D05,
+ 0xEF264A38,0xEEE4200F,0xECA29E56,0xED60F461,0xE82FE2E4,0xE9ED88D3,0xEBAB368A,0xEA695CBD,
+ 0xFD13B8F0,0xFCD1D2C7,0xFE976C9E,0xFF5506A9,0xFA1A102C,0xFBD87A1B,0xF99EC442,0xF85CAE75,
+ 0xF300E948,0xF2C2837F,0xF0843D26,0xF1465711,0xF4094194,0xF5CB2BA3,0xF78D95FA,0xF64FFFCD,
+ 0xD9785D60,0xD8BA3757,0xDAFC890E,0xDB3EE339,0xDE71F5BC,0xDFB39F8B,0xDDF521D2,0xDC374BE5,
+ 0xD76B0CD8,0xD6A966EF,0xD4EFD8B6,0xD52DB281,0xD062A404,0xD1A0CE33,0xD3E6706A,0xD2241A5D,
+ 0xC55EFE10,0xC49C9427,0xC6DA2A7E,0xC7184049,0xC25756CC,0xC3953CFB,0xC1D382A2,0xC011E895,
+ 0xCB4DAFA8,0xCA8FC59F,0xC8C97BC6,0xC90B11F1,0xCC440774,0xCD866D43,0xCFC0D31A,0xCE02B92D,
+ 0x91AF9640,0x906DFC77,0x922B422E,0x93E92819,0x96A63E9C,0x976454AB,0x9522EAF2,0x94E080C5,
+ 0x9FBCC7F8,0x9E7EADCF,0x9C381396,0x9DFA79A1,0x98B56F24,0x99770513,0x9B31BB4A,0x9AF3D17D,
+ 0x8D893530,0x8C4B5F07,0x8E0DE15E,0x8FCF8B69,0x8A809DEC,0x8B42F7DB,0x89044982,0x88C623B5,
+ 0x839A6488,0x82580EBF,0x801EB0E6,0x81DCDAD1,0x8493CC54,0x8551A663,0x8717183A,0x86D5720D,
+ 0xA9E2D0A0,0xA820BA97,0xAA6604CE,0xABA46EF9,0xAEEB787C,0xAF29124B,0xAD6FAC12,0xACADC625,
+ 0xA7F18118,0xA633EB2F,0xA4755576,0xA5B73F41,0xA0F829C4,0xA13A43F3,0xA37CFDAA,0xA2BE979D,
+ 0xB5C473D0,0xB40619E7,0xB640A7BE,0xB782CD89,0xB2CDDB0C,0xB30FB13B,0xB1490F62,0xB08B6555,
+ 0xBBD72268,0xBA15485F,0xB853F606,0xB9919C31,0xBCDE8AB4,0xBD1CE083,0xBF5A5EDA,0xBE9834ED,
+ },
+
+ {
+ 0x00000000,0xB8BC6765,0xAA09C88B,0x12B5AFEE,0x8F629757,0x37DEF032,0x256B5FDC,0x9DD738B9,
+ 0xC5B428EF,0x7D084F8A,0x6FBDE064,0xD7018701,0x4AD6BFB8,0xF26AD8DD,0xE0DF7733,0x58631056,
+ 0x5019579F,0xE8A530FA,0xFA109F14,0x42ACF871,0xDF7BC0C8,0x67C7A7AD,0x75720843,0xCDCE6F26,
+ 0x95AD7F70,0x2D111815,0x3FA4B7FB,0x8718D09E,0x1ACFE827,0xA2738F42,0xB0C620AC,0x087A47C9,
+ 0xA032AF3E,0x188EC85B,0x0A3B67B5,0xB28700D0,0x2F503869,0x97EC5F0C,0x8559F0E2,0x3DE59787,
+ 0x658687D1,0xDD3AE0B4,0xCF8F4F5A,0x7733283F,0xEAE41086,0x525877E3,0x40EDD80D,0xF851BF68,
+ 0xF02BF8A1,0x48979FC4,0x5A22302A,0xE29E574F,0x7F496FF6,0xC7F50893,0xD540A77D,0x6DFCC018,
+ 0x359FD04E,0x8D23B72B,0x9F9618C5,0x272A7FA0,0xBAFD4719,0x0241207C,0x10F48F92,0xA848E8F7,
+ 0x9B14583D,0x23A83F58,0x311D90B6,0x89A1F7D3,0x1476CF6A,0xACCAA80F,0xBE7F07E1,0x06C36084,
+ 0x5EA070D2,0xE61C17B7,0xF4A9B859,0x4C15DF3C,0xD1C2E785,0x697E80E0,0x7BCB2F0E,0xC377486B,
+ 0xCB0D0FA2,0x73B168C7,0x6104C729,0xD9B8A04C,0x446F98F5,0xFCD3FF90,0xEE66507E,0x56DA371B,
+ 0x0EB9274D,0xB6054028,0xA4B0EFC6,0x1C0C88A3,0x81DBB01A,0x3967D77F,0x2BD27891,0x936E1FF4,
+ 0x3B26F703,0x839A9066,0x912F3F88,0x299358ED,0xB4446054,0x0CF80731,0x1E4DA8DF,0xA6F1CFBA,
+ 0xFE92DFEC,0x462EB889,0x549B1767,0xEC277002,0x71F048BB,0xC94C2FDE,0xDBF98030,0x6345E755,
+ 0x6B3FA09C,0xD383C7F9,0xC1366817,0x798A0F72,0xE45D37CB,0x5CE150AE,0x4E54FF40,0xF6E89825,
+ 0xAE8B8873,0x1637EF16,0x048240F8,0xBC3E279D,0x21E91F24,0x99557841,0x8BE0D7AF,0x335CB0CA,
+ 0xED59B63B,0x55E5D15E,0x47507EB0,0xFFEC19D5,0x623B216C,0xDA874609,0xC832E9E7,0x708E8E82,
+ 0x28ED9ED4,0x9051F9B1,0x82E4565F,0x3A58313A,0xA78F0983,0x1F336EE6,0x0D86C108,0xB53AA66D,
+ 0xBD40E1A4,0x05FC86C1,0x1749292F,0xAFF54E4A,0x322276F3,0x8A9E1196,0x982BBE78,0x2097D91D,
+ 0x78F4C94B,0xC048AE2E,0xD2FD01C0,0x6A4166A5,0xF7965E1C,0x4F2A3979,0x5D9F9697,0xE523F1F2,
+ 0x4D6B1905,0xF5D77E60,0xE762D18E,0x5FDEB6EB,0xC2098E52,0x7AB5E937,0x680046D9,0xD0BC21BC,
+ 0x88DF31EA,0x3063568F,0x22D6F961,0x9A6A9E04,0x07BDA6BD,0xBF01C1D8,0xADB46E36,0x15080953,
+ 0x1D724E9A,0xA5CE29FF,0xB77B8611,0x0FC7E174,0x9210D9CD,0x2AACBEA8,0x38191146,0x80A57623,
+ 0xD8C66675,0x607A0110,0x72CFAEFE,0xCA73C99B,0x57A4F122,0xEF189647,0xFDAD39A9,0x45115ECC,
+ 0x764DEE06,0xCEF18963,0xDC44268D,0x64F841E8,0xF92F7951,0x41931E34,0x5326B1DA,0xEB9AD6BF,
+ 0xB3F9C6E9,0x0B45A18C,0x19F00E62,0xA14C6907,0x3C9B51BE,0x842736DB,0x96929935,0x2E2EFE50,
+ 0x2654B999,0x9EE8DEFC,0x8C5D7112,0x34E11677,0xA9362ECE,0x118A49AB,0x033FE645,0xBB838120,
+ 0xE3E09176,0x5B5CF613,0x49E959FD,0xF1553E98,0x6C820621,0xD43E6144,0xC68BCEAA,0x7E37A9CF,
+ 0xD67F4138,0x6EC3265D,0x7C7689B3,0xC4CAEED6,0x591DD66F,0xE1A1B10A,0xF3141EE4,0x4BA87981,
+ 0x13CB69D7,0xAB770EB2,0xB9C2A15C,0x017EC639,0x9CA9FE80,0x241599E5,0x36A0360B,0x8E1C516E,
+ 0x866616A7,0x3EDA71C2,0x2C6FDE2C,0x94D3B949,0x090481F0,0xB1B8E695,0xA30D497B,0x1BB12E1E,
+ 0x43D23E48,0xFB6E592D,0xE9DBF6C3,0x516791A6,0xCCB0A91F,0x740CCE7A,0x66B96194,0xDE0506F1,
+ }
+};
+
+// define endianess and some integer data types
+#if defined(_MSC_VER) || defined(__MINGW32__)
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#elif defined(__APPLE__)
+#include <sys/param.h>
+#define __BYTE_ORDER __DARWIN_BYTE_ORDER
+#else
+ // defines __BYTE_ORDER as __LITTLE_ENDIAN or __BIG_ENDIAN
+#include <sys/param.h>
+#endif
+
+/// swap endianess
+static inline unsigned int em_inflate_crc32_swap(unsigned int x) {
+#if defined(__GNUC__) || defined(__clang__)
+ return __builtin_bswap32(x);
+#else
+ return (x >> 24) |
+ ((x >> 8) & 0x0000FF00) |
+ ((x << 8) & 0x00FF0000) |
+ (x << 24);
+#endif
+}
+
+static unsigned int em_inflate_crc32_4bytes(const void* data, size_t length, unsigned int previousCrc32) {
+ unsigned int crc = ~previousCrc32; // same as previousCrc32 ^ 0xFFFFFFFF
+ const unsigned int* current = (const unsigned int*)data;
+
+ // process four bytes at once (Slicing-by-4)
+ while (length >= 4)
+ {
+#if __BYTE_ORDER == __BIG_ENDIAN
+ unsigned int one = *current++ ^ em_inflate_crc32_swap(crc);
+ crc = ema_inflate_Crc32Lookup[0][one & 0xFF] ^
+ ema_inflate_Crc32Lookup[1][(one >> 8) & 0xFF] ^
+ ema_inflate_Crc32Lookup[2][(one >> 16) & 0xFF] ^
+ ema_inflate_Crc32Lookup[3][(one >> 24) & 0xFF];
+#else
+ unsigned int one = *current++ ^ crc;
+ crc = ema_inflate_Crc32Lookup[0][(one >> 24) & 0xFF] ^
+ ema_inflate_Crc32Lookup[1][(one >> 16) & 0xFF] ^
+ ema_inflate_Crc32Lookup[2][(one >> 8) & 0xFF] ^
+ ema_inflate_Crc32Lookup[3][one & 0xFF];
+#endif
+
+ length -= 4;
+ }
+
+ const unsigned char* currentChar = (const unsigned char*)current;
+ // remaining 1 to 3 bytes (standard algorithm)
+ while (length-- != 0)
+ crc = (crc >> 8) ^ ema_inflate_Crc32Lookup[0][(crc & 0xFF) ^ *currentChar++];
+
+ return ~crc; // same as crc ^ 0xFFFFFFFF
+}
+
+#endif /* EM_INFLATE_VERIFY_CHECKSUM */
+
+/*-- Top level zlib stream inflater --*/
+
+/* What type of checksum to verify, depending on the stream */
+typedef enum { EM_INFLATE_CHECKSUM_NONE = 0, EM_INFLATE_CHECKSUM_GZIP, EM_INFLATE_CHECKSUM_ZLIB } em_inflate_checksum_type_t;
+
+/**
+ * Inflate gzip or zlib data
+ *
+ * @param pCompressedData pointer to start of zlib data
+ * @param nCompressedDataSize size of zlib data, in bytes
+ * @param pOutData pointer to start of decompression buffer
+ * @param nMaxOutDataSize maximum size of decompression buffer, in bytes
+ *
+ * @return number of bytes decompressed, or -1 in case of an error
+ */
+size_t em_inflate(const void *pCompressedData, size_t nCompressedDataSize, unsigned char *pOutData, size_t nMaxOutDataSize) {
+ const unsigned char *pCurCompressedData = (const unsigned char *)pCompressedData;
+ const unsigned char *pEndCompressedData = pCurCompressedData + nCompressedDataSize;
+ em_lsb_bitreader_t bitReader;
+ unsigned int nIsFinalBlock;
+ size_t nCurOutOffset;
+ em_inflate_checksum_type_t nCheckSumType = EM_INFLATE_CHECKSUM_NONE;
+ unsigned long nCheckSum = 0;
+
+ if ((pCurCompressedData + 2) > pEndCompressedData) return -1;
+
+ /* Check header */
+ if (pCurCompressedData[0] == 0x1f && pCurCompressedData[1] == 0x8b) {
+ /* gzip wrapper */
+ pCurCompressedData += 2;
+ if ((pCurCompressedData + 8) > pEndCompressedData || pCurCompressedData[0] != 0x08 /* deflate */)
+ return -1;
+ pCurCompressedData++;
+
+ /* Read flags and skip over the rest of the header */
+ unsigned char flags = *pCurCompressedData++;
+ pCurCompressedData += 6;
+
+ if (flags & 0x02) { /* Part number present */
+ if ((pCurCompressedData + 2) > pEndCompressedData) return -1;
+ pCurCompressedData += 2;
+ }
+
+ if (flags & 0x04) { /* Extra field present, starts with two-byte length */
+ if ((pCurCompressedData + 2) > pEndCompressedData) return -1;
+ unsigned short nExtraFieldLen = ((unsigned short)pCurCompressedData[0]) | (((unsigned short)pCurCompressedData[1]) << 8);
+ pCurCompressedData += 2;
+
+ if ((pCurCompressedData + nExtraFieldLen) > pEndCompressedData) return -1;
+ pCurCompressedData += nExtraFieldLen;
+ }
+
+ if (flags & 0x08) { /* Original filename present, zero terminated */
+ do {
+ if (pCurCompressedData >= pEndCompressedData) return -1;
+ pCurCompressedData++;
+ } while (pCurCompressedData[-1]);
+ }
+
+ if (flags & 0x10) { /* File comment present, zero terminated */
+ do {
+ if (pCurCompressedData >= pEndCompressedData) return -1;
+ pCurCompressedData++;
+ } while (pCurCompressedData[-1]);
+ }
+
+ if (flags & 0x20) { /* Encryption header present */
+ return -1;
+ }
+
+ nCheckSumType = EM_INFLATE_CHECKSUM_GZIP;
+ }
+ else if ((pCurCompressedData[0] & 0x0f) == 0x08) {
+ /* zlib wrapper? */
+ unsigned char CMF = pCurCompressedData[0];
+ unsigned char FLG = pCurCompressedData[1];
+ unsigned short nCheck = FLG | (((unsigned short)CMF) << 8);
+
+ if ((CMF >> 4) <= 7 && (nCheck % 31) == 0) {
+ /* Looks like a valid zlib wrapper */
+ pCurCompressedData += 2;
+ if (FLG & 0x20) { /* Preset dictionary present */
+ if ((pCurCompressedData + 4) > pEndCompressedData) return -1;
+ pCurCompressedData += 4;
+ }
+ }
+
+ nCheckSumType = EM_INFLATE_CHECKSUM_ZLIB;
+ }
+
+#ifdef EM_INFLATE_VERIFY_CHECKSUM
+ /* Initialize checksum */
+ if (nCheckSumType == EM_INFLATE_CHECKSUM_ZLIB)
+ nCheckSum = em_inflate_adler32_z(0, NULL, 0);
+#endif /* EM_INFLATE_VERIFY_CHECKSUM */
+
+ /* The rest of the data is bit-packed. Initialize bit reader */
+ em_lsb_bitreader_init(&bitReader, pCurCompressedData, pEndCompressedData);
+
+ /* Process all the blocks */
+ nCurOutOffset = 0;
+
+ do {
+ unsigned int nBlockType;
+ size_t nBlockResult;
+
+ nIsFinalBlock = em_lsb_bitreader_get_bits(&bitReader, 1);
+ nBlockType = em_lsb_bitreader_get_bits(&bitReader, 2);
+
+ switch (nBlockType) {
+ case 0: /* Stored */
+ nBlockResult = em_inflate_copy_stored(&bitReader, pOutData, nCurOutOffset, nMaxOutDataSize - nCurOutOffset);
+ break;
+
+ case 1: /* Static huffman */
+ nBlockResult = em_inflate_decompress_block(&bitReader, 0 /* static */, pOutData, nCurOutOffset, nMaxOutDataSize - nCurOutOffset);
+ break;
+
+ case 2: /* Dynamic huffman */
+ nBlockResult = em_inflate_decompress_block(&bitReader, 1 /* dynamic */, pOutData, nCurOutOffset, nMaxOutDataSize - nCurOutOffset);
+ break;
+
+ case 3: /* Invalid */
+ return -1;
+ }
+
+ if (nBlockResult == -1) return -1;
+
+#ifdef EM_INFLATE_VERIFY_CHECKSUM
+ /* Update checksum with the decompressed block's contents */
+ if (nCheckSumType == EM_INFLATE_CHECKSUM_GZIP)
+ nCheckSum = em_inflate_crc32_4bytes(pOutData + nCurOutOffset, nBlockResult, nCheckSum);
+ else if (nCheckSumType == EM_INFLATE_CHECKSUM_ZLIB)
+ nCheckSum = em_inflate_adler32_z(nCheckSum, pOutData + nCurOutOffset, nBlockResult);
+#endif /* EM_INFLATE_VERIFY_CHECKSUM */
+
+ nCurOutOffset += nBlockResult;
+ } while (!nIsFinalBlock);
+
+ /* Align on a byte again */
+ em_lsb_bitreader_byte_align(&bitReader);
+ pCurCompressedData = bitReader.pInBlock;
+
+#ifdef EM_INFLATE_VERIFY_CHECKSUM
+ /* Read stored checksum and verify it */
+
+ unsigned int nStoredCheckSum;
+ switch (nCheckSumType) {
+ case EM_INFLATE_CHECKSUM_GZIP: /* gzip - little endian crc32 */
+ if ((pCurCompressedData + 4) > pEndCompressedData) return -1;
+ nStoredCheckSum = ((unsigned int)pCurCompressedData[0]);
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[1]) << 8;
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[2]) << 16;
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[3]) << 24;
+ if (nStoredCheckSum != nCheckSum) return -1;
+ pCurCompressedData += 4;
+ break;
+
+ case EM_INFLATE_CHECKSUM_ZLIB: /* zlib - big endian adler32 */
+ if ((pCurCompressedData + 4) > pEndCompressedData) return -1;
+ nStoredCheckSum = ((unsigned int)pCurCompressedData[0]) << 24;
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[1]) << 16;
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[2]) << 8;
+ nStoredCheckSum |= ((unsigned int)pCurCompressedData[3]);
+ if (nStoredCheckSum != nCheckSum) return -1;
+ pCurCompressedData += 4;
+ break;
+
+ default: /* None */
+ break;
+ }
+#endif /* EM_INFLATE_VERIFY_CHECKSUM */
+
+ /* Success, return decompressed size */
+ return nCurOutOffset;
+}
diff --git a/3rdparty/ymfm/examples/vgmrender/em_inflate.h b/3rdparty/ymfm/examples/vgmrender/em_inflate.h
new file mode 100644
index 00000000000..6cc1a9a78bb
--- /dev/null
+++ b/3rdparty/ymfm/examples/vgmrender/em_inflate.h
@@ -0,0 +1,49 @@
+/*
+ * em_inflate.h - fast in-memory inflate (gzip/zlib decompressor) definitions
+ *
+ * Copyright (C) 2019 Emmanuel Marty
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#ifndef _EM_INFLATE_H
+#define _EM_INFLATE_H
+
+#include <sys/types.h>
+#include <stdlib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Inflate gzip or zlib data
+ *
+ * @param pCompressedData pointer to start of zlib data
+ * @param nCompressedDataSize size of zlib data, in bytes
+ * @param pOutData pointer to start of decompression buffer
+ * @param nMaxOutDataSize maximum size of decompression buffer, in bytes
+ *
+ * @return number of bytes decompressed, or -1 in case of an error
+ */
+size_t em_inflate(const void *pCompressedData, size_t nCompressedDataSize, unsigned char *pOutData, size_t nMaxOutDataSize);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EM_INFLATE_H */
diff --git a/3rdparty/ymfm/examples/vgmrender/vgmrender.cpp b/3rdparty/ymfm/examples/vgmrender/vgmrender.cpp
new file mode 100644
index 00000000000..fd99d432ae4
--- /dev/null
+++ b/3rdparty/ymfm/examples/vgmrender/vgmrender.cpp
@@ -0,0 +1,1412 @@
+//
+// Simple vgm renderer.
+//
+// Leverages em_inflate tiny inflater from https://github.com/emmanuel-marty/em_inflate
+//
+// Compile with:
+//
+// g++ --std=c++14 -I../../src vgmrender.cpp em_inflate.cpp ../../src/ymfm_misc.cpp ../../src/ymfm_opl.cpp ../../src/ymfm_opm.cpp ../../src/ymfm_opn.cpp ../../src/ymfm_adpcm.cpp ../../src/ymfm_pcm.cpp ../../src/ymfm_ssg.cpp -o vgmrender.exe
+//
+// or:
+//
+// clang --std=c++14 -I../../src vgmrender.cpp em_inflate.cpp ../../src/ymfm_misc.cpp ../../src/ymfm_opl.cpp ../../src/ymfm_opm.cpp ../../src/ymfm_opn.cpp ../../src/ymfm_adpcm.cpp ../../src/ymfm_pcm.cpp ../../src/ymfm_ssg.cpp -o vgmrender.exe
+//
+// or:
+//
+// cl -I..\..\src vgmrender.cpp em_inflate.cpp ..\..\src\ymfm_misc.cpp ..\..\src\ymfm_opl.cpp ..\..\src\ymfm_opm.cpp ..\..\src\ymfm_opn.cpp ..\..\src\ymfm_adpcm.cpp ..\..\src\ymfm_pcm.cpp ..\..\src\ymfm_ssg.cpp /Od /Zi /std:c++14 /EHsc
+//
+
+#define _CRT_SECURE_NO_WARNINGS
+
+#include <cmath>
+#include <cstdio>
+#include <cstdint>
+#include <cstring>
+#include <list>
+#include <string>
+
+#include "em_inflate.h"
+#include "ymfm_misc.h"
+#include "ymfm_opl.h"
+#include "ymfm_opm.h"
+#include "ymfm_opn.h"
+
+#define LOG_WRITES (0)
+
+// enable this to run the nuked OPN2 core in parallel; output is not captured,
+// but logging can be added to observe behaviors
+#define RUN_NUKED_OPN2 (0)
+#if (RUN_NUKED_OPN2)
+namespace nuked {
+#include "test/ym3438.h"
+}
+#endif
+
+// enable this to capture each chip at its native rate as well
+#define CAPTURE_NATIVE (0 || RUN_NUKED_OPN2)
+
+
+
+//*********************************************************
+// GLOBAL TYPES
+//*********************************************************
+
+// we use an int64_t as emulated time, as a 32.32 fixed point value
+using emulated_time = int64_t;
+
+// enumeration of the different types of chips we support
+enum chip_type
+{
+ CHIP_YM2149,
+ CHIP_YM2151,
+ CHIP_YM2203,
+ CHIP_YM2413,
+ CHIP_YM2608,
+ CHIP_YM2610,
+ CHIP_YM2612,
+ CHIP_YM3526,
+ CHIP_Y8950,
+ CHIP_YM3812,
+ CHIP_YMF262,
+ CHIP_YMF278B,
+ CHIP_TYPES
+};
+
+
+
+//*********************************************************
+// CLASSES
+//*********************************************************
+
+// ======================> vgm_chip_base
+
+// abstract base class for a Yamaha chip; we keep a list of these for processing
+// as new commands come in
+class vgm_chip_base
+{
+public:
+ // construction
+ vgm_chip_base(uint32_t clock, chip_type type, char const *name) :
+ m_type(type),
+ m_name(name)
+ {
+ }
+
+ // simple getters
+ chip_type type() const { return m_type; }
+ virtual uint32_t sample_rate() const = 0;
+
+ // required methods for derived classes to implement
+ virtual void write(uint32_t reg, uint8_t data) = 0;
+ virtual void generate(emulated_time output_start, emulated_time output_step, int32_t *buffer) = 0;
+
+ // write data to the ADPCM-A buffer
+ void write_data(ymfm::access_class type, uint32_t base, uint32_t length, uint8_t const *src)
+ {
+ uint32_t end = base + length;
+ if (end > m_data[type].size())
+ m_data[type].resize(end);
+ memcpy(&m_data[type][base], src, length);
+ }
+
+ // seek within the PCM stream
+ void seek_pcm(uint32_t pos) { m_pcm_offset = pos; }
+ uint8_t read_pcm() { auto &pcm = m_data[ymfm::ACCESS_PCM]; return (m_pcm_offset < pcm.size()) ? pcm[m_pcm_offset++] : 0; }
+
+protected:
+ // internal state
+ chip_type m_type;
+ std::string m_name;
+ std::vector<uint8_t> m_data[ymfm::ACCESS_CLASSES];
+ uint32_t m_pcm_offset;
+#if (CAPTURE_NATIVE)
+public:
+ std::vector<int32_t> m_native_data;
+#endif
+#if (RUN_NUKED_OPN2)
+public:
+ nuked::ym3438_t *m_external = nullptr;
+ std::vector<int32_t> m_nuked_data;
+#endif
+};
+
+
+// ======================> vgm_chip
+
+// actual chip-specific implementation class; includes implementatino of the
+// ymfm_interface as needed for vgmplay purposes
+template<typename ChipType>
+class vgm_chip : public vgm_chip_base, public ymfm::ymfm_interface
+{
+public:
+ // construction
+ vgm_chip(uint32_t clock, chip_type type, char const *name) :
+ vgm_chip_base(clock, type, name),
+ m_chip(*this),
+ m_clock(clock),
+ m_clocks(0),
+ m_step(0x100000000ull / m_chip.sample_rate(clock)),
+ m_pos(0)
+ {
+ m_chip.reset();
+#if (RUN_NUKED_OPN2)
+ if (type == CHIP_YM2612)
+ {
+ m_external = new nuked::ym3438_t;
+ nuked::OPN2_SetChipType(nuked::ym3438_mode_ym2612);
+ nuked::OPN2_Reset(m_external);
+ }
+#endif
+ }
+
+ virtual uint32_t sample_rate() const override
+ {
+ return m_chip.sample_rate(m_clock);
+ }
+
+ // handle a register write: just queue for now
+ virtual void write(uint32_t reg, uint8_t data) override
+ {
+ m_queue.push_back(std::make_pair(reg, data));
+ }
+
+ // generate one output sample of output
+ virtual void generate(emulated_time output_start, emulated_time output_step, int32_t *buffer) override
+ {
+ uint32_t addr1 = 0xffff, addr2 = 0xffff;
+ uint8_t data1 = 0, data2 = 0;
+
+ // see if there is data to be written; if so, extract it and dequeue
+ if (!m_queue.empty())
+ {
+ auto front = m_queue.front();
+ addr1 = 0 + 2 * ((front.first >> 8) & 3);
+ data1 = front.first & 0xff;
+ addr2 = addr1 + ((m_type == CHIP_YM2149) ? 2 : 1);
+ data2 = front.second;
+ m_queue.erase(m_queue.begin());
+ }
+
+ // write to the chip
+ if (addr1 != 0xffff)
+ {
+ if (LOG_WRITES)
+ printf("%10.5f: %s %03X=%02X\n", double(m_clocks) / double(m_chip.sample_rate(m_clock)), m_name.c_str(), data1, data2);
+ m_chip.write(addr1, data1);
+ m_chip.write(addr2, data2);
+ }
+
+ // generate at the appropriate sample rate
+ for ( ; m_pos <= output_start; m_pos += m_step)
+ {
+ m_chip.generate(&m_output);
+
+#if (CAPTURE_NATIVE)
+ // if capturing native, append each generated sample
+ m_native_data.push_back(m_output.data[0]);
+ m_native_data.push_back(m_output.data[ChipType::OUTPUTS > 1 ? 1 : 0]);
+#endif
+
+#if (RUN_NUKED_OPN2)
+ // if running nuked, capture its output as well
+ if (m_external != nullptr)
+ {
+ int32_t sum[2] = { 0 };
+ if (addr1 != 0xffff)
+ nuked::OPN2_Write(m_external, addr1, data1);
+ nuked::Bit16s buffer[2];
+ for (int clocks = 0; clocks < 12; clocks++)
+ {
+ nuked::OPN2_Clock(m_external, buffer);
+ sum[0] += buffer[0];
+ sum[1] += buffer[1];
+ }
+ if (addr2 != 0xffff)
+ nuked::OPN2_Write(m_external, addr2, data2);
+ for (int clocks = 0; clocks < 12; clocks++)
+ {
+ nuked::OPN2_Clock(m_external, buffer);
+ sum[0] += buffer[0];
+ sum[1] += buffer[1];
+ }
+ addr1 = addr2 = 0xffff;
+ m_nuked_data.push_back(sum[0] / 24);
+ m_nuked_data.push_back(sum[1] / 24);
+ }
+#endif
+ }
+
+ // add the final result to the buffer
+ if (m_type == CHIP_YM2203)
+ {
+ int32_t out0 = m_output.data[0];
+ int32_t out1 = m_output.data[1 % ChipType::OUTPUTS];
+ int32_t out2 = m_output.data[2 % ChipType::OUTPUTS];
+ int32_t out3 = m_output.data[3 % ChipType::OUTPUTS];
+ *buffer++ += out0 + out1 + out2 + out3;
+ *buffer++ += out0 + out1 + out2 + out3;
+ }
+ else if (m_type == CHIP_YM2608 || m_type == CHIP_YM2610)
+ {
+ int32_t out0 = m_output.data[0];
+ int32_t out1 = m_output.data[1 % ChipType::OUTPUTS];
+ int32_t out2 = m_output.data[2 % ChipType::OUTPUTS];
+ *buffer++ += out0 + out2;
+ *buffer++ += out1 + out2;
+ }
+ else if (m_type == CHIP_YMF278B)
+ {
+ *buffer++ += m_output.data[4];
+ *buffer++ += m_output.data[5];
+ }
+ else if (ChipType::OUTPUTS == 1)
+ {
+ *buffer++ += m_output.data[0];
+ *buffer++ += m_output.data[0];
+ }
+ else
+ {
+ *buffer++ += m_output.data[0];
+ *buffer++ += m_output.data[1 % ChipType::OUTPUTS];
+ }
+ m_clocks++;
+ }
+
+protected:
+ // handle a read from the buffer
+ virtual uint8_t ymfm_external_read(ymfm::access_class type, uint32_t offset) override
+ {
+ auto &data = m_data[type];
+ return (offset < data.size()) ? data[offset] : 0;
+ }
+
+ // internal state
+ ChipType m_chip;
+ uint32_t m_clock;
+ uint64_t m_clocks;
+ typename ChipType::output_data m_output;
+ emulated_time m_step;
+ emulated_time m_pos;
+ std::vector<std::pair<uint32_t, uint8_t>> m_queue;
+};
+
+
+
+//*********************************************************
+// GLOBAL HELPERS
+//*********************************************************
+
+// global list of active chips
+std::list<vgm_chip_base *> active_chips;
+
+
+//-------------------------------------------------
+// parse_uint32 - parse a little-endian uint32_t
+//-------------------------------------------------
+
+uint32_t parse_uint32(std::vector<uint8_t> &buffer, uint32_t &offset)
+{
+ uint32_t result = buffer[offset++];
+ result |= buffer[offset++] << 8;
+ result |= buffer[offset++] << 16;
+ result |= buffer[offset++] << 24;
+ return result;
+}
+
+
+//-------------------------------------------------
+// add_chips - add 1 or 2 instances of the given
+// supported chip type
+//-------------------------------------------------
+
+template<typename ChipType>
+void add_chips(uint32_t clock, chip_type type, char const *chipname)
+{
+ uint32_t clockval = clock & 0x3fffffff;
+ int numchips = (clock & 0x40000000) ? 2 : 1;
+ printf("Adding %s%s @ %dHz\n", (numchips == 2) ? "2 x " : "", chipname, clockval);
+ for (int index = 0; index < numchips; index++)
+ {
+ char name[100];
+ sprintf(name, "%s #%d", chipname, index);
+ active_chips.push_back(new vgm_chip<ChipType>(clockval, type, chipname));
+ }
+
+ if (type == CHIP_YM2608)
+ {
+ FILE *rom = fopen("ym2608_adpcm_rom.bin", "rb");
+ if (rom == nullptr)
+ fprintf(stderr, "Warning: YM2608 enabled but ym2608_adpcm_rom.bin not found\n");
+ else
+ {
+ fseek(rom, 0, SEEK_END);
+ uint32_t size = ftell(rom);
+ fseek(rom, 0, SEEK_SET);
+ std::vector<uint8_t> temp(size);
+ fread(&temp[0], 1, size, rom);
+ fclose(rom);
+ for (auto chip : active_chips)
+ if (chip->type() == type)
+ chip->write_data(ymfm::ACCESS_ADPCM_A, 0, size, &temp[0]);
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// parse_header - parse the vgm header, adding
+// chips for anything we encounter that we can
+// support
+//-------------------------------------------------
+
+uint32_t parse_header(std::vector<uint8_t> &buffer)
+{
+ // +00: already checked the ID
+ uint32_t offset = 4;
+
+ // +04: parse the size
+ uint32_t size = parse_uint32(buffer, offset);
+ if (offset - 4 + size > buffer.size())
+ {
+ fprintf(stderr, "Total size for file is too small; file may be truncated\n");
+ size = buffer.size() - 4;
+ }
+ buffer.resize(size + 4);
+
+ // +08: parse the version
+ uint32_t version = parse_uint32(buffer, offset);
+ if (version > 0x171)
+ fprintf(stderr, "Warning: version > 1.71 detected, some things may not work\n");
+
+ // +0C: SN76489 clock
+ uint32_t clock = parse_uint32(buffer, offset);
+ if (clock != 0)
+ fprintf(stderr, "Warning: clock for SN76489 specified (%d), but not supported\n", clock);
+
+ // +10: YM2413 clock
+ clock = parse_uint32(buffer, offset);
+ if (clock != 0)
+ add_chips<ymfm::ym2413>(clock, CHIP_YM2413, "YM2413");
+
+ // +14: GD3 offset
+ uint32_t dummy = parse_uint32(buffer, offset);
+
+ // +18: Total # samples
+ dummy = parse_uint32(buffer, offset);
+
+ // +1C: Loop offset
+ dummy = parse_uint32(buffer, offset);
+
+ // +20: Loop # samples
+ dummy = parse_uint32(buffer, offset);
+
+ // +24: Rate
+ dummy = parse_uint32(buffer, offset);
+
+ // +28: SN76489 feedback / SN76489 shift register width / SN76489 Flags
+ dummy = parse_uint32(buffer, offset);
+
+ // +2C: YM2612 clock
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x110 && clock != 0)
+ add_chips<ymfm::ym2612>(clock, CHIP_YM2612, "YM2612");
+
+ // +30: YM2151 clock
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x110 && clock != 0)
+ add_chips<ymfm::ym2151>(clock, CHIP_YM2151, "YM2151");
+
+ // +34: VGM data offset
+ uint32_t data_start = parse_uint32(buffer, offset);
+ data_start += offset - 4;
+ if (version < 0x150)
+ data_start = 0x40;
+
+ // +38: Sega PCM clock
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for Sega PCM specified, but not supported\n");
+
+ // +3C: Sega PCM interface register
+ dummy = parse_uint32(buffer, offset);
+
+ // +40: RF5C68 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for RF5C68 specified, but not supported\n");
+
+ // +44: YM2203 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ym2203>(clock, CHIP_YM2203, "YM2203");
+
+ // +48: YM2608 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ym2608>(clock, CHIP_YM2608, "YM2608");
+
+ // +4C: YM2610/2610B clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ {
+ if (clock & 0x80000000)
+ add_chips<ymfm::ym2610b>(clock, CHIP_YM2610, "YM2610B");
+ else
+ add_chips<ymfm::ym2610>(clock, CHIP_YM2610, "YM2610");
+ }
+
+ // +50: YM3812 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ym3812>(clock, CHIP_YM3812, "YM3812");
+
+ // +54: YM3526 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ym3526>(clock, CHIP_YM3526, "YM3526");
+
+ // +58: Y8950 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::y8950>(clock, CHIP_Y8950, "Y8950");
+
+ // +5C: YMF262 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ymf262>(clock, CHIP_YMF262, "YMF262");
+
+ // +60: YMF278B clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ add_chips<ymfm::ymf278b>(clock, CHIP_YMF278B, "YMF278B");
+
+ // +64: YMF271 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for YMF271 specified, but not supported\n");
+
+ // +68: YMF280B clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for YMF280B specified, but not supported\n");
+
+ // +6C: RF5C164 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for RF5C164 specified, but not supported\n");
+
+ // +70: PWM clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ fprintf(stderr, "Warning: clock for PWM specified, but not supported\n");
+
+ // +74: AY8910 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x151 && clock != 0)
+ {
+ fprintf(stderr, "Warning: clock for AY8910 specified, substituting YM2149\n");
+ add_chips<ymfm::ym2149>(clock, CHIP_YM2149, "YM2149");
+ }
+
+ // +78: AY8910 flags
+ if (offset + 4 > data_start)
+ return data_start;
+ dummy = parse_uint32(buffer, offset);
+
+ // +7C: volume / loop info
+ if (offset + 4 > data_start)
+ return data_start;
+ dummy = parse_uint32(buffer, offset);
+ if ((dummy & 0xff) != 0)
+ printf("Volume modifier: %02X (=%d)\n", dummy & 0xff, int(pow(2, double(dummy & 0xff) / 0x20)));
+
+ // +80: GameBoy DMG clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for GameBoy DMG specified, but not supported\n");
+
+ // +84: NES APU clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for NES APU specified, but not supported\n");
+
+ // +88: MultiPCM clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for MultiPCM specified, but not supported\n");
+
+ // +8C: uPD7759 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for uPD7759 specified, but not supported\n");
+
+ // +90: OKIM6258 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for OKIM6258 specified, but not supported\n");
+
+ // +94: OKIM6258 Flags / K054539 Flags / C140 Chip Type / reserved
+ if (offset + 4 > data_start)
+ return data_start;
+ dummy = parse_uint32(buffer, offset);
+
+ // +98: OKIM6295 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for OKIM6295 specified, but not supported\n");
+
+ // +9C: K051649 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for K051649 specified, but not supported\n");
+
+ // +A0: K054539 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for K054539 specified, but not supported\n");
+
+ // +A4: HuC6280 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for HuC6280 specified, but not supported\n");
+
+ // +A8: C140 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for C140 specified, but not supported\n");
+
+ // +AC: K053260 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for K053260 specified, but not supported\n");
+
+ // +B0: Pokey clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for Pokey specified, but not supported\n");
+
+ // +B4: QSound clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x161 && clock != 0)
+ fprintf(stderr, "Warning: clock for QSound specified, but not supported\n");
+
+ // +B8: SCSP clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for SCSP specified, but not supported\n");
+
+ // +BC: extra header offset
+ if (offset + 4 > data_start)
+ return data_start;
+ uint32_t extra_header = parse_uint32(buffer, offset);
+
+ // +C0: WonderSwan clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for WonderSwan specified, but not supported\n");
+
+ // +C4: VSU clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for VSU specified, but not supported\n");
+
+ // +C8: SAA1099 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for SAA1099 specified, but not supported\n");
+
+ // +CC: ES5503 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for ES5503 specified, but not supported\n");
+
+ // +D0: ES5505/ES5506 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for ES5505/ES5506 specified, but not supported\n");
+
+ // +D4: ES5503 output channels / ES5505/ES5506 amount of output channels / C352 clock divider
+ if (offset + 4 > data_start)
+ return data_start;
+ dummy = parse_uint32(buffer, offset);
+
+ // +D8: X1-010 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for X1-010 specified, but not supported\n");
+
+ // +DC: C352 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for C352 specified, but not supported\n");
+
+ // +E0: GA20 clock
+ if (offset + 4 > data_start)
+ return data_start;
+ clock = parse_uint32(buffer, offset);
+ if (version >= 0x171 && clock != 0)
+ fprintf(stderr, "Warning: clock for GA20 specified, but not supported\n");
+
+ return data_start;
+}
+
+
+//-------------------------------------------------
+// find_chip - find the given chip and index
+//-------------------------------------------------
+
+vgm_chip_base *find_chip(chip_type type, uint8_t index)
+{
+ for (auto chip : active_chips)
+ if (chip->type() == type && index-- == 0)
+ return chip;
+ return nullptr;
+}
+
+
+//-------------------------------------------------
+// write_chip - handle a write to the given chip
+// and index
+//-------------------------------------------------
+
+void write_chip(chip_type type, uint8_t index, uint32_t reg, uint8_t data)
+{
+ vgm_chip_base *chip = find_chip(type, index);
+ if (chip != nullptr)
+ chip->write(reg, data);
+}
+
+
+//-------------------------------------------------
+// add_rom_data - add data to the given chip
+// type in the given access class
+//-------------------------------------------------
+
+void add_rom_data(chip_type type, ymfm::access_class access, std::vector<uint8_t> &buffer, uint32_t &localoffset, uint32_t size)
+{
+ uint32_t length = parse_uint32(buffer, localoffset);
+ uint32_t start = parse_uint32(buffer, localoffset);
+ for (int index = 0; index < 2; index++)
+ {
+ vgm_chip_base *chip = find_chip(type, index);
+ if (chip != nullptr)
+ chip->write_data(access, start, size, &buffer[localoffset]);
+ }
+}
+
+
+//-------------------------------------------------
+// generate_all - generate everything described
+// in the vgmplay file
+//-------------------------------------------------
+
+void generate_all(std::vector<uint8_t> &buffer, uint32_t data_start, uint32_t output_rate, std::vector<int32_t> &wav_buffer)
+{
+ // set the offset to the data start and go
+ uint32_t offset = data_start;
+ bool done = false;
+ emulated_time output_step = 0x100000000ull / output_rate;
+ emulated_time output_pos = 0;
+ while (!done && offset < buffer.size())
+ {
+ int delay = 0;
+ uint8_t cmd = buffer[offset++];
+ switch (cmd)
+ {
+ // YM2413, write value dd to register aa
+ case 0x51:
+ case 0xa1:
+ write_chip(CHIP_YM2413, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2612 port 0, write value dd to register aa
+ case 0x52:
+ case 0xa2:
+ write_chip(CHIP_YM2612, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2612 port 1, write value dd to register aa
+ case 0x53:
+ case 0xa3:
+ write_chip(CHIP_YM2612, cmd >> 7, buffer[offset] | 0x100, buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2151, write value dd to register aa
+ case 0x54:
+ case 0xa4:
+ write_chip(CHIP_YM2151, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2203, write value dd to register aa
+ case 0x55:
+ case 0xa5:
+ write_chip(CHIP_YM2203, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2608 port 0, write value dd to register aa
+ case 0x56:
+ case 0xa6:
+ write_chip(CHIP_YM2608, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2608 port 1, write value dd to register aa
+ case 0x57:
+ case 0xa7:
+ write_chip(CHIP_YM2608, cmd >> 7, buffer[offset] | 0x100, buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2610 port 0, write value dd to register aa
+ case 0x58:
+ case 0xa8:
+ write_chip(CHIP_YM2610, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM2610 port 1, write value dd to register aa
+ case 0x59:
+ case 0xa9:
+ write_chip(CHIP_YM2610, cmd >> 7, buffer[offset] | 0x100, buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM3812, write value dd to register aa
+ case 0x5a:
+ case 0xaa:
+ write_chip(CHIP_YM3812, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YM3526, write value dd to register aa
+ case 0x5b:
+ case 0xab:
+ write_chip(CHIP_YM3526, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // Y8950, write value dd to register aa
+ case 0x5c:
+ case 0xac:
+ write_chip(CHIP_Y8950, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YMF262 port 0, write value dd to register aa
+ case 0x5e:
+ case 0xae:
+ write_chip(CHIP_YMF262, cmd >> 7, buffer[offset], buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // YMF262 port 1, write value dd to register aa
+ case 0x5f:
+ case 0xaf:
+ write_chip(CHIP_YMF262, cmd >> 7, buffer[offset] | 0x100, buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // Wait n samples, n can range from 0 to 65535 (approx 1.49 seconds)
+ case 0x61:
+ delay = buffer[offset] | (buffer[offset + 1] << 8);
+ offset += 2;
+ break;
+
+ // wait 735 samples (60th of a second)
+ case 0x62:
+ delay = 735;
+ break;
+
+ // wait 882 samples (50th of a second)
+ case 0x63:
+ delay = 882;
+ break;
+
+ // end of sound data
+ case 0x66:
+ done = true;
+ break;
+
+ // data block
+ case 0x67:
+ {
+ uint8_t dummy = buffer[offset++];
+ if (dummy != 0x66)
+ break;
+ uint8_t type = buffer[offset++];
+ uint32_t size = parse_uint32(buffer, offset);
+ uint32_t start, length;
+ uint32_t localoffset = offset;
+
+ switch (type)
+ {
+ case 0x01: // RF5C68 PCM data for use with associated commands
+ case 0x02: // RF5C164 PCM data for use with associated commands
+ case 0x03: // PWM PCM data for use with associated commands
+ case 0x04: // OKIM6258 ADPCM data for use with associated commands
+ case 0x05: // HuC6280 PCM data for use with associated commands
+ case 0x06: // SCSP PCM data for use with associated commands
+ case 0x07: // NES APU DPCM data for use with associated commands
+ break;
+
+ case 0x00: // YM2612 PCM data for use with associated commands
+ {
+ vgm_chip_base *chip = find_chip(CHIP_YM2612, 0);
+ if (chip != nullptr)
+ chip->write_data(ymfm::ACCESS_PCM, 0, size - 8, &buffer[localoffset]);
+ break;
+ }
+
+ case 0x82: // YM2610 ADPCM ROM data
+ add_rom_data(CHIP_YM2610, ymfm::ACCESS_ADPCM_A, buffer, localoffset, size - 8);
+ break;
+
+ case 0x81: // YM2608 DELTA-T ROM data
+ add_rom_data(CHIP_YM2608, ymfm::ACCESS_ADPCM_B, buffer, localoffset, size - 8);
+ break;
+
+ case 0x83: // YM2610 DELTA-T ROM data
+ add_rom_data(CHIP_YM2610, ymfm::ACCESS_ADPCM_B, buffer, localoffset, size - 8);
+ break;
+
+ case 0x84: // YMF278B ROM data
+ case 0x87: // YMF278B RAM data
+ add_rom_data(CHIP_YMF278B, ymfm::ACCESS_PCM, buffer, localoffset, size - 8);
+ break;
+
+ case 0x88: // Y8950 DELTA-T ROM data
+ add_rom_data(CHIP_Y8950, ymfm::ACCESS_ADPCM_B, buffer, localoffset, size - 8);
+ break;
+
+ case 0x80: // Sega PCM ROM data
+ case 0x85: // YMF271 ROM data
+ case 0x86: // YMZ280B ROM data
+ case 0x89: // MultiPCM ROM data
+ case 0x8A: // uPD7759 ROM data
+ case 0x8B: // OKIM6295 ROM data
+ case 0x8C: // K054539 ROM data
+ case 0x8D: // C140 ROM data
+ case 0x8E: // K053260 ROM data
+ case 0x8F: // Q-Sound ROM data
+ case 0x90: // ES5505/ES5506 ROM data
+ case 0x91: // X1-010 ROM data
+ case 0x92: // C352 ROM data
+ case 0x93: // GA20 ROM data
+ break;
+
+ case 0xC0: // RF5C68 RAM write
+ case 0xC1: // RF5C164 RAM write
+ case 0xC2: // NES APU RAM write
+ case 0xE0: // SCSP RAM write
+ case 0xE1: // ES5503 RAM write
+ break;
+
+ default:
+ if (type >= 0x40 && type < 0x7f)
+ printf("Compressed data block not supported\n");
+ else
+ printf("Unknown data block type 0x%02X\n", type);
+ break;
+ }
+ offset += size;
+ break;
+ }
+
+ // PCM RAM write
+ case 0x68:
+ printf("68: PCM RAM write\n");
+ break;
+
+ // AY8910, write value dd to register aa
+ case 0xa0:
+ write_chip(CHIP_YM2149, buffer[offset] >> 7, buffer[offset] & 0x7f, buffer[offset + 1]);
+ offset += 2;
+ break;
+
+ // pp aa dd: YMF278B, port pp, write value dd to register aa
+ case 0xd0:
+ write_chip(CHIP_YMF278B, buffer[offset] >> 7, ((buffer[offset] & 0x7f) << 8) | buffer[offset + 1], buffer[offset + 2]);
+ offset += 3;
+ break;
+
+ 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:
+ delay = (cmd & 15) + 1;
+ break;
+
+ case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87:
+ case 0x88: case 0x89: case 0x8a: case 0x8b: case 0x8c: case 0x8d: case 0x8e: case 0x8f:
+ {
+ vgm_chip_base *chip = find_chip(CHIP_YM2612, 0);
+ if (chip != nullptr)
+ chip->write(0x2a, chip->read_pcm());
+ delay = cmd & 15;
+ break;
+ }
+
+ // ignored, consume one byte
+ case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
+ case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x3d: case 0x3e: case 0x3f:
+ case 0x4f: // dd: Game Gear PSG stereo, write dd to port 0x06
+ case 0x50: // dd: PSG (SN76489/SN76496) write value dd
+ offset++;
+ break;
+
+ // ignored, consume two bytes
+ 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 0x5d: // aa dd: YMZ280B, write value dd to register aa
+ case 0xb0: // aa dd: RF5C68, write value dd to register aa
+ case 0xb1: // aa dd: RF5C164, write value dd to register aa
+ case 0xb2: // aa dd: PWM, write value ddd to register a (d is MSB, dd is LSB)
+ case 0xb3: // aa dd: GameBoy DMG, write value dd to register aa
+ case 0xb4: // aa dd: NES APU, write value dd to register aa
+ case 0xb5: // aa dd: MultiPCM, write value dd to register aa
+ case 0xb6: // aa dd: uPD7759, write value dd to register aa
+ case 0xb7: // aa dd: OKIM6258, write value dd to register aa
+ case 0xb8: // aa dd: OKIM6295, write value dd to register aa
+ case 0xb9: // aa dd: HuC6280, write value dd to register aa
+ case 0xba: // aa dd: K053260, write value dd to register aa
+ case 0xbb: // aa dd: Pokey, write value dd to register aa
+ case 0xbc: // aa dd: WonderSwan, write value dd to register aa
+ case 0xbd: // aa dd: SAA1099, write value dd to register aa
+ case 0xbe: // aa dd: ES5506, write value dd to register aa
+ case 0xbf: // aa dd: GA20, write value dd to register aa
+ offset += 2;
+ break;
+
+ // ignored, consume three bytes
+ case 0xc9: case 0xca: case 0xcb: case 0xcc: case 0xcd: case 0xce: case 0xcf:
+ case 0xd7: case 0xd8: case 0xd9: case 0xda: case 0xdb: case 0xdc: case 0xdd: case 0xde: case 0xdf:
+ case 0xc0: // bbaa dd: Sega PCM, write value dd to memory offset aabb
+ case 0xc1: // bbaa dd: RF5C68, write value dd to memory offset aabb
+ case 0xc2: // bbaa dd: RF5C164, write value dd to memory offset aabb
+ case 0xc3: // cc bbaa: MultiPCM, write set bank offset aabb to channel cc
+ case 0xc4: // mmll rr: QSound, write value mmll to register rr (mm - data MSB, ll - data LSB)
+ case 0xc5: // mmll dd: SCSP, write value dd to memory offset mmll (mm - offset MSB, ll - offset LSB)
+ case 0xc6: // mmll dd: WonderSwan, write value dd to memory offset mmll (mm - offset MSB, ll - offset LSB)
+ case 0xc7: // mmll dd: VSU, write value dd to memory offset mmll (mm - offset MSB, ll - offset LSB)
+ case 0xc8: // mmll dd: X1-010, write value dd to memory offset mmll (mm - offset MSB, ll - offset LSB)
+ case 0xd1: // pp aa dd: YMF271, port pp, write value dd to register aa
+ case 0xd2: // pp aa dd: SCC1, port pp, write value dd to register aa
+ case 0xd3: // pp aa dd: K054539, write value dd to register ppaa
+ case 0xd4: // pp aa dd: C140, write value dd to register ppaa
+ case 0xd5: // pp aa dd: ES5503, write value dd to register ppaa
+ case 0xd6: // pp aa dd: ES5506, write value aadd to register pp
+ offset += 3;
+ break;
+
+ // ignored, consume four bytes
+ case 0xe0: // dddddddd: Seek to offset dddddddd (Intel byte order) in PCM data bank of data block type 0 (YM2612).
+ {
+ vgm_chip_base *chip = find_chip(CHIP_YM2612, 0);
+ uint32_t pos = parse_uint32(buffer, offset);
+ if (chip != nullptr)
+ chip->seek_pcm(pos);
+ offset += 4;
+ break;
+ }
+ case 0xe1: // mmll aadd: C352, write value aadd to register mmll
+ case 0xe2: case 0xe3: case 0xe4: case 0xe5: case 0xe6: case 0xe7:
+ case 0xe8: case 0xe9: case 0xea: case 0xeb: case 0xec: case 0xed: case 0xee: case 0xef:
+ case 0xf0: case 0xf1: case 0xf2: case 0xf3: case 0xf4: case 0xf5: case 0xf6: case 0xf7:
+ case 0xf8: case 0xf9: case 0xfa: case 0xfb: case 0xfc: case 0xfd: case 0xfe: case 0xff:
+ offset += 4;
+ break;
+ }
+
+ // handle delays
+ while (delay-- != 0)
+ {
+ bool more_remaining = false;
+ int32_t outputs[2] = { 0 };
+ for (auto chip : active_chips)
+ chip->generate(output_pos, output_step, outputs);
+ output_pos += output_step;
+ wav_buffer.push_back(outputs[0]);
+ wav_buffer.push_back(outputs[1]);
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// write_wav - write a WAV file from the provided
+// stereo data
+//-------------------------------------------------
+
+int write_wav(char const *filename, uint32_t output_rate, std::vector<int32_t> &wav_buffer_src)
+{
+ // determine normalization parameters
+ int32_t max_scale = 0;
+ for (int index = 0; index < wav_buffer_src.size(); index++)
+ {
+ int32_t absval = std::abs(wav_buffer_src[index]);
+ max_scale = std::max(max_scale, absval);
+ }
+
+ // now convert
+ std::vector<int16_t> wav_buffer(wav_buffer_src.size());
+ for (int index = 0; index < wav_buffer_src.size(); index++)
+ wav_buffer[index] = wav_buffer_src[index] * 26000 / max_scale;
+
+ // write the WAV file
+ FILE *out = fopen(filename, "wb");
+ if (out == nullptr)
+ {
+ fprintf(stderr, "Error creating output file '%s'\n", filename);
+ return 6;
+ }
+
+ // write the 'RIFF' header
+ if (fwrite("RIFF", 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the total size
+ uint32_t total_size = 48 + wav_buffer.size() * 2 - 8;
+ uint8_t wavdata[4];
+ wavdata[0] = total_size >> 0;
+ wavdata[1] = total_size >> 8;
+ wavdata[2] = total_size >> 16;
+ wavdata[3] = total_size >> 24;
+ if (fwrite(wavdata, 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the 'WAVE' type
+ if (fwrite("WAVE", 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the 'fmt ' tag
+ if (fwrite("fmt ", 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the format length
+ wavdata[0] = 16;
+ wavdata[1] = 0;
+ wavdata[2] = 0;
+ wavdata[3] = 0;
+ if (fwrite(wavdata, 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the format (PCM)
+ wavdata[0] = 1;
+ wavdata[1] = 0;
+ if (fwrite(wavdata, 1, 2, out) != 2)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the channels
+ wavdata[0] = 2;
+ wavdata[1] = 0;
+ if (fwrite(wavdata, 1, 2, out) != 2)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the sample rate
+ wavdata[0] = output_rate >> 0;
+ wavdata[1] = output_rate >> 8;
+ wavdata[2] = output_rate >> 16;
+ wavdata[3] = output_rate >> 24;
+ if (fwrite(wavdata, 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the bytes/second
+ uint32_t bps = output_rate * 2 * 2;
+ wavdata[0] = bps >> 0;
+ wavdata[1] = bps >> 8;
+ wavdata[2] = bps >> 16;
+ wavdata[3] = bps >> 24;
+ if (fwrite(wavdata, 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the block align
+ wavdata[0] = 4;
+ wavdata[1] = 0;
+ if (fwrite(wavdata, 1, 2, out) != 2)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the bits/sample
+ wavdata[0] = 16;
+ wavdata[1] = 0;
+ if (fwrite(wavdata, 1, 2, out) != 2)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the 'data' tag
+ if (fwrite("data", 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the data length
+ uint32_t datalen = wav_buffer.size() * 2;
+ wavdata[0] = datalen >> 0;
+ wavdata[1] = datalen >> 8;
+ wavdata[2] = datalen >> 16;
+ wavdata[3] = datalen >> 24;
+ if (fwrite(wavdata, 1, 4, out) != 4)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+
+ // write the data
+ if (fwrite(&wav_buffer[0], 1, datalen, out) != datalen)
+ {
+ fprintf(stderr, "Error writing to output file\n");
+ return 7;
+ }
+ fclose(out);
+ return 0;
+}
+
+
+//-------------------------------------------------
+// main - program entry point
+//-------------------------------------------------
+
+int main(int argc, char *argv[])
+{
+ char const *filename = nullptr;
+ char const *outfilename = nullptr;
+ int output_rate = 44100;
+
+ // parse command line
+ bool argerr = false;
+ for (int arg = 1; arg < argc; arg++)
+ {
+ char const *curarg = argv[arg];
+ if (*curarg == '-')
+ {
+ if (strcmp(curarg, "-o") == 0 || strcmp(curarg, "--output") == 0)
+ outfilename = argv[++arg];
+ else if (strcmp(curarg, "-r") == 0 || strcmp(curarg, "--samplerate") == 0)
+ output_rate = atoi(argv[++arg]);
+ else
+ {
+ fprintf(stderr, "Unknown argument: %s\n", curarg);
+ argerr = true;
+ }
+ }
+ else
+ filename = curarg;
+ }
+
+ // if invalid syntax, show usage
+ if (argerr || filename == nullptr || outfilename == nullptr)
+ {
+ fprintf(stderr, "Usage: vgmrender <inputfile> -o <outputfile> [-r <rate>]\n");
+ return 1;
+ }
+
+ // attempt to read the file
+ FILE *file = fopen(filename, "rb");
+ if (file == nullptr)
+ {
+ fprintf(stderr, "Error opening file '%s'\n", filename);
+ return 2;
+ }
+
+ // get the length and create a buffer
+ fseek(file, 0, SEEK_END);
+ uint32_t size = ftell(file);
+ fseek(file, 0, SEEK_SET);
+ std::vector<uint8_t> buffer(size);
+
+ // read the contents
+ auto bytes_read = fread(&buffer[0], 1, size, file);
+ if (bytes_read != size)
+ {
+ fprintf(stderr, "Error reading file contents\n");
+ return 3;
+ }
+ fclose(file);
+
+ // check for gzip-format
+ if (buffer.size() >= 10 && buffer[0] == 0x1f && buffer[1] == 0x8b && buffer[2] == 0x08)
+ {
+ // copy the raw data to a new buffer
+ std::vector<uint8_t> compressed = buffer;
+
+ // determine uncompressed size and resize the buffer
+ uint8_t *end = &compressed[compressed.size()];
+ uint32_t uncompressed = end[-4] | (end[-3] << 8) | (end[-2] << 16) | (end[-1] << 24);
+ if (size < compressed.size() || size > 32*1024*1024)
+ {
+ fprintf(stderr, "File '%s' appears to be a compressed file but has unexpected size of %d\n", filename, size);
+ return 4;
+ }
+ buffer.resize(uncompressed);
+
+ // decompress the data
+ auto result = em_inflate(&compressed[0], compressed.size(), &buffer[0], buffer.size());
+ if (result == -1)
+ {
+ fprintf(stderr, "Error decompressing data from file\n");
+ return 4;
+ }
+ }
+
+ // check the ID
+ uint32_t offset = 0;
+ if (buffer.size() < 64 || buffer[0] != 'V' || buffer[1] != 'g' || buffer[2] != 'm' || buffer[3] != ' ')
+ {
+ fprintf(stderr, "File '%s' does not appear to be a valid VGM file\n", filename);
+ return 4;
+ }
+
+ // parse the header, creating any chips needed
+ uint32_t data_start = parse_header(buffer);
+
+ // if no chips created, fail
+ if (active_chips.size() == 0)
+ {
+ fprintf(stderr, "No compatible chips found, exiting.\n");
+ return 5;
+ }
+
+ // generate the output
+ std::vector<int32_t> wav_buffer;
+ generate_all(buffer, data_start, output_rate, wav_buffer);
+
+ int err = write_wav(outfilename, output_rate, wav_buffer);
+
+#if (CAPTURE_NATIVE)
+ {
+ int chipnum = 0;
+ for (auto chip : active_chips)
+ if (err == 0 && chip->m_native_data.size() > 0)
+ {
+ char filename[20];
+ sprintf(filename, "native-%d.wav", chipnum++);
+ err = write_wav(filename, chip->sample_rate(), chip->m_native_data);
+ }
+ }
+#endif
+#if (RUN_NUKED_OPN2)
+ {
+ int chipnum = 0;
+ for (auto chip : active_chips)
+ if (err == 0 && chip->m_nuked_data.size() > 0)
+ {
+ char filename[20];
+ sprintf(filename, "nuked-%d.wav", chipnum++);
+ err = write_wav(filename, chip->sample_rate(), chip->m_nuked_data);
+ }
+ }
+#endif
+
+ return err;
+}
+
+#if (RUN_NUKED_OPN2)
+namespace nuked {
+#include "test/ym3438.c"
+}
+#endif
diff --git a/3rdparty/ymfm/src/ymfm.h b/3rdparty/ymfm/src/ymfm.h
new file mode 100644
index 00000000000..cba731d9afa
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm.h
@@ -0,0 +1,486 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_H
+#define YMFM_H
+
+#pragma once
+
+#include <cassert>
+#include <cstdint>
+#include <cstdio>
+#include <algorithm>
+#include <memory>
+#include <string>
+#include <vector>
+
+namespace ymfm
+{
+
+//*********************************************************
+// DEBUGGING
+//*********************************************************
+
+class debug
+{
+public:
+ // masks to help isolate specific channels
+ static constexpr uint32_t GLOBAL_FM_CHANNEL_MASK = 0xffffffff;
+ static constexpr uint32_t GLOBAL_ADPCM_A_CHANNEL_MASK = 0xffffffff;
+ static constexpr uint32_t GLOBAL_ADPCM_B_CHANNEL_MASK = 0xffffffff;
+ static constexpr uint32_t GLOBAL_PCM_CHANNEL_MASK = 0xffffffff;
+
+ // types of logging
+ static constexpr bool LOG_FM_WRITES = false;
+ static constexpr bool LOG_KEYON_EVENTS = false;
+ static constexpr bool LOG_UNEXPECTED_READ_WRITES = false;
+
+ // helpers to write based on the log type
+ template<typename... Params> static void log_fm_write(Params &&... args) { if (LOG_FM_WRITES) log(args...); }
+ template<typename... Params> static void log_keyon(Params &&... args) { if (LOG_KEYON_EVENTS) log(args...); }
+ template<typename... Params> static void log_unexpected_read_write(Params &&... args) { if (LOG_UNEXPECTED_READ_WRITES) log(args...); }
+
+ // downstream helper to output log data; defaults to printf
+ template<typename... Params> static void log(Params &&... args) { printf(args...); }
+};
+
+
+
+//*********************************************************
+// GLOBAL HELPERS
+//*********************************************************
+
+//-------------------------------------------------
+// bitfield - extract a bitfield from the given
+// value, starting at bit 'start' for a length of
+// 'length' bits
+//-------------------------------------------------
+
+inline uint32_t bitfield(uint32_t value, int start, int length = 1)
+{
+ return (value >> start) & ((1 << length) - 1);
+}
+
+
+//-------------------------------------------------
+// clamp - clamp between the minimum and maximum
+// values provided
+//-------------------------------------------------
+
+inline int32_t clamp(int32_t value, int32_t minval, int32_t maxval)
+{
+ if (value < minval)
+ return minval;
+ if (value > maxval)
+ return maxval;
+ return value;
+}
+
+
+//-------------------------------------------------
+// array_size - return the size of an array
+//-------------------------------------------------
+
+template<typename ArrayType, int ArraySize>
+constexpr uint32_t array_size(ArrayType (&array)[ArraySize])
+{
+ return ArraySize;
+}
+
+
+//-------------------------------------------------
+// count_leading_zeros - return the number of
+// leading zeros in a 32-bit value; CPU-optimized
+// versions for various architectures are included
+// below
+//-------------------------------------------------
+
+#if defined(__GNUC__)
+
+inline uint8_t count_leading_zeros(uint32_t value)
+{
+ if (value == 0)
+ return 32;
+ return __builtin_clz(value);
+}
+
+#elif defined(_MSC_VER)
+
+inline uint8_t count_leading_zeros(uint32_t value)
+{
+ unsigned long index;
+ return _BitScanReverse(&index, value) ? (31U - index) : 32U;
+}
+
+#else
+
+inline uint8_t count_leading_zeros(uint32_t value)
+{
+ if (value == 0)
+ return 32;
+ uint8_t count;
+ for (count = 0; int32_t(value) >= 0; count++)
+ value <<= 1;
+ return count;
+}
+
+#endif
+
+
+// Many of the Yamaha FM chips emit a floating-point value, which is sent to
+// a DAC for processing. The exact format of this floating-point value is
+// documented below. This description only makes sense if the "internal"
+// format treats sign as 1=positive and 0=negative, so the helpers below
+// presume that.
+//
+// Internal OPx data 16-bit signed data Exp Sign Mantissa
+// ================= ================= === ==== ========
+// 1 1xxxxxxxx------ -> 0 1xxxxxxxx------ -> 111 1 1xxxxxxx
+// 1 01xxxxxxxx----- -> 0 01xxxxxxxx----- -> 110 1 1xxxxxxx
+// 1 001xxxxxxxx---- -> 0 001xxxxxxxx---- -> 101 1 1xxxxxxx
+// 1 0001xxxxxxxx--- -> 0 0001xxxxxxxx--- -> 100 1 1xxxxxxx
+// 1 00001xxxxxxxx-- -> 0 00001xxxxxxxx-- -> 011 1 1xxxxxxx
+// 1 000001xxxxxxxx- -> 0 000001xxxxxxxx- -> 010 1 1xxxxxxx
+// 1 000000xxxxxxxxx -> 0 000000xxxxxxxxx -> 001 1 xxxxxxxx
+// 0 111111xxxxxxxxx -> 1 111111xxxxxxxxx -> 001 0 xxxxxxxx
+// 0 111110xxxxxxxx- -> 1 111110xxxxxxxx- -> 010 0 0xxxxxxx
+// 0 11110xxxxxxxx-- -> 1 11110xxxxxxxx-- -> 011 0 0xxxxxxx
+// 0 1110xxxxxxxx--- -> 1 1110xxxxxxxx--- -> 100 0 0xxxxxxx
+// 0 110xxxxxxxx---- -> 1 110xxxxxxxx---- -> 101 0 0xxxxxxx
+// 0 10xxxxxxxx----- -> 1 10xxxxxxxx----- -> 110 0 0xxxxxxx
+// 0 0xxxxxxxx------ -> 1 0xxxxxxxx------ -> 111 0 0xxxxxxx
+
+//-------------------------------------------------
+// encode_fp - given a 32-bit signed input value
+// convert it to a signed 3.10 floating-point
+// value
+//-------------------------------------------------
+
+inline int16_t encode_fp(int32_t value)
+{
+ // handle overflows first
+ if (value < -32768)
+ return (7 << 10) | 0x000;
+ if (value > 32767)
+ return (7 << 10) | 0x3ff;
+
+ // we need to count the number of leading sign bits after the sign
+ // we can use count_leading_zeros if we invert negative values
+ int32_t scanvalue = value ^ (int32_t(value) >> 31);
+
+ // exponent is related to the number of leading bits starting from bit 14
+ int exponent = 7 - count_leading_zeros(scanvalue << 17);
+
+ // smallest exponent value allowed is 1
+ exponent = std::max(exponent, 1);
+
+ // mantissa
+ int32_t mantissa = value >> (exponent - 1);
+
+ // assemble into final form, inverting the sign
+ return ((exponent << 10) | (mantissa & 0x3ff)) ^ 0x200;
+}
+
+
+//-------------------------------------------------
+// decode_fp - given a 3.10 floating-point value,
+// convert it to a signed 16-bit value
+//-------------------------------------------------
+
+inline int16_t decode_fp(int16_t value)
+{
+ // invert the sign and the exponent
+ value ^= 0x1e00;
+
+ // shift mantissa up to 16 bits then apply inverted exponent
+ return int16_t(value << 6) >> bitfield(value, 10, 3);
+}
+
+
+//-------------------------------------------------
+// roundtrip_fp - compute the result of a round
+// trip through the encode/decode process above
+//-------------------------------------------------
+
+inline int16_t roundtrip_fp(int32_t value)
+{
+ // handle overflows first
+ if (value < -32768)
+ return -32768;
+ if (value > 32767)
+ return 32767;
+
+ // we need to count the number of leading sign bits after the sign
+ // we can use count_leading_zeros if we invert negative values
+ int32_t scanvalue = value ^ (int32_t(value) >> 31);
+
+ // exponent is related to the number of leading bits starting from bit 14
+ int exponent = 7 - count_leading_zeros(scanvalue << 17);
+
+ // smallest exponent value allowed is 1
+ exponent = std::max(exponent, 1);
+
+ // apply the shift back and forth to zero out bits that are lost
+ exponent -= 1;
+ return (value >> exponent) << exponent;
+}
+
+
+
+//*********************************************************
+// HELPER CLASSES
+//*********************************************************
+
+// various envelope states
+enum envelope_state : uint32_t
+{
+ EG_DEPRESS = 0, // OPLL only; set EG_HAS_DEPRESS to enable
+ EG_ATTACK = 1,
+ EG_DECAY = 2,
+ EG_SUSTAIN = 3,
+ EG_RELEASE = 4,
+ EG_REVERB = 5, // OPQ/OPZ only; set EG_HAS_REVERB to enable
+ EG_STATES = 6
+};
+
+// external I/O access classes
+enum access_class : uint32_t
+{
+ ACCESS_IO = 0,
+ ACCESS_ADPCM_A,
+ ACCESS_ADPCM_B,
+ ACCESS_PCM,
+ ACCESS_CLASSES
+};
+
+
+
+//*********************************************************
+// HELPER CLASSES
+//*********************************************************
+
+// ======================> ymfm_output
+
+// struct containing an array of output values
+template<int NumOutputs>
+struct ymfm_output
+{
+ // clear all outputs to 0
+ ymfm_output &clear()
+ {
+ for (uint32_t index = 0; index < NumOutputs; index++)
+ data[index] = 0;
+ return *this;
+ }
+
+ // clamp all outputs to a 16-bit signed value
+ ymfm_output &clamp16()
+ {
+ for (uint32_t index = 0; index < NumOutputs; index++)
+ data[index] = clamp(data[index], -32768, 32767);
+ return *this;
+ }
+
+ // run each output value through the floating-point processor
+ ymfm_output &roundtrip_fp()
+ {
+ for (uint32_t index = 0; index < NumOutputs; index++)
+ data[index] = ymfm::roundtrip_fp(data[index]);
+ return *this;
+ }
+
+ // internal state
+ int32_t data[NumOutputs];
+};
+
+
+// ======================> ymfm_saved_state
+
+// this class contains a managed vector of bytes that is used to save and
+// restore state
+class ymfm_saved_state
+{
+public:
+ // construction
+ ymfm_saved_state(std::vector<uint8_t> &buffer, bool saving) :
+ m_buffer(buffer),
+ m_offset(saving ? -1 : 0)
+ {
+ if (saving)
+ buffer.resize(0);
+ }
+
+ // are we saving or restoring?
+ bool saving() const { return (m_offset < 0); }
+
+ // generic save/restore
+ template<typename DataType>
+ void save_restore(DataType &data)
+ {
+ if (saving())
+ save(data);
+ else
+ restore(data);
+ }
+
+public:
+ // save data to the buffer
+ void save(bool &data) { write(data ? 1 : 0); }
+ void save(int8_t &data) { write(data); }
+ void save(uint8_t &data) { write(data); }
+ void save(int16_t &data) { write(data).write(data >> 8); }
+ void save(uint16_t &data) { write(data).write(data >> 8); }
+ void save(int32_t &data) { write(data).write(data >> 8).write(data >> 16).write(data >> 24); }
+ void save(uint32_t &data) { write(data).write(data >> 8).write(data >> 16).write(data >> 24); }
+ void save(envelope_state &data) { write(uint8_t(data)); }
+ template<typename DataType, int Count>
+ void save(DataType (&data)[Count]) { for (uint32_t index = 0; index < Count; index++) save(data[index]); }
+
+ // restore data from the buffer
+ void restore(bool &data) { data = read() ? true : false; }
+ void restore(int8_t &data) { data = read(); }
+ void restore(uint8_t &data) { data = read(); }
+ void restore(int16_t &data) { data = read(); data |= read() << 8; }
+ void restore(uint16_t &data) { data = read(); data |= read() << 8; }
+ void restore(int32_t &data) { data = read(); data |= read() << 8; data |= read() << 16; data |= read() << 24; }
+ void restore(uint32_t &data) { data = read(); data |= read() << 8; data |= read() << 16; data |= read() << 24; }
+ void restore(envelope_state &data) { data = envelope_state(read()); }
+ template<typename DataType, int Count>
+ void restore(DataType (&data)[Count]) { for (uint32_t index = 0; index < Count; index++) restore(data[index]); }
+
+ // internal helper
+ ymfm_saved_state &write(uint8_t data) { m_buffer.push_back(data); return *this; }
+ uint8_t read() { return (m_offset < int32_t(m_buffer.size())) ? m_buffer[m_offset++] : 0; }
+
+ // internal state
+ std::vector<uint8_t> &m_buffer;
+ int32_t m_offset;
+};
+
+
+
+//*********************************************************
+// INTERFACE CLASSES
+//*********************************************************
+
+// ======================> ymfm_engine_callbacks
+
+// this class represents functions in the engine that the ymfm_interface
+// needs to be able to call; it is represented here as a separate interface
+// that is independent of the actual engine implementation
+class ymfm_engine_callbacks
+{
+public:
+ // timer callback; called by the interface when a timer fires
+ virtual void engine_timer_expired(uint32_t tnum) = 0;
+
+ // check interrupts; called by the interface after synchronization
+ virtual void engine_check_interrupts() = 0;
+
+ // mode register write; called by the interface after synchronization
+ virtual void engine_mode_write(uint8_t data) = 0;
+};
+
+
+// ======================> ymfm_interface
+
+// this class represents the interface between the fm_engine and the outside
+// world; it provides hooks for timers, synchronization, and I/O
+class ymfm_interface
+{
+ // the engine is our friend
+ template<typename RegisterType> friend class fm_engine_base;
+
+public:
+ // the following functions must be implemented by any derived classes; the
+ // default implementations are sufficient for some minimal operation, but will
+ // likely need to be overridden to integrate with the outside world; they are
+ // all prefixed with ymfm_ to reduce the likelihood of namespace collisions
+
+ //
+ // timing and synchronizaton
+ //
+
+ // the chip implementation calls this when a write happens to the mode
+ // register, which could affect timers and interrupts; our responsibility
+ // is to ensure the system is up to date before calling the engine's
+ // engine_mode_write() method
+ virtual void ymfm_sync_mode_write(uint8_t data) { m_engine->engine_mode_write(data); }
+
+ // the chip implementation calls this when the chip's status has changed,
+ // which may affect the interrupt state; our responsibility is to ensure
+ // the system is up to date before calling the engine's
+ // engine_check_interrupts() method
+ virtual void ymfm_sync_check_interrupts() { m_engine->engine_check_interrupts(); }
+
+ // the chip implementation calls this when one of the two internal timers
+ // has changed state; our responsibility is to arrange to call the engine's
+ // engine_timer_expired() method after the provided number of clocks; if
+ // duration_in_clocks is negative, we should cancel any outstanding timers
+ virtual void ymfm_set_timer(uint32_t tnum, int32_t duration_in_clocks) { }
+
+ // the chip implementation calls this to indicate that the chip should be
+ // considered in a busy state until the given number of clocks has passed;
+ // our responsibility is to compute and remember the ending time based on
+ // the chip's clock for later checking
+ virtual void ymfm_set_busy_end(uint32_t clocks) { }
+
+ // the chip implementation calls this to see if the chip is still currently
+ // is a busy state, as specified by a previous call to ymfm_set_busy_end();
+ // our responsibility is to compare the current time against the previously
+ // noted busy end time and return true if we haven't yet passed it
+ virtual bool ymfm_is_busy() { return false; }
+
+ //
+ // I/O functions
+ //
+
+ // the chip implementation calls this when the state of the IRQ signal has
+ // changed due to a status change; our responsibility is to respond as
+ // needed to the change in IRQ state, signaling any consumers
+ virtual void ymfm_update_irq(bool asserted) { }
+
+ // the chip implementation calls this whenever data is read from outside
+ // of the chip; our responsibility is to provide the data requested
+ virtual uint8_t ymfm_external_read(access_class type, uint32_t address) { return 0; }
+
+ // the chip implementation calls this whenever data is written outside
+ // of the chip; our responsibility is to pass the written data on to any consumers
+ virtual void ymfm_external_write(access_class type, uint32_t address, uint8_t data) { }
+
+protected:
+ // pointer to engine callbacks -- this is set directly by the engine at
+ // construction time
+ ymfm_engine_callbacks *m_engine;
+};
+
+}
+
+#endif // YMFM_H
diff --git a/src/devices/sound/ymadpcm.cpp b/3rdparty/ymfm/src/ymfm_adpcm.cpp
index 30743ebc16a..882dcf3de7c 100644
--- a/src/devices/sound/ymadpcm.cpp
+++ b/3rdparty/ymfm/src/ymfm_adpcm.cpp
@@ -1,54 +1,47 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ymadpcm.h"
-
-//#define VERBOSE 1
-#define LOG_OUTPUT_FUNC osd_printf_verbose
-#include "logmacro.h"
-
-
-//*********************************************************
-// DEBUGGING
-//*********************************************************
-
-// set this to only play certain channels: bits 0-5 are ADPCM-A
-// channels and bit 0x80 is the ADPCM-B channel
-constexpr u8 global_chanmask = 0xff;
-
-
-
-//*********************************************************
-// MACROS
-//*********************************************************
-
-// special naming helper to keep our namespace isolated from other
-// same-named objects in the device's namespace
-#define ADPCM_A_NAME(x) x, "adpcma." #x
-#define ADPCM_B_NAME(x) x, "adpcmb." #x
-
-
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_adpcm.h"
+
+namespace ymfm
+{
//*********************************************************
// ADPCM "A" REGISTERS
//*********************************************************
//-------------------------------------------------
-// ymadpcm_a_registers - constructor
-//-------------------------------------------------
-
-void ymadpcm_a_registers::save(device_t &device)
-{
- device.save_item(ADPCM_A_NAME(m_regdata));
-}
-
-
-//-------------------------------------------------
// reset - reset the register state
//-------------------------------------------------
-void ymadpcm_a_registers::reset()
+void adpcm_a_registers::reset()
{
std::fill_n(&m_regdata[0], REGISTERS, 0);
@@ -59,15 +52,25 @@ void ymadpcm_a_registers::reset()
}
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void adpcm_a_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_regdata);
+}
+
+
//*********************************************************
// ADPCM "A" CHANNEL
//*********************************************************
//-------------------------------------------------
-// ymadpcm_a_channel - constructor
+// adpcm_a_channel - constructor
//-------------------------------------------------
-ymadpcm_a_channel::ymadpcm_a_channel(ymadpcm_a_engine &owner, u32 choffs, read8sm_delegate reader, u32 addrshift) :
+adpcm_a_channel::adpcm_a_channel(adpcm_a_engine &owner, uint32_t choffs, uint32_t addrshift) :
m_choffs(choffs),
m_address_shift(addrshift),
m_playing(0),
@@ -76,32 +79,17 @@ ymadpcm_a_channel::ymadpcm_a_channel(ymadpcm_a_engine &owner, u32 choffs, read8s
m_curaddress(0),
m_accumulator(0),
m_step_index(0),
- m_reader(std::move(reader)),
- m_regs(owner.regs())
+ m_regs(owner.regs()),
+ m_owner(owner)
{
}
//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-void ymadpcm_a_channel::save(device_t &device, u32 index)
-{
- device.save_item(ADPCM_A_NAME(m_playing), index);
- device.save_item(ADPCM_A_NAME(m_curnibble), index);
- device.save_item(ADPCM_A_NAME(m_curbyte), index);
- device.save_item(ADPCM_A_NAME(m_curaddress), index);
- device.save_item(ADPCM_A_NAME(m_accumulator), index);
- device.save_item(ADPCM_A_NAME(m_step_index), index);
-}
-
-
-//-------------------------------------------------
// reset - reset the channel state
//-------------------------------------------------
-void ymadpcm_a_channel::reset()
+void adpcm_a_channel::reset()
{
m_playing = 0;
m_curnibble = 0;
@@ -113,10 +101,25 @@ void ymadpcm_a_channel::reset()
//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void adpcm_a_channel::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_playing);
+ state.save_restore(m_curnibble);
+ state.save_restore(m_curbyte);
+ state.save_restore(m_curaddress);
+ state.save_restore(m_accumulator);
+ state.save_restore(m_step_index);
+}
+
+
+//-------------------------------------------------
// keyonoff - signal key on/off
//-------------------------------------------------
-void ymadpcm_a_channel::keyonoff(bool on)
+void adpcm_a_channel::keyonoff(bool on)
{
// QUESTION: repeated key ons restart the sample?
m_playing = on;
@@ -129,8 +132,8 @@ void ymadpcm_a_channel::keyonoff(bool on)
m_step_index = 0;
// don't log masked channels
- if (((global_chanmask >> m_choffs) & 1) != 0)
- LOG("KeyOn ADPCM-A%d: pan=%d%d start=%04X end=%04X level=%02X\n",
+ if (((debug::GLOBAL_ADPCM_A_CHANNEL_MASK >> m_choffs) & 1) != 0)
+ debug::log_keyon("KeyOn ADPCM-A%d: pan=%d%d start=%04X end=%04X level=%02X\n",
m_choffs,
m_regs.ch_pan_left(m_choffs),
m_regs.ch_pan_right(m_choffs),
@@ -145,7 +148,7 @@ void ymadpcm_a_channel::keyonoff(bool on)
// clock - master clocking function
//-------------------------------------------------
-bool ymadpcm_a_channel::clock()
+bool adpcm_a_channel::clock()
{
// if not playing, just output 0
if (m_playing == 0)
@@ -165,10 +168,10 @@ bool ymadpcm_a_channel::clock()
}
// if we're about to read nibble 0, fetch the data
- u8 data;
+ uint8_t data;
if (m_curnibble == 0)
{
- m_curbyte = m_reader(m_curaddress++);
+ m_curbyte = m_owner.intf().ymfm_external_read(ACCESS_ADPCM_A, m_curaddress++);
data = m_curbyte >> 4;
m_curnibble = 1;
}
@@ -181,7 +184,7 @@ bool ymadpcm_a_channel::clock()
}
// compute the ADPCM delta
- static u16 const s_steps[49] =
+ static uint16_t const s_steps[49] =
{
16, 17, 19, 21, 23, 25, 28,
31, 34, 37, 41, 45, 50, 55,
@@ -191,16 +194,16 @@ bool ymadpcm_a_channel::clock()
449, 494, 544, 598, 658, 724, 796,
876, 963, 1060, 1166, 1282, 1411, 1552
};
- s32 delta = (2 * BIT(data, 0, 3) + 1) * s_steps[m_step_index] / 8;
- if (BIT(data, 3))
+ int32_t delta = (2 * bitfield(data, 0, 3) + 1) * s_steps[m_step_index] / 8;
+ if (bitfield(data, 3))
delta = -delta;
// the 12-bit accumulator wraps on the ym2610 and ym2608 (like the msm5205)
m_accumulator = (m_accumulator + delta) & 0xfff;
// adjust ADPCM step
- static s8 const s_step_inc[8] = { -1, -1, -1, -1, 2, 5, 7, 9 };
- m_step_index = std::clamp(m_step_index + s_step_inc[BIT(data, 0, 3)], 0, 48);
+ static int8_t const s_step_inc[8] = { -1, -1, -1, -1, 2, 5, 7, 9 };
+ m_step_index = clamp(m_step_index + s_step_inc[bitfield(data, 0, 3)], 0, 48);
return false;
}
@@ -211,9 +214,10 @@ bool ymadpcm_a_channel::clock()
// panning applied
//-------------------------------------------------
-void ymadpcm_a_channel::output(s32 outputs[2]) const
+template<int NumOutputs>
+void adpcm_a_channel::output(ymfm_output<NumOutputs> &output) const
{
- // volume combined instrument and total levels
+ // volume combines instrument and total levels
int vol = (m_regs.ch_instrument_level(m_choffs) ^ 0x1f) + (m_regs.total_level() ^ 0x3f);
// if combined is maximum, don't add to outputs
@@ -222,18 +226,18 @@ void ymadpcm_a_channel::output(s32 outputs[2]) const
// convert into a shift and a multiplier
// QUESTION: verify this from other sources
- s8 mul = 15 - (vol & 7);
- u8 shift = 4 + 1 + (vol >> 3);
+ int8_t mul = 15 - (vol & 7);
+ uint8_t shift = 4 + 1 + (vol >> 3);
// m_accumulator is a 12-bit value; shift up to sign-extend;
// the downshift is incorporated into 'shift'
- s16 value = ((s16(m_accumulator << 4) * mul) >> shift) & ~3;
+ int16_t value = ((int16_t(m_accumulator << 4) * mul) >> shift) & ~3;
// apply to left/right as appropriate
- if (m_regs.ch_pan_left(m_choffs))
- outputs[0] += value;
- if (m_regs.ch_pan_right(m_choffs))
- outputs[1] += value;
+ if (NumOutputs == 1 || m_regs.ch_pan_left(m_choffs))
+ output.data[0] += value;
+ if (NumOutputs > 1 && m_regs.ch_pan_right(m_choffs))
+ output.data[1] += value;
}
@@ -243,44 +247,45 @@ void ymadpcm_a_channel::output(s32 outputs[2]) const
//*********************************************************
//-------------------------------------------------
-// ymadpcm_a_engine - constructor
+// adpcm_a_engine - constructor
//-------------------------------------------------
-ymadpcm_a_engine::ymadpcm_a_engine(device_t &device, read8sm_delegate reader, u32 addrshift)
+adpcm_a_engine::adpcm_a_engine(ymfm_interface &intf, uint32_t addrshift) :
+ m_intf(intf)
{
// create the channels
for (int chnum = 0; chnum < CHANNELS; chnum++)
- m_channel[chnum] = std::make_unique<ymadpcm_a_channel>(*this, chnum, reader, addrshift);
+ m_channel[chnum] = std::make_unique<adpcm_a_channel>(*this, chnum, addrshift);
}
//-------------------------------------------------
-// save - register for save states
+// reset - reset the engine state
//-------------------------------------------------
-void ymadpcm_a_engine::save(device_t &device)
+void adpcm_a_engine::reset()
{
- // save register state
- m_regs.save(device);
+ // reset register state
+ m_regs.reset();
- // save channel state
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- m_channel[chnum]->save(device, chnum);
+ // reset each channel
+ for (auto &chan : m_channel)
+ chan->reset();
}
//-------------------------------------------------
-// reset - reset the engine state
+// save_restore - save or restore the data
//-------------------------------------------------
-void ymadpcm_a_engine::reset()
+void adpcm_a_engine::save_restore(ymfm_saved_state &state)
{
- // reset register state
- m_regs.reset();
+ // save register state
+ m_regs.save_restore(state);
- // reset each channel
- for (auto &chan : m_channel)
- chan->reset();
+ // save channel state
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ m_channel[chnum]->save_restore(state);
}
@@ -288,12 +293,12 @@ void ymadpcm_a_engine::reset()
// clock - master clocking function
//-------------------------------------------------
-u32 ymadpcm_a_engine::clock(u32 chanmask)
+uint32_t adpcm_a_engine::clock(uint32_t chanmask)
{
// clock each channel, setting a bit in result if it finished
- u32 result = 0;
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- if (BIT(chanmask, chnum))
+ uint32_t result = 0;
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
if (m_channel[chnum]->clock())
result |= 1 << chnum;
@@ -306,23 +311,27 @@ u32 ymadpcm_a_engine::clock(u32 chanmask)
// update - master update function
//-------------------------------------------------
-void ymadpcm_a_engine::output(s32 outputs[2], u32 chanmask)
+template<int NumOutputs>
+void adpcm_a_engine::output(ymfm_output<NumOutputs> &output, uint32_t chanmask)
{
// mask out some channels for debug purposes
- chanmask &= global_chanmask;
+ chanmask &= debug::GLOBAL_ADPCM_A_CHANNEL_MASK;
// compute the output of each channel
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- if (BIT(chanmask, chnum))
- m_channel[chnum]->output(outputs);
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ m_channel[chnum]->output(output);
}
+template void adpcm_a_engine::output<1>(ymfm_output<1> &output, uint32_t chanmask);
+template void adpcm_a_engine::output<2>(ymfm_output<2> &output, uint32_t chanmask);
+
//-------------------------------------------------
// write - handle writes to the ADPCM-A registers
//-------------------------------------------------
-void ymadpcm_a_engine::write(u32 regnum, u8 data)
+void adpcm_a_engine::write(uint32_t regnum, uint8_t data)
{
// store the raw value to the register array;
// most writes are passive, consumed only when needed
@@ -330,9 +339,9 @@ void ymadpcm_a_engine::write(u32 regnum, u8 data)
// actively handle writes to the control register
if (regnum == 0x00)
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- if (BIT(data, chnum))
- m_channel[chnum]->keyonoff(BIT(~data, 7));
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(data, chnum))
+ m_channel[chnum]->keyonoff(bitfield(~data, 7));
}
@@ -342,37 +351,38 @@ void ymadpcm_a_engine::write(u32 regnum, u8 data)
//*********************************************************
//-------------------------------------------------
-// ymadpcm_b_registers - constructor
+// reset - reset the register state
//-------------------------------------------------
-void ymadpcm_b_registers::save(device_t &device)
+void adpcm_b_registers::reset()
{
- device.save_item(ADPCM_B_NAME(m_regdata));
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+
+ // default limit to wide open
+ m_regdata[0x0c] = m_regdata[0x0d] = 0xff;
}
//-------------------------------------------------
-// reset - reset the register state
+// save_restore - save or restore the data
//-------------------------------------------------
-void ymadpcm_b_registers::reset()
+void adpcm_b_registers::save_restore(ymfm_saved_state &state)
{
- std::fill_n(&m_regdata[0], REGISTERS, 0);
-
- // default limit to wide open
- m_regdata[0x0c] = m_regdata[0x0d] = 0xff;
+ state.save_restore(m_regdata);
}
+
//*********************************************************
// ADPCM "B" CHANNEL
//*********************************************************
//-------------------------------------------------
-// ymadpcm_b_channel - constructor
+// adpcm_b_channel - constructor
//-------------------------------------------------
-ymadpcm_b_channel::ymadpcm_b_channel(ymadpcm_b_engine &owner, read8sm_delegate reader, write8sm_delegate writer, u32 addrshift) :
+adpcm_b_channel::adpcm_b_channel(adpcm_b_engine &owner, uint32_t addrshift) :
m_address_shift(addrshift),
m_status(STATUS_BRDY),
m_curnibble(0),
@@ -383,36 +393,17 @@ ymadpcm_b_channel::ymadpcm_b_channel(ymadpcm_b_engine &owner, read8sm_delegate r
m_accumulator(0),
m_prev_accum(0),
m_adpcm_step(STEP_MIN),
- m_reader(reader),
- m_writer(writer),
- m_regs(owner.regs())
+ m_regs(owner.regs()),
+ m_owner(owner)
{
}
//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-void ymadpcm_b_channel::save(device_t &device, u32 index)
-{
- device.save_item(ADPCM_B_NAME(m_status), index);
- device.save_item(ADPCM_B_NAME(m_curnibble), index);
- device.save_item(ADPCM_B_NAME(m_curbyte), index);
- device.save_item(ADPCM_B_NAME(m_dummy_read), index);
- device.save_item(ADPCM_B_NAME(m_position), index);
- device.save_item(ADPCM_B_NAME(m_curaddress), index);
- device.save_item(ADPCM_B_NAME(m_accumulator), index);
- device.save_item(ADPCM_B_NAME(m_prev_accum), index);
- device.save_item(ADPCM_B_NAME(m_adpcm_step), index);
-}
-
-
-//-------------------------------------------------
// reset - reset the channel state
//-------------------------------------------------
-void ymadpcm_b_channel::reset()
+void adpcm_b_channel::reset()
{
m_status = STATUS_BRDY;
m_curnibble = 0;
@@ -427,10 +418,28 @@ void ymadpcm_b_channel::reset()
//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void adpcm_b_channel::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_status);
+ state.save_restore(m_curnibble);
+ state.save_restore(m_curbyte);
+ state.save_restore(m_dummy_read);
+ state.save_restore(m_position);
+ state.save_restore(m_curaddress);
+ state.save_restore(m_accumulator);
+ state.save_restore(m_prev_accum);
+ state.save_restore(m_adpcm_step);
+}
+
+
+//-------------------------------------------------
// clock - master clocking function
//-------------------------------------------------
-void ymadpcm_b_channel::clock()
+void adpcm_b_channel::clock()
{
// only process if active and not recording (which we don't support)
if (!m_regs.execute() || m_regs.record() || (m_status & STATUS_PLAYING) == 0)
@@ -440,8 +449,8 @@ void ymadpcm_b_channel::clock()
}
// otherwise, advance the step
- u32 position = m_position + m_regs.delta_n();
- m_position = u16(position);
+ uint32_t position = m_position + m_regs.delta_n();
+ m_position = uint16_t(position);
if (position < 0x10000)
return;
@@ -465,7 +474,7 @@ void ymadpcm_b_channel::clock()
m_accumulator = 0;
m_prev_accum = 0;
m_status = (m_status & ~STATUS_PLAYING) | STATUS_EOS;
- LOG("ADPCM EOS\n");
+ debug::log_keyon("%s\n", "ADPCM EOS");
return;
}
}
@@ -473,13 +482,13 @@ void ymadpcm_b_channel::clock()
// if we're about to process nibble 0, fetch and increment
if (m_curnibble == 0)
{
- m_curbyte = m_reader(m_curaddress++);
+ m_curbyte = m_owner.intf().ymfm_external_read(ACCESS_ADPCM_B, m_curaddress++);
m_curaddress &= 0xffffff;
}
}
// extract the nibble from our current byte
- u8 data = u8(m_curbyte << (4 * m_curnibble)) >> 4;
+ uint8_t data = uint8_t(m_curbyte << (4 * m_curnibble)) >> 4;
m_curnibble ^= 1;
// if CPU-driven and we just processed the last nibble, copy the next byte and request more
@@ -493,16 +502,16 @@ void ymadpcm_b_channel::clock()
m_prev_accum = m_accumulator;
// forecast to next forecast: 1/8, 3/8, 5/8, 7/8, 9/8, 11/8, 13/8, 15/8
- s32 delta = (2 * BIT(data, 0, 3) + 1) * m_adpcm_step / 8;
- if (BIT(data, 3))
+ int32_t delta = (2 * bitfield(data, 0, 3) + 1) * m_adpcm_step / 8;
+ if (bitfield(data, 3))
delta = -delta;
// add and clamp to 16 bits
- m_accumulator = std::clamp(m_accumulator + delta, -32768, 32767);
+ m_accumulator = clamp(m_accumulator + delta, -32768, 32767);
// scale the ADPCM step: 0.9, 0.9, 0.9, 0.9, 1.2, 1.6, 2.0, 2.4
- static u8 const s_step_scale[8] = { 57, 57, 57, 57, 77, 102, 128, 153 };
- m_adpcm_step = std::clamp((m_adpcm_step * s_step_scale[BIT(data, 0, 3)]) / 64, STEP_MIN, STEP_MAX);
+ static uint8_t const s_step_scale[8] = { 57, 57, 57, 57, 77, 102, 128, 153 };
+ m_adpcm_step = clamp((m_adpcm_step * s_step_scale[bitfield(data, 0, 3)]) / 64, STEP_MIN, STEP_MAX);
}
@@ -511,23 +520,24 @@ void ymadpcm_b_channel::clock()
// panning applied
//-------------------------------------------------
-void ymadpcm_b_channel::output(s32 outputs[2], u32 rshift) const
+template<int NumOutputs>
+void adpcm_b_channel::output(ymfm_output<NumOutputs> &output, uint32_t rshift) const
{
// mask out some channels for debug purposes
- if ((global_chanmask & 0x80) == 0)
+ if ((debug::GLOBAL_ADPCM_B_CHANNEL_MASK & 1) == 0)
return;
// do a linear interpolation between samples
- s32 result = (m_prev_accum * s32((m_position ^ 0xffff) + 1) + m_accumulator * s32(m_position)) >> 16;
+ int32_t result = (m_prev_accum * int32_t((m_position ^ 0xffff) + 1) + m_accumulator * int32_t(m_position)) >> 16;
// apply volume (level) in a linear fashion and reduce
- result = (result * s32(m_regs.level())) >> (8 + rshift);
+ result = (result * int32_t(m_regs.level())) >> (8 + rshift);
// apply to left/right
- if (m_regs.pan_left())
- outputs[0] += result;
- if (m_regs.pan_right())
- outputs[1] += result;
+ if (NumOutputs == 1 || m_regs.pan_left())
+ output.data[0] += result;
+ if (NumOutputs > 1 && m_regs.pan_right())
+ output.data[1] += result;
}
@@ -535,9 +545,9 @@ void ymadpcm_b_channel::output(s32 outputs[2], u32 rshift) const
// read - handle special register reads
//-------------------------------------------------
-u8 ymadpcm_b_channel::read(u32 regnum)
+uint8_t adpcm_b_channel::read(uint32_t regnum)
{
- u8 result = 0;
+ uint8_t result = 0;
// register 8 reads over the bus under some conditions
if (regnum == 0x08 && !m_regs.execute() && !m_regs.record() && m_regs.external())
@@ -553,13 +563,13 @@ u8 ymadpcm_b_channel::read(u32 regnum)
if (at_end())
{
m_status = STATUS_EOS | STATUS_BRDY;
- LOG("ADPCM EOS\n");
+ debug::log_keyon("%s\n", "ADPCM EOS");
}
// otherwise, write the data and signal ready
else
{
- result = m_reader(m_curaddress++);
+ result = m_owner.intf().ymfm_external_read(ACCESS_ADPCM_B, m_curaddress++);
m_status = STATUS_BRDY;
}
}
@@ -571,7 +581,7 @@ u8 ymadpcm_b_channel::read(u32 regnum)
// write - handle special register writes
//-------------------------------------------------
-void ymadpcm_b_channel::write(u32 regnum, u8 value)
+void adpcm_b_channel::write(uint32_t regnum, uint8_t value)
{
// register 0 can do a reset; also use writes here to reset the
// dummy read counter
@@ -582,8 +592,8 @@ void ymadpcm_b_channel::write(u32 regnum, u8 value)
load_start();
// don't log masked channels
- if ((global_chanmask & 0x80) != 0)
- LOG("KeyOn ADPCM-B: rep=%d spk=%d pan=%d%d dac=%d 8b=%d rom=%d ext=%d rec=%d start=%04X end=%04X pre=%04X dn=%04X lvl=%02X lim=%04X\n",
+ if ((debug::GLOBAL_ADPCM_B_CHANNEL_MASK & 1) != 0)
+ debug::log_keyon("KeyOn ADPCM-B: rep=%d spk=%d pan=%d%d dac=%d 8b=%d rom=%d ext=%d rec=%d start=%04X end=%04X pre=%04X dn=%04X lvl=%02X lim=%04X\n",
m_regs.repeat(),
m_regs.speaker(),
m_regs.pan_left(),
@@ -628,14 +638,14 @@ void ymadpcm_b_channel::write(u32 regnum, u8 value)
// did we hit the end? if so, signal EOS
if (at_end())
{
- LOG("ADPCM EOS\n");
+ debug::log_keyon("%s\n", "ADPCM EOS");
m_status = STATUS_EOS | STATUS_BRDY;
}
// otherwise, write the data and signal ready
else
{
- m_writer(m_curaddress++, value);
+ m_owner.intf().ymfm_external_write(ACCESS_ADPCM_B, m_curaddress++, value);
m_status = STATUS_BRDY;
}
}
@@ -648,7 +658,7 @@ void ymadpcm_b_channel::write(u32 regnum, u8 value)
// shift amount based on register settings
//-------------------------------------------------
-u32 ymadpcm_b_channel::address_shift() const
+uint32_t adpcm_b_channel::address_shift() const
{
// if a constant address shift, just provide that
if (m_address_shift != 0)
@@ -670,7 +680,7 @@ u32 ymadpcm_b_channel::address_shift() const
// initialize the state
//-------------------------------------------------
-void ymadpcm_b_channel::load_start()
+void adpcm_b_channel::load_start()
{
m_status = (m_status & ~STATUS_EOS) | STATUS_PLAYING;
m_curaddress = m_regs.external() ? (m_regs.start() << address_shift()) : 0;
@@ -689,43 +699,42 @@ void ymadpcm_b_channel::load_start()
//*********************************************************
//-------------------------------------------------
-// ymadpcm_b_engine - constructor
+// adpcm_b_engine - constructor
//-------------------------------------------------
-ymadpcm_b_engine::ymadpcm_b_engine(device_t &device, read8sm_delegate reader, write8sm_delegate writer, u32 addrshift)
+adpcm_b_engine::adpcm_b_engine(ymfm_interface &intf, uint32_t addrshift) :
+ m_intf(intf)
{
// create the channel (only one supported for now, but leaving possibilities open)
- m_channel[0] = std::make_unique<ymadpcm_b_channel>(*this, reader, writer, addrshift);
+ m_channel = std::make_unique<adpcm_b_channel>(*this, addrshift);
}
//-------------------------------------------------
-// save - register for save states
+// reset - reset the engine state
//-------------------------------------------------
-void ymadpcm_b_engine::save(device_t &device)
+void adpcm_b_engine::reset()
{
- // save our state
- m_regs.save(device);
+ // reset registers
+ m_regs.reset();
- // save channel state
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- m_channel[chnum]->save(device, chnum);
+ // reset each channel
+ m_channel->reset();
}
//-------------------------------------------------
-// reset - reset the engine state
+// save_restore - save or restore the data
//-------------------------------------------------
-void ymadpcm_b_engine::reset()
+void adpcm_b_engine::save_restore(ymfm_saved_state &state)
{
- // reset registers
- m_regs.reset();
+ // save our state
+ m_regs.save_restore(state);
- // reset each channel
- for (auto &chan : m_channel)
- chan->reset();
+ // save channel state
+ m_channel->save_restore(state);
}
@@ -733,12 +742,10 @@ void ymadpcm_b_engine::reset()
// clock - master clocking function
//-------------------------------------------------
-void ymadpcm_b_engine::clock(u32 chanmask)
+void adpcm_b_engine::clock()
{
// clock each channel, setting a bit in result if it finished
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- if (BIT(chanmask, chnum))
- m_channel[chnum]->clock();
+ m_channel->clock();
}
@@ -746,25 +753,29 @@ void ymadpcm_b_engine::clock(u32 chanmask)
// output - master output function
//-------------------------------------------------
-void ymadpcm_b_engine::output(s32 outputs[2], u32 rshift, u32 chanmask)
+template<int NumOutputs>
+void adpcm_b_engine::output(ymfm_output<NumOutputs> &output, uint32_t rshift)
{
// compute the output of each channel
- for (int chnum = 0; chnum < std::size(m_channel); chnum++)
- if (BIT(chanmask, chnum))
- m_channel[chnum]->output(outputs, rshift);
+ m_channel->output(output, rshift);
}
+template void adpcm_b_engine::output<1>(ymfm_output<1> &output, uint32_t rshift);
+template void adpcm_b_engine::output<2>(ymfm_output<2> &output, uint32_t rshift);
+
//-------------------------------------------------
// write - handle writes to the ADPCM-B registers
//-------------------------------------------------
-void ymadpcm_b_engine::write(u32 regnum, u8 data)
+void adpcm_b_engine::write(uint32_t regnum, uint8_t data)
{
// store the raw value to the register array;
// most writes are passive, consumed only when needed
m_regs.write(regnum, data);
// let the channel handle any special writes
- m_channel[0]->write(regnum, data);
+ m_channel->write(regnum, data);
+}
+
}
diff --git a/3rdparty/ymfm/src/ymfm_adpcm.h b/3rdparty/ymfm/src/ymfm_adpcm.h
new file mode 100644
index 00000000000..4b4af0fddd6
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_adpcm.h
@@ -0,0 +1,411 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_ADPCM_H
+#define YMFM_ADPCM_H
+
+#pragma once
+
+#include "ymfm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// INTERFACE CLASSES
+//*********************************************************
+
+// forward declarations
+class adpcm_a_engine;
+class adpcm_b_engine;
+
+
+// ======================> adpcm_a_registers
+
+//
+// ADPCM-A register map:
+//
+// System-wide registers:
+// 00 x------- Dump (disable=1) or keyon (0) control
+// --xxxxxx Mask of channels to dump or keyon
+// 01 --xxxxxx Total level
+// 02 xxxxxxxx Test register
+// 08-0D x------- Pan left
+// -x------ Pan right
+// ---xxxxx Instrument level
+// 10-15 xxxxxxxx Start address (low)
+// 18-1D xxxxxxxx Start address (high)
+// 20-25 xxxxxxxx End address (low)
+// 28-2D xxxxxxxx End address (high)
+//
+class adpcm_a_registers
+{
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 2;
+ static constexpr uint32_t CHANNELS = 6;
+ static constexpr uint32_t REGISTERS = 0x30;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+
+ // constructor
+ adpcm_a_registers() { }
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ return chnum;
+ }
+
+ // direct read/write access
+ void write(uint32_t index, uint8_t data) { m_regdata[index] = data; }
+
+ // system-wide registers
+ uint32_t dump() const { return bitfield(m_regdata[0x00], 7); }
+ uint32_t dump_mask() const { return bitfield(m_regdata[0x00], 0, 6); }
+ uint32_t total_level() const { return bitfield(m_regdata[0x01], 0, 6); }
+ uint32_t test() const { return m_regdata[0x02]; }
+
+ // per-channel registers
+ uint32_t ch_pan_left(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x08], 7); }
+ uint32_t ch_pan_right(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x08], 6); }
+ uint32_t ch_instrument_level(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x08], 0, 5); }
+ uint32_t ch_start(uint32_t choffs) const { return m_regdata[choffs + 0x10] | (m_regdata[choffs + 0x18] << 8); }
+ uint32_t ch_end(uint32_t choffs) const { return m_regdata[choffs + 0x20] | (m_regdata[choffs + 0x28] << 8); }
+
+ // per-channel writes
+ void write_start(uint32_t choffs, uint32_t address)
+ {
+ write(choffs + 0x10, address);
+ write(choffs + 0x18, address >> 8);
+ }
+ void write_end(uint32_t choffs, uint32_t address)
+ {
+ write(choffs + 0x20, address);
+ write(choffs + 0x28, address >> 8);
+ }
+
+private:
+ // internal state
+ uint8_t m_regdata[REGISTERS]; // register data
+};
+
+
+// ======================> adpcm_a_channel
+
+class adpcm_a_channel
+{
+public:
+ // constructor
+ adpcm_a_channel(adpcm_a_engine &owner, uint32_t choffs, uint32_t addrshift);
+
+ // reset the channel state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // signal key on/off
+ void keyonoff(bool on);
+
+ // master clockingfunction
+ bool clock();
+
+ // return the computed output value, with panning applied
+ template<int NumOutputs>
+ void output(ymfm_output<NumOutputs> &output) const;
+
+private:
+ // internal state
+ uint32_t const m_choffs; // channel offset
+ uint32_t const m_address_shift; // address bits shift-left
+ uint32_t m_playing; // currently playing?
+ uint32_t m_curnibble; // index of the current nibble
+ uint32_t m_curbyte; // current byte of data
+ uint32_t m_curaddress; // current address
+ int32_t m_accumulator; // accumulator
+ int32_t m_step_index; // index in the stepping table
+ adpcm_a_registers &m_regs; // reference to registers
+ adpcm_a_engine &m_owner; // reference to our owner
+};
+
+
+// ======================> adpcm_a_engine
+
+class adpcm_a_engine
+{
+public:
+ static constexpr int CHANNELS = adpcm_a_registers::CHANNELS;
+
+ // constructor
+ adpcm_a_engine(ymfm_interface &intf, uint32_t addrshift);
+
+ // reset our status
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // master clocking function
+ uint32_t clock(uint32_t chanmask);
+
+ // compute sum of channel outputs
+ template<int NumOutputs>
+ void output(ymfm_output<NumOutputs> &output, uint32_t chanmask);
+
+ // write to the ADPCM-A registers
+ void write(uint32_t regnum, uint8_t data);
+
+ // set the start/end address for a channel (for hardcoded YM2608 percussion)
+ void set_start_end(uint8_t chnum, uint16_t start, uint16_t end)
+ {
+ uint32_t choffs = adpcm_a_registers::channel_offset(chnum);
+ m_regs.write_start(choffs, start);
+ m_regs.write_end(choffs, end);
+ }
+
+ // return a reference to our interface
+ ymfm_interface &intf() { return m_intf; }
+
+ // return a reference to our registers
+ adpcm_a_registers &regs() { return m_regs; }
+
+private:
+ // internal state
+ ymfm_interface &m_intf; // reference to the interface
+ std::unique_ptr<adpcm_a_channel> m_channel[CHANNELS]; // array of channels
+ adpcm_a_registers m_regs; // registers
+};
+
+
+// ======================> adpcm_b_registers
+
+//
+// ADPCM-B register map:
+//
+// System-wide registers:
+// 00 x------- Start of synthesis/analysis
+// -x------ Record
+// --x----- External/manual driving
+// ---x---- Repeat playback
+// ----x--- Speaker off
+// -------x Reset
+// 01 x------- Pan left
+// -x------ Pan right
+// ----x--- Start conversion
+// -----x-- DAC enable
+// ------x- DRAM access (1=8-bit granularity; 0=1-bit)
+// -------x RAM/ROM (1=ROM, 0=RAM)
+// 02 xxxxxxxx Start address (low)
+// 03 xxxxxxxx Start address (high)
+// 04 xxxxxxxx End address (low)
+// 05 xxxxxxxx End address (high)
+// 06 xxxxxxxx Prescale value (low)
+// 07 -----xxx Prescale value (high)
+// 08 xxxxxxxx CPU data/buffer
+// 09 xxxxxxxx Delta-N frequency scale (low)
+// 0a xxxxxxxx Delta-N frequency scale (high)
+// 0b xxxxxxxx Level control
+// 0c xxxxxxxx Limit address (low)
+// 0d xxxxxxxx Limit address (high)
+// 0e xxxxxxxx DAC data [YM2608/10]
+// 0f xxxxxxxx PCM data [YM2608/10]
+// 0e xxxxxxxx DAC data high [Y8950]
+// 0f xx------ DAC data low [Y8950]
+// 10 -----xxx DAC data exponent [Y8950]
+//
+class adpcm_b_registers
+{
+public:
+ // constants
+ static constexpr uint32_t REGISTERS = 0x11;
+
+ // constructor
+ adpcm_b_registers() { }
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // direct read/write access
+ void write(uint32_t index, uint8_t data) { m_regdata[index] = data; }
+
+ // system-wide registers
+ uint32_t execute() const { return bitfield(m_regdata[0x00], 7); }
+ uint32_t record() const { return bitfield(m_regdata[0x00], 6); }
+ uint32_t external() const { return bitfield(m_regdata[0x00], 5); }
+ uint32_t repeat() const { return bitfield(m_regdata[0x00], 4); }
+ uint32_t speaker() const { return bitfield(m_regdata[0x00], 3); }
+ uint32_t resetflag() const { return bitfield(m_regdata[0x00], 0); }
+ uint32_t pan_left() const { return bitfield(m_regdata[0x01], 7); }
+ uint32_t pan_right() const { return bitfield(m_regdata[0x01], 6); }
+ uint32_t start_conversion() const { return bitfield(m_regdata[0x01], 3); }
+ uint32_t dac_enable() const { return bitfield(m_regdata[0x01], 2); }
+ uint32_t dram_8bit() const { return bitfield(m_regdata[0x01], 1); }
+ uint32_t rom_ram() const { return bitfield(m_regdata[0x01], 0); }
+ uint32_t start() const { return m_regdata[0x02] | (m_regdata[0x03] << 8); }
+ uint32_t end() const { return m_regdata[0x04] | (m_regdata[0x05] << 8); }
+ uint32_t prescale() const { return m_regdata[0x06] | (bitfield(m_regdata[0x07], 0, 3) << 8); }
+ uint32_t cpudata() const { return m_regdata[0x08]; }
+ uint32_t delta_n() const { return m_regdata[0x09] | (m_regdata[0x0a] << 8); }
+ uint32_t level() const { return m_regdata[0x0b]; }
+ uint32_t limit() const { return m_regdata[0x0c] | (m_regdata[0x0d] << 8); }
+ uint32_t dac() const { return m_regdata[0x0e]; }
+ uint32_t pcm() const { return m_regdata[0x0f]; }
+
+private:
+ // internal state
+ uint8_t m_regdata[REGISTERS]; // register data
+};
+
+
+// ======================> adpcm_b_channel
+
+class adpcm_b_channel
+{
+ static constexpr int32_t STEP_MIN = 127;
+ static constexpr int32_t STEP_MAX = 24576;
+
+public:
+ static constexpr uint8_t STATUS_EOS = 0x01;
+ static constexpr uint8_t STATUS_BRDY = 0x02;
+ static constexpr uint8_t STATUS_PLAYING = 0x04;
+
+ // constructor
+ adpcm_b_channel(adpcm_b_engine &owner, uint32_t addrshift);
+
+ // reset the channel state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // signal key on/off
+ void keyonoff(bool on);
+
+ // master clocking function
+ void clock();
+
+ // return the computed output value, with panning applied
+ template<int NumOutputs>
+ void output(ymfm_output<NumOutputs> &output, uint32_t rshift) const;
+
+ // return the status register
+ uint8_t status() const { return m_status; }
+
+ // handle special register reads
+ uint8_t read(uint32_t regnum);
+
+ // handle special register writes
+ void write(uint32_t regnum, uint8_t value);
+
+private:
+ // helper - return the current address shift
+ uint32_t address_shift() const;
+
+ // load the start address
+ void load_start();
+
+ // limit checker
+ bool at_limit() const { return (m_curaddress >> address_shift()) >= m_regs.limit(); }
+
+ // end checker
+ bool at_end() const { return (m_curaddress >> address_shift()) > m_regs.end(); }
+
+ // internal state
+ uint32_t const m_address_shift; // address bits shift-left
+ uint32_t m_status; // currently playing?
+ uint32_t m_curnibble; // index of the current nibble
+ uint32_t m_curbyte; // current byte of data
+ uint32_t m_dummy_read; // dummy read tracker
+ uint32_t m_position; // current fractional position
+ uint32_t m_curaddress; // current address
+ int32_t m_accumulator; // accumulator
+ int32_t m_prev_accum; // previous accumulator (for linear interp)
+ int32_t m_adpcm_step; // next forecast
+ adpcm_b_registers &m_regs; // reference to registers
+ adpcm_b_engine &m_owner; // reference to our owner
+};
+
+
+// ======================> adpcm_b_engine
+
+class adpcm_b_engine
+{
+public:
+ // constructor
+ adpcm_b_engine(ymfm_interface &intf, uint32_t addrshift = 0);
+
+ // reset our status
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // master clocking function
+ void clock();
+
+ // compute sum of channel outputs
+ template<int NumOutputs>
+ void output(ymfm_output<NumOutputs> &output, uint32_t rshift);
+
+ // read from the ADPCM-B registers
+ uint32_t read(uint32_t regnum) { return m_channel->read(regnum); }
+
+ // write to the ADPCM-B registers
+ void write(uint32_t regnum, uint8_t data);
+
+ // status
+ uint8_t status() const { return m_channel->status(); }
+
+ // return a reference to our interface
+ ymfm_interface &intf() { return m_intf; }
+
+ // return a reference to our registers
+ adpcm_b_registers &regs() { return m_regs; }
+
+private:
+ // internal state
+ ymfm_interface &m_intf; // reference to our interface
+ std::unique_ptr<adpcm_b_channel> m_channel; // channel pointer
+ adpcm_b_registers m_regs; // registers
+};
+
+}
+
+#endif // YMFM_ADPCM_H
diff --git a/3rdparty/ymfm/src/ymfm_fm.h b/3rdparty/ymfm/src/ymfm_fm.h
new file mode 100644
index 00000000000..c4d4982b8e0
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_fm.h
@@ -0,0 +1,449 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_FM_H
+#define YMFM_FM_H
+
+#pragma once
+
+namespace ymfm
+{
+
+//*********************************************************
+// GLOBAL ENUMERATORS
+//*********************************************************
+
+// three different keyon sources; actual keyon is an OR over all of these
+enum keyon_type : uint32_t
+{
+ KEYON_NORMAL = 0,
+ KEYON_RHYTHM = 1,
+ KEYON_CSM = 2
+};
+
+
+
+//*********************************************************
+// CORE IMPLEMENTATION
+//*********************************************************
+
+// ======================> opdata_cache
+
+// this class holds data that is computed once at the start of clocking
+// and remains static during subsequent sound generation
+struct opdata_cache
+{
+ // set phase_step to this value to recalculate it each sample; needed
+ // in the case of PM LFO changes
+ static constexpr uint32_t PHASE_STEP_DYNAMIC = 1;
+
+ uint16_t const *waveform; // base of sine table
+ uint32_t phase_step; // phase step, or PHASE_STEP_DYNAMIC if PM is active
+ uint32_t total_level; // total level * 8 + KSL
+ uint32_t block_freq; // raw block frequency value (used to compute phase_step)
+ int32_t detune; // detuning value (used to compute phase_step)
+ uint32_t multiple; // multiple value (x.1, used to compute phase_step)
+ uint32_t eg_sustain; // sustain level, shifted up to envelope values
+ uint8_t eg_rate[EG_STATES]; // envelope rate, including KSR
+ uint8_t eg_shift = 0; // envelope shift amount
+};
+
+
+// ======================> fm_registers_base
+
+// base class for family-specific register classes; this provides a few
+// constants, common defaults, and helpers, but mostly each derived class is
+// responsible for defining all commonly-called methods
+class fm_registers_base
+{
+public:
+ // this value is returned from the write() function for rhythm channels
+ static constexpr uint32_t RHYTHM_CHANNEL = 0xff;
+
+ // this is the size of a full sin waveform
+ static constexpr uint32_t WAVEFORM_LENGTH = 0x400;
+
+ //
+ // the following constants need to be defined per family:
+ // uint32_t OUTPUTS: The number of outputs exposed (1-4)
+ // uint32_t CHANNELS: The number of channels on the chip
+ // uint32_t ALL_CHANNELS: A bitmask of all channels
+ // uint32_t OPERATORS: The number of operators on the chip
+ // uint32_t WAVEFORMS: The number of waveforms offered
+ // uint32_t REGISTERS: The number of 8-bit registers allocated
+ // uint32_t DEFAULT_PRESCALE: The starting clock prescale
+ // uint32_t EG_CLOCK_DIVIDER: The clock divider of the envelope generator
+ // uint32_t CSM_TRIGGER_MASK: Mask of channels to trigger in CSM mode
+ // uint32_t REG_MODE: The address of the "mode" register controlling timers
+ // uint8_t STATUS_TIMERA: Status bit to set when timer A fires
+ // uint8_t STATUS_TIMERB: Status bit to set when tiemr B fires
+ // uint8_t STATUS_BUSY: Status bit to set when the chip is busy
+ // uint8_t STATUS_IRQ: Status bit to set when an IRQ is signalled
+ //
+ // the following constants are uncommon:
+ // bool DYNAMIC_OPS: True if ops/channel can be changed at runtime (OPL3+)
+ // bool EG_HAS_DEPRESS: True if the chip has a DP ("depress"?) envelope stage (OPLL)
+ // bool EG_HAS_REVERB: True if the chip has a faux reverb envelope stage (OPQ/OPZ)
+ // bool EG_HAS_SSG: True if the chip has SSG envelope support (OPN)
+ // bool MODULATOR_DELAY: True if the modulator is delayed by 1 sample (OPL pre-OPL3)
+ //
+ static constexpr bool DYNAMIC_OPS = false;
+ static constexpr bool EG_HAS_DEPRESS = false;
+ static constexpr bool EG_HAS_REVERB = false;
+ static constexpr bool EG_HAS_SSG = false;
+ static constexpr bool MODULATOR_DELAY = false;
+
+ // system-wide register defaults
+ uint32_t status_mask() const { return 0; } // OPL only
+ uint32_t irq_reset() const { return 0; } // OPL only
+ uint32_t noise_enable() const { return 0; } // OPM only
+ uint32_t rhythm_enable() const { return 0; } // OPL only
+
+ // per-operator register defaults
+ uint32_t op_ssg_eg_enable(uint32_t opoffs) const { return 0; } // OPN(A) only
+ uint32_t op_ssg_eg_mode(uint32_t opoffs) const { return 0; } // OPN(A) only
+
+protected:
+ // helper to encode four operator numbers into a 32-bit value in the
+ // operator maps for each register class
+ static constexpr uint32_t operator_list(uint8_t o1 = 0xff, uint8_t o2 = 0xff, uint8_t o3 = 0xff, uint8_t o4 = 0xff)
+ {
+ return o1 | (o2 << 8) | (o3 << 16) | (o4 << 24);
+ }
+
+ // helper to apply KSR to the raw ADSR rate, ignoring ksr if the
+ // raw value is 0, and clamping to 63
+ static constexpr uint32_t effective_rate(uint32_t rawrate, uint32_t ksr)
+ {
+ return (rawrate == 0) ? 0 : std::min<uint32_t>(rawrate + ksr, 63);
+ }
+};
+
+
+
+//*********************************************************
+// CORE ENGINE CLASSES
+//*********************************************************
+
+// forward declarations
+template<class RegisterType> class fm_engine_base;
+
+// ======================> fm_operator
+
+// fm_operator represents an FM operator (or "slot" in FM parlance), which
+// produces an output sine wave modulated by an envelope
+template<class RegisterType>
+class fm_operator
+{
+ // "quiet" value, used to optimize when we can skip doing working
+ static constexpr uint32_t EG_QUIET = 0x200;
+
+public:
+ // constructor
+ fm_operator(fm_engine_base<RegisterType> &owner, uint32_t opoffs);
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // reset the operator state
+ void reset();
+
+ // return the operator/channel offset
+ uint32_t opoffs() const { return m_opoffs; }
+ uint32_t choffs() const { return m_choffs; }
+
+ // set the current channel
+ void set_choffs(uint32_t choffs) { m_choffs = choffs; }
+
+ // prepare prior to clocking
+ bool prepare();
+
+ // master clocking function
+ void clock(uint32_t env_counter, int32_t lfo_raw_pm);
+
+ // return the current phase value
+ uint32_t phase() const { return m_phase >> 10; }
+
+ // compute operator volume
+ int32_t compute_volume(uint32_t phase, uint32_t am_offset) const;
+
+ // compute volume for the OPM noise channel
+ int32_t compute_noise_volume(uint32_t am_offset) const;
+
+ // key state control
+ void keyonoff(uint32_t on, keyon_type type);
+
+ // return a reference to our registers
+ RegisterType &regs() const { return m_regs; }
+
+ // simple getters for debugging
+ envelope_state debug_eg_state() const { return m_env_state; }
+ uint16_t debug_eg_attenuation() const { return m_env_attenuation; }
+ opdata_cache &debug_cache() { return m_cache; }
+
+private:
+ // start the attack phase
+ void start_attack(bool is_restart = false);
+
+ // start the release phase
+ void start_release();
+
+ // clock phases
+ void clock_keystate(uint32_t keystate);
+ void clock_ssg_eg_state();
+ void clock_envelope(uint32_t env_counter);
+ void clock_phase(int32_t lfo_raw_pm);
+
+ // return effective attenuation of the envelope
+ uint32_t envelope_attenuation(uint32_t am_offset) const;
+
+ // internal state
+ uint32_t m_choffs; // channel offset in registers
+ uint32_t m_opoffs; // operator offset in registers
+ uint32_t m_phase; // current phase value (10.10 format)
+ uint16_t m_env_attenuation; // computed envelope attenuation (4.6 format)
+ envelope_state m_env_state; // current envelope state
+ uint8_t m_ssg_inverted; // non-zero if the output should be inverted (bit 0)
+ uint8_t m_key_state; // current key state: on or off (bit 0)
+ uint8_t m_keyon_live; // live key on state (bit 0 = direct, bit 1 = rhythm, bit 2 = CSM)
+ opdata_cache m_cache; // cached values for performance
+ RegisterType &m_regs; // direct reference to registers
+ fm_engine_base<RegisterType> &m_owner; // reference to the owning engine
+};
+
+
+// ======================> fm_channel
+
+// fm_channel represents an FM channel which combines the output of 2 or 4
+// operators into a final result
+template<class RegisterType>
+class fm_channel
+{
+ using output_data = ymfm_output<RegisterType::OUTPUTS>;
+
+public:
+ // constructor
+ fm_channel(fm_engine_base<RegisterType> &owner, uint32_t choffs);
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // reset the channel state
+ void reset();
+
+ // return the channel offset
+ uint32_t choffs() const { return m_choffs; }
+
+ // assign operators
+ void assign(uint32_t index, fm_operator<RegisterType> *op)
+ {
+ assert(index < array_size(m_op));
+ m_op[index] = op;
+ if (op != nullptr)
+ op->set_choffs(m_choffs);
+ }
+
+ // signal key on/off to our operators
+ void keyonoff(uint32_t states, keyon_type type, uint32_t chnum);
+
+ // prepare prior to clocking
+ bool prepare();
+
+ // master clocking function
+ void clock(uint32_t env_counter, int32_t lfo_raw_pm);
+
+ // specific 2-operator and 4-operator output handlers
+ void output_2op(output_data &output, uint32_t rshift, int32_t clipmax) const;
+ void output_4op(output_data &output, uint32_t rshift, int32_t clipmax) const;
+
+ // compute the special OPL rhythm channel outputs
+ void output_rhythm_ch6(output_data &output, uint32_t rshift, int32_t clipmax) const;
+ void output_rhythm_ch7(uint32_t phase_select, output_data &output, uint32_t rshift, int32_t clipmax) const;
+ void output_rhythm_ch8(uint32_t phase_select, output_data &output, uint32_t rshift, int32_t clipmax) const;
+
+ // are we a 4-operator channel or a 2-operator one?
+ bool is4op() const
+ {
+ if (RegisterType::DYNAMIC_OPS)
+ return (m_op[2] != nullptr);
+ return (RegisterType::OPERATORS / RegisterType::CHANNELS == 4);
+ }
+
+ // return a reference to our registers
+ RegisterType &regs() const { return m_regs; }
+
+ // simple getters for debugging
+ fm_operator<RegisterType> *debug_operator(uint32_t index) const { return m_op[index]; }
+
+private:
+ // helper to add values to the outputs based on channel enables
+ void add_to_output(uint32_t choffs, output_data &output, int32_t value) const
+ {
+ // create these constants to appease overzealous compilers checking array
+ // bounds in unreachable code (looking at you, clang)
+ constexpr int out0_index = 0;
+ constexpr int out1_index = 1 % RegisterType::OUTPUTS;
+ constexpr int out2_index = 2 % RegisterType::OUTPUTS;
+ constexpr int out3_index = 3 % RegisterType::OUTPUTS;
+
+ if (RegisterType::OUTPUTS == 1 || m_regs.ch_output_0(choffs))
+ output.data[out0_index] += value;
+ if (RegisterType::OUTPUTS >= 2 && m_regs.ch_output_1(choffs))
+ output.data[out1_index] += value;
+ if (RegisterType::OUTPUTS >= 3 && m_regs.ch_output_2(choffs))
+ output.data[out2_index] += value;
+ if (RegisterType::OUTPUTS >= 4 && m_regs.ch_output_3(choffs))
+ output.data[out3_index] += value;
+ }
+
+ // internal state
+ uint32_t m_choffs; // channel offset in registers
+ int16_t m_feedback[2]; // feedback memory for operator 1
+ mutable int16_t m_feedback_in; // next input value for op 1 feedback (set in output)
+ fm_operator<RegisterType> *m_op[4]; // up to 4 operators
+ RegisterType &m_regs; // direct reference to registers
+ fm_engine_base<RegisterType> &m_owner; // reference to the owning engine
+};
+
+
+// ======================> fm_engine_base
+
+// fm_engine_base represents a set of operators and channels which together
+// form a Yamaha FM core; chips that implement other engines (ADPCM, wavetable,
+// etc) take this output and combine it with the others externally
+template<class RegisterType>
+class fm_engine_base : public ymfm_engine_callbacks
+{
+public:
+ // expose some constants from the registers
+ static constexpr uint32_t OUTPUTS = RegisterType::OUTPUTS;
+ static constexpr uint32_t CHANNELS = RegisterType::CHANNELS;
+ static constexpr uint32_t ALL_CHANNELS = RegisterType::ALL_CHANNELS;
+ static constexpr uint32_t OPERATORS = RegisterType::OPERATORS;
+
+ // also expose status flags for consumers that inject additional bits
+ static constexpr uint8_t STATUS_TIMERA = RegisterType::STATUS_TIMERA;
+ static constexpr uint8_t STATUS_TIMERB = RegisterType::STATUS_TIMERB;
+ static constexpr uint8_t STATUS_BUSY = RegisterType::STATUS_BUSY;
+ static constexpr uint8_t STATUS_IRQ = RegisterType::STATUS_IRQ;
+
+ // expose the correct output class
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ fm_engine_base(ymfm_interface &intf);
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // reset the overall state
+ void reset();
+
+ // master clocking function
+ uint32_t clock(uint32_t chanmask);
+
+ // compute sum of channel outputs
+ void output(output_data &output, uint32_t rshift, int32_t clipmax, uint32_t chanmask) const;
+
+ // write to the OPN registers
+ void write(uint16_t regnum, uint8_t data);
+
+ // return the current status
+ uint8_t status() const;
+
+ // set/reset bits in the status register, updating the IRQ status
+ uint8_t set_reset_status(uint8_t set, uint8_t reset)
+ {
+ m_status = (m_status | set) & ~(reset | STATUS_BUSY);
+ m_intf.ymfm_sync_check_interrupts();
+ return m_status;
+ }
+
+ // set the IRQ mask
+ void set_irq_mask(uint8_t mask) { m_irq_mask = mask; m_intf.ymfm_sync_check_interrupts(); }
+
+ // return the current clock prescale
+ uint32_t clock_prescale() const { return m_clock_prescale; }
+
+ // set prescale factor (2/3/6)
+ void set_clock_prescale(uint32_t prescale) { m_clock_prescale = prescale; }
+
+ // compute sample rate
+ uint32_t sample_rate(uint32_t baseclock) const { return baseclock / (m_clock_prescale * OPERATORS); }
+
+ // return the owning device
+ ymfm_interface &intf() const { return m_intf; }
+
+ // return a reference to our registers
+ RegisterType &regs() { return m_regs; }
+
+ // invalidate any caches
+ void invalidate_caches() { m_modified_channels = RegisterType::ALL_CHANNELS; }
+
+ // simple getters for debugging
+ fm_channel<RegisterType> *debug_channel(uint32_t index) const { return m_channel[index].get(); }
+ fm_operator<RegisterType> *debug_operator(uint32_t index) const { return m_operator[index].get(); }
+
+public:
+ // timer callback; called by the interface when a timer fires
+ virtual void engine_timer_expired(uint32_t tnum) override;
+
+ // check interrupts; called by the interface after synchronization
+ virtual void engine_check_interrupts() override;
+
+ // mode register write; called by the interface after synchronization
+ virtual void engine_mode_write(uint8_t data) override;
+
+protected:
+ // assign the current set of operators to channels
+ void assign_operators();
+
+ // update the state of the given timer
+ void update_timer(uint32_t which, uint32_t enable);
+
+ // internal state
+ ymfm_interface &m_intf; // reference to the system interface
+ uint32_t m_env_counter; // envelope counter; low 2 bits are sub-counter
+ uint8_t m_status; // current status register
+ uint8_t m_clock_prescale; // prescale factor (2/3/6)
+ uint8_t m_irq_mask; // mask of which bits signal IRQs
+ uint8_t m_irq_state; // current IRQ state
+ uint8_t m_timer_running[2]; // current timer running state
+ uint32_t m_active_channels; // mask of active channels (computed by prepare)
+ uint32_t m_modified_channels; // mask of channels that have been modified
+ uint32_t m_prepare_count; // counter to do periodic prepare sweeps
+ RegisterType m_regs; // register accessor
+ std::unique_ptr<fm_channel<RegisterType>> m_channel[CHANNELS]; // channel pointers
+ std::unique_ptr<fm_operator<RegisterType>> m_operator[OPERATORS]; // operator pointers
+};
+
+}
+
+#endif // YMFM_FM_H
diff --git a/3rdparty/ymfm/src/ymfm_fm.ipp b/3rdparty/ymfm/src/ymfm_fm.ipp
new file mode 100644
index 00000000000..2e04330a40e
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_fm.ipp
@@ -0,0 +1,1539 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+namespace ymfm
+{
+
+//*********************************************************
+// GLOBAL TABLE LOOKUPS
+//*********************************************************
+
+//-------------------------------------------------
+// abs_sin_attenuation - given a sin (phase) input
+// where the range 0-2*PI is mapped onto 10 bits,
+// return the absolute value of sin(input),
+// logarithmically-adjusted and treated as an
+// attenuation value, in 4.8 fixed point format
+//-------------------------------------------------
+
+inline uint32_t abs_sin_attenuation(uint32_t input)
+{
+ // the values here are stored as 4.8 logarithmic values for 1/4 phase
+ // this matches the internal format of the OPN chip, extracted from the die
+ static uint16_t const s_sin_table[256] =
+ {
+ 0x859,0x6c3,0x607,0x58b,0x52e,0x4e4,0x4a6,0x471,0x443,0x41a,0x3f5,0x3d3,0x3b5,0x398,0x37e,0x365,
+ 0x34e,0x339,0x324,0x311,0x2ff,0x2ed,0x2dc,0x2cd,0x2bd,0x2af,0x2a0,0x293,0x286,0x279,0x26d,0x261,
+ 0x256,0x24b,0x240,0x236,0x22c,0x222,0x218,0x20f,0x206,0x1fd,0x1f5,0x1ec,0x1e4,0x1dc,0x1d4,0x1cd,
+ 0x1c5,0x1be,0x1b7,0x1b0,0x1a9,0x1a2,0x19b,0x195,0x18f,0x188,0x182,0x17c,0x177,0x171,0x16b,0x166,
+ 0x160,0x15b,0x155,0x150,0x14b,0x146,0x141,0x13c,0x137,0x133,0x12e,0x129,0x125,0x121,0x11c,0x118,
+ 0x114,0x10f,0x10b,0x107,0x103,0x0ff,0x0fb,0x0f8,0x0f4,0x0f0,0x0ec,0x0e9,0x0e5,0x0e2,0x0de,0x0db,
+ 0x0d7,0x0d4,0x0d1,0x0cd,0x0ca,0x0c7,0x0c4,0x0c1,0x0be,0x0bb,0x0b8,0x0b5,0x0b2,0x0af,0x0ac,0x0a9,
+ 0x0a7,0x0a4,0x0a1,0x09f,0x09c,0x099,0x097,0x094,0x092,0x08f,0x08d,0x08a,0x088,0x086,0x083,0x081,
+ 0x07f,0x07d,0x07a,0x078,0x076,0x074,0x072,0x070,0x06e,0x06c,0x06a,0x068,0x066,0x064,0x062,0x060,
+ 0x05e,0x05c,0x05b,0x059,0x057,0x055,0x053,0x052,0x050,0x04e,0x04d,0x04b,0x04a,0x048,0x046,0x045,
+ 0x043,0x042,0x040,0x03f,0x03e,0x03c,0x03b,0x039,0x038,0x037,0x035,0x034,0x033,0x031,0x030,0x02f,
+ 0x02e,0x02d,0x02b,0x02a,0x029,0x028,0x027,0x026,0x025,0x024,0x023,0x022,0x021,0x020,0x01f,0x01e,
+ 0x01d,0x01c,0x01b,0x01a,0x019,0x018,0x017,0x017,0x016,0x015,0x014,0x014,0x013,0x012,0x011,0x011,
+ 0x010,0x00f,0x00f,0x00e,0x00d,0x00d,0x00c,0x00c,0x00b,0x00a,0x00a,0x009,0x009,0x008,0x008,0x007,
+ 0x007,0x007,0x006,0x006,0x005,0x005,0x005,0x004,0x004,0x004,0x003,0x003,0x003,0x002,0x002,0x002,
+ 0x002,0x001,0x001,0x001,0x001,0x001,0x001,0x001,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000
+ };
+
+ // if the top bit is set, we're in the second half of the curve
+ // which is a mirror image, so invert the index
+ if (bitfield(input, 8))
+ input = ~input;
+
+ // return the value from the table
+ return s_sin_table[input & 0xff];
+}
+
+
+//-------------------------------------------------
+// attenuation_to_volume - given a 5.8 fixed point
+// logarithmic attenuation value, return a 13-bit
+// linear volume
+//-------------------------------------------------
+
+inline uint32_t attenuation_to_volume(uint32_t input)
+{
+ // the values here are 10-bit mantissas with an implied leading bit
+ // this matches the internal format of the OPN chip, extracted from the die
+
+ // as a nod to performance, the implicit 0x400 bit is pre-incorporated, and
+ // the values are left-shifted by 2 so that a simple right shift is all that
+ // is needed; also the order is reversed to save a NOT on the input
+#define X(a) ((a | 0x400) << 2)
+ static uint16_t const s_power_table[256] =
+ {
+ X(0x3fa),X(0x3f5),X(0x3ef),X(0x3ea),X(0x3e4),X(0x3df),X(0x3da),X(0x3d4),
+ X(0x3cf),X(0x3c9),X(0x3c4),X(0x3bf),X(0x3b9),X(0x3b4),X(0x3ae),X(0x3a9),
+ X(0x3a4),X(0x39f),X(0x399),X(0x394),X(0x38f),X(0x38a),X(0x384),X(0x37f),
+ X(0x37a),X(0x375),X(0x370),X(0x36a),X(0x365),X(0x360),X(0x35b),X(0x356),
+ X(0x351),X(0x34c),X(0x347),X(0x342),X(0x33d),X(0x338),X(0x333),X(0x32e),
+ X(0x329),X(0x324),X(0x31f),X(0x31a),X(0x315),X(0x310),X(0x30b),X(0x306),
+ X(0x302),X(0x2fd),X(0x2f8),X(0x2f3),X(0x2ee),X(0x2e9),X(0x2e5),X(0x2e0),
+ X(0x2db),X(0x2d6),X(0x2d2),X(0x2cd),X(0x2c8),X(0x2c4),X(0x2bf),X(0x2ba),
+ X(0x2b5),X(0x2b1),X(0x2ac),X(0x2a8),X(0x2a3),X(0x29e),X(0x29a),X(0x295),
+ X(0x291),X(0x28c),X(0x288),X(0x283),X(0x27f),X(0x27a),X(0x276),X(0x271),
+ X(0x26d),X(0x268),X(0x264),X(0x25f),X(0x25b),X(0x257),X(0x252),X(0x24e),
+ X(0x249),X(0x245),X(0x241),X(0x23c),X(0x238),X(0x234),X(0x230),X(0x22b),
+ X(0x227),X(0x223),X(0x21e),X(0x21a),X(0x216),X(0x212),X(0x20e),X(0x209),
+ X(0x205),X(0x201),X(0x1fd),X(0x1f9),X(0x1f5),X(0x1f0),X(0x1ec),X(0x1e8),
+ X(0x1e4),X(0x1e0),X(0x1dc),X(0x1d8),X(0x1d4),X(0x1d0),X(0x1cc),X(0x1c8),
+ X(0x1c4),X(0x1c0),X(0x1bc),X(0x1b8),X(0x1b4),X(0x1b0),X(0x1ac),X(0x1a8),
+ X(0x1a4),X(0x1a0),X(0x19c),X(0x199),X(0x195),X(0x191),X(0x18d),X(0x189),
+ X(0x185),X(0x181),X(0x17e),X(0x17a),X(0x176),X(0x172),X(0x16f),X(0x16b),
+ X(0x167),X(0x163),X(0x160),X(0x15c),X(0x158),X(0x154),X(0x151),X(0x14d),
+ X(0x149),X(0x146),X(0x142),X(0x13e),X(0x13b),X(0x137),X(0x134),X(0x130),
+ X(0x12c),X(0x129),X(0x125),X(0x122),X(0x11e),X(0x11b),X(0x117),X(0x114),
+ X(0x110),X(0x10c),X(0x109),X(0x106),X(0x102),X(0x0ff),X(0x0fb),X(0x0f8),
+ X(0x0f4),X(0x0f1),X(0x0ed),X(0x0ea),X(0x0e7),X(0x0e3),X(0x0e0),X(0x0dc),
+ X(0x0d9),X(0x0d6),X(0x0d2),X(0x0cf),X(0x0cc),X(0x0c8),X(0x0c5),X(0x0c2),
+ X(0x0be),X(0x0bb),X(0x0b8),X(0x0b5),X(0x0b1),X(0x0ae),X(0x0ab),X(0x0a8),
+ X(0x0a4),X(0x0a1),X(0x09e),X(0x09b),X(0x098),X(0x094),X(0x091),X(0x08e),
+ X(0x08b),X(0x088),X(0x085),X(0x082),X(0x07e),X(0x07b),X(0x078),X(0x075),
+ X(0x072),X(0x06f),X(0x06c),X(0x069),X(0x066),X(0x063),X(0x060),X(0x05d),
+ X(0x05a),X(0x057),X(0x054),X(0x051),X(0x04e),X(0x04b),X(0x048),X(0x045),
+ X(0x042),X(0x03f),X(0x03c),X(0x039),X(0x036),X(0x033),X(0x030),X(0x02d),
+ X(0x02a),X(0x028),X(0x025),X(0x022),X(0x01f),X(0x01c),X(0x019),X(0x016),
+ X(0x014),X(0x011),X(0x00e),X(0x00b),X(0x008),X(0x006),X(0x003),X(0x000)
+ };
+#undef X
+
+ // look up the fractional part, then shift by the whole
+ return s_power_table[input & 0xff] >> (input >> 8);
+}
+
+
+//-------------------------------------------------
+// attenuation_increment - given a 6-bit ADSR
+// rate value and a 3-bit stepping index,
+// return a 4-bit increment to the attenutaion
+// for this step (or for the attack case, the
+// fractional scale factor to decrease by)
+//-------------------------------------------------
+
+inline uint32_t attenuation_increment(uint32_t rate, uint32_t index)
+{
+ static uint32_t const s_increment_table[64] =
+ {
+ 0x00000000, 0x00000000, 0x10101010, 0x10101010, // 0-3 (0x00-0x03)
+ 0x10101010, 0x10101010, 0x11101110, 0x11101110, // 4-7 (0x04-0x07)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 8-11 (0x08-0x0B)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 12-15 (0x0C-0x0F)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 16-19 (0x10-0x13)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 20-23 (0x14-0x17)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 24-27 (0x18-0x1B)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 28-31 (0x1C-0x1F)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 32-35 (0x20-0x23)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 36-39 (0x24-0x27)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 40-43 (0x28-0x2B)
+ 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 44-47 (0x2C-0x2F)
+ 0x11111111, 0x21112111, 0x21212121, 0x22212221, // 48-51 (0x30-0x33)
+ 0x22222222, 0x42224222, 0x42424242, 0x44424442, // 52-55 (0x34-0x37)
+ 0x44444444, 0x84448444, 0x84848484, 0x88848884, // 56-59 (0x38-0x3B)
+ 0x88888888, 0x88888888, 0x88888888, 0x88888888 // 60-63 (0x3C-0x3F)
+ };
+ return bitfield(s_increment_table[rate], 4*index, 4);
+}
+
+
+//-------------------------------------------------
+// detune_adjustment - given a 5-bit key code
+// value and a 3-bit detune parameter, return a
+// 6-bit signed phase displacement; this table
+// has been verified against Nuked's equations,
+// but the equations are rather complicated, so
+// we'll keep the simplicity of the table
+//-------------------------------------------------
+
+inline int32_t detune_adjustment(uint32_t detune, uint32_t keycode)
+{
+ static uint8_t const s_detune_adjustment[32][4] =
+ {
+ { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 },
+ { 0, 1, 2, 2 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 },
+ { 0, 1, 2, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 5 },
+ { 0, 2, 4, 5 }, { 0, 2, 4, 6 }, { 0, 2, 4, 6 }, { 0, 2, 5, 7 },
+ { 0, 2, 5, 8 }, { 0, 3, 6, 8 }, { 0, 3, 6, 9 }, { 0, 3, 7, 10 },
+ { 0, 4, 8, 11 }, { 0, 4, 8, 12 }, { 0, 4, 9, 13 }, { 0, 5, 10, 14 },
+ { 0, 5, 11, 16 }, { 0, 6, 12, 17 }, { 0, 6, 13, 19 }, { 0, 7, 14, 20 },
+ { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }
+ };
+ int32_t result = s_detune_adjustment[keycode][detune & 3];
+ return bitfield(detune, 2) ? -result : result;
+}
+
+
+//-------------------------------------------------
+// opm_key_code_to_phase_step - converts an
+// OPM concatenated block (3 bits), keycode
+// (4 bits) and key fraction (6 bits) to a 0.10
+// phase step, after applying the given delta;
+// this applies to OPM and OPZ, so it lives here
+// in a central location
+//-------------------------------------------------
+
+inline uint32_t opm_key_code_to_phase_step(uint32_t block_freq, int32_t delta)
+{
+ // The phase step is essentially the fnum in OPN-speak. To compute this table,
+ // we used the standard formula for computing the frequency of a note, and
+ // then converted that frequency to fnum using the formula documented in the
+ // YM2608 manual.
+ //
+ // However, the YM2608 manual describes everything in terms of a nominal 8MHz
+ // clock, which produces an FM clock of:
+ //
+ // 8000000 / 24(operators) / 6(prescale) = 55555Hz FM clock
+ //
+ // Whereas the descriptions for the YM2151 use a nominal 3.579545MHz clock:
+ //
+ // 3579545 / 32(operators) / 2(prescale) = 55930Hz FM clock
+ //
+ // To correct for this, the YM2608 formula was adjusted to use a clock of
+ // 8053920Hz, giving this equation for the fnum:
+ //
+ // fnum = (double(144) * freq * (1 << 20)) / double(8053920) / 4;
+ //
+ // Unfortunately, the computed table differs in a few spots from the data
+ // verified from an actual chip. The table below comes from David Viens'
+ // analysis, used with his permission.
+ static const uint32_t s_phase_step[12*64] =
+ {
+ 41568,41600,41632,41664,41696,41728,41760,41792,41856,41888,41920,41952,42016,42048,42080,42112,
+ 42176,42208,42240,42272,42304,42336,42368,42400,42464,42496,42528,42560,42624,42656,42688,42720,
+ 42784,42816,42848,42880,42912,42944,42976,43008,43072,43104,43136,43168,43232,43264,43296,43328,
+ 43392,43424,43456,43488,43552,43584,43616,43648,43712,43744,43776,43808,43872,43904,43936,43968,
+ 44032,44064,44096,44128,44192,44224,44256,44288,44352,44384,44416,44448,44512,44544,44576,44608,
+ 44672,44704,44736,44768,44832,44864,44896,44928,44992,45024,45056,45088,45152,45184,45216,45248,
+ 45312,45344,45376,45408,45472,45504,45536,45568,45632,45664,45728,45760,45792,45824,45888,45920,
+ 45984,46016,46048,46080,46144,46176,46208,46240,46304,46336,46368,46400,46464,46496,46528,46560,
+ 46656,46688,46720,46752,46816,46848,46880,46912,46976,47008,47072,47104,47136,47168,47232,47264,
+ 47328,47360,47392,47424,47488,47520,47552,47584,47648,47680,47744,47776,47808,47840,47904,47936,
+ 48032,48064,48096,48128,48192,48224,48288,48320,48384,48416,48448,48480,48544,48576,48640,48672,
+ 48736,48768,48800,48832,48896,48928,48992,49024,49088,49120,49152,49184,49248,49280,49344,49376,
+ 49440,49472,49504,49536,49600,49632,49696,49728,49792,49824,49856,49888,49952,49984,50048,50080,
+ 50144,50176,50208,50240,50304,50336,50400,50432,50496,50528,50560,50592,50656,50688,50752,50784,
+ 50880,50912,50944,50976,51040,51072,51136,51168,51232,51264,51328,51360,51424,51456,51488,51520,
+ 51616,51648,51680,51712,51776,51808,51872,51904,51968,52000,52064,52096,52160,52192,52224,52256,
+ 52384,52416,52448,52480,52544,52576,52640,52672,52736,52768,52832,52864,52928,52960,52992,53024,
+ 53120,53152,53216,53248,53312,53344,53408,53440,53504,53536,53600,53632,53696,53728,53792,53824,
+ 53920,53952,54016,54048,54112,54144,54208,54240,54304,54336,54400,54432,54496,54528,54592,54624,
+ 54688,54720,54784,54816,54880,54912,54976,55008,55072,55104,55168,55200,55264,55296,55360,55392,
+ 55488,55520,55584,55616,55680,55712,55776,55808,55872,55936,55968,56032,56064,56128,56160,56224,
+ 56288,56320,56384,56416,56480,56512,56576,56608,56672,56736,56768,56832,56864,56928,56960,57024,
+ 57120,57152,57216,57248,57312,57376,57408,57472,57536,57568,57632,57664,57728,57792,57824,57888,
+ 57952,57984,58048,58080,58144,58208,58240,58304,58368,58400,58464,58496,58560,58624,58656,58720,
+ 58784,58816,58880,58912,58976,59040,59072,59136,59200,59232,59296,59328,59392,59456,59488,59552,
+ 59648,59680,59744,59776,59840,59904,59936,60000,60064,60128,60160,60224,60288,60320,60384,60416,
+ 60512,60544,60608,60640,60704,60768,60800,60864,60928,60992,61024,61088,61152,61184,61248,61280,
+ 61376,61408,61472,61536,61600,61632,61696,61760,61824,61856,61920,61984,62048,62080,62144,62208,
+ 62272,62304,62368,62432,62496,62528,62592,62656,62720,62752,62816,62880,62944,62976,63040,63104,
+ 63200,63232,63296,63360,63424,63456,63520,63584,63648,63680,63744,63808,63872,63904,63968,64032,
+ 64096,64128,64192,64256,64320,64352,64416,64480,64544,64608,64672,64704,64768,64832,64896,64928,
+ 65024,65056,65120,65184,65248,65312,65376,65408,65504,65536,65600,65664,65728,65792,65856,65888,
+ 65984,66016,66080,66144,66208,66272,66336,66368,66464,66496,66560,66624,66688,66752,66816,66848,
+ 66944,66976,67040,67104,67168,67232,67296,67328,67424,67456,67520,67584,67648,67712,67776,67808,
+ 67904,67936,68000,68064,68128,68192,68256,68288,68384,68448,68512,68544,68640,68672,68736,68800,
+ 68896,68928,68992,69056,69120,69184,69248,69280,69376,69440,69504,69536,69632,69664,69728,69792,
+ 69920,69952,70016,70080,70144,70208,70272,70304,70400,70464,70528,70560,70656,70688,70752,70816,
+ 70912,70976,71040,71104,71136,71232,71264,71360,71424,71488,71552,71616,71648,71744,71776,71872,
+ 71968,72032,72096,72160,72192,72288,72320,72416,72480,72544,72608,72672,72704,72800,72832,72928,
+ 72992,73056,73120,73184,73216,73312,73344,73440,73504,73568,73632,73696,73728,73824,73856,73952,
+ 74080,74144,74208,74272,74304,74400,74432,74528,74592,74656,74720,74784,74816,74912,74944,75040,
+ 75136,75200,75264,75328,75360,75456,75488,75584,75648,75712,75776,75840,75872,75968,76000,76096,
+ 76224,76288,76352,76416,76448,76544,76576,76672,76736,76800,76864,76928,77024,77120,77152,77248,
+ 77344,77408,77472,77536,77568,77664,77696,77792,77856,77920,77984,78048,78144,78240,78272,78368,
+ 78464,78528,78592,78656,78688,78784,78816,78912,78976,79040,79104,79168,79264,79360,79392,79488,
+ 79616,79680,79744,79808,79840,79936,79968,80064,80128,80192,80256,80320,80416,80512,80544,80640,
+ 80768,80832,80896,80960,80992,81088,81120,81216,81280,81344,81408,81472,81568,81664,81696,81792,
+ 81952,82016,82080,82144,82176,82272,82304,82400,82464,82528,82592,82656,82752,82848,82880,82976
+ };
+
+ // extract the block (octave) first
+ uint32_t block = bitfield(block_freq, 10, 3);
+
+ // the keycode (bits 6-9) is "gappy", mapping 12 values over 16 in each
+ // octave; to correct for this, we multiply the 4-bit value by 3/4 (or
+ // rather subtract 1/4); note that a (invalid) value of 15 will bleed into
+ // the next octave -- this is confirmed
+ uint32_t adjusted_code = bitfield(block_freq, 6, 4) - bitfield(block_freq, 8, 2);
+
+ // now re-insert the 6-bit fraction
+ int32_t eff_freq = (adjusted_code << 6) | bitfield(block_freq, 0, 6);
+
+ // now that the gaps are removed, add the delta
+ eff_freq += delta;
+
+ // handle over/underflow by adjusting the block:
+ if (uint32_t(eff_freq) >= 768)
+ {
+ // minimum delta is -512 (PM), so we can only underflow by 1 octave
+ if (eff_freq < 0)
+ {
+ eff_freq += 768;
+ if (block-- == 0)
+ return s_phase_step[0] >> 7;
+ }
+
+ // maximum delta is +512+608 (PM+detune), so we can overflow by up to 2 octaves
+ else
+ {
+ eff_freq -= 768;
+ if (eff_freq >= 768)
+ block++, eff_freq -= 768;
+ if (block++ >= 7)
+ return s_phase_step[767];
+ }
+ }
+
+ // look up the phase shift for the key code, then shift by octave
+ return s_phase_step[eff_freq] >> (block ^ 7);
+}
+
+
+//-------------------------------------------------
+// opn_lfo_pm_phase_adjustment - given the 7 most
+// significant frequency number bits, plus a 3-bit
+// PM depth value and a signed 5-bit raw PM value,
+// return a signed PM adjustment to the frequency;
+// algorithm written to match Nuked behavior
+//-------------------------------------------------
+
+inline int32_t opn_lfo_pm_phase_adjustment(uint32_t fnum_bits, uint32_t pm_sensitivity, int32_t lfo_raw_pm)
+{
+ // this table encodes 2 shift values to apply to the top 7 bits
+ // of fnum; it is effectively a cheap multiply by a constant
+ // value containing 0-2 bits
+ static uint8_t const s_lfo_pm_shifts[8][8] =
+ {
+ { 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77 },
+ { 0x77, 0x77, 0x77, 0x77, 0x72, 0x72, 0x72, 0x72 },
+ { 0x77, 0x77, 0x77, 0x72, 0x72, 0x72, 0x17, 0x17 },
+ { 0x77, 0x77, 0x72, 0x72, 0x17, 0x17, 0x12, 0x12 },
+ { 0x77, 0x77, 0x72, 0x17, 0x17, 0x17, 0x12, 0x07 },
+ { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 },
+ { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 },
+ { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 }
+ };
+
+ // look up the relevant shifts
+ int32_t abs_pm = (lfo_raw_pm < 0) ? -lfo_raw_pm : lfo_raw_pm;
+ uint32_t const shifts = s_lfo_pm_shifts[pm_sensitivity][bitfield(abs_pm, 0, 3)];
+
+ // compute the adjustment
+ int32_t adjust = (fnum_bits >> bitfield(shifts, 0, 4)) + (fnum_bits >> bitfield(shifts, 4, 4));
+ if (pm_sensitivity > 5)
+ adjust <<= pm_sensitivity - 5;
+ adjust >>= 2;
+
+ // every 16 cycles it inverts sign
+ return (lfo_raw_pm < 0) ? -adjust : adjust;
+}
+
+
+
+//*********************************************************
+// FM OPERATOR
+//*********************************************************
+
+//-------------------------------------------------
+// fm_operator - constructor
+//-------------------------------------------------
+
+template<class RegisterType>
+fm_operator<RegisterType>::fm_operator(fm_engine_base<RegisterType> &owner, uint32_t opoffs) :
+ m_choffs(0),
+ m_opoffs(opoffs),
+ m_phase(0),
+ m_env_attenuation(0x3ff),
+ m_env_state(EG_RELEASE),
+ m_ssg_inverted(false),
+ m_key_state(0),
+ m_keyon_live(0),
+ m_regs(owner.regs()),
+ m_owner(owner)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the channel state
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::reset()
+{
+ // reset our data
+ m_phase = 0;
+ m_env_attenuation = 0x3ff;
+ m_env_state = EG_RELEASE;
+ m_ssg_inverted = 0;
+ m_key_state = 0;
+ m_keyon_live = 0;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_phase);
+ state.save_restore(m_env_attenuation);
+ state.save_restore(m_env_state);
+ state.save_restore(m_ssg_inverted);
+ state.save_restore(m_key_state);
+ state.save_restore(m_keyon_live);
+}
+
+
+//-------------------------------------------------
+// prepare - prepare for clocking
+//-------------------------------------------------
+
+template<class RegisterType>
+bool fm_operator<RegisterType>::prepare()
+{
+ // cache the data
+ m_regs.cache_operator_data(m_choffs, m_opoffs, m_cache);
+
+ // clock the key state
+ clock_keystate(uint32_t(m_keyon_live != 0));
+ m_keyon_live &= ~(1 << KEYON_CSM);
+
+ // we're active until we're quiet after the release
+ return (m_env_state != (RegisterType::EG_HAS_REVERB ? EG_REVERB : EG_RELEASE) || m_env_attenuation < EG_QUIET);
+}
+
+
+//-------------------------------------------------
+// clock - master clocking function
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::clock(uint32_t env_counter, int32_t lfo_raw_pm)
+{
+ // clock the SSG-EG state (OPN/OPNA)
+ if (m_regs.op_ssg_eg_enable(m_opoffs))
+ clock_ssg_eg_state();
+
+ // clock the envelope if on an envelope cycle; env_counter is a x.2 value
+ if (bitfield(env_counter, 0, 2) == 0)
+ clock_envelope(env_counter >> 2);
+
+ // clock the phase
+ clock_phase(lfo_raw_pm);
+}
+
+
+//-------------------------------------------------
+// compute_volume - compute the 14-bit signed
+// volume of this operator, given a phase
+// modulation and an AM LFO offset
+//-------------------------------------------------
+
+template<class RegisterType>
+int32_t fm_operator<RegisterType>::compute_volume(uint32_t phase, uint32_t am_offset) const
+{
+ // the low 10 bits of phase represents a full 2*PI period over
+ // the full sin wave
+
+ // early out if the envelope is effectively off
+ if (m_env_attenuation > EG_QUIET)
+ return 0;
+
+ // get the absolute value of the sin, as attenuation, as a 4.8 fixed point value
+ uint32_t sin_attenuation = m_cache.waveform[phase & (RegisterType::WAVEFORM_LENGTH - 1)];
+
+ // get the attenuation from the evelope generator as a 4.6 value, shifted up to 4.8
+ uint32_t env_attenuation = envelope_attenuation(am_offset) << 2;
+
+ // combine into a 5.8 value, then convert from attenuation to 13-bit linear volume
+ int32_t result = attenuation_to_volume((sin_attenuation & 0x7fff) + env_attenuation);
+
+ // negate if in the negative part of the sin wave (sign bit gives 14 bits)
+ return bitfield(sin_attenuation, 15) ? -result : result;
+}
+
+
+//-------------------------------------------------
+// compute_noise_volume - compute the 14-bit
+// signed noise volume of this operator, given a
+// noise input value and an AM offset
+//-------------------------------------------------
+
+template<class RegisterType>
+int32_t fm_operator<RegisterType>::compute_noise_volume(uint32_t am_offset) const
+{
+ // application manual says the logarithmic transform is not applied here, so we
+ // just use the raw envelope attenuation, inverted (since 0 attenuation should be
+ // maximum), and shift it up from a 10-bit value to an 11-bit value
+ uint32_t result = (envelope_attenuation(am_offset) ^ 0x3ff) << 1;
+
+ // QUESTION: is AM applied still?
+
+ // negate based on the noise state
+ return bitfield(m_regs.noise_state(), 0) ? -result : result;
+}
+
+
+//-------------------------------------------------
+// keyonoff - signal a key on/off event
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::keyonoff(uint32_t on, keyon_type type)
+{
+ m_keyon_live = (m_keyon_live & ~(1 << int(type))) | (bitfield(on, 0) << int(type));
+}
+
+
+//-------------------------------------------------
+// start_attack - start the attack phase; called
+// when a keyon happens or when an SSG-EG cycle
+// is complete and restarts
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::start_attack(bool is_restart)
+{
+ // don't change anything if already in attack state
+ if (m_env_state == EG_ATTACK)
+ return;
+ m_env_state = EG_ATTACK;
+
+ // generally not inverted at start, except if SSG-EG is enabled and
+ // one of the inverted modes is specified; leave this alone on a
+ // restart, as it is managed by the clock_ssg_eg_state() code
+ if (RegisterType::EG_HAS_SSG && !is_restart)
+ m_ssg_inverted = m_regs.op_ssg_eg_enable(m_opoffs) & bitfield(m_regs.op_ssg_eg_mode(m_opoffs), 2);
+
+ // reset the phase when we start an attack due to a key on
+ // (but not when due to an SSG-EG restart except in certain cases
+ // managed directly by the SSG-EG code)
+ if (!is_restart)
+ m_phase = 0;
+
+ // if the attack rate >= 62 then immediately go to max attenuation
+ if (m_cache.eg_rate[EG_ATTACK] >= 62)
+ m_env_attenuation = 0;
+}
+
+
+//-------------------------------------------------
+// start_release - start the release phase;
+// called when a keyoff happens
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::start_release()
+{
+ // don't change anything if already in release state
+ if (m_env_state >= EG_RELEASE)
+ return;
+ m_env_state = EG_RELEASE;
+
+ // if attenuation if inverted due to SSG-EG, snap the inverted attenuation
+ // as the starting point
+ if (RegisterType::EG_HAS_SSG && m_ssg_inverted)
+ {
+ m_env_attenuation = (0x200 - m_env_attenuation) & 0x3ff;
+ m_ssg_inverted = false;
+ }
+}
+
+
+//-------------------------------------------------
+// clock_keystate - clock the keystate to match
+// the incoming keystate
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::clock_keystate(uint32_t keystate)
+{
+ assert(keystate == 0 || keystate == 1);
+
+ // has the key changed?
+ if ((keystate ^ m_key_state) != 0)
+ {
+ m_key_state = keystate;
+
+ // if the key has turned on, start the attack
+ if (keystate != 0)
+ {
+ // OPLL has a DP ("depress"?) state to bring the volume
+ // down before starting the attack
+ if (RegisterType::EG_HAS_DEPRESS && m_env_attenuation < 0x200)
+ m_env_state = EG_DEPRESS;
+ else
+ start_attack();
+ }
+
+ // otherwise, start the release
+ else
+ start_release();
+ }
+}
+
+
+//-------------------------------------------------
+// clock_ssg_eg_state - clock the SSG-EG state;
+// should only be called if SSG-EG is enabled
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::clock_ssg_eg_state()
+{
+ // work only happens once the attenuation crosses above 0x200
+ if (!bitfield(m_env_attenuation, 9))
+ return;
+
+ // 8 SSG-EG modes:
+ // 000: repeat normally
+ // 001: run once, hold low
+ // 010: repeat, alternating between inverted/non-inverted
+ // 011: run once, hold high
+ // 100: inverted repeat normally
+ // 101: inverted run once, hold low
+ // 110: inverted repeat, alternating between inverted/non-inverted
+ // 111: inverted run once, hold high
+ uint32_t mode = m_regs.op_ssg_eg_mode(m_opoffs);
+
+ // hold modes (1/3/5/7)
+ if (bitfield(mode, 0))
+ {
+ // set the inverted flag to the end state (0 for modes 1/7, 1 for modes 3/5)
+ m_ssg_inverted = bitfield(mode, 2) ^ bitfield(mode, 1);
+
+ // if holding, force the attenuation to the expected value once we're
+ // past the attack phase
+ if (m_env_state != EG_ATTACK)
+ m_env_attenuation = m_ssg_inverted ? 0x200 : 0x3ff;
+ }
+
+ // continuous modes (0/2/4/6)
+ else
+ {
+ // toggle invert in alternating mode (even in attack state)
+ m_ssg_inverted ^= bitfield(mode, 1);
+
+ // restart attack if in decay/sustain states
+ if (m_env_state == EG_DECAY || m_env_state == EG_SUSTAIN)
+ start_attack(true);
+
+ // phase is reset to 0 in modes 0/4
+ if (bitfield(mode, 1) == 0)
+ m_phase = 0;
+ }
+
+ // in all modes, once we hit release state, attenuation is forced to maximum
+ if (m_env_state == EG_RELEASE)
+ m_env_attenuation = 0x3ff;
+}
+
+
+//-------------------------------------------------
+// clock_envelope - clock the envelope state
+// according to the given count
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::clock_envelope(uint32_t env_counter)
+{
+ // handle attack->decay transitions
+ if (m_env_state == EG_ATTACK && m_env_attenuation == 0)
+ m_env_state = EG_DECAY;
+
+ // handle decay->sustain transitions; it is important to do this immediately
+ // after the attack->decay transition above in the event that the sustain level
+ // is set to 0 (in which case we will skip right to sustain without doing any
+ // decay); as an example where this can be heard, check the cymbals sound
+ // in channel 0 of shinobi's test mode sound #5
+ if (m_env_state == EG_DECAY && m_env_attenuation >= m_cache.eg_sustain)
+ m_env_state = EG_SUSTAIN;
+
+ // fetch the appropriate 6-bit rate value from the cache
+ uint32_t rate = m_cache.eg_rate[m_env_state];
+
+ // compute the rate shift value; this is the shift needed to
+ // apply to the env_counter such that it becomes a 5.11 fixed
+ // point number
+ uint32_t rate_shift = rate >> 2;
+ env_counter <<= rate_shift;
+
+ // see if the fractional part is 0; if not, it's not time to clock
+ if (bitfield(env_counter, 0, 11) != 0)
+ return;
+
+ // determine the increment based on the non-fractional part of env_counter
+ uint32_t relevant_bits = bitfield(env_counter, (rate_shift <= 11) ? 11 : rate_shift, 3);
+ uint32_t increment = attenuation_increment(rate, relevant_bits);
+
+ // attack is the only one that increases
+ if (m_env_state == EG_ATTACK)
+ {
+ // glitch means that attack rates of 62/63 don't increment if
+ // changed after the initial key on (where they are handled
+ // specially); nukeykt confirms this happens on OPM, OPN, OPL/OPLL
+ // at least so assuming it is true for everyone
+ if (rate < 62)
+ m_env_attenuation += (~m_env_attenuation * increment) >> 4;
+ }
+
+ // all other cases are similar
+ else
+ {
+ // non-SSG-EG cases just apply the increment
+ if (!m_regs.op_ssg_eg_enable(m_opoffs))
+ m_env_attenuation += increment;
+
+ // SSG-EG only applies if less than mid-point, and then at 4x
+ else if (m_env_attenuation < 0x200)
+ m_env_attenuation += 4 * increment;
+
+ // clamp the final attenuation
+ if (m_env_attenuation >= 0x400)
+ m_env_attenuation = 0x3ff;
+
+ // transition from depress to attack
+ if (RegisterType::EG_HAS_DEPRESS && m_env_state == EG_DEPRESS && m_env_attenuation >= 0x200)
+ start_attack();
+
+ // transition from release to reverb, should switch at -18dB
+ if (RegisterType::EG_HAS_REVERB && m_env_state == EG_RELEASE && m_env_attenuation >= 0xc0)
+ m_env_state = EG_REVERB;
+ }
+}
+
+
+//-------------------------------------------------
+// clock_phase - clock the 10.10 phase value; the
+// OPN version of the logic has been verified
+// against the Nuked phase generator
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_operator<RegisterType>::clock_phase(int32_t lfo_raw_pm)
+{
+ // read from the cache, or recalculate if PM active
+ uint32_t phase_step = m_cache.phase_step;
+ if (phase_step == opdata_cache::PHASE_STEP_DYNAMIC)
+ phase_step = m_regs.compute_phase_step(m_choffs, m_opoffs, m_cache, lfo_raw_pm);
+
+ // finally apply the step to the current phase value
+ m_phase += phase_step;
+}
+
+
+//-------------------------------------------------
+// envelope_attenuation - return the effective
+// attenuation of the envelope
+//-------------------------------------------------
+
+template<class RegisterType>
+uint32_t fm_operator<RegisterType>::envelope_attenuation(uint32_t am_offset) const
+{
+ uint32_t result = m_env_attenuation >> m_cache.eg_shift;
+
+ // invert if necessary due to SSG-EG
+ if (RegisterType::EG_HAS_SSG && m_ssg_inverted)
+ result = (0x200 - result) & 0x3ff;
+
+ // add in LFO AM modulation
+ if (m_regs.op_lfo_am_enable(m_opoffs))
+ result += am_offset;
+
+ // add in total level and KSL from the cache
+ result += m_cache.total_level;
+
+ // clamp to max, apply shift, and return
+ return std::min<uint32_t>(result, 0x3ff);
+}
+
+
+
+//*********************************************************
+// FM CHANNEL
+//*********************************************************
+
+//-------------------------------------------------
+// fm_channel - constructor
+//-------------------------------------------------
+
+template<class RegisterType>
+fm_channel<RegisterType>::fm_channel(fm_engine_base<RegisterType> &owner, uint32_t choffs) :
+ m_choffs(choffs),
+ m_feedback{ 0, 0 },
+ m_feedback_in(0),
+ m_op{ nullptr, nullptr, nullptr, nullptr },
+ m_regs(owner.regs()),
+ m_owner(owner)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the channel state
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::reset()
+{
+ // reset our data
+ m_feedback[0] = m_feedback[1] = 0;
+ m_feedback_in = 0;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_feedback[0]);
+ state.save_restore(m_feedback[1]);
+ state.save_restore(m_feedback_in);
+}
+
+
+//-------------------------------------------------
+// keyonoff - signal key on/off to our operators
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::keyonoff(uint32_t states, keyon_type type, uint32_t chnum)
+{
+ for (uint32_t opnum = 0; opnum < array_size(m_op); opnum++)
+ if (m_op[opnum] != nullptr)
+ m_op[opnum]->keyonoff(bitfield(states, opnum), type);
+
+ if (debug::LOG_KEYON_EVENTS && ((debug::GLOBAL_FM_CHANNEL_MASK >> chnum) & 1) != 0)
+ for (uint32_t opnum = 0; opnum < array_size(m_op); opnum++)
+ if (m_op[opnum] != nullptr)
+ debug::log_keyon("%c%s\n", bitfield(states, opnum) ? '+' : '-', m_regs.log_keyon(m_choffs, m_op[opnum]->opoffs()).c_str());
+}
+
+
+//-------------------------------------------------
+// prepare - prepare for clocking
+//-------------------------------------------------
+
+template<class RegisterType>
+bool fm_channel<RegisterType>::prepare()
+{
+ uint32_t active_mask = 0;
+
+ // prepare all operators and determine if they are active
+ for (uint32_t opnum = 0; opnum < array_size(m_op); opnum++)
+ if (m_op[opnum] != nullptr)
+ if (m_op[opnum]->prepare())
+ active_mask |= 1 << opnum;
+
+ return (active_mask != 0);
+}
+
+
+//-------------------------------------------------
+// clock - master clock of all operators
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::clock(uint32_t env_counter, int32_t lfo_raw_pm)
+{
+ // clock the feedback through
+ m_feedback[0] = m_feedback[1];
+ m_feedback[1] = m_feedback_in;
+
+ for (uint32_t opnum = 0; opnum < array_size(m_op); opnum++)
+ if (m_op[opnum] != nullptr)
+ m_op[opnum]->clock(env_counter, lfo_raw_pm);
+}
+
+
+//-------------------------------------------------
+// output_2op - combine 4 operators according to
+// the specified algorithm, returning a sum
+// according to the rshift and clipmax parameters,
+// which vary between different implementations
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::output_2op(output_data &output, uint32_t rshift, int32_t clipmax) const
+{
+ // The first 2 operators should be populated
+ assert(m_op[0] != nullptr);
+ assert(m_op[1] != nullptr);
+
+ // AM amount is the same across all operators; compute it once
+ uint32_t am_offset = m_regs.lfo_am_offset(m_choffs);
+
+ // operator 1 has optional self-feedback
+ int32_t opmod = 0;
+ uint32_t feedback = m_regs.ch_feedback(m_choffs);
+ if (feedback != 0)
+ opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
+
+ // compute the 14-bit volume/value of operator 1 and update the feedback
+ int32_t op1value = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
+
+ // now that the feedback has been computed, skip the rest if all volumes
+ // are clear; no need to do all this work for nothing
+ if (m_regs.ch_output_any(m_choffs) == 0)
+ return;
+
+ // Algorithms for two-operator case:
+ // 0: O1 -> O2 -> out
+ // 1: (O1 + O2) -> out
+ int32_t result;
+ if (bitfield(m_regs.ch_algorithm(m_choffs), 0) == 0)
+ {
+ // some OPL chips use the previous sample for modulation instead of
+ // the current sample
+ opmod = (RegisterType::MODULATOR_DELAY ? m_feedback[1] : op1value) >> 1;
+ result = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset) >> rshift;
+ }
+ else
+ {
+ result = op1value + (m_op[1]->compute_volume(m_op[1]->phase(), am_offset) >> rshift);
+ int32_t clipmin = -clipmax - 1;
+ result = clamp(result, clipmin, clipmax);
+ }
+
+ // add to the output
+ add_to_output(m_choffs, output, result);
+}
+
+
+//-------------------------------------------------
+// output_4op - combine 4 operators according to
+// the specified algorithm, returning a sum
+// according to the rshift and clipmax parameters,
+// which vary between different implementations
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::output_4op(output_data &output, uint32_t rshift, int32_t clipmax) const
+{
+ // all 4 operators should be populated
+ assert(m_op[0] != nullptr);
+ assert(m_op[1] != nullptr);
+ assert(m_op[2] != nullptr);
+ assert(m_op[3] != nullptr);
+
+ // AM amount is the same across all operators; compute it once
+ uint32_t am_offset = m_regs.lfo_am_offset(m_choffs);
+
+ // operator 1 has optional self-feedback
+ int32_t opmod = 0;
+ uint32_t feedback = m_regs.ch_feedback(m_choffs);
+ if (feedback != 0)
+ opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
+
+ // compute the 14-bit volume/value of operator 1 and update the feedback
+ int32_t op1value = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
+
+ // now that the feedback has been computed, skip the rest if all volumes
+ // are clear; no need to do all this work for nothing
+ if (m_regs.ch_output_any(m_choffs) == 0)
+ return;
+
+ // OPM/OPN offer 8 different connection algorithms for 4 operators,
+ // and OPL3 offers 4 more, which we designate here as 8-11.
+ //
+ // The operators are computed in order, with the inputs pulled from
+ // an array of values (opout) that is populated as we go:
+ // 0 = 0
+ // 1 = O1
+ // 2 = O2
+ // 3 = O3
+ // 4 = (O4)
+ // 5 = O1+O2
+ // 6 = O1+O3
+ // 7 = O2+O3
+ //
+ // The s_algorithm_ops table describes the inputs and outputs of each
+ // algorithm as follows:
+ //
+ // ---------x use opout[x] as operator 2 input
+ // ------xxx- use opout[x] as operator 3 input
+ // ---xxx---- use opout[x] as operator 4 input
+ // --x------- include opout[1] in final sum
+ // -x-------- include opout[2] in final sum
+ // x--------- include opout[3] in final sum
+ #define ALGORITHM(op2in, op3in, op4in, op1out, op2out, op3out) \
+ (op2in | (op3in << 1) | (op4in << 4) | (op1out << 7) | (op2out << 8) | (op3out << 9))
+ static uint16_t const s_algorithm_ops[8+4] =
+ {
+ ALGORITHM(1,2,3, 0,0,0), // 0: O1 -> O2 -> O3 -> O4 -> out (O4)
+ ALGORITHM(0,5,3, 0,0,0), // 1: (O1 + O2) -> O3 -> O4 -> out (O4)
+ ALGORITHM(0,2,6, 0,0,0), // 2: (O1 + (O2 -> O3)) -> O4 -> out (O4)
+ ALGORITHM(1,0,7, 0,0,0), // 3: ((O1 -> O2) + O3) -> O4 -> out (O4)
+ ALGORITHM(1,0,3, 0,1,0), // 4: ((O1 -> O2) + (O3 -> O4)) -> out (O2+O4)
+ ALGORITHM(1,1,1, 0,1,1), // 5: ((O1 -> O2) + (O1 -> O3) + (O1 -> O4)) -> out (O2+O3+O4)
+ ALGORITHM(1,0,0, 0,1,1), // 6: ((O1 -> O2) + O3 + O4) -> out (O2+O3+O4)
+ ALGORITHM(0,0,0, 1,1,1), // 7: (O1 + O2 + O3 + O4) -> out (O1+O2+O3+O4)
+ ALGORITHM(1,2,3, 0,0,0), // 8: O1 -> O2 -> O3 -> O4 -> out (O4) [same as 0]
+ ALGORITHM(0,2,3, 1,0,0), // 9: (O1 + (O2 -> O3 -> O4)) -> out (O1+O4) [unique]
+ ALGORITHM(1,0,3, 0,1,0), // 10: ((O1 -> O2) + (O3 -> O4)) -> out (O2+O4) [same as 4]
+ ALGORITHM(0,2,0, 1,0,1) // 11: (O1 + (O2 -> O3) + O4) -> out (O1+O3+O4) [unique]
+ };
+ uint32_t algorithm_ops = s_algorithm_ops[m_regs.ch_algorithm(m_choffs)];
+
+ // populate the opout table
+ int16_t opout[8];
+ opout[0] = 0;
+ opout[1] = op1value;
+
+ // compute the 14-bit volume/value of operator 2
+ opmod = opout[bitfield(algorithm_ops, 0, 1)] >> 1;
+ opout[2] = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset);
+ opout[5] = opout[1] + opout[2];
+
+ // compute the 14-bit volume/value of operator 3
+ opmod = opout[bitfield(algorithm_ops, 1, 3)] >> 1;
+ opout[3] = m_op[2]->compute_volume(m_op[2]->phase() + opmod, am_offset);
+ opout[6] = opout[1] + opout[3];
+ opout[7] = opout[2] + opout[3];
+
+ // compute the 14-bit volume/value of operator 4; this could be a noise
+ // value on the OPM; all algorithms consume OP4 output at a minimum
+ int32_t result;
+ if (m_regs.noise_enable() && m_choffs == 7)
+ result = m_op[3]->compute_noise_volume(am_offset);
+ else
+ {
+ opmod = opout[bitfield(algorithm_ops, 4, 3)] >> 1;
+ result = m_op[3]->compute_volume(m_op[3]->phase() + opmod, am_offset);
+ }
+ result >>= rshift;
+
+ // optionally add OP1, OP2, OP3
+ int32_t clipmin = -clipmax - 1;
+ if (bitfield(algorithm_ops, 7) != 0)
+ result = clamp(result + (opout[1] >> rshift), clipmin, clipmax);
+ if (bitfield(algorithm_ops, 8) != 0)
+ result = clamp(result + (opout[2] >> rshift), clipmin, clipmax);
+ if (bitfield(algorithm_ops, 9) != 0)
+ result = clamp(result + (opout[3] >> rshift), clipmin, clipmax);
+
+ // add to the output
+ add_to_output(m_choffs, output, result);
+}
+
+
+//-------------------------------------------------
+// output_rhythm_ch6 - special case output
+// computation for OPL channel 6 in rhythm mode,
+// which outputs a Bass Drum instrument
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::output_rhythm_ch6(output_data &output, uint32_t rshift, int32_t clipmax) const
+{
+ // AM amount is the same across all operators; compute it once
+ uint32_t am_offset = m_regs.lfo_am_offset(m_choffs);
+
+ // Bass Drum: this uses operators 12 and 15 (i.e., channel 6)
+ // in an almost-normal way, except that if the algorithm is 1,
+ // the first operator is ignored instead of added in
+
+ // operator 1 has optional self-feedback
+ int32_t opmod = 0;
+ uint32_t feedback = m_regs.ch_feedback(m_choffs);
+ if (feedback != 0)
+ opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
+
+ // compute the 14-bit volume/value of operator 1 and update the feedback
+ int32_t opout1 = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
+
+ // compute the 14-bit volume/value of operator 2, which is the result
+ opmod = bitfield(m_regs.ch_algorithm(m_choffs), 0) ? 0 : (opout1 >> 1);
+ int32_t result = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset) >> rshift;
+
+ // add to the output
+ add_to_output(m_choffs, output, result * 2);
+}
+
+
+//-------------------------------------------------
+// output_rhythm_ch7 - special case output
+// computation for OPL channel 7 in rhythm mode,
+// which outputs High Hat and Snare Drum
+// instruments
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::output_rhythm_ch7(uint32_t phase_select, output_data &output, uint32_t rshift, int32_t clipmax) const
+{
+ // AM amount is the same across all operators; compute it once
+ uint32_t am_offset = m_regs.lfo_am_offset(m_choffs);
+ uint32_t noise_state = bitfield(m_regs.noise_state(), 0);
+
+ // High Hat: this uses the envelope from operator 13 (channel 7),
+ // and a combination of noise and the operator 13/17 phase select
+ // to compute the phase
+ uint32_t phase = (phase_select << 9) | (0xd0 >> (2 * (noise_state ^ phase_select)));
+ int32_t result = m_op[0]->compute_volume(phase, am_offset) >> rshift;
+
+ // Snare Drum: this uses the envelope from operator 16 (channel 7),
+ // and a combination of noise and operator 13 phase to pick a phase
+ uint32_t op13phase = m_op[0]->phase();
+ phase = (0x100 << bitfield(op13phase, 8)) ^ (noise_state << 8);
+ result += m_op[1]->compute_volume(phase, am_offset) >> rshift;
+ result = clamp(result, -clipmax - 1, clipmax);
+
+ // add to the output
+ add_to_output(m_choffs, output, result * 2);
+}
+
+
+//-------------------------------------------------
+// output_rhythm_ch8 - special case output
+// computation for OPL channel 8 in rhythm mode,
+// which outputs Tom Tom and Top Cymbal instruments
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_channel<RegisterType>::output_rhythm_ch8(uint32_t phase_select, output_data &output, uint32_t rshift, int32_t clipmax) const
+{
+ // AM amount is the same across all operators; compute it once
+ uint32_t am_offset = m_regs.lfo_am_offset(m_choffs);
+
+ // Tom Tom: this is just a single operator processed normally
+ int32_t result = m_op[0]->compute_volume(m_op[0]->phase(), am_offset) >> rshift;
+
+ // Top Cymbal: this uses the envelope from operator 17 (channel 8),
+ // and the operator 13/17 phase select to compute the phase
+ uint32_t phase = 0x100 | (phase_select << 9);
+ result += m_op[1]->compute_volume(phase, am_offset) >> rshift;
+ result = clamp(result, -clipmax - 1, clipmax);
+
+ // add to the output
+ add_to_output(m_choffs, output, result * 2);
+}
+
+
+
+//*********************************************************
+// FM ENGINE BASE
+//*********************************************************
+
+//-------------------------------------------------
+// fm_engine_base - constructor
+//-------------------------------------------------
+
+template<class RegisterType>
+fm_engine_base<RegisterType>::fm_engine_base(ymfm_interface &intf) :
+ m_intf(intf),
+ m_env_counter(0),
+ m_status(0),
+ m_clock_prescale(RegisterType::DEFAULT_PRESCALE),
+ m_irq_mask(STATUS_TIMERA | STATUS_TIMERB),
+ m_irq_state(0),
+ m_timer_running{0,0},
+ m_active_channels(ALL_CHANNELS),
+ m_modified_channels(ALL_CHANNELS),
+ m_prepare_count(0)
+{
+ // inform the interface of their engine
+ m_intf.m_engine = this;
+
+ // create the channels
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ m_channel[chnum] = std::make_unique<fm_channel<RegisterType>>(*this, RegisterType::channel_offset(chnum));
+
+ // create the operators
+ for (uint32_t opnum = 0; opnum < OPERATORS; opnum++)
+ m_operator[opnum] = std::make_unique<fm_operator<RegisterType>>(*this, RegisterType::operator_offset(opnum));
+
+ // do the initial operator assignment
+ assign_operators();
+}
+
+
+//-------------------------------------------------
+// reset - reset the overall state
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::reset()
+{
+ // reset all status bits
+ set_reset_status(0, 0xff);
+
+ // register type-specific initialization
+ m_regs.reset();
+
+ // explicitly write to the mode register since it has side-effects
+ // QUESTION: old cores initialize this to 0x30 -- who is right?
+ write(RegisterType::REG_MODE, 0);
+
+ // reset the channels
+ for (auto &chan : m_channel)
+ chan->reset();
+
+ // reset the operators
+ for (auto &op : m_operator)
+ op->reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::save_restore(ymfm_saved_state &state)
+{
+ // save our data
+ state.save_restore(m_env_counter);
+ state.save_restore(m_status);
+ state.save_restore(m_clock_prescale);
+ state.save_restore(m_irq_mask);
+ state.save_restore(m_irq_state);
+ state.save_restore(m_timer_running[0]);
+ state.save_restore(m_timer_running[1]);
+
+ // save the register/family data
+ m_regs.save_restore(state);
+
+ // save channel data
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ m_channel[chnum]->save_restore(state);
+
+ // save operator data
+ for (uint32_t opnum = 0; opnum < OPERATORS; opnum++)
+ m_operator[opnum]->save_restore(state);
+
+ // invalidate any caches
+ invalidate_caches();
+}
+
+
+//-------------------------------------------------
+// clock - iterate over all channels, clocking
+// them forward one step
+//-------------------------------------------------
+
+template<class RegisterType>
+uint32_t fm_engine_base<RegisterType>::clock(uint32_t chanmask)
+{
+ // if something was modified, prepare
+ // also prepare every 4k samples to catch ending notes
+ if (m_modified_channels != 0 || m_prepare_count++ >= 4096)
+ {
+ // reassign operators to channels if dynamic
+ if (RegisterType::DYNAMIC_OPS)
+ assign_operators();
+
+ // call each channel to prepare
+ m_active_channels = 0;
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ if (m_channel[chnum]->prepare())
+ m_active_channels |= 1 << chnum;
+
+ // reset the modified channels and prepare count
+ m_modified_channels = m_prepare_count = 0;
+ }
+
+ // if the envelope clock divider is 1, just increment by 4;
+ // otherwise, increment by 1 and manually wrap when we reach the divide count
+ if (RegisterType::EG_CLOCK_DIVIDER == 1)
+ m_env_counter += 4;
+ else if (bitfield(++m_env_counter, 0, 2) == RegisterType::EG_CLOCK_DIVIDER)
+ m_env_counter += 4 - RegisterType::EG_CLOCK_DIVIDER;
+
+ // clock the noise generator
+ int32_t lfo_raw_pm = m_regs.clock_noise_and_lfo();
+
+ // now update the state of all the channels and operators
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ m_channel[chnum]->clock(m_env_counter, lfo_raw_pm);
+
+ // return the envelope counter as it is used to clock ADPCM-A
+ return m_env_counter;
+}
+
+
+//-------------------------------------------------
+// output - compute a sum over the relevant
+// channels
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::output(output_data &output, uint32_t rshift, int32_t clipmax, uint32_t chanmask) const
+{
+ // mask out some channels for debug purposes
+ chanmask &= debug::GLOBAL_FM_CHANNEL_MASK;
+
+ // mask out inactive channels
+ chanmask &= m_active_channels;
+
+ // handle the rhythm case, where some of the operators are dedicated
+ // to percussion (this is an OPL-specific feature)
+ if (m_regs.rhythm_enable())
+ {
+ // we don't support the OPM noise channel here; ensure it is off
+ assert(m_regs.noise_enable() == 0);
+
+ // precompute the operator 13+17 phase selection value
+ uint32_t op13phase = m_operator[13]->phase();
+ uint32_t op17phase = m_operator[17]->phase();
+ uint32_t phase_select = (bitfield(op13phase, 2) ^ bitfield(op13phase, 7)) | bitfield(op13phase, 3) | (bitfield(op17phase, 5) ^ bitfield(op17phase, 3));
+
+ // sum over all the desired channels
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ {
+ if (chnum == 6)
+ m_channel[chnum]->output_rhythm_ch6(output, rshift, clipmax);
+ else if (chnum == 7)
+ m_channel[chnum]->output_rhythm_ch7(phase_select, output, rshift, clipmax);
+ else if (chnum == 8)
+ m_channel[chnum]->output_rhythm_ch8(phase_select, output, rshift, clipmax);
+ else if (m_channel[chnum]->is4op())
+ m_channel[chnum]->output_4op(output, rshift, clipmax);
+ else
+ m_channel[chnum]->output_2op(output, rshift, clipmax);
+ }
+ }
+ else
+ {
+ // sum over all the desired channels
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ {
+ if (m_channel[chnum]->is4op())
+ m_channel[chnum]->output_4op(output, rshift, clipmax);
+ else
+ m_channel[chnum]->output_2op(output, rshift, clipmax);
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the OPN registers
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::write(uint16_t regnum, uint8_t data)
+{
+ debug::log_fm_write("%03X = %02X\n", regnum, data);
+
+ // special case: writes to the mode register can impact IRQs;
+ // schedule these writes to ensure ordering with timers
+ if (regnum == RegisterType::REG_MODE)
+ {
+ m_intf.ymfm_sync_mode_write(data);
+ return;
+ }
+
+ // for now just mark all channels as modified
+ m_modified_channels = ALL_CHANNELS;
+
+ // most writes are passive, consumed only when needed
+ uint32_t keyon_channel;
+ uint32_t keyon_opmask;
+ if (m_regs.write(regnum, data, keyon_channel, keyon_opmask))
+ {
+ // handle writes to the keyon register(s)
+ if (keyon_channel < CHANNELS)
+ {
+ // normal channel on/off
+ m_channel[keyon_channel]->keyonoff(keyon_opmask, KEYON_NORMAL, keyon_channel);
+ }
+ else if (CHANNELS >= 9 && keyon_channel == RegisterType::RHYTHM_CHANNEL)
+ {
+ // special case for the OPL rhythm channels
+ m_channel[6]->keyonoff(bitfield(keyon_opmask, 4) ? 3 : 0, KEYON_RHYTHM, 6);
+ m_channel[7]->keyonoff(bitfield(keyon_opmask, 0) | (bitfield(keyon_opmask, 3) << 1), KEYON_RHYTHM, 7);
+ m_channel[8]->keyonoff(bitfield(keyon_opmask, 2) | (bitfield(keyon_opmask, 1) << 1), KEYON_RHYTHM, 8);
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// status - return the current state of the
+// status flags
+//-------------------------------------------------
+
+template<class RegisterType>
+uint8_t fm_engine_base<RegisterType>::status() const
+{
+ return m_status & ~STATUS_BUSY & ~m_regs.status_mask();
+}
+
+
+//-------------------------------------------------
+// assign_operators - get the current mapping of
+// operators to channels and assign them all
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::assign_operators()
+{
+ typename RegisterType::operator_mapping map;
+ m_regs.operator_map(map);
+
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ for (uint32_t index = 0; index < 4; index++)
+ {
+ uint32_t opnum = bitfield(map.chan[chnum], 8 * index, 8);
+ m_channel[chnum]->assign(index, (opnum == 0xff) ? nullptr : m_operator[opnum].get());
+ }
+}
+
+
+//-------------------------------------------------
+// update_timer - update the state of the given
+// timer
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::update_timer(uint32_t tnum, uint32_t enable)
+{
+ // if the timer is live, but not currently enabled, set the timer
+ if (enable && !m_timer_running[tnum])
+ {
+ // period comes from the registers, and is different for each
+ uint32_t period = (tnum == 0) ? (1024 - m_regs.timer_a_value()) : 16 * (256 - m_regs.timer_b_value());
+
+ // reset it
+ m_intf.ymfm_set_timer(tnum, period * OPERATORS * m_clock_prescale);
+ m_timer_running[tnum] = 1;
+ }
+
+ // if the timer is not live, ensure it is not enabled
+ else if (!enable)
+ {
+ m_intf.ymfm_set_timer(tnum, -1);
+ m_timer_running[tnum] = 0;
+ }
+}
+
+
+//-------------------------------------------------
+// engine_timer_expired - timer has expired - signal
+// status and possibly IRQs
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::engine_timer_expired(uint32_t tnum)
+{
+ // update status
+ if (tnum == 0 && m_regs.enable_timer_a())
+ set_reset_status(STATUS_TIMERA, 0);
+ else if (tnum == 1 && m_regs.enable_timer_b())
+ set_reset_status(STATUS_TIMERB, 0);
+
+ // if timer A fired in CSM mode, trigger CSM on all relevant channels
+ if (tnum == 0 && m_regs.csm())
+ for (uint32_t chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(RegisterType::CSM_TRIGGER_MASK, chnum))
+ m_channel[chnum]->keyonoff(1, KEYON_CSM, chnum);
+
+ // reset
+ m_timer_running[tnum] = false;
+ update_timer(tnum, 1);
+}
+
+
+//-------------------------------------------------
+// check_interrupts - check the interrupt sources
+// for interrupts
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::engine_check_interrupts()
+{
+ // update the state
+ uint8_t old_state = m_irq_state;
+ m_irq_state = ((m_status & m_irq_mask & ~m_regs.status_mask()) != 0);
+
+ // set the IRQ status bit
+ if (m_irq_state)
+ m_status |= STATUS_IRQ;
+ else
+ m_status &= ~STATUS_IRQ;
+
+ // if changed, signal the new state
+ if (old_state != m_irq_state)
+ m_intf.ymfm_update_irq(m_irq_state ? true : false);
+}
+
+
+//-------------------------------------------------
+// engine_mode_write - handle a mode register write
+// via timer callback
+//-------------------------------------------------
+
+template<class RegisterType>
+void fm_engine_base<RegisterType>::engine_mode_write(uint8_t data)
+{
+ // mark all channels as modified
+ m_modified_channels = ALL_CHANNELS;
+
+ // actually write the mode register now
+ uint32_t dummy1, dummy2;
+ m_regs.write(RegisterType::REG_MODE, data, dummy1, dummy2);
+
+ // reset IRQ status -- when written, all other bits are ignored
+ // QUESTION: should this maybe just reset the IRQ bit and not all the bits?
+ // That is, check_interrupts would only set, this would only clear?
+ if (m_regs.irq_reset())
+ set_reset_status(0, 0x78);
+ else
+ {
+ // reset timer status
+ uint8_t reset_mask = 0;
+ if (m_regs.reset_timer_b())
+ reset_mask |= RegisterType::STATUS_TIMERB;
+ if (m_regs.reset_timer_a())
+ reset_mask |= RegisterType::STATUS_TIMERA;
+ set_reset_status(0, reset_mask);
+
+ // load timers
+ update_timer(1, m_regs.load_timer_b());
+ update_timer(0, m_regs.load_timer_a());
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_misc.cpp b/3rdparty/ymfm/src/ymfm_misc.cpp
new file mode 100644
index 00000000000..fd0575f55fb
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_misc.cpp
@@ -0,0 +1,175 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_misc.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// YM2149
+//*********************************************************
+
+//-------------------------------------------------
+// ym2149 - constructor
+//-------------------------------------------------
+
+ym2149::ym2149(ymfm_interface &intf) :
+ m_address(0),
+ m_ssg(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2149::reset()
+{
+ // reset the engines
+ m_ssg.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2149::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_ssg.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ym2149::read_data()
+{
+ return m_ssg.read(m_address & 0x0f);
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2149::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 3) // BC2,BC1
+ {
+ case 0: // inactive
+ break;
+
+ case 1: // address
+ break;
+
+ case 2: // inactive
+ break;
+
+ case 3: // read
+ result = read_data();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2149::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2149::write_data(uint8_t data)
+{
+ m_ssg.write(m_address & 0x0f, data);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2149::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3) // BC2,BC1
+ {
+ case 0: // address
+ write_address(data);
+ break;
+
+ case 1: // inactive
+ break;
+
+ case 2: // write
+ write_data(data);
+ break;
+
+ case 3: // address
+ write_address(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of SSG sound
+//-------------------------------------------------
+
+void ym2149::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the SSG
+ m_ssg.clock();
+
+ // YM2149 keeps the three SSG outputs independent
+ m_ssg.output(*output);
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_misc.h b/3rdparty/ymfm/src/ymfm_misc.h
new file mode 100644
index 00000000000..0c3e2fa2310
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_misc.h
@@ -0,0 +1,94 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_MISC_H
+#define YMFM_MISC_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_adpcm.h"
+#include "ymfm_ssg.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// SSG IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym2149
+
+// ym2149 is just an SSG with no FM part, but we expose FM-like parts so that it
+// integrates smoothly with everything else; they just don't do anything
+class ym2149
+{
+public:
+ static constexpr uint32_t OUTPUTS = ssg_engine::OUTPUTS;
+ static constexpr uint32_t SSG_OUTPUTS = ssg_engine::OUTPUTS;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ym2149(ymfm_interface &intf);
+
+ // configuration
+ void ssg_override(ssg_override &intf) { m_ssg.override(intf); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return input_clock / ssg_engine::CLOCK_DIVIDER / 8; }
+
+ // read access
+ uint8_t read_data();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ ssg_engine m_ssg; // SSG engine
+};
+
+}
+
+
+#endif // YMFM_MISC_H
diff --git a/3rdparty/ymfm/src/ymfm_opl.cpp b/3rdparty/ymfm/src/ymfm_opl.cpp
new file mode 100644
index 00000000000..5819a411620
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opl.cpp
@@ -0,0 +1,2207 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_opl.h"
+#include "ymfm_fm.ipp"
+
+namespace ymfm
+{
+
+//-------------------------------------------------
+// opl_key_scale_atten - converts an
+// OPL concatenated block (3 bits) and fnum
+// (10 bits) into an attenuation offset; values
+// here are for 6dB/octave, in 0.75dB units
+// (matching total level LSB)
+//-------------------------------------------------
+
+inline uint32_t opl_key_scale_atten(uint32_t block, uint32_t fnum_4msb)
+{
+ // this table uses the top 4 bits of FNUM and are the maximal values
+ // (for when block == 7). Values for other blocks can be computed by
+ // subtracting 8 for each block below 7.
+ static uint8_t const fnum_to_atten[16] = { 0,24,32,37,40,43,45,47,48,50,51,52,53,54,55,56 };
+ int32_t result = fnum_to_atten[fnum_4msb] - 8 * (block ^ 7);
+ return std::max<int32_t>(0, result);
+}
+
+
+//*********************************************************
+// OPL REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// opl_registers_base - constructor
+//-------------------------------------------------
+
+template<int Revision>
+opl_registers_base<Revision>::opl_registers_base() :
+ m_lfo_am_counter(0),
+ m_lfo_pm_counter(0),
+ m_noise_lfsr(1),
+ m_lfo_am(0)
+{
+ // create these pointers to appease overzealous compilers checking array
+ // bounds in unreachable code (looking at you, clang)
+ uint16_t *wf0 = &m_waveform[0][0];
+ uint16_t *wf1 = &m_waveform[1 % WAVEFORMS][0];
+ uint16_t *wf2 = &m_waveform[2 % WAVEFORMS][0];
+ uint16_t *wf3 = &m_waveform[3 % WAVEFORMS][0];
+ uint16_t *wf4 = &m_waveform[4 % WAVEFORMS][0];
+ uint16_t *wf5 = &m_waveform[5 % WAVEFORMS][0];
+ uint16_t *wf6 = &m_waveform[6 % WAVEFORMS][0];
+ uint16_t *wf7 = &m_waveform[7 % WAVEFORMS][0];
+
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ wf0[index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+
+ if (WAVEFORMS >= 4)
+ {
+ uint16_t zeroval = wf0[0];
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ {
+ wf1[index] = bitfield(index, 9) ? zeroval : wf0[index];
+ wf2[index] = wf0[index] & 0x7fff;
+ wf3[index] = bitfield(index, 8) ? zeroval : (wf0[index] & 0x7fff);
+ if (WAVEFORMS >= 8)
+ {
+ wf4[index] = bitfield(index, 9) ? zeroval : wf0[index * 2];
+ wf5[index] = bitfield(index, 9) ? zeroval : wf0[(index * 2) & 0x1ff];
+ wf6[index] = bitfield(index, 9) << 15;
+ wf7[index] = (bitfield(index, 9) ? (index ^ 0x13ff) : index) << 3;
+ }
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+template<int Revision>
+void opl_registers_base<Revision>::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<int Revision>
+void opl_registers_base<Revision>::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_lfo_am_counter);
+ state.save_restore(m_lfo_pm_counter);
+ state.save_restore(m_lfo_am);
+ state.save_restore(m_noise_lfsr);
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPL this is fixed
+//-------------------------------------------------
+
+template<int Revision>
+void opl_registers_base<Revision>::operator_map(operator_mapping &dest) const
+{
+ if (Revision <= 2)
+ {
+ // OPL/OPL2 has a fixed map, all 2 operators
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 3 ), // Channel 0 operators
+ operator_list( 1, 4 ), // Channel 1 operators
+ operator_list( 2, 5 ), // Channel 2 operators
+ operator_list( 6, 9 ), // Channel 3 operators
+ operator_list( 7, 10 ), // Channel 4 operators
+ operator_list( 8, 11 ), // Channel 5 operators
+ operator_list( 12, 15 ), // Channel 6 operators
+ operator_list( 13, 16 ), // Channel 7 operators
+ operator_list( 14, 17 ), // Channel 8 operators
+ } };
+ dest = s_fixed_map;
+ }
+ else
+ {
+ // OPL3/OPL4 can be configured for 2 or 4 operators
+ uint32_t fourop = fourop_enable();
+
+ dest.chan[ 0] = bitfield(fourop, 0) ? operator_list( 0, 3, 6, 9 ) : operator_list( 0, 3 );
+ dest.chan[ 1] = bitfield(fourop, 1) ? operator_list( 1, 4, 7, 10 ) : operator_list( 1, 4 );
+ dest.chan[ 2] = bitfield(fourop, 2) ? operator_list( 2, 5, 8, 11 ) : operator_list( 2, 5 );
+ dest.chan[ 3] = bitfield(fourop, 0) ? operator_list() : operator_list( 6, 9 );
+ dest.chan[ 4] = bitfield(fourop, 1) ? operator_list() : operator_list( 7, 10 );
+ dest.chan[ 5] = bitfield(fourop, 2) ? operator_list() : operator_list( 8, 11 );
+ dest.chan[ 6] = operator_list( 12, 15 );
+ dest.chan[ 7] = operator_list( 13, 16 );
+ dest.chan[ 8] = operator_list( 14, 17 );
+
+ dest.chan[ 9] = bitfield(fourop, 3) ? operator_list( 18, 21, 24, 27 ) : operator_list( 18, 21 );
+ dest.chan[10] = bitfield(fourop, 4) ? operator_list( 19, 22, 25, 28 ) : operator_list( 19, 22 );
+ dest.chan[11] = bitfield(fourop, 5) ? operator_list( 20, 23, 26, 29 ) : operator_list( 20, 23 );
+ dest.chan[12] = bitfield(fourop, 3) ? operator_list() : operator_list( 24, 27 );
+ dest.chan[13] = bitfield(fourop, 4) ? operator_list() : operator_list( 25, 28 );
+ dest.chan[14] = bitfield(fourop, 5) ? operator_list() : operator_list( 26, 29 );
+ dest.chan[15] = operator_list( 30, 33 );
+ dest.chan[16] = operator_list( 31, 34 );
+ dest.chan[17] = operator_list( 32, 35 );
+ }
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array
+//-------------------------------------------------
+
+template<int Revision>
+bool opl_registers_base<Revision>::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ assert(index < REGISTERS);
+
+ // writes to the mode register with high bit set ignore the low bits
+ if (index == REG_MODE && bitfield(data, 7) != 0)
+ m_regdata[index] |= 0x80;
+ else
+ m_regdata[index] = data;
+
+ // handle writes to the rhythm keyons
+ if (index == 0xbd)
+ {
+ channel = RHYTHM_CHANNEL;
+ opmask = bitfield(data, 5) ? bitfield(data, 0, 5) : 0;
+ return true;
+ }
+
+ // handle writes to the channel keyons
+ if ((index & 0xf0) == 0xb0)
+ {
+ channel = index & 0x0f;
+ if (channel < 9)
+ {
+ if (IsOpl3Plus)
+ channel += 9 * bitfield(index, 8);
+ opmask = bitfield(data, 5) ? 15 : 0;
+ return true;
+ }
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+static int32_t opl_clock_noise_and_lfo(uint32_t &noise_lfsr, uint16_t &lfo_am_counter, uint16_t &lfo_pm_counter, uint8_t &lfo_am, uint32_t am_depth, uint32_t pm_depth)
+{
+ // OPL has a 23-bit noise generator for the rhythm section, running at
+ // a constant rate, used only for percussion input
+ noise_lfsr <<= 1;
+ noise_lfsr |= bitfield(noise_lfsr, 23) ^ bitfield(noise_lfsr, 9) ^ bitfield(noise_lfsr, 8) ^ bitfield(noise_lfsr, 1);
+
+ // OPL has two fixed-frequency LFOs, one for AM, one for PM
+
+ // the AM LFO has 210*64 steps; at a nominal 50kHz output,
+ // this equates to a period of 50000/(210*64) = 3.72Hz
+ uint32_t am_counter = lfo_am_counter++;
+ if (am_counter >= 210*64 - 1)
+ lfo_am_counter = 0;
+
+ // low 8 bits are fractional; depth 0 is divided by 2, while depth 1 is times 2
+ int shift = 9 - 2 * am_depth;
+
+ // AM value is the upper bits of the value, inverted across the midpoint
+ // to produce a triangle
+ lfo_am = ((am_counter < 105*64) ? am_counter : (210*64+63 - am_counter)) >> shift;
+
+ // the PM LFO has 8192 steps, or a nominal period of 6.1Hz
+ uint32_t pm_counter = lfo_pm_counter++;
+
+ // PM LFO is broken into 8 chunks, each lasting 1024 steps; the PM value
+ // depends on the upper bits of FNUM, so this value is a fraction and
+ // sign to apply to that value, as a 1.3 value
+ static int8_t const pm_scale[8] = { 8, 4, 0, -4, -8, -4, 0, 4 };
+ return pm_scale[bitfield(pm_counter, 10, 3)] >> (pm_depth ^ 1);
+}
+
+template<int Revision>
+int32_t opl_registers_base<Revision>::clock_noise_and_lfo()
+{
+ return opl_clock_noise_and_lfo(m_noise_lfsr, m_lfo_am_counter, m_lfo_pm_counter, m_lfo_am, lfo_am_depth(), lfo_pm_depth());
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data; note that this code is
+// also used by ymopna_registers, so it must
+// handle upper channels cleanly
+//-------------------------------------------------
+
+template<int Revision>
+void opl_registers_base<Revision>::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // set up the easy stuff
+ cache.waveform = &m_waveform[op_waveform(opoffs) % WAVEFORMS][0];
+
+ // get frequency from the channel
+ uint32_t block_freq = cache.block_freq = ch_block_freq(choffs);
+
+ // compute the keycode: block_freq is:
+ //
+ // 111 |
+ // 21098|76543210
+ // BBBFF|FFFFFFFF
+ // ^^^??
+ //
+ // the 4-bit keycode uses the top 3 bits plus one of the next two bits
+ uint32_t keycode = bitfield(block_freq, 10, 3) << 1;
+
+ // lowest bit is determined by note_select(); note that it is
+ // actually reversed from what the manual says, however
+ keycode |= bitfield(block_freq, 9 - note_select(), 1);
+
+ // no detune adjustment on OPL
+ cache.detune = 0;
+
+ // multiple value, as an x.1 value (0 means 0.5)
+ // replace the low bit with a table lookup to give 0,1,2,3,4,5,6,7,8,9,10,10,12,12,15,15
+ uint32_t multiple = op_multiple(opoffs);
+ cache.multiple = ((multiple & 0xe) | bitfield(0xc2aa, multiple)) * 2;
+ if (cache.multiple == 0)
+ cache.multiple = 1;
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on block_freq, detune,
+ // and multiple, so compute it after we've done those
+ if (op_lfo_pm_enable(opoffs) == 0)
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8
+ cache.total_level = op_total_level(opoffs) << 3;
+
+ // pre-add key scale level
+ uint32_t ksl = op_ksl(opoffs);
+ if (ksl != 0)
+ cache.total_level += opl_key_scale_atten(bitfield(block_freq, 10, 3), bitfield(block_freq, 6, 4)) << ksl;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // determine KSR adjustment for enevlope rates
+ uint32_t ksrval = keycode >> (2 * (op_ksr(opoffs) ^ 1));
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_SUSTAIN] = op_eg_sustain(opoffs) ? 0 : effective_rate(op_release_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_RELEASE] = effective_rate(op_release_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_DEPRESS] = 0x3f;
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+static uint32_t opl_compute_phase_step(uint32_t block_freq, uint32_t multiple, int32_t lfo_raw_pm)
+{
+ // OPL phase calculation has no detuning, but uses FNUMs like
+ // the OPN version, and computes PM a bit differently
+
+ // extract frequency number as a 12-bit fraction
+ uint32_t fnum = bitfield(block_freq, 0, 10) << 2;
+
+ // apply the phase adjustment based on the upper 3 bits
+ // of FNUM and the PM depth parameters
+ fnum += (lfo_raw_pm * bitfield(block_freq, 7, 3)) >> 1;
+
+ // keep fnum to 12 bits
+ fnum &= 0xfff;
+
+ // apply block shift to compute phase step
+ uint32_t block = bitfield(block_freq, 10, 3);
+ uint32_t phase_step = (fnum << block) >> 2;
+
+ // apply frequency multiplier (which is cached as an x.1 value)
+ return (phase_step * multiple) >> 1;
+}
+
+template<int Revision>
+uint32_t opl_registers_base<Revision>::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ return opl_compute_phase_step(cache.block_freq, cache.multiple, op_lfo_pm_enable(opoffs) ? lfo_raw_pm : 0);
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+template<int Revision>
+std::string opl_registers_base<Revision>::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = (choffs & 15) + 9 * bitfield(choffs, 8);
+ uint32_t opnum = (opoffs & 31) - 2 * ((opoffs & 31) / 8) + 18 * bitfield(opoffs, 8);
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%2d.%02d freq=%04X fb=%d alg=%X mul=%X tl=%02X ksr=%d ns=%d ksl=%d adr=%X/%X/%X sl=%X sus=%d",
+ chnum, opnum,
+ ch_block_freq(choffs),
+ ch_feedback(choffs),
+ ch_algorithm(choffs),
+ op_multiple(opoffs),
+ op_total_level(opoffs),
+ op_ksr(opoffs),
+ note_select(),
+ op_ksl(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs),
+ op_eg_sustain(opoffs));
+
+ if (OUTPUTS > 1)
+ end += sprintf(end, " out=%c%c%c%c",
+ ch_output_0(choffs) ? 'L' : '-',
+ ch_output_1(choffs) ? 'R' : '-',
+ ch_output_2(choffs) ? '0' : '-',
+ ch_output_3(choffs) ? '1' : '-');
+ if (op_lfo_am_enable(opoffs) != 0)
+ end += sprintf(end, " am=%d", lfo_am_depth());
+ if (op_lfo_pm_enable(opoffs) != 0)
+ end += sprintf(end, " pm=%d", lfo_pm_depth());
+ if (waveform_enable() && op_waveform(opoffs) != 0)
+ end += sprintf(end, " wf=%d", op_waveform(opoffs));
+ if (is_rhythm(choffs))
+ end += sprintf(end, " rhy=1");
+ if (DYNAMIC_OPS)
+ {
+ operator_mapping map;
+ operator_map(map);
+ if (bitfield(map.chan[chnum], 16, 8) != 0xff)
+ end += sprintf(end, " 4op");
+ }
+
+ return buffer;
+}
+
+
+//*********************************************************
+// OPLL SPECIFICS
+//*********************************************************
+
+//-------------------------------------------------
+// opll_registers - constructor
+//-------------------------------------------------
+
+opll_registers::opll_registers() :
+ m_lfo_am_counter(0),
+ m_lfo_pm_counter(0),
+ m_noise_lfsr(1),
+ m_lfo_am(0)
+{
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[0][index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+
+ uint16_t zeroval = m_waveform[0][0];
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[1][index] = bitfield(index, 9) ? zeroval : m_waveform[0][index];
+
+ // initialize the instruments to something sane
+ for (uint32_t choffs = 0; choffs < CHANNELS; choffs++)
+ m_chinst[choffs] = &m_regdata[0];
+ for (uint32_t opoffs = 0; opoffs < OPERATORS; opoffs++)
+ m_opinst[opoffs] = &m_regdata[bitfield(opoffs, 0)];
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+void opll_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void opll_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_lfo_am_counter);
+ state.save_restore(m_lfo_pm_counter);
+ state.save_restore(m_lfo_am);
+ state.save_restore(m_noise_lfsr);
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPLL this is fixed
+//-------------------------------------------------
+
+void opll_registers::operator_map(operator_mapping &dest) const
+{
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 1 ), // Channel 0 operators
+ operator_list( 2, 3 ), // Channel 1 operators
+ operator_list( 4, 5 ), // Channel 2 operators
+ operator_list( 6, 7 ), // Channel 3 operators
+ operator_list( 8, 9 ), // Channel 4 operators
+ operator_list( 10, 11 ), // Channel 5 operators
+ operator_list( 12, 13 ), // Channel 6 operators
+ operator_list( 14, 15 ), // Channel 7 operators
+ operator_list( 16, 17 ), // Channel 8 operators
+ } };
+ dest = s_fixed_map;
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array;
+// note that this code is also used by
+// ymopl3_registers, so it must handle upper
+// channels cleanly
+//-------------------------------------------------
+
+bool opll_registers::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ // unclear the address is masked down to 6 bits or if writes above
+ // the register top are ignored; assuming the latter for now
+ if (index >= REGISTERS)
+ return false;
+
+ // write the new data
+ m_regdata[index] = data;
+
+ // handle writes to the rhythm keyons
+ if (index == 0x0e)
+ {
+ channel = RHYTHM_CHANNEL;
+ opmask = bitfield(data, 5) ? bitfield(data, 0, 5) : 0;
+ return true;
+ }
+
+ // handle writes to the channel keyons
+ if ((index & 0xf0) == 0x20)
+ {
+ channel = index & 0x0f;
+ if (channel < CHANNELS)
+ {
+ opmask = bitfield(data, 4) ? 3 : 0;
+ return true;
+ }
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+int32_t opll_registers::clock_noise_and_lfo()
+{
+ // implementation is the same as OPL with fixed depths
+ return opl_clock_noise_and_lfo(m_noise_lfsr, m_lfo_am_counter, m_lfo_pm_counter, m_lfo_am, 1, 1);
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data; note that this code is
+// also used by ymopna_registers, so it must
+// handle upper channels cleanly
+//-------------------------------------------------
+
+void opll_registers::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // first set up the instrument data
+ uint32_t instrument = ch_instrument(choffs);
+ if (rhythm_enable() && choffs >= 6)
+ m_chinst[choffs] = &m_instdata[8 * (15 + (choffs - 6))];
+ else
+ m_chinst[choffs] = (instrument == 0) ? &m_regdata[0] : &m_instdata[8 * (instrument - 1)];
+ m_opinst[opoffs] = m_chinst[choffs] + bitfield(opoffs, 0);
+
+ // set up the easy stuff
+ cache.waveform = &m_waveform[op_waveform(opoffs) % WAVEFORMS][0];
+
+ // get frequency from the channel
+ uint32_t block_freq = cache.block_freq = ch_block_freq(choffs);
+
+ // compute the keycode: block_freq is:
+ //
+ // 11 |
+ // 1098|76543210
+ // BBBF|FFFFFFFF
+ // ^^^^
+ //
+ // the 4-bit keycode uses the top 4 bits
+ uint32_t keycode = bitfield(block_freq, 8, 4);
+
+ // no detune adjustment on OPLL
+ cache.detune = 0;
+
+ // multiple value, as an x.1 value (0 means 0.5)
+ // replace the low bit with a table lookup to give 0,1,2,3,4,5,6,7,8,9,10,10,12,12,15,15
+ uint32_t multiple = op_multiple(opoffs);
+ cache.multiple = ((multiple & 0xe) | bitfield(0xc2aa, multiple)) * 2;
+ if (cache.multiple == 0)
+ cache.multiple = 1;
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
+ // block_freq, detune, and multiple, so compute it after we've done those
+ if (op_lfo_pm_enable(opoffs) == 0)
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8; for non-rhythm operator 0, this is the total
+ // level from the instrument data; for other operators it is 4*volume
+ if (bitfield(opoffs, 0) == 1 || (rhythm_enable() && choffs >= 7))
+ cache.total_level = op_volume(opoffs) * 4;
+ else
+ cache.total_level = ch_total_level(choffs);
+ cache.total_level <<= 3;
+
+ // pre-add key scale level
+ uint32_t ksl = op_ksl(opoffs);
+ if (ksl != 0)
+ cache.total_level += opl_key_scale_atten(bitfield(block_freq, 9, 3), bitfield(block_freq, 5, 4)) << ksl;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // The envelope diagram in the YM2413 datasheet gives values for these
+ // in ms from 0->48dB. The attack/decay tables give values in ms from
+ // 0->96dB, so to pick an equivalent decay rate, we want to find the
+ // closest match that is 2x the 0->48dB value:
+ //
+ // DP = 10ms (0->48db) -> 20ms (0->96db); decay of 12 gives 19.20ms
+ // RR = 310ms (0->48db) -> 620ms (0->96db); decay of 7 gives 613.76ms
+ // RS = 1200ms (0->48db) -> 2400ms (0->96db); decay of 5 gives 2455.04ms
+ //
+ // The envelope diagram for percussive sounds (eg_sustain() == 0) also uses
+ // "RR" to mean both the constant RR above and the Release Rate specified in
+ // the instrument data. In this case, Relief Pitcher's credit sound bears out
+ // that the Release Rate is used during sustain, and that the constant RR
+ // (or RS) is used during the release phase.
+ constexpr uint8_t DP = 12 * 4;
+ constexpr uint8_t RR = 7 * 4;
+ constexpr uint8_t RS = 5 * 4;
+
+ // determine KSR adjustment for envelope rates
+ uint32_t ksrval = keycode >> (2 * (op_ksr(opoffs) ^ 1));
+ cache.eg_rate[EG_DEPRESS] = DP;
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 4, ksrval);
+ if (op_eg_sustain(opoffs))
+ {
+ cache.eg_rate[EG_SUSTAIN] = 0;
+ cache.eg_rate[EG_RELEASE] = ch_sustain(choffs) ? RS : effective_rate(op_release_rate(opoffs) * 4, ksrval);
+ }
+ else
+ {
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(op_release_rate(opoffs) * 4, ksrval);
+ cache.eg_rate[EG_RELEASE] = ch_sustain(choffs) ? RS : RR;
+ }
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+uint32_t opll_registers::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ // phase step computation is the same as OPL but the block_freq has one
+ // more bit, which we shift in
+ return opl_compute_phase_step(cache.block_freq << 1, cache.multiple, op_lfo_pm_enable(opoffs) ? lfo_raw_pm : 0);
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+std::string opll_registers::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = choffs;
+ uint32_t opnum = opoffs;
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%d.%02d freq=%04X inst=%X fb=%d mul=%X",
+ chnum, opnum,
+ ch_block_freq(choffs),
+ ch_instrument(choffs),
+ ch_feedback(choffs),
+ op_multiple(opoffs));
+
+ if (bitfield(opoffs, 0) == 1 || (is_rhythm(choffs) && choffs >= 6))
+ end += sprintf(end, " vol=%X", op_volume(opoffs));
+ else
+ end += sprintf(end, " tl=%02X", ch_total_level(choffs));
+
+ end += sprintf(end, " ksr=%d ksl=%d adr=%X/%X/%X sl=%X sus=%d/%d",
+ op_ksr(opoffs),
+ op_ksl(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs),
+ op_eg_sustain(opoffs),
+ ch_sustain(choffs));
+
+ if (op_lfo_am_enable(opoffs))
+ end += sprintf(end, " am=1");
+ if (op_lfo_pm_enable(opoffs))
+ end += sprintf(end, " pm=1");
+ if (op_waveform(opoffs) != 0)
+ end += sprintf(end, " wf=1");
+ if (is_rhythm(choffs))
+ end += sprintf(end, " rhy=1");
+
+ return buffer;
+}
+
+
+
+//*********************************************************
+// YM3526
+//*********************************************************
+
+//-------------------------------------------------
+// ym3526 - constructor
+//-------------------------------------------------
+
+ym3526::ym3526(ymfm_interface &intf) :
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym3526::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym3526::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym3526::read_status()
+{
+ return m_fm.status() | 0x06;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym3526::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1: // when A0=1 datasheet says "the data on the bus are not guaranteed"
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym3526::write_address(uint8_t data)
+{
+ // YM3526 doesn't expose a busy signal, and the datasheets don't indicate
+ // delays, but all other OPL chips need 12 cycles for address writes
+ m_fm.intf().ymfm_set_busy_end(12 * m_fm.clock_prescale());
+
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym3526::write_data(uint8_t data)
+{
+ // YM3526 doesn't expose a busy signal, and the datasheets don't indicate
+ // delays, but all other OPL chips need 84 cycles for data writes
+ m_fm.intf().ymfm_set_busy_end(84 * m_fm.clock_prescale());
+
+ // write to FM
+ m_fm.write(m_address, data);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym3526::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of sound
+//-------------------------------------------------
+
+void ym3526::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; mixing details for YM3526 need verification
+ m_fm.output(output->clear(), 1, 32767, fm_engine::ALL_CHANNELS);
+
+ // YM3526 uses an external DAC (YM3014) with mantissa/exponent format
+ // convert to 10.3 floating point value and back to simulate truncation
+ output->roundtrip_fp();
+ }
+}
+
+
+
+//*********************************************************
+// Y8950
+//*********************************************************
+
+//-------------------------------------------------
+// y8950 - constructor
+//-------------------------------------------------
+
+y8950::y8950(ymfm_interface &intf) :
+ m_address(0),
+ m_io_ddr(0),
+ m_fm(intf),
+ m_adpcm_b(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void y8950::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_adpcm_b.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void y8950::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_io_ddr);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t y8950::read_status()
+{
+ // start with current FM status, masking out bits we might set
+ uint8_t status = m_fm.status() & ~(STATUS_ADPCM_B_EOS | STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_PLAYING);
+
+ // insert the live ADPCM status bits
+ uint8_t adpcm_status = m_adpcm_b.status();
+ if ((adpcm_status & adpcm_b_channel::STATUS_EOS) != 0)
+ status |= STATUS_ADPCM_B_EOS;
+ if ((adpcm_status & adpcm_b_channel::STATUS_BRDY) != 0)
+ status |= STATUS_ADPCM_B_BRDY;
+ if ((adpcm_status & adpcm_b_channel::STATUS_PLAYING) != 0)
+ status |= STATUS_ADPCM_B_PLAYING;
+
+ // run it through the FM engine to handle interrupts for us
+ return m_fm.set_reset_status(status, ~status);
+}
+
+
+//-------------------------------------------------
+// read_data - read the data port
+//-------------------------------------------------
+
+uint8_t y8950::read_data()
+{
+ uint8_t result = 0xff;
+ switch (m_address)
+ {
+ case 0x05: // keyboard in
+ result = m_fm.intf().ymfm_external_read(ACCESS_IO, 1);
+ break;
+
+ case 0x09: // ADPCM data
+ case 0x1a:
+ result = m_adpcm_b.read(m_address - 0x07);
+ break;
+
+ case 0x19: // I/O data
+ result = m_fm.intf().ymfm_external_read(ACCESS_IO, 0);
+ break;
+
+ default:
+ debug::log_unexpected_read_write("Unexpected read from Y8950 data port %02X\n", m_address);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t y8950::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1: // when A0=1 datasheet says "the data on the bus are not guaranteed"
+ result = read_data();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void y8950::write_address(uint8_t data)
+{
+ // Y8950 doesn't expose a busy signal, but it does indicate that
+ // address writes should be no faster than every 12 clocks
+ m_fm.intf().ymfm_set_busy_end(12 * m_fm.clock_prescale());
+
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void y8950::write_data(uint8_t data)
+{
+ // Y8950 doesn't expose a busy signal, but it does indicate that
+ // data writes should be no faster than every 12 clocks for
+ // registers 00-1A, or every 84 clocks for other registers
+ m_fm.intf().ymfm_set_busy_end(((m_address <= 0x1a) ? 12 : 84) * m_fm.clock_prescale());
+
+ // handle special addresses
+ switch (m_address)
+ {
+ case 0x04: // IRQ control
+ m_fm.write(m_address, data);
+ read_status();
+ break;
+
+ case 0x06: // keyboard out
+ m_fm.intf().ymfm_external_write(ACCESS_IO, 1, data);
+ break;
+
+ case 0x08: // split FM/ADPCM-B
+ m_adpcm_b.write(m_address - 0x07, (data & 0x0f) | 0x80);
+ m_fm.write(m_address, data & 0xc0);
+ break;
+
+ case 0x07: // ADPCM-B registers
+ case 0x09:
+ case 0x0a:
+ case 0x0b:
+ case 0x0c:
+ case 0x0d:
+ case 0x0e:
+ case 0x0f:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ m_adpcm_b.write(m_address - 0x07, data);
+ break;
+
+ case 0x18: // I/O direction
+ m_io_ddr = data & 0x0f;
+ break;
+
+ case 0x19: // I/O data
+ m_fm.intf().ymfm_external_write(ACCESS_IO, 0, data & m_io_ddr);
+ break;
+
+ default: // everything else to FM
+ m_fm.write(m_address, data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void y8950::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of sound
+//-------------------------------------------------
+
+void y8950::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+ m_adpcm_b.clock();
+
+ // update the FM content; clipping need verification
+ m_fm.output(output->clear(), 1, 32767, fm_engine::ALL_CHANNELS);
+
+ // mix in the ADPCM; ADPCM-B is stereo, but only one channel
+ // not sure how it's wired up internally
+ m_adpcm_b.output(*output, 3);
+
+ // Y8950 uses an external DAC (YM3014) with mantissa/exponent format
+ // convert to 10.3 floating point value and back to simulate truncation
+ output->roundtrip_fp();
+ }
+}
+
+
+
+//*********************************************************
+// YM3812
+//*********************************************************
+
+//-------------------------------------------------
+// ym3812 - constructor
+//-------------------------------------------------
+
+ym3812::ym3812(ymfm_interface &intf) :
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym3812::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym3812::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym3812::read_status()
+{
+ return m_fm.status() | 0x06;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym3812::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1: // "inhibit" according to datasheet
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym3812::write_address(uint8_t data)
+{
+ // YM3812 doesn't expose a busy signal, but it does indicate that
+ // address writes should be no faster than every 12 clocks
+ m_fm.intf().ymfm_set_busy_end(12 * m_fm.clock_prescale());
+
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym3812::write_data(uint8_t data)
+{
+ // YM3812 doesn't expose a busy signal, but it does indicate that
+ // data writes should be no faster than every 84 clocks
+ m_fm.intf().ymfm_set_busy_end(84 * m_fm.clock_prescale());
+
+ // write to FM
+ m_fm.write(m_address, data);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym3812::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of sound
+//-------------------------------------------------
+
+void ym3812::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; mixing details for YM3812 need verification
+ m_fm.output(output->clear(), 1, 32767, fm_engine::ALL_CHANNELS);
+
+ // YM3812 uses an external DAC (YM3014) with mantissa/exponent format
+ // convert to 10.3 floating point value and back to simulate truncation
+ output->roundtrip_fp();
+ }
+}
+
+
+
+//*********************************************************
+// YMF262
+//*********************************************************
+
+//-------------------------------------------------
+// ymf262 - constructor
+//-------------------------------------------------
+
+ymf262::ymf262(ymfm_interface &intf) :
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ymf262::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ymf262::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ymf262::read_status()
+{
+ return m_fm.status();
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ymf262::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 3)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1:
+ case 2:
+ case 3:
+ debug::log_unexpected_read_write("Unexpected read from YMF262 offset %d\n", offset & 3);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ymf262::write_address(uint8_t data)
+{
+ // YMF262 doesn't expose a busy signal, but it does indicate that
+ // address writes should be no faster than every 32 clocks
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write_data - handle a write to the data
+// register
+//-------------------------------------------------
+
+void ymf262::write_data(uint8_t data)
+{
+ // YMF262 doesn't expose a busy signal, but it does indicate that
+ // data writes should be no faster than every 32 clocks
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+
+ // write to FM
+ m_fm.write(m_address, data);
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ymf262::write_address_hi(uint8_t data)
+{
+ // YMF262 doesn't expose a busy signal, but it does indicate that
+ // address writes should be no faster than every 32 clocks
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+
+ // just set the address
+ m_address = data | 0x100;
+
+ // tests reveal that in compatibility mode, upper bit is masked
+ // except for register 0x105
+ if (m_fm.regs().newflag() == 0 && m_address != 0x105)
+ m_address &= 0xff;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ymf262::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // address port
+ write_address_hi(data);
+ break;
+
+ case 3: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of sound
+//-------------------------------------------------
+
+void ymf262::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; mixing details for YMF262 need verification
+ m_fm.output(output->clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // YMF262 output is 16-bit offset serial via YAC512 DAC
+ output->clamp16();
+ }
+}
+
+
+
+//*********************************************************
+// YMF289B
+//*********************************************************
+
+// YMF289B is a YMF262 with the following changes:
+// * "Power down" mode added
+// * Bulk register clear added
+// * Busy flag added to the status register
+// * Shorter busy times
+// * All registers can be read
+// * Only 2 outputs exposed
+
+//-------------------------------------------------
+// ymf289b - constructor
+//-------------------------------------------------
+
+ymf289b::ymf289b(ymfm_interface &intf) :
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ymf289b::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ymf289b::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ymf289b::read_status()
+{
+ uint8_t result = m_fm.status();
+
+ // YMF289B adds a busy flag
+ if (ymf289b_mode() && m_fm.intf().ymfm_is_busy())
+ result |= STATUS_BUSY_FLAGS;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ymf289b::read_data()
+{
+ uint8_t result = 0xff;
+
+ // YMF289B can read register data back
+ if (ymf289b_mode())
+ result = m_fm.regs().read(m_address);
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ymf289b::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 3)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1: // data port
+ result = read_data();
+ break;
+
+ case 2:
+ case 3:
+ debug::log_unexpected_read_write("Unexpected read from YMF289B offset %d\n", offset & 3);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ymf289b::write_address(uint8_t data)
+{
+ m_address = data;
+
+ // count busy time
+ m_fm.intf().ymfm_set_busy_end(56);
+}
+
+
+//-------------------------------------------------
+// write_data - handle a write to the data
+// register
+//-------------------------------------------------
+
+void ymf289b::write_data(uint8_t data)
+{
+ // write to FM
+ m_fm.write(m_address, data);
+
+ // writes to 0x108 with the CLR flag set clear the registers
+ if (m_address == 0x108 && bitfield(data, 2) != 0)
+ m_fm.regs().reset();
+
+ // count busy time
+ m_fm.intf().ymfm_set_busy_end(56);
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ymf289b::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = data | 0x100;
+
+ // tests reveal that in compatibility mode, upper bit is masked
+ // except for register 0x105
+ if (m_fm.regs().newflag() == 0 && m_address != 0x105)
+ m_address &= 0xff;
+
+ // count busy time
+ m_fm.intf().ymfm_set_busy_end(56);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ymf289b::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // address port
+ write_address_hi(data);
+ break;
+
+ case 3: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate samples of sound
+//-------------------------------------------------
+
+void ymf289b::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; mixing details for YMF262 need verification
+ fm_engine::output_data full;
+ m_fm.output(full.clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // YMF278B output is 16-bit offset serial via YAC512 DAC, but
+ // only 2 of the 4 outputs are exposed
+ output->data[0] = full.data[0];
+ output->data[1] = full.data[1];
+ output->clamp16();
+ }
+}
+
+
+
+//*********************************************************
+// YMF278B
+//*********************************************************
+
+//-------------------------------------------------
+// ymf278b - constructor
+//-------------------------------------------------
+
+ymf278b::ymf278b(ymfm_interface &intf) :
+ m_address(0),
+ m_fm_pos(0),
+ m_load_remaining(0),
+ m_next_status_id(false),
+ m_fm(intf),
+ m_pcm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ymf278b::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_pcm.reset();
+
+ // next status read will return ID
+ m_next_status_id = true;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ymf278b::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_fm_pos);
+ state.save_restore(m_load_remaining);
+ state.save_restore(m_next_status_id);
+ m_fm.save_restore(state);
+ m_pcm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ymf278b::read_status()
+{
+ uint8_t result;
+
+ // first status read after initialization returns a chip ID, which
+ // varies based on the "new" flags, indicating the mode
+ if (m_next_status_id)
+ {
+ if (m_fm.regs().new2flag())
+ result = 0x02;
+ else if (m_fm.regs().newflag())
+ result = 0x00;
+ else
+ result = 0x06;
+ m_next_status_id = false;
+ }
+ else
+ {
+ result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= STATUS_BUSY;
+ if (m_load_remaining != 0)
+ result |= STATUS_LD;
+
+ // if new2 flag is not set, we're in OPL2 or OPL3 mode
+ if (!m_fm.regs().new2flag())
+ result &= ~(STATUS_BUSY | STATUS_LD);
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_data_pcm - handle a write to the PCM data
+// register
+//-------------------------------------------------
+
+uint8_t ymf278b::read_data_pcm()
+{
+ // write to FM
+ if (bitfield(m_address, 9) != 0)
+ return m_pcm.read(m_address & 0xff);
+ return 0;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ymf278b::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 7)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 5: // PCM data port
+ result = read_data_pcm();
+ break;
+
+ default:
+ debug::log_unexpected_read_write("Unexpected read from ymf278b offset %d\n", offset & 3);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ymf278b::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write_data - handle a write to the data
+// register
+//-------------------------------------------------
+
+void ymf278b::write_data(uint8_t data)
+{
+ // write to FM
+ if (bitfield(m_address, 9) == 0)
+ {
+ uint8_t old = m_fm.regs().new2flag();
+ m_fm.write(m_address, data);
+
+ // changing NEW2 from 0->1 causes the next status read to
+ // return the chip ID
+ if (old == 0 && m_fm.regs().new2flag() != 0)
+ m_next_status_id = true;
+ }
+
+ // BUSY goes for 56 clocks on FM writes
+ m_fm.intf().ymfm_set_busy_end(56);
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ymf278b::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = data | 0x100;
+
+ // YMF262, in compatibility mode, treats the upper bit as masked
+ // except for register 0x105; assuming YMF278B works the same way?
+ if (m_fm.regs().newflag() == 0 && m_address != 0x105)
+ m_address &= 0xff;
+}
+
+
+//-------------------------------------------------
+// write_address_pcm - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ymf278b::write_address_pcm(uint8_t data)
+{
+ // just set the address
+ m_address = data | 0x200;
+
+ // YMF262, in compatibility mode, treats the upper bit as masked
+ // except for register 0x105; assuming YMF278B works the same way?
+ if (m_fm.regs().newflag() == 0 && m_address != 0x105)
+ m_address &= 0xff;
+}
+
+
+//-------------------------------------------------
+// write_data_pcm - handle a write to the PCM data
+// register
+//-------------------------------------------------
+
+void ymf278b::write_data_pcm(uint8_t data)
+{
+ // write to FM
+ if (bitfield(m_address, 9) != 0)
+ m_pcm.write(m_address & 0xff, data);
+
+ // writes to the waveform number cause loads to happen for "about 300usec"
+ // which is ~13 samples at the nominal output frequency of 44.1kHz
+ if (m_address >= 0x08 && m_address <= 0x1f)
+ m_load_remaining = 13;
+
+ // BUSY goes for 88 clocks on PCM writes
+ m_fm.intf().ymfm_set_busy_end(88);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ymf278b::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 7)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // address port
+ write_address_hi(data);
+ break;
+
+ case 3: // data port
+ write_data(data);
+ break;
+
+ case 4: // PCM address port
+ write_address_pcm(data);
+ break;
+
+ case 5: // PCM address port
+ write_data_pcm(data);
+ break;
+
+ default:
+ debug::log_unexpected_read_write("Unexpected write to ymf278b offset %d\n", offset & 7);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ymf278b::generate(output_data *output, uint32_t numsamples)
+{
+ static const int16_t s_mix_scale[8] = { 0x7fa, 0x5a4, 0x3fd, 0x2d2, 0x1fe, 0x169, 0xff, 0 };
+ int32_t const pcm_l = s_mix_scale[m_pcm.regs().mix_pcm_l()];
+ int32_t const pcm_r = s_mix_scale[m_pcm.regs().mix_pcm_r()];
+ int32_t const fm_l = s_mix_scale[m_pcm.regs().mix_fm_l()];
+ int32_t const fm_r = s_mix_scale[m_pcm.regs().mix_fm_r()];
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm_pos += FM_EXTRA_SAMPLE_STEP;
+ if (m_fm_pos >= FM_EXTRA_SAMPLE_THRESH)
+ {
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+ m_fm_pos -= FM_EXTRA_SAMPLE_THRESH;
+ }
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+ m_pcm.clock(pcm_engine::ALL_CHANNELS);
+
+ // update the FM content; mixing details for YMF278B need verification
+ fm_engine::output_data fmout;
+ m_fm.output(fmout.clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // update the PCM content
+ pcm_engine::output_data pcmout;
+ m_pcm.output(pcmout.clear(), pcm_engine::ALL_CHANNELS);
+
+ // DO0 output: FM channels 2+3 only
+ output->data[0] = fmout.data[2];
+ output->data[1] = fmout.data[3];
+
+ // DO1 output: wavetable channels 2+3 only
+ output->data[2] = pcmout.data[2];
+ output->data[3] = pcmout.data[3];
+
+ // DO2 output: mixed FM channels 0+1 and wavetable channels 0+1
+ output->data[4] = (fmout.data[0] * fm_l + pcmout.data[0] * pcm_l) >> 11;
+ output->data[5] = (fmout.data[1] * fm_r + pcmout.data[1] * pcm_r) >> 11;
+
+ // YMF278B output is 16-bit 2s complement serial
+ output->clamp16();
+ }
+
+ // decrement the load waiting count
+ if (m_load_remaining > 0)
+ m_load_remaining -= std::min(m_load_remaining, numsamples);
+}
+
+
+
+//*********************************************************
+// OPLL BASE
+//*********************************************************
+
+//-------------------------------------------------
+// opll_base - constructor
+//-------------------------------------------------
+
+opll_base::opll_base(ymfm_interface &intf, uint8_t const *instrument_data) :
+ m_address(0),
+ m_fm(intf)
+{
+ m_fm.regs().set_instrument_data(instrument_data);
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void opll_base::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void opll_base::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void opll_base::write_address(uint8_t data)
+{
+ // OPLL doesn't expose a busy signal, but datasheets are pretty consistent
+ // in indicating that address writes should be no faster than every 12 clocks
+ m_fm.intf().ymfm_set_busy_end(12);
+
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void opll_base::write_data(uint8_t data)
+{
+ // OPLL doesn't expose a busy signal, but datasheets are pretty consistent
+ // in indicating that address writes should be no faster than every 84 clocks
+ m_fm.intf().ymfm_set_busy_end(84);
+
+ // write to FM
+ m_fm.write(m_address, data);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void opll_base::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void opll_base::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; OPLL has a built-in 9-bit DAC
+ m_fm.output(output->clear(), 5, 256, fm_engine::ALL_CHANNELS);
+
+ // final output is multiplexed; we don't simulate that here except
+ // to average over everything
+ output->data[0] = (output->data[0] << 7) / 9;
+ output->data[1] = (output->data[1] << 7) / 9;
+ }
+}
+
+
+
+//*********************************************************
+// YM2413
+//*********************************************************
+
+//-------------------------------------------------
+// ym2413 - constructor
+//-------------------------------------------------
+
+ym2413::ym2413(ymfm_interface &intf, uint8_t const *instrument_data) :
+ opll_base(intf, (instrument_data != nullptr) ? instrument_data : s_default_instruments)
+{
+};
+
+// table below taken from https://github.com/plgDavid/misc/wiki/Copyright-free-OPLL(x)-ROM-patches
+uint8_t const ym2413::s_default_instruments[] =
+{
+ //April 2015 David Viens, tweaked May 19-21th 2015 Hubert Lamontagne
+ 0x71, 0x61, 0x1E, 0x17, 0xEF, 0x7F, 0x00, 0x17, //Violin
+ 0x13, 0x41, 0x1A, 0x0D, 0xF8, 0xF7, 0x23, 0x13, //Guitar
+ 0x13, 0x01, 0x99, 0x00, 0xF2, 0xC4, 0x11, 0x23, //Piano
+ 0x31, 0x61, 0x0E, 0x07, 0x98, 0x64, 0x70, 0x27, //Flute
+ 0x22, 0x21, 0x1E, 0x06, 0xBF, 0x76, 0x00, 0x28, //Clarinet
+ 0x31, 0x22, 0x16, 0x05, 0xE0, 0x71, 0x0F, 0x18, //Oboe
+ 0x21, 0x61, 0x1D, 0x07, 0x82, 0x8F, 0x10, 0x07, //Trumpet
+ 0x23, 0x21, 0x2D, 0x14, 0xFF, 0x7F, 0x00, 0x07, //Organ
+ 0x41, 0x61, 0x1B, 0x06, 0x64, 0x65, 0x10, 0x17, //Horn
+ 0x61, 0x61, 0x0B, 0x18, 0x85, 0xFF, 0x81, 0x07, //Synthesizer
+ 0x13, 0x01, 0x83, 0x11, 0xFA, 0xE4, 0x10, 0x04, //Harpsichord
+ 0x17, 0x81, 0x23, 0x07, 0xF8, 0xF8, 0x22, 0x12, //Vibraphone
+ 0x61, 0x50, 0x0C, 0x05, 0xF2, 0xF5, 0x29, 0x42, //Synthesizer Bass
+ 0x01, 0x01, 0x54, 0x03, 0xC3, 0x92, 0x03, 0x02, //Acoustic Bass
+ 0x41, 0x41, 0x89, 0x03, 0xF1, 0xE5, 0x11, 0x13, //Electric Guitar
+ 0x01, 0x01, 0x18, 0x0F, 0xDF, 0xF8, 0x6A, 0x6D, //rhythm 1
+ 0x01, 0x01, 0x00, 0x00, 0xC8, 0xD8, 0xA7, 0x48, //rhythm 2
+ 0x05, 0x01, 0x00, 0x00, 0xF8, 0xAA, 0x59, 0x55 //rhythm 3
+};
+
+
+
+//*********************************************************
+// YM2423
+//*********************************************************
+
+//-------------------------------------------------
+// ym2423 - constructor
+//-------------------------------------------------
+
+ym2423::ym2423(ymfm_interface &intf, uint8_t const *instrument_data) :
+ opll_base(intf, (instrument_data != nullptr) ? instrument_data : s_default_instruments)
+{
+};
+
+// table below taken from https://github.com/plgDavid/misc/wiki/Copyright-free-OPLL(x)-ROM-patches
+uint8_t const ym2423::s_default_instruments[] =
+{
+ // May 4-6 2016 Hubert Lamontagne
+ // Doesn't seem to have any diff between opllx-x and opllx-y
+ // Drums seem identical to regular opll
+ 0x61, 0x61, 0x1B, 0x07, 0x94, 0x5F, 0x10, 0x06, //1 Strings Saw wave with vibrato Violin
+ 0x93, 0xB1, 0x51, 0x04, 0xF3, 0xF2, 0x70, 0xFB, //2 Guitar Jazz GuitarPiano
+ 0x41, 0x21, 0x11, 0x85, 0xF2, 0xF2, 0x70, 0x75, //3 Electric Guitar Same as OPLL No.15 Synth
+ 0x93, 0xB2, 0x28, 0x07, 0xF3, 0xF2, 0x70, 0xB4, //4 Electric Piano 2 Slow attack, tremoloDing-a-ling
+ 0x72, 0x31, 0x97, 0x05, 0x51, 0x6F, 0x60, 0x09, //5 Flute Same as OPLL No.4Clarinet
+ 0x13, 0x30, 0x18, 0x06, 0xF7, 0xF4, 0x50, 0x85, //6 Marimba Also be used as steel drumXyophone
+ 0x51, 0x31, 0x1C, 0x07, 0x51, 0x71, 0x20, 0x26, //7 Trumpet Same as OPLL No.7Trumpet
+ 0x41, 0xF4, 0x1B, 0x07, 0x74, 0x34, 0x00, 0x06, //8 Harmonica Harmonica synth
+ 0x50, 0x30, 0x4D, 0x03, 0x42, 0x65, 0x20, 0x06, //9 Tuba Tuba
+ 0x40, 0x20, 0x10, 0x85, 0xF3, 0xF5, 0x20, 0x04, //10 Synth Brass 2 Synth sweep
+ 0x61, 0x61, 0x1B, 0x07, 0xC5, 0x96, 0xF3, 0xF6, //11 Short Saw Saw wave with short envelopeSynth hit
+ 0xF9, 0xF1, 0xDC, 0x00, 0xF5, 0xF3, 0x77, 0xF2, //12 Vibraphone Bright vibraphoneVibes
+ 0x60, 0xA2, 0x91, 0x03, 0x94, 0xC1, 0xF7, 0xF7, //13 Electric Guitar 2 Clean guitar with feedbackHarmonic bass
+ 0x30, 0x30, 0x17, 0x06, 0xF3, 0xF1, 0xB7, 0xFC, //14 Synth Bass 2Snappy bass
+ 0x31, 0x36, 0x0D, 0x05, 0xF2, 0xF4, 0x27, 0x9C, //15 Sitar Also be used as ShamisenBanjo
+ 0x01, 0x01, 0x18, 0x0F, 0xDF, 0xF8, 0x6A, 0x6D, //rhythm 1
+ 0x01, 0x01, 0x00, 0x00, 0xC8, 0xD8, 0xA7, 0x48, //rhythm 2
+ 0x05, 0x01, 0x00, 0x00, 0xF8, 0xAA, 0x59, 0x55 //rhythm 3
+};
+
+
+
+//*********************************************************
+// YMF281
+//*********************************************************
+
+//-------------------------------------------------
+// ymf281 - constructor
+//-------------------------------------------------
+
+ymf281::ymf281(ymfm_interface &intf, uint8_t const *instrument_data) :
+ opll_base(intf, (instrument_data != nullptr) ? instrument_data : s_default_instruments)
+{
+};
+
+// table below taken from https://github.com/plgDavid/misc/wiki/Copyright-free-OPLL(x)-ROM-patches
+uint8_t const ymf281::s_default_instruments[] =
+{
+ // May 14th 2015 Hubert Lamontagne
+ 0x72, 0x21, 0x1A, 0x07, 0xF6, 0x64, 0x01, 0x16, // Clarinet ~~ Electric String Square wave with vibrato
+ 0x00, 0x10, 0x45, 0x00, 0xF6, 0x83, 0x73, 0x63, // Synth Bass ~~ Bow wow Triangular wave
+ 0x13, 0x01, 0x96, 0x00, 0xF1, 0xF4, 0x31, 0x23, // Piano ~~ Electric Guitar Despite of its name, same as Piano of YM2413.
+ 0x71, 0x21, 0x0B, 0x0F, 0xF9, 0x64, 0x70, 0x17, // Flute ~~ Organ Sine wave
+ 0x02, 0x21, 0x1E, 0x06, 0xF9, 0x76, 0x00, 0x28, // Square Wave ~~ Clarinet Same as ones of YM2413.
+ 0x00, 0x61, 0x82, 0x0E, 0xF9, 0x61, 0x20, 0x27, // Space Oboe ~~ Saxophone Saw wave with vibrato
+ 0x21, 0x61, 0x1B, 0x07, 0x84, 0x8F, 0x10, 0x07, // Trumpet ~~ Trumpet Same as ones of YM2413.
+ 0x37, 0x32, 0xCA, 0x02, 0x66, 0x64, 0x47, 0x29, // Wow Bell ~~ Street Organ Calliope
+ 0x41, 0x41, 0x07, 0x03, 0xF5, 0x70, 0x51, 0xF5, // Electric Guitar ~~ Synth Brass Same as Synthesizer of YM2413.
+ 0x36, 0x01, 0x5E, 0x07, 0xF2, 0xF3, 0xF7, 0xF7, // Vibes ~~ Electric Piano Simulate of Rhodes Piano
+ 0x00, 0x00, 0x18, 0x06, 0xC5, 0xF3, 0x20, 0xF2, // Bass ~~ Bass Electric bass
+ 0x17, 0x81, 0x25, 0x07, 0xF7, 0xF3, 0x21, 0xF7, // Vibraphone ~~ Vibraphone Same as ones of YM2413.
+ 0x35, 0x64, 0x00, 0x00, 0xFF, 0xF3, 0x77, 0xF5, // Vibrato Bell ~~ Chime Bell
+ 0x11, 0x31, 0x00, 0x07, 0xDD, 0xF3, 0xFF, 0xFB, // Click Sine ~~ Tom Tom II Tom
+ 0x3A, 0x21, 0x00, 0x07, 0x95, 0x84, 0x0F, 0xF5, // Noise and Tone ~~ Noise for S.E.
+ 0x01, 0x01, 0x18, 0x0F, 0xDF, 0xF8, 0x6A, 0x6D, //rhythm 1
+ 0x01, 0x01, 0x00, 0x00, 0xC8, 0xD8, 0xA7, 0x48, //rhythm 2
+ 0x05, 0x01, 0x00, 0x00, 0xF8, 0xAA, 0x59, 0x55 //rhythm 3
+};
+
+
+
+//*********************************************************
+// DS1001
+//*********************************************************
+
+//-------------------------------------------------
+// ds1001 - constructor
+//-------------------------------------------------
+
+ds1001::ds1001(ymfm_interface &intf, uint8_t const *instrument_data) :
+ opll_base(intf, (instrument_data != nullptr) ? instrument_data : s_default_instruments)
+{
+};
+
+// table below taken from https://github.com/plgDavid/misc/wiki/Copyright-free-OPLL(x)-ROM-patches
+uint8_t const ds1001::s_default_instruments[] =
+{
+ // May 15th 2015 Hubert Lamontagne & David Viens
+ 0x03, 0x21, 0x05, 0x06, 0xC8, 0x81, 0x42, 0x27, // Buzzy Bell
+ 0x13, 0x41, 0x14, 0x0D, 0xF8, 0xF7, 0x23, 0x12, // Guitar
+ 0x31, 0x11, 0x08, 0x08, 0xFA, 0xC2, 0x28, 0x22, // Wurly
+ 0x31, 0x61, 0x0C, 0x07, 0xF8, 0x64, 0x60, 0x27, // Flute
+ 0x22, 0x21, 0x1E, 0x06, 0xFF, 0x76, 0x00, 0x28, // Clarinet
+ 0x02, 0x01, 0x05, 0x00, 0xAC, 0xF2, 0x03, 0x02, // Synth
+ 0x21, 0x61, 0x1D, 0x07, 0x82, 0x8F, 0x10, 0x07, // Trumpet
+ 0x23, 0x21, 0x22, 0x17, 0xFF, 0x73, 0x00, 0x17, // Organ
+ 0x15, 0x11, 0x25, 0x00, 0x41, 0x71, 0x00, 0xF1, // Bells
+ 0x95, 0x01, 0x10, 0x0F, 0xB8, 0xAA, 0x50, 0x02, // Vibes
+ 0x17, 0xC1, 0x5E, 0x07, 0xFA, 0xF8, 0x22, 0x12, // Vibraphone
+ 0x71, 0x23, 0x11, 0x06, 0x65, 0x74, 0x10, 0x16, // Tutti
+ 0x01, 0x02, 0xD3, 0x05, 0xF3, 0x92, 0x83, 0xF2, // Fretless
+ 0x61, 0x63, 0x0C, 0x00, 0xA4, 0xFF, 0x30, 0x06, // Synth Bass
+ 0x21, 0x62, 0x0D, 0x00, 0xA1, 0xFF, 0x50, 0x08, // Sweep
+ 0x01, 0x01, 0x18, 0x0F, 0xDF, 0xF8, 0x6A, 0x6D, //rhythm 1
+ 0x01, 0x01, 0x00, 0x00, 0xC8, 0xD8, 0xA7, 0x48, //rhythm 2
+ 0x05, 0x01, 0x00, 0x00, 0xF8, 0xAA, 0x59, 0x55 //rhythm 3
+};
+
+
+//*********************************************************
+// EXPLICIT INSTANTIATION
+//*********************************************************
+
+template class opl_registers_base<4>;
+template class fm_engine_base<opl_registers_base<4>>;
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_opl.h b/3rdparty/ymfm/src/ymfm_opl.h
new file mode 100644
index 00000000000..843e5b274d2
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opl.h
@@ -0,0 +1,902 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_OPL_H
+#define YMFM_OPL_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_adpcm.h"
+#include "ymfm_fm.h"
+#include "ymfm_pcm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// REGISTER CLASSES
+//*********************************************************
+
+// ======================> opl_registers_base
+
+//
+// OPL/OPL2/OPL3/OPL4 register map:
+//
+// System-wide registers:
+// 01 xxxxxxxx Test register
+// --x----- Enable OPL compatibility mode [OPL2 only] (1 = enable)
+// 02 xxxxxxxx Timer A value (4 * OPN)
+// 03 xxxxxxxx Timer B value
+// 04 x------- RST
+// -x------ Mask timer A
+// --x----- Mask timer B
+// ------x- Load timer B
+// -------x Load timer A
+// 08 x------- CSM mode [OPL/OPL2 only]
+// -x------ Note select
+// BD x------- AM depth
+// -x------ PM depth
+// --x----- Rhythm enable
+// ---x---- Bass drum key on
+// ----x--- Snare drum key on
+// -----x-- Tom key on
+// ------x- Top cymbal key on
+// -------x High hat key on
+// 101 --xxxxxx Test register 2 [OPL3 only]
+// 104 --x----- Channel 6 4-operator mode [OPL3 only]
+// ---x---- Channel 5 4-operator mode [OPL3 only]
+// ----x--- Channel 4 4-operator mode [OPL3 only]
+// -----x-- Channel 3 4-operator mode [OPL3 only]
+// ------x- Channel 2 4-operator mode [OPL3 only]
+// -------x Channel 1 4-operator mode [OPL3 only]
+// 105 -------x New [OPL3 only]
+// ------x- New2 [OPL4 only]
+//
+// Per-channel registers (channel in address bits 0-3)
+// Note that all these apply to address+100 as well on OPL3+
+// A0-A8 xxxxxxxx F-number (low 8 bits)
+// B0-B8 --x----- Key on
+// ---xxx-- Block (octvate, 0-7)
+// ------xx F-number (high two bits)
+// C0-C8 x------- CHD output (to DO0 pin) [OPL3+ only]
+// -x------ CHC output (to DO0 pin) [OPL3+ only]
+// --x----- CHB output (mixed right, to DO2 pin) [OPL3+ only]
+// ---x---- CHA output (mixed left, to DO2 pin) [OPL3+ only]
+// ----xxx- Feedback level for operator 1 (0-7)
+// -------x Operator connection algorithm
+//
+// Per-operator registers (operator in bits 0-5)
+// Note that all these apply to address+100 as well on OPL3+
+// 20-35 x------- AM enable
+// -x------ PM enable (VIB)
+// --x----- EG type
+// ---x---- Key scale rate
+// ----xxxx Multiple value (0-15)
+// 40-55 xx------ Key scale level (0-3)
+// --xxxxxx Total level (0-63)
+// 60-75 xxxx---- Attack rate (0-15)
+// ----xxxx Decay rate (0-15)
+// 80-95 xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+// E0-F5 ------xx Wave select (0-3) [OPL2 only]
+// -----xxx Wave select (0-7) [OPL3+ only]
+//
+
+template<int Revision>
+class opl_registers_base : public fm_registers_base
+{
+ static constexpr bool IsOpl2 = (Revision == 2);
+ static constexpr bool IsOpl2Plus = (Revision >= 2);
+ static constexpr bool IsOpl3Plus = (Revision >= 3);
+ static constexpr bool IsOpl4Plus = (Revision >= 4);
+
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = IsOpl3Plus ? 4 : 1;
+ static constexpr uint32_t CHANNELS = IsOpl3Plus ? 18 : 9;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 2;
+ static constexpr uint32_t WAVEFORMS = IsOpl3Plus ? 8 : (IsOpl2Plus ? 4 : 1);
+ static constexpr uint32_t REGISTERS = IsOpl3Plus ? 0x200 : 0x100;
+ static constexpr uint32_t REG_MODE = 0x04;
+ static constexpr uint32_t DEFAULT_PRESCALE = IsOpl4Plus ? 19 : (IsOpl3Plus ? 8 : 4);
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 1;
+ static constexpr uint32_t CSM_TRIGGER_MASK = ALL_CHANNELS;
+ static constexpr bool DYNAMIC_OPS = IsOpl3Plus;
+ static constexpr bool MODULATOR_DELAY = !IsOpl3Plus;
+ static constexpr uint8_t STATUS_TIMERA = 0x40;
+ static constexpr uint8_t STATUS_TIMERB = 0x20;
+ static constexpr uint8_t STATUS_BUSY = 0;
+ static constexpr uint8_t STATUS_IRQ = 0x80;
+
+ // constructor
+ opl_registers_base();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ if (!IsOpl3Plus)
+ return chnum;
+ else
+ return (chnum % 9) + 0x100 * (chnum / 9);
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ if (!IsOpl3Plus)
+ return opnum + 2 * (opnum / 6);
+ else
+ return (opnum % 18) + 2 * ((opnum % 18) / 6) + 0x100 * (opnum / 18);
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // OPL4 apparently can read back FM registers?
+ uint8_t read(uint16_t index) const { return m_regdata[index]; }
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // reset the LFO
+ void reset_lfo() { m_lfo_am_counter = m_lfo_pm_counter = 0; }
+
+ // return the AM offset from LFO for the given channel
+ // on OPL this is just a fixed value
+ uint32_t lfo_am_offset(uint32_t choffs) const { return m_lfo_am; }
+
+ // return LFO/noise states
+ uint32_t noise_state() const { return m_noise_lfsr >> 23; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // system-wide registers
+ uint32_t test() const { return byte(0x01, 0, 8); }
+ uint32_t waveform_enable() const { return IsOpl2 ? byte(0x01, 5, 1) : (IsOpl3Plus ? 1 : 0); }
+ uint32_t timer_a_value() const { return byte(0x02, 0, 8) * 4; } // 8->10 bits
+ uint32_t timer_b_value() const { return byte(0x03, 0, 8); }
+ uint32_t status_mask() const { return byte(0x04, 0, 8) & 0x78; }
+ uint32_t irq_reset() const { return byte(0x04, 7, 1); }
+ uint32_t reset_timer_b() const { return byte(0x04, 7, 1) | byte(0x04, 5, 1); }
+ uint32_t reset_timer_a() const { return byte(0x04, 7, 1) | byte(0x04, 6, 1); }
+ uint32_t enable_timer_b() const { return 1; }
+ uint32_t enable_timer_a() const { return 1; }
+ uint32_t load_timer_b() const { return byte(0x04, 1, 1); }
+ uint32_t load_timer_a() const { return byte(0x04, 0, 1); }
+ uint32_t csm() const { return IsOpl3Plus ? 0 : byte(0x08, 7, 1); }
+ uint32_t note_select() const { return byte(0x08, 6, 1); }
+ uint32_t lfo_am_depth() const { return byte(0xbd, 7, 1); }
+ uint32_t lfo_pm_depth() const { return byte(0xbd, 6, 1); }
+ uint32_t rhythm_enable() const { return byte(0xbd, 5, 1); }
+ uint32_t rhythm_keyon() const { return byte(0xbd, 4, 0); }
+ uint32_t newflag() const { return IsOpl3Plus ? byte(0x105, 0, 1) : 0; }
+ uint32_t new2flag() const { return IsOpl4Plus ? byte(0x105, 1, 1) : 0; }
+ uint32_t fourop_enable() const { return IsOpl3Plus ? byte(0x104, 0, 6) : 0; }
+
+ // per-channel registers
+ uint32_t ch_block_freq(uint32_t choffs) const { return word(0xb0, 0, 5, 0xa0, 0, 8, choffs); }
+ uint32_t ch_feedback(uint32_t choffs) const { return byte(0xc0, 1, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return byte(0xc0, 0, 1, choffs) | (IsOpl3Plus ? (8 | (byte(0xc3, 0, 1, choffs) << 1)) : 0); }
+ uint32_t ch_output_any(uint32_t choffs) const { return newflag() ? byte(0xc0 + choffs, 4, 4) : 1; }
+ uint32_t ch_output_0(uint32_t choffs) const { return newflag() ? byte(0xc0 + choffs, 4, 1) : 1; }
+ uint32_t ch_output_1(uint32_t choffs) const { return newflag() ? byte(0xc0 + choffs, 5, 1) : (IsOpl3Plus ? 1 : 0); }
+ uint32_t ch_output_2(uint32_t choffs) const { return newflag() ? byte(0xc0 + choffs, 6, 1) : 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return newflag() ? byte(0xc0 + choffs, 7, 1) : 0; }
+
+ // per-operator registers
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return byte(0x20, 7, 1, opoffs); }
+ uint32_t op_lfo_pm_enable(uint32_t opoffs) const { return byte(0x20, 6, 1, opoffs); }
+ uint32_t op_eg_sustain(uint32_t opoffs) const { return byte(0x20, 5, 1, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return byte(0x20, 4, 1, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return byte(0x20, 0, 4, opoffs); }
+ uint32_t op_ksl(uint32_t opoffs) const { uint32_t temp = byte(0x40, 6, 2, opoffs); return bitfield(temp, 1) | (bitfield(temp, 0) << 1); }
+ uint32_t op_total_level(uint32_t opoffs) const { return byte(0x40, 0, 6, opoffs); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return byte(0x60, 4, 4, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return byte(0x60, 0, 4, opoffs); }
+ uint32_t op_sustain_level(uint32_t opoffs) const { return byte(0x80, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return byte(0x80, 0, 4, opoffs); }
+ uint32_t op_waveform(uint32_t opoffs) const { return IsOpl2Plus ? byte(0xe0, 0, newflag() ? 3 : 2, opoffs) : 0; }
+
+protected:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // helper to determine if the this channel is an active rhythm channel
+ bool is_rhythm(uint32_t choffs) const
+ {
+ return rhythm_enable() && (choffs >= 6 && choffs <= 8);
+ }
+
+ // internal state
+ uint16_t m_lfo_am_counter; // LFO AM counter
+ uint16_t m_lfo_pm_counter; // LFO PM counter
+ uint32_t m_noise_lfsr; // noise LFSR state
+ uint8_t m_lfo_am; // current LFO AM value
+ uint8_t m_regdata[REGISTERS]; // register data
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+using opl_registers = opl_registers_base<1>;
+using opl2_registers = opl_registers_base<2>;
+using opl3_registers = opl_registers_base<3>;
+using opl4_registers = opl_registers_base<4>;
+
+
+
+// ======================> opll_registers
+
+//
+// OPLL register map:
+//
+// System-wide registers:
+// 0E --x----- Rhythm enable
+// ---x---- Bass drum key on
+// ----x--- Snare drum key on
+// -----x-- Tom key on
+// ------x- Top cymbal key on
+// -------x High hat key on
+// 0F xxxxxxxx Test register
+//
+// Per-channel registers (channel in address bits 0-3)
+// 10-18 xxxxxxxx F-number (low 8 bits)
+// 20-28 --x----- Sustain on
+// ---x---- Key on
+// --- xxx- Block (octvate, 0-7)
+// -------x F-number (high bit)
+// 30-38 xxxx---- Instrument selection
+// ----xxxx Volume
+//
+// User instrument registers (for carrier, modulator operators)
+// 00-01 x------- AM enable
+// -x------ PM enable (VIB)
+// --x----- EG type
+// ---x---- Key scale rate
+// ----xxxx Multiple value (0-15)
+// 02 xx------ Key scale level (carrier, 0-3)
+// --xxxxxx Total level (modulator, 0-63)
+// 03 xx------ Key scale level (modulator, 0-3)
+// ---x---- Rectified wave (carrier)
+// ----x--- Rectified wave (modulator)
+// -----xxx Feedback level for operator 1 (0-7)
+// 04-05 xxxx---- Attack rate (0-15)
+// ----xxxx Decay rate (0-15)
+// 06-07 xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+//
+// Internal (fake) registers:
+// 40-48 xxxxxxxx Current instrument base address
+// 4E-5F xxxxxxxx Current instrument base address + operator slot (0/1)
+// 70-FF xxxxxxxx Data for instruments (1-16 plus 3 drums)
+//
+
+class opll_registers : public fm_registers_base
+{
+public:
+ static constexpr uint32_t OUTPUTS = 2;
+ static constexpr uint32_t CHANNELS = 9;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 2;
+ static constexpr uint32_t WAVEFORMS = 2;
+ static constexpr uint32_t REGISTERS = 0x40;
+ static constexpr uint32_t REG_MODE = 0x3f;
+ static constexpr uint32_t DEFAULT_PRESCALE = 4;
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 1;
+ static constexpr uint32_t CSM_TRIGGER_MASK = 0;
+ static constexpr bool EG_HAS_DEPRESS = true;
+ static constexpr bool MODULATOR_DELAY = true;
+ static constexpr uint8_t STATUS_TIMERA = 0;
+ static constexpr uint8_t STATUS_TIMERB = 0;
+ static constexpr uint8_t STATUS_BUSY = 0;
+ static constexpr uint8_t STATUS_IRQ = 0;
+
+ // OPLL-specific constants
+ static constexpr uint32_t INSTDATA_SIZE = 0x90;
+
+ // constructor
+ opll_registers();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ return chnum;
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ return opnum;
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // read a register value
+ uint8_t read(uint16_t index) const { return m_regdata[index]; }
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // reset the LFO
+ void reset_lfo() { m_lfo_am_counter = m_lfo_pm_counter = 0; }
+
+ // return the AM offset from LFO for the given channel
+ // on OPL this is just a fixed value
+ uint32_t lfo_am_offset(uint32_t choffs) const { return m_lfo_am; }
+
+ // return LFO/noise states
+ uint32_t noise_state() const { return m_noise_lfsr >> 23; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // set the instrument data
+ void set_instrument_data(uint8_t const *data)
+ {
+ std::copy_n(data, INSTDATA_SIZE, &m_instdata[0]);
+ }
+
+ // system-wide registers
+ uint32_t rhythm_enable() const { return byte(0x0e, 5, 1); }
+ uint32_t rhythm_keyon() const { return byte(0x0e, 4, 0); }
+ uint32_t test() const { return byte(0x0f, 0, 8); }
+ uint32_t waveform_enable() const { return 1; }
+ uint32_t timer_a_value() const { return 0; }
+ uint32_t timer_b_value() const { return 0; }
+ uint32_t status_mask() const { return 0; }
+ uint32_t irq_reset() const { return 0; }
+ uint32_t reset_timer_b() const { return 0; }
+ uint32_t reset_timer_a() const { return 0; }
+ uint32_t enable_timer_b() const { return 0; }
+ uint32_t enable_timer_a() const { return 0; }
+ uint32_t load_timer_b() const { return 0; }
+ uint32_t load_timer_a() const { return 0; }
+ uint32_t csm() const { return 0; }
+
+ // per-channel registers
+ uint32_t ch_block_freq(uint32_t choffs) const { return word(0x20, 0, 4, 0x10, 0, 8, choffs); }
+ uint32_t ch_sustain(uint32_t choffs) const { return byte(0x20, 5, 1, choffs); }
+ uint32_t ch_total_level(uint32_t choffs) const { return instchbyte(0x02, 0, 6, choffs); }
+ uint32_t ch_feedback(uint32_t choffs) const { return instchbyte(0x03, 0, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return 0; }
+ uint32_t ch_instrument(uint32_t choffs) const { return byte(0x30, 4, 4, choffs); }
+ uint32_t ch_output_any(uint32_t choffs) const { return 1; }
+ uint32_t ch_output_0(uint32_t choffs) const { return !is_rhythm(choffs); }
+ uint32_t ch_output_1(uint32_t choffs) const { return is_rhythm(choffs); }
+ uint32_t ch_output_2(uint32_t choffs) const { return 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return 0; }
+
+ // per-operator registers
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return instopbyte(0x00, 7, 1, opoffs); }
+ uint32_t op_lfo_pm_enable(uint32_t opoffs) const { return instopbyte(0x00, 6, 1, opoffs); }
+ uint32_t op_eg_sustain(uint32_t opoffs) const { return instopbyte(0x00, 5, 1, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return instopbyte(0x00, 4, 1, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return instopbyte(0x00, 0, 4, opoffs); }
+ uint32_t op_ksl(uint32_t opoffs) const { return instopbyte(0x02, 6, 2, opoffs); }
+ uint32_t op_waveform(uint32_t opoffs) const { return instchbyte(0x03, 3 + bitfield(opoffs, 0), 1, opoffs >> 1); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return instopbyte(0x04, 4, 4, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return instopbyte(0x04, 0, 4, opoffs); }
+ uint32_t op_sustain_level(uint32_t opoffs) const { return instopbyte(0x06, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return instopbyte(0x06, 0, 4, opoffs); }
+ uint32_t op_volume(uint32_t opoffs) const { return byte(0x30, 4 * bitfield(~opoffs, 0), 4, opoffs >> 1); }
+
+private:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // helpers to read from instrument channel/operator data
+ uint32_t instchbyte(uint32_t offset, uint32_t start, uint32_t count, uint32_t choffs) const { return bitfield(m_chinst[choffs][offset], start, count); }
+ uint32_t instopbyte(uint32_t offset, uint32_t start, uint32_t count, uint32_t opoffs) const { return bitfield(m_opinst[opoffs][offset], start, count); }
+
+ // helper to determine if the this channel is an active rhythm channel
+ bool is_rhythm(uint32_t choffs) const
+ {
+ return rhythm_enable() && choffs >= 6;
+ }
+
+ // internal state
+ uint16_t m_lfo_am_counter; // LFO AM counter
+ uint16_t m_lfo_pm_counter; // LFO PM counter
+ uint32_t m_noise_lfsr; // noise LFSR state
+ uint8_t m_lfo_am; // current LFO AM value
+ uint8_t const *m_chinst[CHANNELS]; // pointer to instrument data for each channel
+ uint8_t const *m_opinst[OPERATORS]; // pointer to instrument data for each operator
+ uint8_t m_regdata[REGISTERS]; // register data
+ uint8_t m_instdata[INSTDATA_SIZE]; // instrument data
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+
+
+//*********************************************************
+// OPL IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym3526
+
+class ym3526
+{
+public:
+ using fm_engine = fm_engine_base<opl_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ // constructor
+ ym3526(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+// ======================> y8950
+
+class y8950
+{
+public:
+ using fm_engine = fm_engine_base<opl_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ static constexpr uint8_t STATUS_ADPCM_B_PLAYING = 0x01;
+ static constexpr uint8_t STATUS_ADPCM_B_BRDY = 0x08;
+ static constexpr uint8_t STATUS_ADPCM_B_EOS = 0x10;
+ static constexpr uint8_t ALL_IRQS = STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_EOS | fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB;
+
+ // constructor
+ y8950(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ uint8_t m_io_ddr; // data direction register for I/O
+ fm_engine m_fm; // core FM engine
+ adpcm_b_engine m_adpcm_b; // ADPCM-B engine
+};
+
+
+
+//*********************************************************
+// OPL2 IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym3812
+
+class ym3812
+{
+public:
+ using fm_engine = fm_engine_base<opl2_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ // constructor
+ ym3812(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+
+//*********************************************************
+// OPL3 IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ymf262
+
+class ymf262
+{
+public:
+ using fm_engine = fm_engine_base<opl3_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ // constructor
+ ymf262(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint16_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+// ======================> ymf289b
+
+class ymf289b
+{
+ static constexpr uint8_t STATUS_BUSY_FLAGS = 0x05;
+
+public:
+ using fm_engine = fm_engine_base<opl3_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = 2;
+
+ // constructor
+ ymf289b(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal helpers
+ bool ymf289b_mode() { return ((m_fm.regs().read(0x105) & 0x04) != 0); }
+
+ // internal state
+ uint16_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+
+//*********************************************************
+// OPL4 IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ymf278b
+
+class ymf278b
+{
+ // Using the nominal datasheet frequency of 33.868MHz, the output of the
+ // chip will be clock/768 = 44.1kHz. However, the FM engine is clocked
+ // internally at clock/(19*36), or 49.515kHz, so the FM output needs to
+ // be downsampled. We treat this as needing to clock the FM engine an
+ // extra tick every few samples. The exact ratio is 768/(19*36) or
+ // 768/684 = 192/171. So if we always clock the FM once, we'll have
+ // 192/171 - 1 = 21/171 left. Thus we count 21 for each sample and when
+ // it gets above 171, we tick an extra time.
+ static constexpr uint32_t FM_EXTRA_SAMPLE_THRESH = 171;
+ static constexpr uint32_t FM_EXTRA_SAMPLE_STEP = 192 - FM_EXTRA_SAMPLE_THRESH;
+
+public:
+ using fm_engine = fm_engine_base<opl4_registers>;
+ static constexpr uint32_t OUTPUTS = 6;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ static constexpr uint8_t STATUS_BUSY = 0x01;
+ static constexpr uint8_t STATUS_LD = 0x02;
+
+ // constructor
+ ymf278b(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return input_clock / 768; }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data_pcm();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write_address_pcm(uint8_t data);
+ void write_data_pcm(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint16_t m_address; // address register
+ uint32_t m_fm_pos; // FM resampling position
+ uint32_t m_load_remaining; // how many more samples until LD flag clears
+ bool m_next_status_id; // flag to track which status ID to return
+ fm_engine m_fm; // core FM engine
+ pcm_engine m_pcm; // core PCM engine
+};
+
+
+
+//*********************************************************
+// OPLL IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> opll_base
+
+class opll_base
+{
+public:
+ using fm_engine = fm_engine_base<opll_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ // constructor
+ opll_base(ymfm_interface &intf, uint8_t const *data);
+
+ // configuration
+ void set_instrument_data(uint8_t const *data) { m_fm.regs().set_instrument_data(data); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access -- doesn't really have any, but provide these for consistency
+ uint8_t read_status() { return 0x00; }
+ uint8_t read(uint32_t offset) { return 0x00; }
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate samples of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+// ======================> ym2413
+
+class ym2413 : public opll_base
+{
+public:
+ // constructor
+ ym2413(ymfm_interface &intf, uint8_t const *instrument_data = nullptr);
+
+private:
+ // internal state
+ static uint8_t const s_default_instruments[];
+};
+
+
+// ======================> ym2413
+
+class ym2423 : public opll_base
+{
+public:
+ // constructor
+ ym2423(ymfm_interface &intf, uint8_t const *instrument_data = nullptr);
+
+private:
+ // internal state
+ static uint8_t const s_default_instruments[];
+};
+
+
+// ======================> ymf281
+
+class ymf281 : public opll_base
+{
+public:
+ // constructor
+ ymf281(ymfm_interface &intf, uint8_t const *instrument_data = nullptr);
+
+private:
+ // internal state
+ static uint8_t const s_default_instruments[];
+};
+
+
+// ======================> ds1001
+
+class ds1001 : public opll_base
+{
+public:
+ // constructor
+ ds1001(ymfm_interface &intf, uint8_t const *instrument_data = nullptr);
+
+private:
+ // internal state
+ static uint8_t const s_default_instruments[];
+};
+
+}
+
+#endif // YMFM_OPL_H
diff --git a/3rdparty/ymfm/src/ymfm_opm.cpp b/3rdparty/ymfm/src/ymfm_opm.cpp
new file mode 100644
index 00000000000..6a1e96613c3
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opm.cpp
@@ -0,0 +1,535 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_opm.h"
+#include "ymfm_fm.ipp"
+
+namespace ymfm
+{
+
+//*********************************************************
+// OPM REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// opm_registers - constructor
+//-------------------------------------------------
+
+opm_registers::opm_registers() :
+ m_lfo_counter(0),
+ m_noise_lfsr(1),
+ m_noise_counter(0),
+ m_noise_state(0),
+ m_noise_lfo(0),
+ m_lfo_am(0)
+{
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[0][index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+
+ // create the LFO waveforms; AM in the low 8 bits, PM in the upper 8
+ // waveforms are adjusted to match the pictures in the application manual
+ for (uint32_t index = 0; index < LFO_WAVEFORM_LENGTH; index++)
+ {
+ // waveform 0 is a sawtooth
+ uint8_t am = index ^ 0xff;
+ int8_t pm = int8_t(index);
+ m_lfo_waveform[0][index] = am | (pm << 8);
+
+ // waveform 1 is a square wave
+ am = bitfield(index, 7) ? 0 : 0xff;
+ pm = int8_t(am ^ 0x80);
+ m_lfo_waveform[1][index] = am | (pm << 8);
+
+ // waveform 2 is a triangle wave
+ am = bitfield(index, 7) ? (index << 1) : ((index ^ 0xff) << 1);
+ pm = int8_t(bitfield(index, 6) ? am : ~am);
+ m_lfo_waveform[2][index] = am | (pm << 8);
+
+ // waveform 3 is noise; it is filled in dynamically
+ }
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+void opm_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+
+ // enable output on both channels by default
+ m_regdata[0x20] = m_regdata[0x21] = m_regdata[0x22] = m_regdata[0x23] = 0xc0;
+ m_regdata[0x24] = m_regdata[0x25] = m_regdata[0x26] = m_regdata[0x27] = 0xc0;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void opm_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_lfo_counter);
+ state.save_restore(m_lfo_am);
+ state.save_restore(m_noise_lfsr);
+ state.save_restore(m_noise_counter);
+ state.save_restore(m_noise_state);
+ state.save_restore(m_noise_lfo);
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPM this is fixed
+//-------------------------------------------------
+
+void opm_registers::operator_map(operator_mapping &dest) const
+{
+ // Note that the channel index order is 0,2,1,3, so we bitswap the index.
+ //
+ // This is because the order in the map is:
+ // carrier 1, carrier 2, modulator 1, modulator 2
+ //
+ // But when wiring up the connections, the more natural order is:
+ // carrier 1, modulator 1, carrier 2, modulator 2
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 16, 8, 24 ), // Channel 0 operators
+ operator_list( 1, 17, 9, 25 ), // Channel 1 operators
+ operator_list( 2, 18, 10, 26 ), // Channel 2 operators
+ operator_list( 3, 19, 11, 27 ), // Channel 3 operators
+ operator_list( 4, 20, 12, 28 ), // Channel 4 operators
+ operator_list( 5, 21, 13, 29 ), // Channel 5 operators
+ operator_list( 6, 22, 14, 30 ), // Channel 6 operators
+ operator_list( 7, 23, 15, 31 ), // Channel 7 operators
+ } };
+ dest = s_fixed_map;
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array
+//-------------------------------------------------
+
+bool opm_registers::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ assert(index < REGISTERS);
+
+ // LFO AM/PM depth are written to the same register (0x19);
+ // redirect the PM depth to an unused neighbor (0x1a)
+ if (index == 0x19)
+ m_regdata[index + bitfield(data, 7)] = data;
+ else if (index != 0x1a)
+ m_regdata[index] = data;
+
+ // check test register writes for the LFO reset bit
+ if (index == 0x01 && bitfield(data, 1))
+ m_lfo_counter = 0;
+
+ // handle writes to the key on index
+ if (index == 0x08)
+ {
+ channel = bitfield(data, 0, 3);
+ opmask = bitfield(data, 3, 4);
+ return true;
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+int32_t opm_registers::clock_noise_and_lfo()
+{
+ // base noise frequency is measured at 2x 1/2 FM frequency; this
+ // means each tick counts as two steps against the noise counter
+ uint32_t freq = noise_frequency();
+ for (int rep = 0; rep < 2; rep++)
+ {
+ // evidence seems to suggest the LFSR is clocked continually and just
+ // sampled at the noise frequency for output purposes; note that the
+ // low 8 bits are the most recent 8 bits of history while bits 8-24
+ // contain the 17 bit LFSR state
+ m_noise_lfsr <<= 1;
+ m_noise_lfsr |= bitfield(m_noise_lfsr, 17) ^ bitfield(m_noise_lfsr, 14) ^ 1;
+
+ // compare against the frequency and latch when we exceed it
+ if (m_noise_counter++ >= freq)
+ {
+ m_noise_counter = 0;
+ m_noise_state = bitfield(m_noise_lfsr, 17);
+ }
+ }
+
+ // treat the rate as a 4.4 floating-point step value with implied
+ // leading 1; this matches exactly the frequencies in the application
+ // manual, though it might not be implemented exactly this way on chip
+ uint32_t rate = lfo_rate();
+ m_lfo_counter += (0x10 | bitfield(rate, 0, 4)) << bitfield(rate, 4, 4);
+ uint32_t lfo = bitfield(m_lfo_counter, 22, 8);
+
+ // fill in the noise entry 1 ahead of our current position; this
+ // ensures the current value remains stable for a full LFO clock
+ // and effectively latches the running value when the LFO advances
+ uint32_t lfo_noise = bitfield(m_noise_lfsr, 17, 8);
+ m_lfo_waveform[3][(lfo + 1) & 0xff] = lfo_noise | (lfo_noise << 8);
+
+ // fetch the AM/PM values based on the waveform; AM is unsigned and
+ // encoded in the low 8 bits, while PM signed and encoded in the upper
+ // 8 bits
+ int32_t ampm = m_lfo_waveform[lfo_waveform()][lfo];
+
+ // apply depth to the AM value and store for later
+ m_lfo_am = ((ampm & 0xff) * lfo_am_depth()) >> 7;
+
+ // apply depth to the PM value and return it
+ return ((ampm >> 8) * int32_t(lfo_pm_depth())) >> 7;
+}
+
+
+//-------------------------------------------------
+// lfo_am_offset - return the AM offset from LFO
+// for the given channel
+//-------------------------------------------------
+
+uint32_t opm_registers::lfo_am_offset(uint32_t choffs) const
+{
+ // OPM maps AM quite differently from OPN
+
+ // shift value for AM sensitivity is [*, 0, 1, 2],
+ // mapping to values of [0, 23.9, 47.8, and 95.6dB]
+ uint32_t am_sensitivity = ch_lfo_am_sens(choffs);
+ if (am_sensitivity == 0)
+ return 0;
+
+ // QUESTION: see OPN note below for the dB range mapping; it applies
+ // here as well
+
+ // raw LFO AM value on OPM is 0-FF, which is already a factor of 2
+ // larger than the OPN below, putting our staring point at 2x theirs;
+ // this works out since our minimum is 2x their maximum
+ return m_lfo_am << (am_sensitivity - 1);
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data
+//-------------------------------------------------
+
+void opm_registers::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // set up the easy stuff
+ cache.waveform = &m_waveform[0][0];
+
+ // get frequency from the channel
+ uint32_t block_freq = cache.block_freq = ch_block_freq(choffs);
+
+ // compute the keycode: block_freq is:
+ //
+ // BBBCCCCFFFFFF
+ // ^^^^^
+ //
+ // the 5-bit keycode is just the top 5 bits (block + top 2 bits
+ // of the key code)
+ uint32_t keycode = bitfield(block_freq, 8, 5);
+
+ // detune adjustment
+ cache.detune = detune_adjustment(op_detune(opoffs), keycode);
+
+ // multiple value, as an x.1 value (0 means 0.5)
+ cache.multiple = op_multiple(opoffs) * 2;
+ if (cache.multiple == 0)
+ cache.multiple = 1;
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
+ // block_freq, detune, and multiple, so compute it after we've done those
+ if (lfo_pm_depth() == 0 || ch_lfo_pm_sens(choffs) == 0)
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8
+ cache.total_level = op_total_level(opoffs) << 3;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // determine KSR adjustment for enevlope rates
+ uint32_t ksrval = keycode >> (op_ksr(opoffs) ^ 3);
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+uint32_t opm_registers::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ // OPM logic is rather unique here, due to extra detune
+ // and the use of key codes (not to be confused with keycode)
+
+ // start with coarse detune delta; table uses cents value from
+ // manual, converted into 1/64ths
+ static const int16_t s_detune2_delta[4] = { 0, (600*64+50)/100, (781*64+50)/100, (950*64+50)/100 };
+ int32_t delta = s_detune2_delta[op_detune2(opoffs)];
+
+ // add in the PM delta
+ uint32_t pm_sensitivity = ch_lfo_pm_sens(choffs);
+ if (pm_sensitivity != 0)
+ {
+ // raw PM value is -127..128 which is +/- 200 cents
+ // manual gives these magnitudes in cents:
+ // 0, +/-5, +/-10, +/-20, +/-50, +/-100, +/-400, +/-700
+ // this roughly corresponds to shifting the 200-cent value:
+ // 0 >> 5, >> 4, >> 3, >> 2, >> 1, << 1, << 2
+ if (pm_sensitivity < 6)
+ delta += lfo_raw_pm >> (6 - pm_sensitivity);
+ else
+ delta += lfo_raw_pm << (pm_sensitivity - 5);
+ }
+
+ // apply delta and convert to a frequency number
+ uint32_t phase_step = opm_key_code_to_phase_step(cache.block_freq, delta);
+
+ // apply detune based on the keycode
+ phase_step += cache.detune;
+
+ // apply frequency multiplier (which is cached as an x.1 value)
+ return (phase_step * cache.multiple) >> 1;
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+std::string opm_registers::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = choffs;
+ uint32_t opnum = opoffs;
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%d.%02d freq=%04X dt2=%d dt=%d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X out=%c%c",
+ chnum, opnum,
+ ch_block_freq(choffs),
+ op_detune2(opoffs),
+ op_detune(opoffs),
+ ch_feedback(choffs),
+ ch_algorithm(choffs),
+ op_multiple(opoffs),
+ op_total_level(opoffs),
+ op_ksr(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_sustain_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs),
+ ch_output_0(choffs) ? 'L' : '-',
+ ch_output_1(choffs) ? 'R' : '-');
+
+ bool am = (lfo_am_depth() != 0 && ch_lfo_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0);
+ if (am)
+ end += sprintf(end, " am=%d/%02X", ch_lfo_am_sens(choffs), lfo_am_depth());
+ bool pm = (lfo_pm_depth() != 0 && ch_lfo_pm_sens(choffs) != 0);
+ if (pm)
+ end += sprintf(end, " pm=%d/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth());
+ if (am || pm)
+ end += sprintf(end, " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]);
+ if (noise_enable() && opoffs == 31)
+ end += sprintf(end, " noise=1");
+
+ return buffer;
+}
+
+
+
+//*********************************************************
+// YM2151
+//*********************************************************
+
+//-------------------------------------------------
+// ym2151 - constructor
+//-------------------------------------------------
+
+ym2151::ym2151(ymfm_interface &intf, opm_variant variant) :
+ m_variant(variant),
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2151::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2151::save_restore(ymfm_saved_state &state)
+{
+ m_fm.save_restore(state);
+ state.save_restore(m_address);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2151::read_status()
+{
+ uint8_t result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2151::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // data port (unused)
+ debug::log_unexpected_read_write("Unexpected read from YM2151 offset %d\n", offset & 3);
+ break;
+
+ case 1: // status port, YM2203 compatible
+ result = read_status();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2151::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2151::write_data(uint8_t data)
+{
+ // write the FM register
+ m_fm.write(m_address, data);
+
+ // special cases
+ if (m_address == 0x1b)
+ {
+ // writes to register 0x1B send the upper 2 bits to the output lines
+ m_fm.intf().ymfm_external_write(ACCESS_IO, 0, data >> 6);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2151::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2151::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; OPM is full 14-bit with no intermediate clipping
+ m_fm.output(output->clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // YM2151 uses an external DAC (YM3012) with mantissa/exponent format
+ // convert to 10.3 floating point value and back to simulate truncation
+ output->roundtrip_fp();
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_opm.h b/3rdparty/ymfm/src/ymfm_opm.h
new file mode 100644
index 00000000000..d35a0168e7c
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opm.h
@@ -0,0 +1,320 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_OPM_H
+#define YMFM_OPM_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_fm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// REGISTER CLASSES
+//*********************************************************
+
+// ======================> opm_registers
+
+//
+// OPM register map:
+//
+// System-wide registers:
+// 01 xxxxxxxx Test register
+// 08 -x------ Key on/off operator 4
+// --x----- Key on/off operator 3
+// ---x---- Key on/off operator 2
+// ----x--- Key on/off operator 1
+// -----xxx Channel select
+// 0F x------- Noise enable
+// ---xxxxx Noise frequency
+// 10 xxxxxxxx Timer A value (upper 8 bits)
+// 11 ------xx Timer A value (lower 2 bits)
+// 12 xxxxxxxx Timer B value
+// 14 x------- CSM mode
+// --x----- Reset timer B
+// ---x---- Reset timer A
+// ----x--- Enable timer B
+// -----x-- Enable timer A
+// ------x- Load timer B
+// -------x Load timer A
+// 18 xxxxxxxx LFO frequency
+// 19 0xxxxxxx AM LFO depth
+// 1xxxxxxx PM LFO depth
+// 1B xx------ CT (2 output data lines)
+// ------xx LFO waveform
+//
+// Per-channel registers (channel in address bits 0-2)
+// 20-27 x------- Pan right
+// -x------ Pan left
+// --xxx--- Feedback level for operator 1 (0-7)
+// -----xxx Operator connection algorithm (0-7)
+// 28-2F -xxxxxxx Key code
+// 30-37 xxxxxx-- Key fraction
+// 38-3F -xxx---- LFO PM sensitivity
+// ------xx LFO AM shift
+//
+// Per-operator registers (channel in address bits 0-2, operator in bits 3-4)
+// 40-5F -xxx---- Detune value (0-7)
+// ----xxxx Multiple value (0-15)
+// 60-7F -xxxxxxx Total level (0-127)
+// 80-9F xx------ Key scale rate (0-3)
+// ---xxxxx Attack rate (0-31)
+// A0-BF x------- LFO AM enable
+// ---xxxxx Decay rate (0-31)
+// C0-DF xx------ Detune 2 value (0-3)
+// ---xxxxx Sustain rate (0-31)
+// E0-FF xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+//
+// Internal (fake) registers:
+// 1A -xxxxxxx PM depth
+//
+
+class opm_registers : public fm_registers_base
+{
+ // LFO waveforms are 256 entries long
+ static constexpr uint32_t LFO_WAVEFORM_LENGTH = 256;
+
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 2;
+ static constexpr uint32_t CHANNELS = 8;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 4;
+ static constexpr uint32_t WAVEFORMS = 1;
+ static constexpr uint32_t REGISTERS = 0x100;
+ static constexpr uint32_t DEFAULT_PRESCALE = 2;
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 3;
+ static constexpr uint32_t CSM_TRIGGER_MASK = ALL_CHANNELS;
+ static constexpr uint32_t REG_MODE = 0x14;
+ static constexpr uint8_t STATUS_TIMERA = 0x01;
+ static constexpr uint8_t STATUS_TIMERB = 0x02;
+ static constexpr uint8_t STATUS_BUSY = 0x80;
+ static constexpr uint8_t STATUS_IRQ = 0;
+
+ // constructor
+ opm_registers();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ return chnum;
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ return opnum;
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // return the AM offset from LFO for the given channel
+ uint32_t lfo_am_offset(uint32_t choffs) const;
+
+ // return the current noise state, gated by the noise clock
+ uint32_t noise_state() const { return m_noise_state; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // system-wide registers
+ uint32_t test() const { return byte(0x01, 0, 8); }
+ uint32_t noise_frequency() const { return byte(0x0f, 0, 5); }
+ uint32_t noise_enable() const { return byte(0x0f, 7, 1); }
+ uint32_t timer_a_value() const { return word(0x10, 0, 8, 0x11, 0, 2); }
+ uint32_t timer_b_value() const { return byte(0x12, 0, 8); }
+ uint32_t csm() const { return byte(0x14, 7, 1); }
+ uint32_t reset_timer_b() const { return byte(0x14, 5, 1); }
+ uint32_t reset_timer_a() const { return byte(0x14, 4, 1); }
+ uint32_t enable_timer_b() const { return byte(0x14, 3, 1); }
+ uint32_t enable_timer_a() const { return byte(0x14, 2, 1); }
+ uint32_t load_timer_b() const { return byte(0x14, 1, 1); }
+ uint32_t load_timer_a() const { return byte(0x14, 0, 1); }
+ uint32_t lfo_rate() const { return byte(0x18, 0, 8); }
+ uint32_t lfo_am_depth() const { return byte(0x19, 0, 7); }
+ uint32_t lfo_pm_depth() const { return byte(0x1a, 0, 7); }
+ uint32_t output_bits() const { return byte(0x1b, 6, 2); }
+ uint32_t lfo_waveform() const { return byte(0x1b, 0, 2); }
+
+ // per-channel registers
+ uint32_t ch_output_any(uint32_t choffs) const { return byte(0x20, 6, 2, choffs); }
+ uint32_t ch_output_0(uint32_t choffs) const { return byte(0x20, 6, 1, choffs); }
+ uint32_t ch_output_1(uint32_t choffs) const { return byte(0x20, 7, 1, choffs); }
+ uint32_t ch_output_2(uint32_t choffs) const { return 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return 0; }
+ uint32_t ch_feedback(uint32_t choffs) const { return byte(0x20, 3, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return byte(0x20, 0, 3, choffs); }
+ uint32_t ch_block_freq(uint32_t choffs) const { return word(0x28, 0, 7, 0x30, 2, 6, choffs); }
+ uint32_t ch_lfo_pm_sens(uint32_t choffs) const { return byte(0x38, 4, 3, choffs); }
+ uint32_t ch_lfo_am_sens(uint32_t choffs) const { return byte(0x38, 0, 2, choffs); }
+
+ // per-operator registers
+ uint32_t op_detune(uint32_t opoffs) const { return byte(0x40, 4, 3, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return byte(0x40, 0, 4, opoffs); }
+ uint32_t op_total_level(uint32_t opoffs) const { return byte(0x60, 0, 7, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return byte(0x80, 6, 2, opoffs); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return byte(0x80, 0, 5, opoffs); }
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return byte(0xa0, 7, 1, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return byte(0xa0, 0, 5, opoffs); }
+ uint32_t op_detune2(uint32_t opoffs) const { return byte(0xc0, 6, 2, opoffs); }
+ uint32_t op_sustain_rate(uint32_t opoffs) const { return byte(0xc0, 0, 5, opoffs); }
+ uint32_t op_sustain_level(uint32_t opoffs) const { return byte(0xe0, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return byte(0xe0, 0, 4, opoffs); }
+
+protected:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // internal state
+ uint32_t m_lfo_counter; // LFO counter
+ uint32_t m_noise_lfsr; // noise LFSR state
+ uint8_t m_noise_counter; // noise counter
+ uint8_t m_noise_state; // latched noise state
+ uint8_t m_noise_lfo; // latched LFO noise value
+ uint8_t m_lfo_am; // current LFO AM value
+ uint8_t m_regdata[REGISTERS]; // register data
+ int16_t m_lfo_waveform[4][LFO_WAVEFORM_LENGTH]; // LFO waveforms; AM in low 8, PM in upper 8
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+
+
+//*********************************************************
+// OPM IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym2151
+
+class ym2151
+{
+public:
+ using fm_engine = fm_engine_base<opm_registers>;
+ using output_data = fm_engine::output_data;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+
+ // constructor
+ ym2151(ymfm_interface &intf) : ym2151(intf, VARIANT_YM2151) { }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // variants
+ enum opm_variant
+ {
+ VARIANT_YM2151,
+ VARIANT_YM2164
+ };
+
+ // internal constructor
+ ym2151(ymfm_interface &intf, opm_variant variant);
+
+ // internal state
+ opm_variant m_variant; // chip variant
+ uint8_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+
+
+//*********************************************************
+// OPP IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym2164
+
+// the YM2164 is almost 100% functionally identical to the YM2151, except
+// it apparently has some mystery registers in the 00-07 range, and timer
+// B's frequency is half that of the 2151
+class ym2164 : public ym2151
+{
+public:
+ // constructor
+ ym2164(ymfm_interface &intf) : ym2151(intf, VARIANT_YM2164) { }
+};
+
+}
+
+
+#endif // YMFM_OPM_H
diff --git a/3rdparty/ymfm/src/ymfm_opn.cpp b/3rdparty/ymfm/src/ymfm_opn.cpp
new file mode 100644
index 00000000000..f4b88a09584
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opn.cpp
@@ -0,0 +1,2469 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_opn.h"
+#include "ymfm_fm.ipp"
+
+namespace ymfm
+{
+
+//*********************************************************
+// OPN/OPNA REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// opn_registers_base - constructor
+//-------------------------------------------------
+
+template<bool IsOpnA>
+opn_registers_base<IsOpnA>::opn_registers_base() :
+ m_lfo_counter(0),
+ m_lfo_am(0)
+{
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[0][index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+template<bool IsOpnA>
+void opn_registers_base<IsOpnA>::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+ if (IsOpnA)
+ {
+ // enable output on both channels by default
+ m_regdata[0xb4] = m_regdata[0xb5] = m_regdata[0xb6] = 0xc0;
+ m_regdata[0x1b4] = m_regdata[0x1b5] = m_regdata[0x1b6] = 0xc0;
+ }
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<bool IsOpnA>
+void opn_registers_base<IsOpnA>::save_restore(ymfm_saved_state &state)
+{
+ if (IsOpnA)
+ {
+ state.save_restore(m_lfo_counter);
+ state.save_restore(m_lfo_am);
+ }
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPN this is fixed
+//-------------------------------------------------
+
+template<>
+void opn_registers_base<false>::operator_map(operator_mapping &dest) const
+{
+ // Note that the channel index order is 0,2,1,3, so we bitswap the index.
+ //
+ // This is because the order in the map is:
+ // carrier 1, carrier 2, modulator 1, modulator 2
+ //
+ // But when wiring up the connections, the more natural order is:
+ // carrier 1, modulator 1, carrier 2, modulator 2
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 6, 3, 9 ), // Channel 0 operators
+ operator_list( 1, 7, 4, 10 ), // Channel 1 operators
+ operator_list( 2, 8, 5, 11 ), // Channel 2 operators
+ } };
+ dest = s_fixed_map;
+}
+
+template<>
+void opn_registers_base<true>::operator_map(operator_mapping &dest) const
+{
+ // Note that the channel index order is 0,2,1,3, so we bitswap the index.
+ //
+ // This is because the order in the map is:
+ // carrier 1, carrier 2, modulator 1, modulator 2
+ //
+ // But when wiring up the connections, the more natural order is:
+ // carrier 1, modulator 1, carrier 2, modulator 2
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 6, 3, 9 ), // Channel 0 operators
+ operator_list( 1, 7, 4, 10 ), // Channel 1 operators
+ operator_list( 2, 8, 5, 11 ), // Channel 2 operators
+ operator_list( 12, 18, 15, 21 ), // Channel 3 operators
+ operator_list( 13, 19, 16, 22 ), // Channel 4 operators
+ operator_list( 14, 20, 17, 23 ), // Channel 5 operators
+ } };
+ dest = s_fixed_map;
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array
+//-------------------------------------------------
+
+template<bool IsOpnA>
+bool opn_registers_base<IsOpnA>::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ assert(index < REGISTERS);
+
+ // writes in the 0xa0-af/0x1a0-af region are handled as latched pairs
+ // borrow unused registers 0xb8-bf/0x1b8-bf as temporary holding locations
+ if ((index & 0xf0) == 0xa0)
+ {
+ uint32_t latchindex = 0xb8 | (bitfield(index, 3) << 2) | bitfield(index, 0, 2);
+ if (IsOpnA)
+ latchindex |= index & 0x100;
+
+ // writes to the upper half just latch (only low 6 bits matter)
+ if (bitfield(index, 2))
+ m_regdata[latchindex] = data | 0x80;
+
+ // writes to the lower half only commit if the latch is there
+ else if (bitfield(m_regdata[latchindex], 7))
+ {
+ m_regdata[index | 4] = m_regdata[latchindex] & 0x3f;
+ m_regdata[latchindex] = 0;
+ }
+ }
+
+ // everything else is normal
+ m_regdata[index] = data;
+
+ // handle writes to the key on index
+ if (index == 0x28)
+ {
+ channel = bitfield(data, 0, 2);
+ if (channel == 3)
+ return false;
+ if (IsOpnA)
+ channel += bitfield(data, 2, 1) * 3;
+ opmask = bitfield(data, 4, 4);
+ return true;
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+template<bool IsOpnA>
+int32_t opn_registers_base<IsOpnA>::clock_noise_and_lfo()
+{
+ // OPN has no noise generation
+
+ // if LFO not enabled (not present on OPN), quick exit with 0s
+ if (!IsOpnA || !lfo_enable())
+ {
+ m_lfo_counter = 0;
+ m_lfo_am = 0;
+ return 0;
+ }
+
+ // this table is based on converting the frequencies in the applications
+ // manual to clock dividers, based on the assumption of a 7-bit LFO value
+ static uint8_t const lfo_max_count[8] = { 109, 78, 72, 68, 63, 45, 9, 6 };
+ uint32_t subcount = uint8_t(m_lfo_counter++);
+
+ // when we cross the divider count, add enough to zero it and cause an
+ // increment at bit 8; the 7-bit value lives from bits 8-14
+ if (subcount >= lfo_max_count[lfo_rate()])
+ {
+ // note: to match the published values this should be 0x100 - subcount;
+ // however, tests on the hardware and nuked bear out an off-by-one
+ // error exists that causes the max LFO rate to be faster than published
+ m_lfo_counter += 0x101 - subcount;
+ }
+
+ // AM value is 7 bits, staring at bit 8; grab the low 6 directly
+ m_lfo_am = bitfield(m_lfo_counter, 8, 6);
+
+ // first half of the AM period (bit 6 == 0) is inverted
+ if (bitfield(m_lfo_counter, 8+6) == 0)
+ m_lfo_am ^= 0x3f;
+
+ // PM value is 5 bits, starting at bit 10; grab the low 3 directly
+ int32_t pm = bitfield(m_lfo_counter, 10, 3);
+
+ // PM is reflected based on bit 3
+ if (bitfield(m_lfo_counter, 10+3))
+ pm ^= 7;
+
+ // PM is negated based on bit 4
+ return bitfield(m_lfo_counter, 10+4) ? -pm : pm;
+}
+
+
+//-------------------------------------------------
+// lfo_am_offset - return the AM offset from LFO
+// for the given channel
+//-------------------------------------------------
+
+template<bool IsOpnA>
+uint32_t opn_registers_base<IsOpnA>::lfo_am_offset(uint32_t choffs) const
+{
+ // shift value for AM sensitivity is [7, 3, 1, 0],
+ // mapping to values of [0, 1.4, 5.9, and 11.8dB]
+ uint32_t am_shift = (1 << (ch_lfo_am_sens(choffs) ^ 3)) - 1;
+
+ // QUESTION: max sensitivity should give 11.8dB range, but this value
+ // is directly added to an x.8 attenuation value, which will only give
+ // 126/256 or ~4.9dB range -- what am I missing? The calculation below
+ // matches several other emulators, including the Nuked implemenation.
+
+ // raw LFO AM value on OPN is 0-3F, scale that up by a factor of 2
+ // (giving 7 bits) before applying the final shift
+ return (m_lfo_am << 1) >> am_shift;
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data
+//-------------------------------------------------
+
+template<bool IsOpnA>
+void opn_registers_base<IsOpnA>::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // set up the easy stuff
+ cache.waveform = &m_waveform[0][0];
+
+ // get frequency from the channel
+ uint32_t block_freq = cache.block_freq = ch_block_freq(choffs);
+
+ // if multi-frequency mode is enabled and this is channel 2,
+ // fetch one of the special frequencies
+ if (multi_freq() && choffs == 2)
+ {
+ if (opoffs == 2)
+ block_freq = cache.block_freq = multi_block_freq(1);
+ else if (opoffs == 10)
+ block_freq = cache.block_freq = multi_block_freq(2);
+ else if (opoffs == 6)
+ block_freq = cache.block_freq = multi_block_freq(0);
+ }
+
+ // compute the keycode: block_freq is:
+ //
+ // BBBFFFFFFFFFFF
+ // ^^^^???
+ //
+ // the 5-bit keycode uses the top 4 bits plus a magic formula
+ // for the final bit
+ uint32_t keycode = bitfield(block_freq, 10, 4) << 1;
+
+ // lowest bit is determined by a mix of next lower FNUM bits
+ // according to this equation from the YM2608 manual:
+ //
+ // (F11 & (F10 | F9 | F8)) | (!F11 & F10 & F9 & F8)
+ //
+ // for speed, we just look it up in a 16-bit constant
+ keycode |= bitfield(0xfe80, bitfield(block_freq, 7, 4));
+
+ // detune adjustment
+ cache.detune = detune_adjustment(op_detune(opoffs), keycode);
+
+ // multiple value, as an x.1 value (0 means 0.5)
+ cache.multiple = op_multiple(opoffs) * 2;
+ if (cache.multiple == 0)
+ cache.multiple = 1;
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
+ // block_freq, detune, and multiple, so compute it after we've done those
+ if (!IsOpnA || lfo_enable() == 0 || ch_lfo_pm_sens(choffs) == 0)
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8
+ cache.total_level = op_total_level(opoffs) << 3;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // determine KSR adjustment for enevlope rates
+ uint32_t ksrval = keycode >> (op_ksr(opoffs) ^ 3);
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+template<bool IsOpnA>
+uint32_t opn_registers_base<IsOpnA>::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ // OPN phase calculation has only a single detune parameter
+ // and uses FNUMs instead of keycodes
+
+ // extract frequency number (low 11 bits of block_freq)
+ uint32_t fnum = bitfield(cache.block_freq, 0, 11) << 1;
+
+ // if there's a non-zero PM sensitivity, compute the adjustment
+ uint32_t pm_sensitivity = ch_lfo_pm_sens(choffs);
+ if (pm_sensitivity != 0)
+ {
+ // apply the phase adjustment based on the upper 7 bits
+ // of FNUM and the PM depth parameters
+ fnum += opn_lfo_pm_phase_adjustment(bitfield(cache.block_freq, 4, 7), pm_sensitivity, lfo_raw_pm);
+
+ // keep fnum to 12 bits
+ fnum &= 0xfff;
+ }
+
+ // apply block shift to compute phase step
+ uint32_t block = bitfield(cache.block_freq, 11, 3);
+ uint32_t phase_step = (fnum << block) >> 2;
+
+ // apply detune based on the keycode
+ phase_step += cache.detune;
+
+ // clamp to 17 bits in case detune overflows
+ // QUESTION: is this specific to the YM2612/3438?
+ phase_step &= 0x1ffff;
+
+ // apply frequency multiplier (which is cached as an x.1 value)
+ return (phase_step * cache.multiple) >> 1;
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+template<bool IsOpnA>
+std::string opn_registers_base<IsOpnA>::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = (choffs & 3) + 3 * bitfield(choffs, 8);
+ uint32_t opnum = (opoffs & 15) - ((opoffs & 15) / 4) + 12 * bitfield(opoffs, 8);
+
+ uint32_t block_freq = ch_block_freq(choffs);
+ if (multi_freq() && choffs == 2)
+ {
+ if (opoffs == 2)
+ block_freq = multi_block_freq(1);
+ else if (opoffs == 10)
+ block_freq = multi_block_freq(2);
+ else if (opoffs == 6)
+ block_freq = multi_block_freq(0);
+ }
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%d.%02d freq=%04X dt=%d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X",
+ chnum, opnum,
+ block_freq,
+ op_detune(opoffs),
+ ch_feedback(choffs),
+ ch_algorithm(choffs),
+ op_multiple(opoffs),
+ op_total_level(opoffs),
+ op_ksr(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_sustain_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs));
+
+ if (OUTPUTS > 1)
+ end += sprintf(end, " out=%c%c",
+ ch_output_0(choffs) ? 'L' : '-',
+ ch_output_1(choffs) ? 'R' : '-');
+ if (op_ssg_eg_enable(opoffs))
+ end += sprintf(end, " ssg=%X", op_ssg_eg_mode(opoffs));
+ bool am = (lfo_enable() && op_lfo_am_enable(opoffs) && ch_lfo_am_sens(choffs) != 0);
+ if (am)
+ end += sprintf(end, " am=%d", ch_lfo_am_sens(choffs));
+ bool pm = (lfo_enable() && ch_lfo_pm_sens(choffs) != 0);
+ if (pm)
+ end += sprintf(end, " pm=%d", ch_lfo_pm_sens(choffs));
+ if (am || pm)
+ end += sprintf(end, " lfo=%02X", lfo_rate());
+ if (multi_freq() && choffs == 2)
+ end += sprintf(end, " multi=1");
+
+ return buffer;
+}
+
+
+
+//*********************************************************
+// SSG RESAMPLER
+//*********************************************************
+
+//-------------------------------------------------
+// add_last - helper to add the last computed
+// value to the sums, applying the given scale
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::add_last(int32_t &sum0, int32_t &sum1, int32_t &sum2, int32_t scale)
+{
+ sum0 += m_last.data[0] * scale;
+ sum1 += m_last.data[1] * scale;
+ sum2 += m_last.data[2] * scale;
+}
+
+
+//-------------------------------------------------
+// clock_and_add - helper to clock a new value
+// and then add it to the sums, applying the
+// given scale
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::clock_and_add(int32_t &sum0, int32_t &sum1, int32_t &sum2, int32_t scale)
+{
+ m_ssg.clock();
+ m_ssg.output(m_last);
+ add_last(sum0, sum1, sum2, scale);
+}
+
+
+//-------------------------------------------------
+// write_to_output - helper to write the sums to
+// the appropriate outputs, applying the given
+// divisor to the final result
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::write_to_output(OutputType *output, int32_t sum0, int32_t sum1, int32_t sum2, int32_t divisor)
+{
+ if (MixTo1)
+ {
+ // mixing to one, apply a 2/3 factor to prevent overflow
+ output->data[FirstOutput] = (sum0 + sum1 + sum2) * 2 / (3 * divisor);
+ }
+ else
+ {
+ // write three outputs in a row
+ output->data[FirstOutput + 0] = sum0 / divisor;
+ output->data[FirstOutput + 1] = sum1 / divisor;
+ output->data[FirstOutput + 2] = sum2 / divisor;
+ }
+
+ // track the sample index here
+ m_sampindex++;
+}
+
+
+//-------------------------------------------------
+// ssg_resampler - constructor
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+ssg_resampler<OutputType, FirstOutput, MixTo1>::ssg_resampler(ssg_engine &ssg) :
+ m_ssg(ssg),
+ m_sampindex(0),
+ m_resampler(&ssg_resampler::resample_nop)
+{
+ m_last.clear();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_sampindex);
+ state.save_restore(m_last.data);
+}
+
+
+//-------------------------------------------------
+// configure - configure a new ratio
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::configure(uint8_t outsamples, uint8_t srcsamples)
+{
+ switch (outsamples * 10 + srcsamples)
+ {
+ case 4*10 + 1: /* 4:1 */ m_resampler = &ssg_resampler::resample_n_1<4>; break;
+ case 2*10 + 1: /* 2:1 */ m_resampler = &ssg_resampler::resample_n_1<2>; break;
+ case 4*10 + 3: /* 4:3 */ m_resampler = &ssg_resampler::resample_4_3; break;
+ case 1*10 + 1: /* 1:1 */ m_resampler = &ssg_resampler::resample_n_1<1>; break;
+ case 2*10 + 3: /* 2:3 */ m_resampler = &ssg_resampler::resample_2_3; break;
+ case 1*10 + 3: /* 1:3 */ m_resampler = &ssg_resampler::resample_1_n<3>; break;
+ case 2*10 + 9: /* 2:9 */ m_resampler = &ssg_resampler::resample_2_9; break;
+ case 1*10 + 6: /* 1:6 */ m_resampler = &ssg_resampler::resample_1_n<6>; break;
+ case 0*10 + 0: /* 0:0 */ m_resampler = &ssg_resampler::resample_nop; break;
+ default: assert(false); break;
+ }
+}
+
+
+//-------------------------------------------------
+// resample_n_1 - resample SSG output to the
+// target at a rate of 1 SSG sample to every
+// n output sample
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+template<int Multiplier>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_n_1(OutputType *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ if (m_sampindex % Multiplier == 0)
+ {
+ m_ssg.clock();
+ m_ssg.output(m_last);
+ }
+ write_to_output(output, m_last.data[0], m_last.data[1], m_last.data[2]);
+ }
+}
+
+
+//-------------------------------------------------
+// resample_1_n - resample SSG output to the
+// target at a rate of n SSG samples to every
+// 1 output sample
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+template<int Divisor>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_1_n(OutputType *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ int32_t sum0 = 0, sum1 = 0, sum2 = 0;
+ for (int rep = 0; rep < Divisor; rep++)
+ clock_and_add(sum0, sum1, sum2);
+ write_to_output(output, sum0, sum1, sum2, Divisor);
+ }
+}
+
+
+//-------------------------------------------------
+// resample_2_9 - resample SSG output to the
+// target at a rate of 9 SSG samples to every
+// 2 output samples
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_2_9(OutputType *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ int32_t sum0 = 0, sum1 = 0, sum2 = 0;
+ if (bitfield(m_sampindex, 0) != 0)
+ add_last(sum0, sum1, sum2, 1);
+ clock_and_add(sum0, sum1, sum2, 2);
+ clock_and_add(sum0, sum1, sum2, 2);
+ clock_and_add(sum0, sum1, sum2, 2);
+ clock_and_add(sum0, sum1, sum2, 2);
+ if (bitfield(m_sampindex, 0) == 0)
+ clock_and_add(sum0, sum1, sum2, 1);
+ write_to_output(output, sum0, sum1, sum2, 9);
+ }
+}
+
+
+//-------------------------------------------------
+// resample_2_3 - resample SSG output to the
+// target at a rate of 3 SSG samples to every
+// 2 output samples
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_2_3(OutputType *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ int32_t sum0 = 0, sum1 = 0, sum2 = 0;
+ if (bitfield(m_sampindex, 0) == 0)
+ {
+ clock_and_add(sum0, sum1, sum2, 2);
+ clock_and_add(sum0, sum1, sum2, 1);
+ }
+ else
+ {
+ add_last(sum0, sum1, sum2, 1);
+ clock_and_add(sum0, sum1, sum2, 2);
+ }
+ write_to_output(output, sum0, sum1, sum2, 3);
+ }
+}
+
+
+//-------------------------------------------------
+// resample_4_3 - resample SSG output to the
+// target at a rate of 3 SSG samples to every
+// 4 output samples
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_4_3(OutputType *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ int32_t sum0 = 0, sum1 = 0, sum2 = 0;
+ int32_t step = bitfield(m_sampindex, 0, 2);
+ add_last(sum0, sum1, sum2, step);
+ if (step != 3)
+ clock_and_add(sum0, sum1, sum2, 3 - step);
+ write_to_output(output, sum0, sum1, sum2, 3);
+ }
+}
+
+
+//-------------------------------------------------
+// resample_nop - no-op resampler
+//-------------------------------------------------
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+void ssg_resampler<OutputType, FirstOutput, MixTo1>::resample_nop(OutputType *output, uint32_t numsamples)
+{
+ // nothing to do except increment the sample index
+ m_sampindex += numsamples;
+}
+
+
+
+//*********************************************************
+// YM2203
+//*********************************************************
+
+//-------------------------------------------------
+// ym2203 - constructor
+//-------------------------------------------------
+
+ym2203::ym2203(ymfm_interface &intf) :
+ m_fidelity(OPN_FIDELITY_MAX),
+ m_address(0),
+ m_fm(intf),
+ m_ssg(intf),
+ m_ssg_resampler(m_ssg)
+{
+ m_last_fm.clear();
+ update_prescale(m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2203::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_ssg.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2203::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_last_fm.data);
+
+ m_fm.save_restore(state);
+ m_ssg.save_restore(state);
+ m_ssg_resampler.save_restore(state);
+
+ update_prescale(m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2203::read_status()
+{
+ uint8_t result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ym2203::read_data()
+{
+ uint8_t result = 0;
+ if (m_address < 0x10)
+ {
+ // 00-0F: Read from SSG
+ result = m_ssg.read(m_address & 0x0f);
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2203::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ case 1: // data port (only SSG)
+ result = read_data();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2203::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+
+ // special case: update the prescale
+ if (m_address >= 0x2d && m_address <= 0x2f)
+ {
+ // 2D-2F: prescaler select
+ if (m_address == 0x2d)
+ update_prescale(6);
+ else if (m_address == 0x2e && m_fm.clock_prescale() == 6)
+ update_prescale(3);
+ else if (m_address == 0x2f)
+ update_prescale(2);
+ }
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2203::write_data(uint8_t data)
+{
+ if (m_address < 0x10)
+ {
+ // 00-0F: write to SSG
+ m_ssg.write(m_address & 0x0f, data);
+ }
+ else
+ {
+ // 10-FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2203::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2203::generate(output_data *output, uint32_t numsamples)
+{
+ // FM output is just repeated the prescale number of times; note that
+ // 0 is a special 1.5 case
+ if (m_fm_samples_per_output != 0)
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ if ((m_ssg_resampler.sampindex() + samp) % m_fm_samples_per_output == 0)
+ clock_fm();
+ output->data[0] = m_last_fm.data[0];
+ }
+ }
+ else
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ uint32_t step = (m_ssg_resampler.sampindex() + samp) % 3;
+ if (step == 0)
+ clock_fm();
+ output->data[0] = m_last_fm.data[0];
+ if (step == 1)
+ {
+ clock_fm();
+ output->data[0] = (output->data[0] + m_last_fm.data[0]) / 2;
+ }
+ }
+ }
+
+ // resample the SSG as configured
+ m_ssg_resampler.resample(output - numsamples, numsamples);
+}
+
+
+//-------------------------------------------------
+// update_prescale - update the prescale value,
+// recomputing derived values
+//-------------------------------------------------
+
+void ym2203::update_prescale(uint8_t prescale)
+{
+ // tell the FM engine
+ m_fm.set_clock_prescale(prescale);
+ m_ssg.prescale_changed();
+
+ // Fidelity: ---- minimum ---- ---- medium ----- ---- maximum-----
+ // rate = clock/24 rate = clock/12 rate = clock/4
+ // Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+ // 6 3:1 2:3 6:1 4:3 18:1 4:1
+ // 3 1.5:1 1:3 3:1 2:3 9:1 2:1
+ // 2 1:1 1:6 2:1 1:3 6:1 1:1
+
+ // compute the number of FM samples per output sample, and select the
+ // resampler function
+ if (m_fidelity == OPN_FIDELITY_MIN)
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 3; m_ssg_resampler.configure(2, 3); break;
+ case 3: m_fm_samples_per_output = 0; m_ssg_resampler.configure(1, 3); break;
+ case 2: m_fm_samples_per_output = 1; m_ssg_resampler.configure(1, 6); break;
+ }
+ }
+ else if (m_fidelity == OPN_FIDELITY_MED)
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 6; m_ssg_resampler.configure(4, 3); break;
+ case 3: m_fm_samples_per_output = 3; m_ssg_resampler.configure(2, 3); break;
+ case 2: m_fm_samples_per_output = 2; m_ssg_resampler.configure(1, 3); break;
+ }
+ }
+ else
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 18; m_ssg_resampler.configure(4, 1); break;
+ case 3: m_fm_samples_per_output = 9; m_ssg_resampler.configure(2, 1); break;
+ case 2: m_fm_samples_per_output = 6; m_ssg_resampler.configure(1, 1); break;
+ }
+ }
+
+ // if overriding the SSG, override the configuration with the nop
+ // resampler to at least keep the sample index moving forward
+ if (m_ssg.overridden())
+ m_ssg_resampler.configure(0, 0);
+}
+
+
+//-------------------------------------------------
+// clock_fm - clock FM state
+//-------------------------------------------------
+
+void ym2203::clock_fm()
+{
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; OPN is full 14-bit with no intermediate clipping
+ m_fm.output(m_last_fm.clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // convert to 10.3 floating point value for the DAC and back
+ m_last_fm.roundtrip_fp();
+}
+
+
+
+//*********************************************************
+// YM2608
+//*********************************************************
+
+//-------------------------------------------------
+// ym2608 - constructor
+//-------------------------------------------------
+
+ym2608::ym2608(ymfm_interface &intf) :
+ m_fidelity(OPN_FIDELITY_MAX),
+ m_address(0),
+ m_irq_enable(0x1f),
+ m_flag_control(0x1c),
+ m_fm(intf),
+ m_ssg(intf),
+ m_ssg_resampler(m_ssg),
+ m_adpcm_a(intf, 0),
+ m_adpcm_b(intf)
+{
+ m_last_fm.clear();
+ update_prescale(m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2608::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_ssg.reset();
+ m_adpcm_a.reset();
+ m_adpcm_b.reset();
+
+ // configure ADPCM percussion sounds; these are present in an embedded ROM
+ m_adpcm_a.set_start_end(0, 0x0000, 0x01bf); // bass drum
+ m_adpcm_a.set_start_end(1, 0x01c0, 0x043f); // snare drum
+ m_adpcm_a.set_start_end(2, 0x0440, 0x1b7f); // top cymbal
+ m_adpcm_a.set_start_end(3, 0x1b80, 0x1cff); // high hat
+ m_adpcm_a.set_start_end(4, 0x1d00, 0x1f7f); // tom tom
+ m_adpcm_a.set_start_end(5, 0x1f80, 0x1fff); // rim shot
+
+ // initialize our special interrupt states, then read the upper status
+ // register, which updates the IRQs
+ m_irq_enable = 0x1f;
+ m_flag_control = 0x1c;
+ read_status_hi();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2608::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_irq_enable);
+ state.save_restore(m_flag_control);
+ state.save_restore(m_last_fm.data);
+
+ m_fm.save_restore(state);
+ m_ssg.save_restore(state);
+ m_ssg_resampler.save_restore(state);
+ m_adpcm_a.save_restore(state);
+ m_adpcm_b.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2608::read_status()
+{
+ uint8_t result = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB);
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ym2608::read_data()
+{
+ uint8_t result = 0;
+ if (m_address < 0x10)
+ {
+ // 00-0F: Read from SSG
+ result = m_ssg.read(m_address & 0x0f);
+ }
+ else if (m_address == 0xff)
+ {
+ // FF: ID code
+ result = 1;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_status_hi - read the extended status
+// register
+//-------------------------------------------------
+
+uint8_t ym2608::read_status_hi()
+{
+ // fetch regular status
+ uint8_t status = m_fm.status() & ~(STATUS_ADPCM_B_EOS | STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_PLAYING);
+
+ // fetch ADPCM-B status, and merge in the bits
+ uint8_t adpcm_status = m_adpcm_b.status();
+ if ((adpcm_status & adpcm_b_channel::STATUS_EOS) != 0)
+ status |= STATUS_ADPCM_B_EOS;
+ if ((adpcm_status & adpcm_b_channel::STATUS_BRDY) != 0)
+ status |= STATUS_ADPCM_B_BRDY;
+ if ((adpcm_status & adpcm_b_channel::STATUS_PLAYING) != 0)
+ status |= STATUS_ADPCM_B_PLAYING;
+
+ // turn off any bits that have been requested to be masked
+ status &= ~(m_flag_control & 0x1f);
+
+ // update the status so that IRQs are propagated
+ m_fm.set_reset_status(status, ~status);
+
+ // merge in the busy flag
+ if (m_fm.intf().ymfm_is_busy())
+ status |= fm_engine::STATUS_BUSY;
+ return status;
+}
+
+
+//-------------------------------------------------
+// read_data_hi - read the upper data register
+//-------------------------------------------------
+
+uint8_t ym2608::read_data_hi()
+{
+ uint8_t result = 0;
+ if (m_address < 0x10)
+ {
+ // 00-0F: Read from ADPCM-B
+ result = m_adpcm_b.read(m_address & 0x0f);
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2608::read(uint32_t offset)
+{
+ uint8_t result = 0;
+ switch (offset & 3)
+ {
+ case 0: // status port, YM2203 compatible
+ result = read_status();
+ break;
+
+ case 1: // data port (only SSG)
+ result = read_data();
+ break;
+
+ case 2: // status port, extended
+ result = read_status_hi();
+ break;
+
+ case 3: // ADPCM-B data
+ result = read_data_hi();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2608::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+
+ // special case: update the prescale
+ if (m_address >= 0x2d && m_address <= 0x2f)
+ {
+ // 2D-2F: prescaler select
+ if (m_address == 0x2d)
+ update_prescale(6);
+ else if (m_address == 0x2e && m_fm.clock_prescale() == 6)
+ update_prescale(3);
+ else if (m_address == 0x2f)
+ update_prescale(2);
+ }
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the data register
+//-------------------------------------------------
+
+void ym2608::write_data(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (bitfield(m_address, 8))
+ return;
+
+ if (m_address < 0x10)
+ {
+ // 00-0F: write to SSG
+ m_ssg.write(m_address & 0x0f, data);
+ }
+ else if (m_address < 0x20)
+ {
+ // 10-1F: write to ADPCM-A
+ m_adpcm_a.write(m_address & 0x0f, data);
+ }
+ else if (m_address == 0x29)
+ {
+ // 29: special IRQ mask register
+ m_irq_enable = data;
+ m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x1f);
+ }
+ else
+ {
+ // 20-28, 2A-FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ym2608::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = 0x100 | data;
+}
+
+
+//-------------------------------------------------
+// write_data_hi - handle a write to the upper
+// data register
+//-------------------------------------------------
+
+void ym2608::write_data_hi(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (!bitfield(m_address, 8))
+ return;
+
+ if (m_address < 0x110)
+ {
+ // 100-10F: write to ADPCM-B
+ m_adpcm_b.write(m_address & 0x0f, data);
+ }
+ else if (m_address == 0x110)
+ {
+ // 110: IRQ flag control
+ if (bitfield(data, 7))
+ m_fm.set_reset_status(0, 0xff);
+ else
+ {
+ m_flag_control = data;
+ m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x1f);
+ }
+ }
+ else
+ {
+ // 111-1FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2608::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // upper address port
+ write_address_hi(data);
+ break;
+
+ case 3: // upper data port
+ write_data_hi(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2608::generate(output_data *output, uint32_t numsamples)
+{
+ // FM output is just repeated the prescale number of times; note that
+ // 0 is a special 1.5 case
+ if (m_fm_samples_per_output != 0)
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ if ((m_ssg_resampler.sampindex() + samp) % m_fm_samples_per_output == 0)
+ clock_fm_and_adpcm();
+ output->data[0] = m_last_fm.data[0];
+ output->data[1] = m_last_fm.data[1];
+ }
+ }
+ else
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ uint32_t step = (m_ssg_resampler.sampindex() + samp) % 3;
+ if (step == 0)
+ clock_fm_and_adpcm();
+ output->data[0] = m_last_fm.data[0];
+ output->data[1] = m_last_fm.data[1];
+ if (step == 1)
+ {
+ clock_fm_and_adpcm();
+ output->data[0] = (output->data[0] + m_last_fm.data[0]) / 2;
+ output->data[1] = (output->data[1] + m_last_fm.data[1]) / 2;
+ }
+ }
+ }
+
+ // resample the SSG as configured
+ m_ssg_resampler.resample(output - numsamples, numsamples);
+}
+
+
+//-------------------------------------------------
+// update_prescale - update the prescale value,
+// recomputing derived values
+//-------------------------------------------------
+
+void ym2608::update_prescale(uint8_t prescale)
+{
+ // tell the FM engine
+ m_fm.set_clock_prescale(prescale);
+ m_ssg.prescale_changed();
+
+ // Fidelity: ---- minimum ---- ---- medium ----- ---- maximum-----
+ // rate = clock/48 rate = clock/24 rate = clock/8
+ // Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+ // 6 3:1 2:3 6:1 4:3 18:1 4:1
+ // 3 1.5:1 1:3 3:1 2:3 9:1 2:1
+ // 2 1:1 1:6 2:1 1:3 6:1 1:1
+
+ // compute the number of FM samples per output sample, and select the
+ // resampler function
+ if (m_fidelity == OPN_FIDELITY_MIN)
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 3; m_ssg_resampler.configure(2, 3); break;
+ case 3: m_fm_samples_per_output = 0; m_ssg_resampler.configure(1, 3); break;
+ case 2: m_fm_samples_per_output = 1; m_ssg_resampler.configure(1, 6); break;
+ }
+ }
+ else if (m_fidelity == OPN_FIDELITY_MED)
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 6; m_ssg_resampler.configure(4, 3); break;
+ case 3: m_fm_samples_per_output = 3; m_ssg_resampler.configure(2, 3); break;
+ case 2: m_fm_samples_per_output = 2; m_ssg_resampler.configure(1, 3); break;
+ }
+ }
+ else
+ {
+ switch (prescale)
+ {
+ default:
+ case 6: m_fm_samples_per_output = 18; m_ssg_resampler.configure(4, 1); break;
+ case 3: m_fm_samples_per_output = 9; m_ssg_resampler.configure(2, 1); break;
+ case 2: m_fm_samples_per_output = 6; m_ssg_resampler.configure(1, 1); break;
+ }
+ }
+
+ // if overriding the SSG, override the configuration with the nop
+ // resampler to at least keep the sample index moving forward
+ if (m_ssg.overridden())
+ m_ssg_resampler.configure(0, 0);
+}
+
+
+//-------------------------------------------------
+// clock_fm_and_adpcm - clock FM and ADPCM state
+//-------------------------------------------------
+
+void ym2608::clock_fm_and_adpcm()
+{
+ // top bit of the IRQ enable flags controls 3-channel vs 6-channel mode
+ uint32_t fmmask = bitfield(m_irq_enable, 7) ? 0x3f : 0x07;
+
+ // clock the system
+ uint32_t env_counter = m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // clock the ADPCM-A engine on every envelope cycle
+ // (channels 4 and 5 clock every 2 envelope clocks)
+ if (bitfield(env_counter, 0, 2) == 0)
+ m_adpcm_a.clock(bitfield(env_counter, 2) ? 0x0f : 0x3f);
+
+ // clock the ADPCM-B engine every cycle
+ m_adpcm_b.clock();
+
+ // update the FM content; OPNA is 13-bit with no intermediate clipping
+ m_fm.output(m_last_fm.clear(), 1, 32767, fmmask);
+
+ // mix in the ADPCM and clamp
+ m_adpcm_a.output(m_last_fm, 0x3f);
+ m_adpcm_b.output(m_last_fm, 1);
+ m_last_fm.clamp16();
+}
+
+
+//*********************************************************
+// YMF288
+//*********************************************************
+
+// YMF288 is a YM2608 with the following changes:
+// * ADPCM-B part removed
+// * prescaler removed (fixed at 6)
+// * CSM removed
+// * Low power mode added
+// * SSG tone frequency is altered in some way? (explicitly DC for Tp 0-7, also double volume in some cases)
+// * I/O ports removed
+// * Shorter busy times
+// * All registers can be read
+
+//-------------------------------------------------
+// ymf288 - constructor
+//-------------------------------------------------
+
+ymf288::ymf288(ymfm_interface &intf) :
+ m_fidelity(OPN_FIDELITY_MAX),
+ m_address(0),
+ m_irq_enable(0x03),
+ m_flag_control(0x03),
+ m_fm(intf),
+ m_ssg(intf),
+ m_ssg_resampler(m_ssg),
+ m_adpcm_a(intf, 0)
+{
+ m_last_fm.clear();
+ update_prescale();
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ymf288::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_ssg.reset();
+ m_adpcm_a.reset();
+
+ // configure ADPCM percussion sounds; these are present in an embedded ROM
+ m_adpcm_a.set_start_end(0, 0x0000, 0x01bf); // bass drum
+ m_adpcm_a.set_start_end(1, 0x01c0, 0x043f); // snare drum
+ m_adpcm_a.set_start_end(2, 0x0440, 0x1b7f); // top cymbal
+ m_adpcm_a.set_start_end(3, 0x1b80, 0x1cff); // high hat
+ m_adpcm_a.set_start_end(4, 0x1d00, 0x1f7f); // tom tom
+ m_adpcm_a.set_start_end(5, 0x1f80, 0x1fff); // rim shot
+
+ // initialize our special interrupt states, then read the upper status
+ // register, which updates the IRQs
+ m_irq_enable = 0x03;
+ m_flag_control = 0x00;
+ read_status_hi();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ymf288::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_irq_enable);
+ state.save_restore(m_flag_control);
+ state.save_restore(m_last_fm.data);
+
+ m_fm.save_restore(state);
+ m_ssg.save_restore(state);
+ m_ssg_resampler.save_restore(state);
+ m_adpcm_a.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ymf288::read_status()
+{
+ uint8_t result = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB);
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ymf288::read_data()
+{
+ uint8_t result = 0;
+ if (m_address < 0x0e)
+ {
+ // 00-0D: Read from SSG
+ result = m_ssg.read(m_address & 0x0f);
+ }
+ else if (m_address < 0x10)
+ {
+ // 0E-0F: I/O ports not supported
+ result = 0xff;
+ }
+ else if (m_address == 0xff)
+ {
+ // FF: ID code
+ result = 2;
+ }
+ else if (ymf288_mode())
+ {
+ // registers are readable in YMF288 mode
+ result = m_fm.regs().read(m_address);
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_status_hi - read the extended status
+// register
+//-------------------------------------------------
+
+uint8_t ymf288::read_status_hi()
+{
+ // fetch regular status
+ uint8_t status = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB);
+
+ // turn off any bits that have been requested to be masked
+ status &= ~(m_flag_control & 0x03);
+
+ // update the status so that IRQs are propagated
+ m_fm.set_reset_status(status, ~status);
+
+ // merge in the busy flag
+ if (m_fm.intf().ymfm_is_busy())
+ status |= fm_engine::STATUS_BUSY;
+ return status;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ymf288::read(uint32_t offset)
+{
+ uint8_t result = 0;
+ switch (offset & 3)
+ {
+ case 0: // status port, YM2203 compatible
+ result = read_status();
+ break;
+
+ case 1: // data port
+ result = read_data();
+ break;
+
+ case 2: // status port, extended
+ result = read_status_hi();
+ break;
+
+ case 3: // unmapped
+ debug::log_unexpected_read_write("Unexpected read from YMF288 offset %d\n", offset & 3);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ymf288::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+
+ // in YMF288 mode, busy is signaled after address writes too
+ if (ymf288_mode())
+ m_fm.intf().ymfm_set_busy_end(16);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the data register
+//-------------------------------------------------
+
+void ymf288::write_data(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (bitfield(m_address, 8))
+ return;
+
+ // wait times are shorter in YMF288 mode
+ int busy_cycles = ymf288_mode() ? 16 : 32 * m_fm.clock_prescale();
+ if (m_address < 0x0e)
+ {
+ // 00-0D: write to SSG
+ m_ssg.write(m_address & 0x0f, data);
+ }
+ else if (m_address < 0x10)
+ {
+ // 0E-0F: I/O ports not supported
+ }
+ else if (m_address < 0x20)
+ {
+ // 10-1F: write to ADPCM-A
+ m_adpcm_a.write(m_address & 0x0f, data);
+ busy_cycles = 32 * m_fm.clock_prescale();
+ }
+ else if (m_address == 0x27)
+ {
+ // 27: mode register; CSM isn't supported so disable it
+ data &= 0x7f;
+ m_fm.write(m_address, data);
+ }
+ else if (m_address == 0x29)
+ {
+ // 29: special IRQ mask register
+ m_irq_enable = data;
+ m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x03);
+ }
+ else
+ {
+ // 20-27, 2A-FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(busy_cycles);
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ymf288::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = 0x100 | data;
+
+ // in YMF288 mode, busy is signaled after address writes too
+ if (ymf288_mode())
+ m_fm.intf().ymfm_set_busy_end(16);
+}
+
+
+//-------------------------------------------------
+// write_data_hi - handle a write to the upper
+// data register
+//-------------------------------------------------
+
+void ymf288::write_data_hi(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (!bitfield(m_address, 8))
+ return;
+
+ // wait times are shorter in YMF288 mode
+ int busy_cycles = ymf288_mode() ? 16 : 32 * m_fm.clock_prescale();
+ if (m_address == 0x110)
+ {
+ // 110: IRQ flag control
+ if (bitfield(data, 7))
+ m_fm.set_reset_status(0, 0xff);
+ else
+ {
+ m_flag_control = data;
+ m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x03);
+ }
+ }
+ else
+ {
+ // 100-10F,111-1FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(busy_cycles);
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ymf288::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // upper address port
+ write_address_hi(data);
+ break;
+
+ case 3: // upper data port
+ write_data_hi(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ymf288::generate(output_data *output, uint32_t numsamples)
+{
+ // FM output is just repeated the prescale number of times; note that
+ // 0 is a special 1.5 case
+ if (m_fm_samples_per_output != 0)
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ if ((m_ssg_resampler.sampindex() + samp) % m_fm_samples_per_output == 0)
+ clock_fm_and_adpcm();
+ output->data[0] = m_last_fm.data[0];
+ output->data[1] = m_last_fm.data[1];
+ }
+ }
+ else
+ {
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ uint32_t step = (m_ssg_resampler.sampindex() + samp) % 3;
+ if (step == 0)
+ clock_fm_and_adpcm();
+ output->data[0] = m_last_fm.data[0];
+ output->data[1] = m_last_fm.data[1];
+ if (step == 1)
+ {
+ clock_fm_and_adpcm();
+ output->data[0] = (output->data[0] + m_last_fm.data[0]) / 2;
+ output->data[1] = (output->data[1] + m_last_fm.data[1]) / 2;
+ }
+ }
+ }
+
+ // resample the SSG as configured
+ m_ssg_resampler.resample(output - numsamples, numsamples);
+}
+
+
+//-------------------------------------------------
+// update_prescale - update the prescale value,
+// recomputing derived values
+//-------------------------------------------------
+
+void ymf288::update_prescale()
+{
+ // Fidelity: ---- minimum ---- ---- medium ----- ---- maximum-----
+ // rate = clock/144 rate = clock/144 rate = clock/16
+ // Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+ // 6 1:1 2:9 1:1 2:9 9:1 2:1
+
+ // compute the number of FM samples per output sample, and select the
+ // resampler function
+ if (m_fidelity == OPN_FIDELITY_MIN || m_fidelity == OPN_FIDELITY_MED)
+ {
+ m_fm_samples_per_output = 1;
+ m_ssg_resampler.configure(2, 9);
+ }
+ else
+ {
+ m_fm_samples_per_output = 9;
+ m_ssg_resampler.configure(2, 1);
+ }
+
+ // if overriding the SSG, override the configuration with the nop
+ // resampler to at least keep the sample index moving forward
+ if (m_ssg.overridden())
+ m_ssg_resampler.configure(0, 0);
+}
+
+
+//-------------------------------------------------
+// clock_fm_and_adpcm - clock FM and ADPCM state
+//-------------------------------------------------
+
+void ymf288::clock_fm_and_adpcm()
+{
+ // top bit of the IRQ enable flags controls 3-channel vs 6-channel mode
+ uint32_t fmmask = bitfield(m_irq_enable, 7) ? 0x3f : 0x07;
+
+ // clock the system
+ uint32_t env_counter = m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // clock the ADPCM-A engine on every envelope cycle
+ // (channels 4 and 5 clock every 2 envelope clocks)
+ if (bitfield(env_counter, 0, 2) == 0)
+ m_adpcm_a.clock(bitfield(env_counter, 2) ? 0x0f : 0x3f);
+
+ // update the FM content; OPNA is 13-bit with no intermediate clipping
+ m_fm.output(m_last_fm.clear(), 1, 32767, fmmask);
+
+ // mix in the ADPCM
+ m_adpcm_a.output(m_last_fm, 0x3f);
+}
+
+
+
+//*********************************************************
+// YM2610
+//*********************************************************
+
+//-------------------------------------------------
+// ym2610 - constructor
+//-------------------------------------------------
+
+ym2610::ym2610(ymfm_interface &intf, uint8_t channel_mask) :
+ m_fidelity(OPN_FIDELITY_MAX),
+ m_address(0),
+ m_fm_mask(channel_mask),
+ m_eos_status(0x00),
+ m_flag_mask(0xbf),
+ m_fm(intf),
+ m_ssg(intf),
+ m_ssg_resampler(m_ssg),
+ m_adpcm_a(intf, 8),
+ m_adpcm_b(intf, 8)
+{
+ update_prescale();
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2610::reset()
+{
+ // reset the engines
+ m_fm.reset();
+ m_ssg.reset();
+ m_adpcm_a.reset();
+ m_adpcm_b.reset();
+
+ // initialize our special interrupt states
+ m_eos_status = 0x00;
+ m_flag_mask = 0xbf;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2610::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_eos_status);
+ state.save_restore(m_flag_mask);
+
+ m_fm.save_restore(state);
+ m_ssg.save_restore(state);
+ m_ssg_resampler.save_restore(state);
+ m_adpcm_a.save_restore(state);
+ m_adpcm_b.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2610::read_status()
+{
+ uint8_t result = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB);
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_data - read the data register
+//-------------------------------------------------
+
+uint8_t ym2610::read_data()
+{
+ uint8_t result = 0;
+ if (m_address < 0x0e)
+ {
+ // 00-0D: Read from SSG
+ result = m_ssg.read(m_address & 0x0f);
+ }
+ else if (m_address < 0x10)
+ {
+ // 0E-0F: I/O ports not supported
+ result = 0xff;
+ }
+ else if (m_address == 0xff)
+ {
+ // FF: ID code
+ result = 1;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// read_status_hi - read the extended status
+// register
+//-------------------------------------------------
+
+uint8_t ym2610::read_status_hi()
+{
+ return m_eos_status & m_flag_mask;
+}
+
+
+//-------------------------------------------------
+// read_data_hi - read the upper data register
+//-------------------------------------------------
+
+uint8_t ym2610::read_data_hi()
+{
+ uint8_t result = 0;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2610::read(uint32_t offset)
+{
+ uint8_t result = 0;
+ switch (offset & 3)
+ {
+ case 0: // status port, YM2203 compatible
+ result = read_status();
+ break;
+
+ case 1: // data port (only SSG)
+ result = read_data();
+ break;
+
+ case 2: // status port, extended
+ result = read_status_hi();
+ break;
+
+ case 3: // ADPCM-B data
+ result = read_data_hi();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2610::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the data register
+//-------------------------------------------------
+
+void ym2610::write_data(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (bitfield(m_address, 8))
+ return;
+
+ if (m_address < 0x0e)
+ {
+ // 00-0D: write to SSG
+ m_ssg.write(m_address & 0x0f, data);
+ }
+ else if (m_address < 0x10)
+ {
+ // 0E-0F: I/O ports not supported
+ }
+ else if (m_address < 0x1c)
+ {
+ // 10-1B: write to ADPCM-B
+ // YM2610 effectively forces external mode on, and disables recording
+ if (m_address == 0x10)
+ data = (data | 0x20) & ~0x40;
+ m_adpcm_b.write(m_address & 0x0f, data);
+ }
+ else if (m_address == 0x1c)
+ {
+ // 1C: EOS flag reset
+ m_flag_mask = ~data;
+ m_eos_status &= ~data;
+ }
+ else
+ {
+ // 1D-FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ym2610::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = 0x100 | data;
+}
+
+
+//-------------------------------------------------
+// write_data_hi - handle a write to the upper
+// data register
+//-------------------------------------------------
+
+void ym2610::write_data_hi(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (!bitfield(m_address, 8))
+ return;
+
+ if (m_address < 0x130)
+ {
+ // 100-12F: write to ADPCM-A
+ m_adpcm_a.write(m_address & 0x3f, data);
+ }
+ else
+ {
+ // 130-1FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2610::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // upper address port
+ write_address_hi(data);
+ break;
+
+ case 3: // upper data port
+ write_data_hi(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2610::generate(output_data *output, uint32_t numsamples)
+{
+ // FM output is just repeated the prescale number of times
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ if ((m_ssg_resampler.sampindex() + samp) % m_fm_samples_per_output == 0)
+ clock_fm_and_adpcm();
+ output->data[0] = m_last_fm.data[0];
+ output->data[1] = m_last_fm.data[1];
+ }
+
+ // resample the SSG as configured
+ m_ssg_resampler.resample(output - numsamples, numsamples);
+}
+
+
+//-------------------------------------------------
+// update_prescale - update the prescale value,
+// recomputing derived values
+//-------------------------------------------------
+
+void ym2610::update_prescale()
+{
+ // Fidelity: ---- minimum ---- ---- medium ----- ---- maximum-----
+ // rate = clock/144 rate = clock/144 rate = clock/16
+ // Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+ // 6 1:1 2:9 1:1 2:9 9:1 2:1
+
+ // compute the number of FM samples per output sample, and select the
+ // resampler function
+ if (m_fidelity == OPN_FIDELITY_MIN || m_fidelity == OPN_FIDELITY_MED)
+ {
+ m_fm_samples_per_output = 1;
+ m_ssg_resampler.configure(2, 9);
+ }
+ else
+ {
+ m_fm_samples_per_output = 9;
+ m_ssg_resampler.configure(2, 1);
+ }
+
+ // if overriding the SSG, override the configuration with the nop
+ // resampler to at least keep the sample index moving forward
+ if (m_ssg.overridden())
+ m_ssg_resampler.configure(0, 0);
+}
+
+
+//-------------------------------------------------
+// clock_fm_and_adpcm - clock FM and ADPCM state
+//-------------------------------------------------
+
+void ym2610::clock_fm_and_adpcm()
+{
+ // clock the system
+ uint32_t env_counter = m_fm.clock(m_fm_mask);
+
+ // clock the ADPCM-A engine on every envelope cycle
+ if (bitfield(env_counter, 0, 2) == 0)
+ m_eos_status |= m_adpcm_a.clock(0x3f);
+
+ // clock the ADPCM-B engine every cycle
+ m_adpcm_b.clock();
+ if ((m_adpcm_b.status() & adpcm_b_channel::STATUS_EOS) != 0)
+ m_eos_status |= 0x80;
+
+ // update the FM content; OPNB is 13-bit with no intermediate clipping
+ m_fm.output(m_last_fm.clear(), 1, 32767, m_fm_mask);
+
+ // mix in the ADPCM and clamp
+ m_adpcm_a.output(m_last_fm, 0x3f);
+ m_adpcm_b.output(m_last_fm, 1);
+ m_last_fm.clamp16();
+}
+
+
+
+//*********************************************************
+// YM2612
+//*********************************************************
+
+//-------------------------------------------------
+// ym2612 - constructor
+//-------------------------------------------------
+
+ym2612::ym2612(ymfm_interface &intf) :
+ m_address(0),
+ m_dac_data(0),
+ m_dac_enable(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2612::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2612::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_address);
+ state.save_restore(m_dac_data);
+ state.save_restore(m_dac_enable);
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2612::read_status()
+{
+ uint8_t result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2612::read(uint32_t offset)
+{
+ uint8_t result = 0;
+ switch (offset & 3)
+ {
+ case 0: // status port, YM2203 compatible
+ result = read_status();
+ break;
+
+ case 1: // data port (unused)
+ case 2: // status port, extended
+ case 3: // data port (unused)
+ debug::log_unexpected_read_write("Unexpected read from YM2612 offset %d\n", offset & 3);
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2612::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write_data - handle a write to the data
+// register
+//-------------------------------------------------
+
+void ym2612::write_data(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (bitfield(m_address, 8))
+ return;
+
+ if (m_address == 0x2a)
+ {
+ // 2A: DAC data (most significant 8 bits)
+ m_dac_data = (m_dac_data & ~0x1fe) | ((data ^ 0x80) << 1);
+ }
+ else if (m_address == 0x2b)
+ {
+ // 2B: DAC enable (bit 7)
+ m_dac_enable = bitfield(data, 7);
+ }
+ else if (m_address == 0x2c)
+ {
+ // 2C: test/low DAC bit
+ m_dac_data = (m_dac_data & ~1) | bitfield(data, 3);
+ }
+ else
+ {
+ // 00-29, 2D-FF: write to FM
+ m_fm.write(m_address, data);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write_address_hi - handle a write to the upper
+// address register
+//-------------------------------------------------
+
+void ym2612::write_address_hi(uint8_t data)
+{
+ // just set the address
+ m_address = 0x100 | data;
+}
+
+
+//-------------------------------------------------
+// write_data_hi - handle a write to the upper
+// data register
+//-------------------------------------------------
+
+void ym2612::write_data_hi(uint8_t data)
+{
+ // ignore if paired with upper address
+ if (!bitfield(m_address, 8))
+ return;
+
+ // 100-1FF: write to FM
+ m_fm.write(m_address, data);
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2612::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 3)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+
+ case 2: // upper address port
+ write_address_hi(data);
+ break;
+
+ case 3: // upper data port
+ write_data_hi(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2612::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // sum individual channels to apply DAC discontinuity on each
+ output->clear();
+ output_data temp;
+
+ // first do FM-only channels; OPN2 is 9-bit with intermediate clipping
+ int const last_fm_channel = m_dac_enable ? 5 : 6;
+ for (int chan = 0; chan < last_fm_channel; chan++)
+ {
+ m_fm.output(temp.clear(), 5, 256, 1 << chan);
+ output->data[0] += dac_discontinuity(temp.data[0]);
+ output->data[1] += dac_discontinuity(temp.data[1]);
+ }
+
+ // add in DAC
+ if (m_dac_enable)
+ {
+ // DAC enabled: start with DAC value then add the first 5 channels only
+ int32_t dacval = dac_discontinuity(int16_t(m_dac_data << 7) >> 7);
+ output->data[0] += m_fm.regs().ch_output_0(0x102) ? dacval : dac_discontinuity(0);
+ output->data[1] += m_fm.regs().ch_output_1(0x102) ? dacval : dac_discontinuity(0);
+ }
+
+ // output is technically multiplexed rather than mixed, but that requires
+ // a better sound mixer than we usually have, so just average over the six
+ // channels; also apply a 64/65 factor to account for the discontinuity
+ // adjustment above
+ output->data[0] = (output->data[0] << 7) * 64 / (6 * 65);
+ output->data[1] = (output->data[1] << 7) * 64 / (6 * 65);
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym3438::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // first do FM-only channels; OPN2C is 9-bit with intermediate clipping
+ if (!m_dac_enable)
+ {
+ // DAC disabled: all 6 channels sum together
+ m_fm.output(output->clear(), 5, 256, fm_engine::ALL_CHANNELS);
+ }
+ else
+ {
+ // DAC enabled: start with DAC value then add the first 5 channels only
+ int32_t dacval = int16_t(m_dac_data << 7) >> 7;
+ output->data[0] = m_fm.regs().ch_output_0(0x102) ? dacval : 0;
+ output->data[1] = m_fm.regs().ch_output_1(0x102) ? dacval : 0;
+ m_fm.output(*output, 5, 256, fm_engine::ALL_CHANNELS ^ (1 << 5));
+ }
+
+ // YM3438 doesn't have the same DAC discontinuity, though its output is
+ // multiplexed like the YM2612
+ output->data[0] = (output->data[0] << 7) / 6;
+ output->data[1] = (output->data[1] << 7) / 6;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ymf276::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // first do FM-only channels; OPN2L is 14-bit with intermediate clipping
+ if (!m_dac_enable)
+ {
+ // DAC disabled: all 6 channels sum together
+ m_fm.output(output->clear(), 0, 8191, fm_engine::ALL_CHANNELS);
+ }
+ else
+ {
+ // DAC enabled: start with DAC value then add the first 5 channels only
+ int32_t dacval = int16_t(m_dac_data << 7) >> 7;
+ output->data[0] = m_fm.regs().ch_output_0(0x102) ? dacval : 0;
+ output->data[1] = m_fm.regs().ch_output_1(0x102) ? dacval : 0;
+ m_fm.output(*output, 0, 8191, fm_engine::ALL_CHANNELS ^ (1 << 5));
+ }
+
+ // YMF276 is properly mixed; it shifts down 1 bit before clamping
+ output->data[0] = clamp(output->data[0] >> 1, -32768, 32767);
+ output->data[1] = clamp(output->data[1] >> 1, -32768, 32767);
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_opn.h b/3rdparty/ymfm/src/ymfm_opn.h
new file mode 100644
index 00000000000..5fb3497b278
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opn.h
@@ -0,0 +1,800 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_OPN_H
+#define YMFM_OPN_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_adpcm.h"
+#include "ymfm_fm.h"
+#include "ymfm_ssg.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// REGISTER CLASSES
+//*********************************************************
+
+// ======================> opn_registers_base
+
+//
+// OPN register map:
+//
+// System-wide registers:
+// 21 xxxxxxxx Test register
+// 22 ----x--- LFO enable [OPNA+ only]
+// -----xxx LFO rate [OPNA+ only]
+// 24 xxxxxxxx Timer A value (upper 8 bits)
+// 25 ------xx Timer A value (lower 2 bits)
+// 26 xxxxxxxx Timer B value
+// 27 xx------ CSM/Multi-frequency mode for channel #2
+// --x----- Reset timer B
+// ---x---- Reset timer A
+// ----x--- Enable timer B
+// -----x-- Enable timer A
+// ------x- Load timer B
+// -------x Load timer A
+// 28 x------- Key on/off operator 4
+// -x------ Key on/off operator 3
+// --x----- Key on/off operator 2
+// ---x---- Key on/off operator 1
+// ------xx Channel select
+//
+// Per-channel registers (channel in address bits 0-1)
+// Note that all these apply to address+100 as well on OPNA+
+// A0-A3 xxxxxxxx Frequency number lower 8 bits
+// A4-A7 --xxx--- Block (0-7)
+// -----xxx Frequency number upper 3 bits
+// B0-B3 --xxx--- Feedback level for operator 1 (0-7)
+// -----xxx Operator connection algorithm (0-7)
+// B4-B7 x------- Pan left [OPNA]
+// -x------ Pan right [OPNA]
+// --xx---- LFO AM shift (0-3) [OPNA+ only]
+// -----xxx LFO PM depth (0-7) [OPNA+ only]
+//
+// Per-operator registers (channel in address bits 0-1, operator in bits 2-3)
+// Note that all these apply to address+100 as well on OPNA+
+// 30-3F -xxx---- Detune value (0-7)
+// ----xxxx Multiple value (0-15)
+// 40-4F -xxxxxxx Total level (0-127)
+// 50-5F xx------ Key scale rate (0-3)
+// ---xxxxx Attack rate (0-31)
+// 60-6F x------- LFO AM enable [OPNA]
+// ---xxxxx Decay rate (0-31)
+// 70-7F ---xxxxx Sustain rate (0-31)
+// 80-8F xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+// 90-9F ----x--- SSG-EG enable
+// -----xxx SSG-EG envelope (0-7)
+//
+// Special multi-frequency registers (channel implicitly #2; operator in address bits 0-1)
+// A8-AB xxxxxxxx Frequency number lower 8 bits
+// AC-AF --xxx--- Block (0-7)
+// -----xxx Frequency number upper 3 bits
+//
+// Internal (fake) registers:
+// B8-BB --xxxxxx Latched frequency number upper bits (from A4-A7)
+// BC-BF --xxxxxx Latched frequency number upper bits (from AC-AF)
+//
+
+template<bool IsOpnA>
+class opn_registers_base : public fm_registers_base
+{
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = IsOpnA ? 2 : 1;
+ static constexpr uint32_t CHANNELS = IsOpnA ? 6 : 3;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 4;
+ static constexpr uint32_t WAVEFORMS = 1;
+ static constexpr uint32_t REGISTERS = IsOpnA ? 0x200 : 0x100;
+ static constexpr uint32_t REG_MODE = 0x27;
+ static constexpr uint32_t DEFAULT_PRESCALE = 6;
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 3;
+ static constexpr bool EG_HAS_SSG = true;
+ static constexpr bool MODULATOR_DELAY = false;
+ static constexpr uint32_t CSM_TRIGGER_MASK = 1 << 2;
+ static constexpr uint8_t STATUS_TIMERA = 0x01;
+ static constexpr uint8_t STATUS_TIMERB = 0x02;
+ static constexpr uint8_t STATUS_BUSY = 0x80;
+ static constexpr uint8_t STATUS_IRQ = 0;
+
+ // constructor
+ opn_registers_base();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ if (!IsOpnA)
+ return chnum;
+ else
+ return (chnum % 3) + 0x100 * (chnum / 3);
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ if (!IsOpnA)
+ return opnum + opnum / 3;
+ else
+ return (opnum % 12) + ((opnum % 12) / 3) + 0x100 * (opnum / 12);
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // read a register value
+ uint8_t read(uint16_t index) const { return m_regdata[index]; }
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // reset the LFO
+ void reset_lfo() { m_lfo_counter = 0; }
+
+ // return the AM offset from LFO for the given channel
+ uint32_t lfo_am_offset(uint32_t choffs) const;
+
+ // return LFO/noise states
+ uint32_t noise_state() const { return 0; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // system-wide registers
+ uint32_t test() const { return byte(0x21, 0, 8); }
+ uint32_t lfo_enable() const { return IsOpnA ? byte(0x22, 3, 1) : 0; }
+ uint32_t lfo_rate() const { return IsOpnA ? byte(0x22, 0, 3) : 0; }
+ uint32_t timer_a_value() const { return word(0x24, 0, 8, 0x25, 0, 2); }
+ uint32_t timer_b_value() const { return byte(0x26, 0, 8); }
+ uint32_t csm() const { return (byte(0x27, 6, 2) == 2); }
+ uint32_t multi_freq() const { return (byte(0x27, 6, 2) != 0); }
+ uint32_t reset_timer_b() const { return byte(0x27, 5, 1); }
+ uint32_t reset_timer_a() const { return byte(0x27, 4, 1); }
+ uint32_t enable_timer_b() const { return byte(0x27, 3, 1); }
+ uint32_t enable_timer_a() const { return byte(0x27, 2, 1); }
+ uint32_t load_timer_b() const { return byte(0x27, 1, 1); }
+ uint32_t load_timer_a() const { return byte(0x27, 0, 1); }
+ uint32_t multi_block_freq(uint32_t num) const { return word(0xac, 0, 6, 0xa8, 0, 8, num); }
+
+ // per-channel registers
+ uint32_t ch_block_freq(uint32_t choffs) const { return word(0xa4, 0, 6, 0xa0, 0, 8, choffs); }
+ uint32_t ch_feedback(uint32_t choffs) const { return byte(0xb0, 3, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return byte(0xb0, 0, 3, choffs); }
+ uint32_t ch_output_any(uint32_t choffs) const { return IsOpnA ? byte(0xb4, 6, 2, choffs) : 1; }
+ uint32_t ch_output_0(uint32_t choffs) const { return IsOpnA ? byte(0xb4, 7, 1, choffs) : 1; }
+ uint32_t ch_output_1(uint32_t choffs) const { return IsOpnA ? byte(0xb4, 6, 1, choffs) : 0; }
+ uint32_t ch_output_2(uint32_t choffs) const { return 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return 0; }
+ uint32_t ch_lfo_am_sens(uint32_t choffs) const { return IsOpnA ? byte(0xb4, 4, 2, choffs) : 0; }
+ uint32_t ch_lfo_pm_sens(uint32_t choffs) const { return IsOpnA ? byte(0xb4, 0, 3, choffs) : 0; }
+
+ // per-operator registers
+ uint32_t op_detune(uint32_t opoffs) const { return byte(0x30, 4, 3, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return byte(0x30, 0, 4, opoffs); }
+ uint32_t op_total_level(uint32_t opoffs) const { return byte(0x40, 0, 7, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return byte(0x50, 6, 2, opoffs); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return byte(0x50, 0, 5, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return byte(0x60, 0, 5, opoffs); }
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return IsOpnA ? byte(0x60, 7, 1, opoffs) : 0; }
+ uint32_t op_sustain_rate(uint32_t opoffs) const { return byte(0x70, 0, 5, opoffs); }
+ uint32_t op_sustain_level(uint32_t opoffs) const { return byte(0x80, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return byte(0x80, 0, 4, opoffs); }
+ uint32_t op_ssg_eg_enable(uint32_t opoffs) const { return byte(0x90, 3, 1, opoffs); }
+ uint32_t op_ssg_eg_mode(uint32_t opoffs) const { return byte(0x90, 0, 3, opoffs); }
+
+protected:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // internal state
+ uint32_t m_lfo_counter; // LFO counter
+ uint8_t m_lfo_am; // current LFO AM value
+ uint8_t m_regdata[REGISTERS]; // register data
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+using opn_registers = opn_registers_base<false>;
+using opna_registers = opn_registers_base<true>;
+
+
+
+//*********************************************************
+// OPN IMPLEMENTATION CLASSES
+//*********************************************************
+
+// A note about prescaling and sample rates.
+//
+// YM2203, YM2608, and YM2610 contain an onboard SSG (basically, a YM2149).
+// In order to properly generate sound at fully fidelity, the output sample
+// rate of the YM2149 must be input_clock / 8. This is much higher than the
+// FM needs, but in the interest of keeping things simple, the OPN generate
+// functions will output at the higher rate and just replicate the last FM
+// sample as many times as needed.
+//
+// To make things even more complicated, the YM2203 and YM2608 allow for
+// software-controlled prescaling, which affects the FM and SSG clocks in
+// different ways. There are three settings: divide by 6/4 (FM/SSG); divide
+// by 3/2; and divide by 2/1.
+//
+// Thus, the minimum output sample rate needed by each part of the chip
+// varies with the prescale as follows:
+//
+// ---- YM2203 ----- ---- YM2608 ----- ---- YM2610 -----
+// Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+// 6 /72 /16 /144 /32 /144 /32
+// 3 /36 /8 /72 /16
+// 2 /24 /4 /48 /8
+//
+// If we standardized on the fastest SSG rate, we'd end up with the following
+// (ratios are output_samples:source_samples):
+//
+// ---- YM2203 ----- ---- YM2608 ----- ---- YM2610 -----
+// rate = clock/4 rate = clock/8 rate = clock/16
+// Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+// 6 18:1 4:1 18:1 4:1 9:1 2:1
+// 3 9:1 2:1 9:1 2:1
+// 2 6:1 1:1 6:1 1:1
+//
+// However, that's a pretty big performance hit for minimal gain. Going to
+// the other extreme, we could standardize on the fastest FM rate, but then
+// at least one prescale case (3) requires the FM to be smeared across two
+// output samples:
+//
+// ---- YM2203 ----- ---- YM2608 ----- ---- YM2610 -----
+// rate = clock/24 rate = clock/48 rate = clock/144
+// Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+// 6 3:1 2:3 3:1 2:3 1:1 2:9
+// 3 1.5:1 1:3 1.5:1 1:3
+// 2 1:1 1:6 1:1 1:6
+//
+// Stepping back one factor of 2 addresses that issue:
+//
+// ---- YM2203 ----- ---- YM2608 ----- ---- YM2610 -----
+// rate = clock/12 rate = clock/24 rate = clock/144
+// Prescale FM rate SSG rate FM rate SSG rate FM rate SSG rate
+// 6 6:1 4:3 6:1 4:3 1:1 2:9
+// 3 3:1 2:3 3:1 2:3
+// 2 2:1 1:3 2:1 1:3
+//
+// This gives us three levels of output fidelity:
+// OPN_FIDELITY_MAX -- highest sample rate, using fastest SSG rate
+// OPN_FIDELITY_MIN -- lowest sample rate, using fastest FM rate
+// OPN_FIDELITY_MED -- medium sample rate such that FM is never smeared
+//
+// At the maximum clocks for YM2203/YM2608 (4Mhz/8MHz), these rates will
+// end up as:
+// OPN_FIDELITY_MAX = 1000kHz
+// OPN_FIDELITY_MIN = 166kHz
+// OPN_FIEDLITY_MED = 333kHz
+
+
+// ======================> opn_fidelity
+
+enum opn_fidelity : uint8_t
+{
+ OPN_FIDELITY_MAX,
+ OPN_FIDELITY_MIN,
+ OPN_FIDELITY_MED,
+
+ OPN_FIDELITY_DEFAULT = OPN_FIDELITY_MAX
+};
+
+
+// ======================> ssg_resampler
+
+template<typename OutputType, int FirstOutput, bool MixTo1>
+class ssg_resampler
+{
+private:
+ // helper to add the last computed value to the sums, applying the given scale
+ void add_last(int32_t &sum0, int32_t &sum1, int32_t &sum2, int32_t scale = 1);
+
+ // helper to clock a new value and then add it to the sums, applying the given scale
+ void clock_and_add(int32_t &sum0, int32_t &sum1, int32_t &sum2, int32_t scale = 1);
+
+ // helper to write the sums to the appropriate outputs, applying the given
+ // divisor to the final result
+ void write_to_output(OutputType *output, int32_t sum0, int32_t sum1, int32_t sum2, int32_t divisor = 1);
+
+public:
+ // constructor
+ ssg_resampler(ssg_engine &ssg);
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // get the current sample index
+ uint32_t sampindex() const { return m_sampindex; }
+
+ // configure the ratio
+ void configure(uint8_t outsamples, uint8_t srcsamples);
+
+ // resample
+ void resample(OutputType *output, uint32_t numsamples)
+ {
+ (this->*m_resampler)(output, numsamples);
+ }
+
+private:
+ // resample SSG output to the target at a rate of 1 SSG sample
+ // to every n output samples
+ template<int Multiplier>
+ void resample_n_1(OutputType *output, uint32_t numsamples);
+
+ // resample SSG output to the target at a rate of n SSG samples
+ // to every 1 output sample
+ template<int Divisor>
+ void resample_1_n(OutputType *output, uint32_t numsamples);
+
+ // resample SSG output to the target at a rate of 9 SSG samples
+ // to every 2 output samples
+ void resample_2_9(OutputType *output, uint32_t numsamples);
+
+ // resample SSG output to the target at a rate of 3 SSG samples
+ // to every 1 output sample
+ void resample_1_3(OutputType *output, uint32_t numsamples);
+
+ // resample SSG output to the target at a rate of 3 SSG samples
+ // to every 2 output samples
+ void resample_2_3(OutputType *output, uint32_t numsamples);
+
+ // resample SSG output to the target at a rate of 3 SSG samples
+ // to every 4 output samples
+ void resample_4_3(OutputType *output, uint32_t numsamples);
+
+ // no-op resampler
+ void resample_nop(OutputType *output, uint32_t numsamples);
+
+ // define a pointer type
+ using resample_func = void (ssg_resampler::*)(OutputType *output, uint32_t numsamples);
+
+ // internal state
+ ssg_engine &m_ssg;
+ uint32_t m_sampindex;
+ resample_func m_resampler;
+ ssg_engine::output_data m_last;
+};
+
+
+// ======================> ym2203
+
+class ym2203
+{
+public:
+ using fm_engine = fm_engine_base<opn_registers>;
+ static constexpr uint32_t FM_OUTPUTS = fm_engine::OUTPUTS;
+ static constexpr uint32_t SSG_OUTPUTS = ssg_engine::OUTPUTS;
+ static constexpr uint32_t OUTPUTS = FM_OUTPUTS + SSG_OUTPUTS;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ym2203(ymfm_interface &intf);
+
+ // configuration
+ void ssg_override(ssg_override &intf) { m_ssg.override(intf); }
+ void set_fidelity(opn_fidelity fidelity) { m_fidelity = fidelity; update_prescale(m_fm.clock_prescale()); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const
+ {
+ switch (m_fidelity)
+ {
+ case OPN_FIDELITY_MIN: return input_clock / 24;
+ case OPN_FIDELITY_MED: return input_clock / 12;
+ default:
+ case OPN_FIDELITY_MAX: return input_clock / 4;
+ }
+ }
+ uint32_t ssg_effective_clock(uint32_t input_clock) const { uint32_t scale = m_fm.clock_prescale() * 2 / 3; return input_clock * 2 / scale; }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal helpers
+ void update_prescale(uint8_t prescale);
+ void clock_fm();
+
+ // internal state
+ opn_fidelity m_fidelity; // configured fidelity
+ uint8_t m_address; // address register
+ uint8_t m_fm_samples_per_output; // how many samples to repeat
+ fm_engine::output_data m_last_fm; // last FM output
+ fm_engine m_fm; // core FM engine
+ ssg_engine m_ssg; // SSG engine
+ ssg_resampler<output_data, 1, false> m_ssg_resampler; // SSG resampler helper
+};
+
+
+
+//*********************************************************
+// OPNA IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym2608
+
+class ym2608
+{
+ static constexpr uint8_t STATUS_ADPCM_B_EOS = 0x04;
+ static constexpr uint8_t STATUS_ADPCM_B_BRDY = 0x08;
+ static constexpr uint8_t STATUS_ADPCM_B_ZERO = 0x10;
+ static constexpr uint8_t STATUS_ADPCM_B_PLAYING = 0x20;
+
+public:
+ using fm_engine = fm_engine_base<opna_registers>;
+ static constexpr uint32_t FM_OUTPUTS = fm_engine::OUTPUTS;
+ static constexpr uint32_t SSG_OUTPUTS = 1;
+ static constexpr uint32_t OUTPUTS = FM_OUTPUTS + SSG_OUTPUTS;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ym2608(ymfm_interface &intf);
+
+ // configuration
+ void ssg_override(ssg_override &intf) { m_ssg.override(intf); }
+ void set_fidelity(opn_fidelity fidelity) { m_fidelity = fidelity; update_prescale(m_fm.clock_prescale()); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const
+ {
+ switch (m_fidelity)
+ {
+ case OPN_FIDELITY_MIN: return input_clock / 48;
+ case OPN_FIDELITY_MED: return input_clock / 24;
+ default:
+ case OPN_FIDELITY_MAX: return input_clock / 8;
+ }
+ }
+ uint32_t ssg_effective_clock(uint32_t input_clock) const { uint32_t scale = m_fm.clock_prescale() * 2 / 3; return input_clock / scale; }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read_status_hi();
+ uint8_t read_data_hi();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write_data_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal helpers
+ void update_prescale(uint8_t prescale);
+ void clock_fm_and_adpcm();
+
+ // internal state
+ opn_fidelity m_fidelity; // configured fidelity
+ uint16_t m_address; // address register
+ uint8_t m_fm_samples_per_output; // how many samples to repeat
+ uint8_t m_irq_enable; // IRQ enable register
+ uint8_t m_flag_control; // flag control register
+ fm_engine::output_data m_last_fm; // last FM output
+ fm_engine m_fm; // core FM engine
+ ssg_engine m_ssg; // SSG engine
+ ssg_resampler<output_data, 2, true> m_ssg_resampler; // SSG resampler helper
+ adpcm_a_engine m_adpcm_a; // ADPCM-A engine
+ adpcm_b_engine m_adpcm_b; // ADPCM-B engine
+};
+
+
+// ======================> ymf288
+
+class ymf288
+{
+public:
+ using fm_engine = fm_engine_base<opna_registers>;
+ static constexpr uint32_t FM_OUTPUTS = fm_engine::OUTPUTS;
+ static constexpr uint32_t SSG_OUTPUTS = 1;
+ static constexpr uint32_t OUTPUTS = FM_OUTPUTS + SSG_OUTPUTS;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ymf288(ymfm_interface &intf);
+
+ // configuration
+ void ssg_override(ssg_override &intf) { m_ssg.override(intf); }
+ void set_fidelity(opn_fidelity fidelity) { m_fidelity = fidelity; update_prescale(); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const
+ {
+ switch (m_fidelity)
+ {
+ case OPN_FIDELITY_MIN: return input_clock / 144;
+ case OPN_FIDELITY_MED: return input_clock / 144;
+ default:
+ case OPN_FIDELITY_MAX: return input_clock / 16;
+ }
+ }
+ uint32_t ssg_effective_clock(uint32_t input_clock) const { return input_clock / 4; }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read_status_hi();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write_data_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal helpers
+ bool ymf288_mode() { return ((m_fm.regs().read(0x20) & 0x02) != 0); }
+ void update_prescale();
+ void clock_fm_and_adpcm();
+
+ // internal state
+ opn_fidelity m_fidelity; // configured fidelity
+ uint16_t m_address; // address register
+ uint8_t m_fm_samples_per_output; // how many samples to repeat
+ uint8_t m_irq_enable; // IRQ enable register
+ uint8_t m_flag_control; // flag control register
+ fm_engine::output_data m_last_fm; // last FM output
+ fm_engine m_fm; // core FM engine
+ ssg_engine m_ssg; // SSG engine
+ ssg_resampler<output_data, 2, true> m_ssg_resampler; // SSG resampler helper
+ adpcm_a_engine m_adpcm_a; // ADPCM-A engine
+};
+
+
+// ======================> ym2610/ym2610b
+
+class ym2610
+{
+public:
+ using fm_engine = fm_engine_base<opna_registers>;
+ static constexpr uint32_t FM_OUTPUTS = fm_engine::OUTPUTS;
+ static constexpr uint32_t SSG_OUTPUTS = 1;
+ static constexpr uint32_t OUTPUTS = FM_OUTPUTS + SSG_OUTPUTS;
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ym2610(ymfm_interface &intf, uint8_t channel_mask = 0x36);
+
+ // configuration
+ void ssg_override(ssg_override &intf) { m_ssg.override(intf); }
+ void set_fidelity(opn_fidelity fidelity) { m_fidelity = fidelity; update_prescale(); }
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const
+ {
+ switch (m_fidelity)
+ {
+ case OPN_FIDELITY_MIN: return input_clock / 144;
+ case OPN_FIDELITY_MED: return input_clock / 144;
+ default:
+ case OPN_FIDELITY_MAX: return input_clock / 16;
+ }
+ }
+ uint32_t ssg_effective_clock(uint32_t input_clock) const { return input_clock / 4; }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read_data();
+ uint8_t read_status_hi();
+ uint8_t read_data_hi();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write_data_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal helpers
+ void update_prescale();
+ void clock_fm_and_adpcm();
+
+ // internal state
+ opn_fidelity m_fidelity; // configured fidelity
+ uint16_t m_address; // address register
+ uint8_t const m_fm_mask; // FM channel mask
+ uint8_t m_fm_samples_per_output; // how many samples to repeat
+ uint8_t m_eos_status; // end-of-sample signals
+ uint8_t m_flag_mask; // flag mask control
+ fm_engine::output_data m_last_fm; // last FM output
+ fm_engine m_fm; // core FM engine
+ ssg_engine m_ssg; // core FM engine
+ ssg_resampler<output_data, 2, true> m_ssg_resampler; // SSG resampler helper
+ adpcm_a_engine m_adpcm_a; // ADPCM-A engine
+ adpcm_b_engine m_adpcm_b; // ADPCM-B engine
+};
+
+class ym2610b : public ym2610
+{
+public:
+ // constructor
+ ym2610b(ymfm_interface &intf) : ym2610(intf, 0x3f) { }
+};
+
+
+// ======================> ym2612
+
+class ym2612
+{
+public:
+ using fm_engine = fm_engine_base<opna_registers>;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+ using output_data = fm_engine::output_data;
+
+ // constructor
+ ym2612(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write_address_hi(uint8_t data);
+ void write_data_hi(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // simulate the DAC discontinuity
+ constexpr int32_t dac_discontinuity(int32_t value) const { return (value < 0) ? (value - 2) : (value + 3); }
+
+ // internal state
+ uint16_t m_address; // address register
+ uint16_t m_dac_data; // 9-bit DAC data
+ uint8_t m_dac_enable; // DAC enabled?
+ fm_engine m_fm; // core FM engine
+};
+
+
+// ======================> ym3438
+
+class ym3438 : public ym2612
+{
+public:
+ ym3438(ymfm_interface &intf) : ym2612(intf) { }
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+};
+
+
+// ======================> ymf276
+
+class ymf276 : public ym2612
+{
+public:
+ ymf276(ymfm_interface &intf) : ym2612(intf) { }
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples);
+};
+
+}
+
+
+#endif // YMFM_OPN_H
diff --git a/3rdparty/ymfm/src/ymfm_opq.cpp b/3rdparty/ymfm/src/ymfm_opq.cpp
new file mode 100644
index 00000000000..59e99db0a81
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opq.cpp
@@ -0,0 +1,480 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_opq.h"
+#include "ymfm_fm.ipp"
+
+#define TEMPORARY_DEBUG_PRINTS (0)
+
+//
+// OPQ (aka YM3806/YM3533)
+//
+// This chip is not officially documented as far as I know. What I have
+// comes from Jari Kangas' work on reverse engineering the PSR70:
+//
+// https://github.com/JKN0/PSR70-reverse
+//
+// OPQ appears be bsaically a mixture of OPM and OPN.
+//
+
+namespace ymfm
+{
+
+//*********************************************************
+// OPQ SPECIFICS
+//*********************************************************
+
+//-------------------------------------------------
+// opq_registers - constructor
+//-------------------------------------------------
+
+opq_registers::opq_registers() :
+ m_lfo_counter(0),
+ m_lfo_am(0)
+{
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[0][index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+
+ uint16_t zeroval = m_waveform[0][0];
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[1][index] = bitfield(index, 9) ? zeroval : m_waveform[0][index];
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+void opq_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+
+ // enable output on both channels by default
+ m_regdata[0x10] = m_regdata[0x11] = m_regdata[0x12] = m_regdata[0x13] = 0xc0;
+ m_regdata[0x14] = m_regdata[0x15] = m_regdata[0x16] = m_regdata[0x17] = 0xc0;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void opq_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_lfo_counter);
+ state.save_restore(m_lfo_am);
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPM this is fixed
+//-------------------------------------------------
+
+void opq_registers::operator_map(operator_mapping &dest) const
+{
+ // seems like the operators are not swizzled like they are on OPM/OPN?
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 8, 16, 24 ), // Channel 0 operators
+ operator_list( 1, 9, 17, 25 ), // Channel 1 operators
+ operator_list( 2, 10, 18, 26 ), // Channel 2 operators
+ operator_list( 3, 11, 19, 27 ), // Channel 3 operators
+ operator_list( 4, 12, 20, 28 ), // Channel 4 operators
+ operator_list( 5, 13, 21, 29 ), // Channel 5 operators
+ operator_list( 6, 14, 22, 30 ), // Channel 6 operators
+ operator_list( 7, 15, 23, 31 ), // Channel 7 operators
+ } };
+ dest = s_fixed_map;
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array
+//-------------------------------------------------
+
+bool opq_registers::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ assert(index < REGISTERS);
+
+ // detune/multiple share a register based on the MSB of what is written
+ // remap the multiple values to 100-11F
+ if ((index & 0xe0) == 0x40 && bitfield(data, 7) != 0)
+ index += 0xc0;
+
+ m_regdata[index] = data;
+
+ // handle writes to the key on index
+ if (index == 0x05)
+ {
+ channel = bitfield(data, 0, 3);
+ opmask = bitfield(data, 3, 4);
+ return true;
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+int32_t opq_registers::clock_noise_and_lfo()
+{
+ // OPQ LFO is not well-understood, but the enable and rate values
+ // look a lot like OPN, so we'll crib from there as a starting point
+
+ // if LFO not enabled (not present on OPN), quick exit with 0s
+ if (!lfo_enable())
+ {
+ m_lfo_counter = 0;
+ m_lfo_am = 0;
+ return 0;
+ }
+
+ // this table is based on converting the frequencies in the applications
+ // manual to clock dividers, based on the assumption of a 7-bit LFO value
+ static uint8_t const lfo_max_count[8] = { 109, 78, 72, 68, 63, 45, 9, 6 };
+ uint32_t subcount = uint8_t(m_lfo_counter++);
+
+ // when we cross the divider count, add enough to zero it and cause an
+ // increment at bit 8; the 7-bit value lives from bits 8-14
+ if (subcount >= lfo_max_count[lfo_rate()])
+ m_lfo_counter += 0x101 - subcount;
+
+ // AM value is 7 bits, staring at bit 8; grab the low 6 directly
+ m_lfo_am = bitfield(m_lfo_counter, 8, 6);
+
+ // first half of the AM period (bit 6 == 0) is inverted
+ if (bitfield(m_lfo_counter, 8+6) == 0)
+ m_lfo_am ^= 0x3f;
+
+ // PM value is 5 bits, starting at bit 10; grab the low 3 directly
+ int32_t pm = bitfield(m_lfo_counter, 10, 3);
+
+ // PM is reflected based on bit 3
+ if (bitfield(m_lfo_counter, 10+3))
+ pm ^= 7;
+
+ // PM is negated based on bit 4
+ return bitfield(m_lfo_counter, 10+4) ? -pm : pm;
+}
+
+
+//-------------------------------------------------
+// lfo_am_offset - return the AM offset from LFO
+// for the given channel
+//-------------------------------------------------
+
+uint32_t opq_registers::lfo_am_offset(uint32_t choffs) const
+{
+ // OPM maps AM quite differently from OPN
+
+ // shift value for AM sensitivity is [*, 0, 1, 2],
+ // mapping to values of [0, 23.9, 47.8, and 95.6dB]
+ uint32_t am_sensitivity = ch_lfo_am_sens(choffs);
+ if (am_sensitivity == 0)
+ return 0;
+
+ // QUESTION: see OPN note below for the dB range mapping; it applies
+ // here as well
+
+ // raw LFO AM value on OPM is 0-FF, which is already a factor of 2
+ // larger than the OPN below, putting our staring point at 2x theirs;
+ // this works out since our minimum is 2x their maximum
+ return m_lfo_am << (am_sensitivity - 1);
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data
+//-------------------------------------------------
+
+void opq_registers::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // set up the easy stuff
+ cache.waveform = &m_waveform[op_waveform(opoffs)][0];
+
+ // get frequency from the appropriate registers
+ uint32_t block_freq = cache.block_freq = (opoffs & 8) ? ch_block_freq_24(choffs) : ch_block_freq_13(choffs);
+
+ // compute the keycode: block_freq is:
+ //
+ // BBBFFFFFFFFFFFF
+ // ^^^^???
+ //
+ // keycode is not understood, so just guessing it is like OPN:
+ // the 5-bit keycode uses the top 4 bits plus a magic formula
+ // for the final bit
+ uint32_t keycode = bitfield(block_freq, 11, 4) << 1;
+
+ // lowest bit is determined by a mix of next lower FNUM bits
+ // according to this equation from the YM2608 manual:
+ //
+ // (F11 & (F10 | F9 | F8)) | (!F11 & F10 & F9 & F8)
+ //
+ // for speed, we just look it up in a 16-bit constant
+ keycode |= bitfield(0xfe80, bitfield(block_freq, 8, 4));
+
+ // detune adjustment: the detune values supported by the OPQ are
+ // a much larger range (6 bits vs 3 bits) compared to any other
+ // known FM chip; based on experiments, it seems that the extra
+ // bits provide a bigger detune range rather than finer control,
+ // so until we get true measurements just assemble a net detune
+ // value by summing smaller detunes
+ int32_t detune = int32_t(op_detune(opoffs)) - 0x20;
+ int32_t abs_detune = std::abs(detune);
+ int32_t adjust = (abs_detune / 3) * detune_adjustment(3, keycode) + detune_adjustment(abs_detune % 3, keycode);
+ cache.detune = (detune >= 0) ? adjust : -adjust;
+
+ // multiple value, as an x.1 value (0 means 0.5)
+ static const uint8_t s_multiple_map[16] = { 1,2,4,6,8,10,12,14,16,18,20,24,30,32,34,36 };
+ cache.multiple = s_multiple_map[op_multiple(opoffs)];
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
+ // block_freq, detune, and multiple, so compute it after we've done those
+ if (lfo_enable() == 0 || ch_lfo_pm_sens(choffs) == 0)
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8
+ cache.total_level = op_total_level(opoffs) << 3;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // determine KSR adjustment for enevlope rates
+ uint32_t ksrval = keycode >> (op_ksr(opoffs) ^ 3);
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
+ cache.eg_rate[EG_REVERB] = (ch_reverb(choffs) != 0) ? 5*4 : cache.eg_rate[EG_RELEASE];
+ cache.eg_shift = 0;
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+uint32_t opq_registers::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ // OPN phase calculation has only a single detune parameter
+ // and uses FNUMs instead of keycodes
+
+ // extract frequency number (low 12 bits of block_freq)
+ uint32_t fnum = bitfield(cache.block_freq, 0, 12);
+
+ // if there's a non-zero PM sensitivity, compute the adjustment
+ uint32_t pm_sensitivity = ch_lfo_pm_sens(choffs);
+ if (pm_sensitivity != 0)
+ {
+ // apply the phase adjustment based on the upper 7 bits
+ // of FNUM and the PM depth parameters
+ fnum += opn_lfo_pm_phase_adjustment(bitfield(cache.block_freq, 5, 7), pm_sensitivity, lfo_raw_pm);
+
+ // keep fnum to 12 bits
+ fnum &= 0xfff;
+ }
+
+ // apply block shift to compute phase step
+ uint32_t block = bitfield(cache.block_freq, 12, 3);
+ uint32_t phase_step = (fnum << block) >> 2;
+
+ // apply detune based on the keycode
+ phase_step += cache.detune;
+
+ // clamp to 17 bits in case detune overflows
+ // QUESTION: is this specific to the YM2612/3438?
+ phase_step &= 0x1ffff;
+
+ // apply frequency multiplier (which is cached as an x.1 value)
+ return (phase_step * cache.multiple) >> 1;
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+std::string opq_registers::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = choffs;
+ uint32_t opnum = opoffs;
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%d.%02d freq=%04X dt=%+2d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X out=%c%c",
+ chnum, opnum,
+ (opoffs & 1) ? ch_block_freq_24(choffs) : ch_block_freq_13(choffs),
+ int32_t(op_detune(opoffs)) - 0x20,
+ ch_feedback(choffs),
+ ch_algorithm(choffs),
+ op_multiple(opoffs),
+ op_total_level(opoffs),
+ op_ksr(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_sustain_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs),
+ ch_output_0(choffs) ? 'L' : '-',
+ ch_output_1(choffs) ? 'R' : '-');
+
+ bool am = (lfo_enable() && op_lfo_am_enable(opoffs) && ch_lfo_am_sens(choffs) != 0);
+ if (am)
+ end += sprintf(end, " am=%d", ch_lfo_am_sens(choffs));
+ bool pm = (lfo_enable() && ch_lfo_pm_sens(choffs) != 0);
+ if (pm)
+ end += sprintf(end, " pm=%d", ch_lfo_pm_sens(choffs));
+ if (am || pm)
+ end += sprintf(end, " lfo=%02X", lfo_rate());
+ if (ch_reverb(choffs))
+ end += sprintf(end, " reverb");
+
+ return buffer;
+}
+
+
+
+//*********************************************************
+// YM3806
+//*********************************************************
+
+//-------------------------------------------------
+// ym3806 - constructor
+//-------------------------------------------------
+
+ym3806::ym3806(ymfm_interface &intf) :
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym3806::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym3806::save_restore(ymfm_saved_state &state)
+{
+ m_fm.save_restore(state);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym3806::read_status()
+{
+ uint8_t result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym3806::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset)
+ {
+ case 0: // status port
+ result = read_status();
+ break;
+
+ default: // unknown
+ debug::log_unexpected_read_write("Unexpected read from YM3806 offset %02X\n", offset);
+ break;
+ }
+if (TEMPORARY_DEBUG_PRINTS && offset != 0) printf("Read %02X = %02X\n", offset, result);
+ return result;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym3806::write(uint32_t offset, uint8_t data)
+{
+if (TEMPORARY_DEBUG_PRINTS && (offset != 3 || data != 0x71)) printf("Write %02X = %02X\n", offset, data);
+ // write the FM register
+ m_fm.write(offset, data);
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym3806::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; YM3806 is full 14-bit with no intermediate clipping
+ m_fm.output(output->clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // YM3608 appears to go through a YM3012 DAC, which means we want to apply
+ // the FP truncation logic to the outputs
+ output->roundtrip_fp();
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_opq.h b/3rdparty/ymfm/src/ymfm_opq.h
new file mode 100644
index 00000000000..f530ac070f1
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opq.h
@@ -0,0 +1,293 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_OPQ_H
+#define YMFM_OPQ_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_fm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// REGISTER CLASSES
+//*********************************************************
+
+// ======================> opq_registers
+
+//
+// OPQ register map:
+//
+// System-wide registers:
+// 03 xxxxxxxx Timer control (unknown; 0x71 causes interrupts at ~10ms)
+// 04 ----x--- LFO disable
+// -----xxx LFO frequency (0=~4Hz, 6=~10Hz, 7=~47Hz)
+// 05 -x------ Key on/off operator 4
+// --x----- Key on/off operator 3
+// ---x---- Key on/off operator 2
+// ----x--- Key on/off operator 1
+// -----xxx Channel select
+//
+// Per-channel registers (channel in address bits 0-2)
+// 10-17 x------- Pan right
+// -x------ Pan left
+// --xxx--- Feedback level for operator 1 (0-7)
+// -----xxx Operator connection algorithm (0-7)
+// 18-1F x------- Reverb
+// -xxx---- PM sensitivity
+// ------xx AM shift
+// 20-27 -xxx---- Block (0-7), Operator 2 & 4
+// ----xxxx Frequency number upper 4 bits, Operator 2 & 4
+// 28-2F -xxx---- Block (0-7), Operator 1 & 3
+// ----xxxx Frequency number upper 4 bits, Operator 1 & 3
+// 30-37 xxxxxxxx Frequency number lower 8 bits, Operator 2 & 4
+// 38-3F xxxxxxxx Frequency number lower 8 bits, Operator 1 & 3
+//
+// Per-operator registers (channel in address bits 0-2, operator in bits 3-4)
+// 40-5F 0-xxxxxx Detune value (0-63)
+// 1---xxxx Multiple value (0-15)
+// 60-7F -xxxxxxx Total level (0-127)
+// 80-9F xx------ Key scale rate (0-3)
+// ---xxxxx Attack rate (0-31)
+// A0-BF x------- LFO AM enable, retrigger disable
+// x------ Waveform select
+// ---xxxxx Decay rate (0-31)
+// C0-DF ---xxxxx Sustain rate (0-31)
+// E0-FF xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+//
+// Diffs from OPM:
+// - 2 frequencies/channel
+// - retrigger disable
+// - 2 waveforms
+// - uses FNUM
+// - reverb behavior
+// - larger detune range
+//
+// Questions:
+// - timer information is pretty light
+// - how does echo work?
+// -
+
+class opq_registers : public fm_registers_base
+{
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 2;
+ static constexpr uint32_t CHANNELS = 8;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 4;
+ static constexpr uint32_t WAVEFORMS = 2;
+ static constexpr uint32_t REGISTERS = 0x120;
+ static constexpr uint32_t REG_MODE = 0x03;
+ static constexpr uint32_t DEFAULT_PRESCALE = 2;
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 3;
+ static constexpr bool EG_HAS_REVERB = true;
+ static constexpr bool MODULATOR_DELAY = false;
+ static constexpr uint32_t CSM_TRIGGER_MASK = ALL_CHANNELS;
+ static constexpr uint8_t STATUS_TIMERA = 0;
+ static constexpr uint8_t STATUS_TIMERB = 0x04;
+ static constexpr uint8_t STATUS_BUSY = 0x80;
+ static constexpr uint8_t STATUS_IRQ = 0;
+
+ // constructor
+ opq_registers();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ return chnum;
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ return opnum;
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // reset the LFO
+ void reset_lfo() { m_lfo_counter = 0; }
+
+ // return the AM offset from LFO for the given channel
+ uint32_t lfo_am_offset(uint32_t choffs) const;
+
+ // return the current noise state, gated by the noise clock
+ uint32_t noise_state() const { return 0; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // system-wide registers
+ uint32_t timer_a_value() const { return 0; }
+ uint32_t timer_b_value() const { return byte(0x03, 2, 6) | 0xc0; } // ???
+ uint32_t csm() const { return 0; }
+ uint32_t reset_timer_b() const { return byte(0x03, 0, 1); } // ???
+ uint32_t reset_timer_a() const { return 0; }
+ uint32_t enable_timer_b() const { return byte(0x03, 0, 1); } // ???
+ uint32_t enable_timer_a() const { return 0; }
+ uint32_t load_timer_b() const { return byte(0x03, 0, 1); } // ???
+ uint32_t load_timer_a() const { return 0; }
+ uint32_t lfo_enable() const { return byte(0x04, 3, 1) ^ 1; }
+ uint32_t lfo_rate() const { return byte(0x04, 0, 3); }
+
+ // per-channel registers
+ uint32_t ch_output_any(uint32_t choffs) const { return byte(0x10, 6, 2, choffs); }
+ uint32_t ch_output_0(uint32_t choffs) const { return byte(0x10, 6, 1, choffs); }
+ uint32_t ch_output_1(uint32_t choffs) const { return byte(0x10, 7, 1, choffs); }
+ uint32_t ch_output_2(uint32_t choffs) const { return 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return 0; }
+ uint32_t ch_feedback(uint32_t choffs) const { return byte(0x10, 3, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return byte(0x10, 0, 3, choffs); }
+ uint32_t ch_reverb(uint32_t choffs) const { return byte(0x18, 7, 1, choffs); }
+ uint32_t ch_lfo_pm_sens(uint32_t choffs) const { return byte(0x18, 4, 3, choffs); }
+ uint32_t ch_lfo_am_sens(uint32_t choffs) const { return byte(0x18, 0, 2, choffs); }
+ uint32_t ch_block_freq_24(uint32_t choffs) const { return word(0x20, 0, 7, 0x30, 0, 8, choffs); }
+ uint32_t ch_block_freq_13(uint32_t choffs) const { return word(0x28, 0, 7, 0x38, 0, 8, choffs); }
+
+ // per-operator registers
+ uint32_t op_detune(uint32_t opoffs) const { return byte(0x40, 0, 6, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return byte(0x100, 0, 4, opoffs); }
+ uint32_t op_total_level(uint32_t opoffs) const { return byte(0x60, 0, 7, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return byte(0x80, 6, 2, opoffs); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return byte(0x80, 0, 5, opoffs); }
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return byte(0xa0, 7, 1, opoffs); }
+ uint32_t op_waveform(uint32_t opoffs) const { return byte(0xa0, 6, 1, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return byte(0xa0, 0, 5, opoffs); }
+ uint32_t op_sustain_rate(uint32_t opoffs) const { return byte(0xc0, 0, 5, opoffs); }
+ uint32_t op_sustain_level(uint32_t opoffs) const { return byte(0xe0, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return byte(0xe0, 0, 4, opoffs); }
+
+protected:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // internal state
+ uint32_t m_lfo_counter; // LFO counter
+ uint8_t m_lfo_am; // current LFO AM value
+ uint8_t m_regdata[REGISTERS]; // register data
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+
+
+//*********************************************************
+// IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym3806
+
+class ym3806
+{
+public:
+ using fm_engine = fm_engine_base<opq_registers>;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+ using output_data = fm_engine::output_data;
+
+ // constructor
+ ym3806(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data) { /* not supported; only direct writes */ }
+ void write_data(uint8_t data) { /* not supported; only direct writes */ }
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ fm_engine m_fm; // core FM engine
+};
+
+
+// ======================> ym3533
+
+class ym3533 : public ym3806
+{
+public:
+ // constructor
+ ym3533(ymfm_interface &intf) :
+ ym3806(intf) { }
+};
+
+}
+
+
+#endif // YMFM_OPQ_H
diff --git a/3rdparty/ymfm/src/ymfm_opz.cpp b/3rdparty/ymfm/src/ymfm_opz.cpp
new file mode 100644
index 00000000000..8ee0cd9ab66
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opz.cpp
@@ -0,0 +1,808 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_opz.h"
+#include "ymfm_fm.ipp"
+
+#define TEMPORARY_DEBUG_PRINTS (0)
+
+//
+// OPZ (aka YM2414)
+//
+// This chip is not officially documented as far as I know. What I have
+// comes from this site:
+//
+// http://sr4.sakura.ne.jp/fmsound/opz.html
+//
+// and from reading the TX81Z operator manual, which describes how a number
+// of these new features work.
+//
+// OPZ appears be bsaically OPM with a bunch of extra features.
+//
+// For starters, there are two LFO generators. I have presumed that they
+// operate identically since identical parameters are offered for each. I
+// have also presumed the effects are additive between them. The LFOs on
+// the OPZ have an extra "sync" option which apparently causes the LFO to
+// reset whenever a key on is received.
+//
+// At the channel level, there is an additional 8-bit volume control. This
+// might work as an addition to total level, or some other way. Completely
+// unknown, and unimplemented.
+//
+// At the operator level, there are a number of extra features. First, there
+// are 8 different waveforms to choose from. These are different than the
+// waveforms introduced in the OPL2 and later chips.
+//
+// Second, there is an additional "reverb" stage added to the envelope
+// generator, which kicks in when the envelope reaches -18dB. It specifies
+// a slower decay rate to produce a sort of faux reverb effect.
+//
+// The envelope generator also supports a 2-bit shift value, which can be
+// used to reduce the effect of the envelope attenuation.
+//
+// OPZ supports a "fixed frequency" mode for each operator, with a 3-bit
+// range and 4-bit frequency value, plus a 1-bit enable. Not sure how that
+// works at all, so it's not implemented.
+//
+// There are also several mystery fields in the operators which I have no
+// clue about: "fine" (4 bits), "eg_shift" (2 bits), and "rev" (3 bits).
+// eg_shift is some kind of envelope generator effect, but how it works is
+// unknown.
+//
+// Also, according to the site above, the panning controls are changed from
+// OPM, with a "mono" bit and only one control bit for the right channel.
+// Current implementation is just a guess.
+//
+
+namespace ymfm
+{
+
+//*********************************************************
+// OPZ REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// opz_registers - constructor
+//-------------------------------------------------
+
+opz_registers::opz_registers() :
+ m_lfo_counter{ 0, 0 },
+ m_noise_lfsr(1),
+ m_noise_counter(0),
+ m_noise_state(0),
+ m_noise_lfo(0),
+ m_lfo_am{ 0, 0 }
+{
+ // create the waveforms
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[0][index] = abs_sin_attenuation(index) | (bitfield(index, 9) << 15);
+
+ // we only have the diagrams to judge from, but suspecting waveform 1 (and
+ // derived waveforms) are sin^2, based on OPX description of similar wave-
+ // forms; since our sin table is logarithmic, this ends up just being
+ // 2*existing value
+ uint16_t zeroval = m_waveform[0][0];
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ m_waveform[1][index] = std::min<uint16_t>(2 * (m_waveform[0][index] & 0x7fff), zeroval) | (bitfield(index, 9) << 15);
+
+ // remaining waveforms are just derivations of the 2 main ones
+ for (uint32_t index = 0; index < WAVEFORM_LENGTH; index++)
+ {
+ m_waveform[2][index] = bitfield(index, 9) ? zeroval : m_waveform[0][index];
+ m_waveform[3][index] = bitfield(index, 9) ? zeroval : m_waveform[1][index];
+ m_waveform[4][index] = bitfield(index, 9) ? zeroval : m_waveform[0][index * 2];
+ m_waveform[5][index] = bitfield(index, 9) ? zeroval : m_waveform[1][index * 2];
+ m_waveform[6][index] = bitfield(index, 9) ? zeroval : m_waveform[0][(index * 2) & 0x1ff];
+ m_waveform[7][index] = bitfield(index, 9) ? zeroval : m_waveform[1][(index * 2) & 0x1ff];
+ }
+
+ // create the LFO waveforms; AM in the low 8 bits, PM in the upper 8
+ // waveforms are adjusted to match the pictures in the application manual
+ for (uint32_t index = 0; index < LFO_WAVEFORM_LENGTH; index++)
+ {
+ // waveform 0 is a sawtooth
+ uint8_t am = index ^ 0xff;
+ int8_t pm = int8_t(index);
+ m_lfo_waveform[0][index] = am | (pm << 8);
+
+ // waveform 1 is a square wave
+ am = bitfield(index, 7) ? 0 : 0xff;
+ pm = int8_t(am ^ 0x80);
+ m_lfo_waveform[1][index] = am | (pm << 8);
+
+ // waveform 2 is a triangle wave
+ am = bitfield(index, 7) ? (index << 1) : ((index ^ 0xff) << 1);
+ pm = int8_t(bitfield(index, 6) ? am : ~am);
+ m_lfo_waveform[2][index] = am | (pm << 8);
+
+ // waveform 3 is noise; it is filled in dynamically
+ }
+}
+
+
+//-------------------------------------------------
+// reset - reset to initial state
+//-------------------------------------------------
+
+void opz_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+
+ // enable output on both channels by default
+ m_regdata[0x30] = m_regdata[0x31] = m_regdata[0x32] = m_regdata[0x33] = 0x01;
+ m_regdata[0x34] = m_regdata[0x35] = m_regdata[0x36] = m_regdata[0x37] = 0x01;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void opz_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_lfo_counter);
+ state.save_restore(m_lfo_am);
+ state.save_restore(m_noise_lfsr);
+ state.save_restore(m_noise_counter);
+ state.save_restore(m_noise_state);
+ state.save_restore(m_noise_lfo);
+ state.save_restore(m_regdata);
+ state.save_restore(m_phase_substep);
+}
+
+
+//-------------------------------------------------
+// operator_map - return an array of operator
+// indices for each channel; for OPZ this is fixed
+//-------------------------------------------------
+
+void opz_registers::operator_map(operator_mapping &dest) const
+{
+ // Note that the channel index order is 0,2,1,3, so we bitswap the index.
+ //
+ // This is because the order in the map is:
+ // carrier 1, carrier 2, modulator 1, modulator 2
+ //
+ // But when wiring up the connections, the more natural order is:
+ // carrier 1, modulator 1, carrier 2, modulator 2
+ static const operator_mapping s_fixed_map =
+ { {
+ operator_list( 0, 16, 8, 24 ), // Channel 0 operators
+ operator_list( 1, 17, 9, 25 ), // Channel 1 operators
+ operator_list( 2, 18, 10, 26 ), // Channel 2 operators
+ operator_list( 3, 19, 11, 27 ), // Channel 3 operators
+ operator_list( 4, 20, 12, 28 ), // Channel 4 operators
+ operator_list( 5, 21, 13, 29 ), // Channel 5 operators
+ operator_list( 6, 22, 14, 30 ), // Channel 6 operators
+ operator_list( 7, 23, 15, 31 ), // Channel 7 operators
+ } };
+ dest = s_fixed_map;
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the register array
+//-------------------------------------------------
+
+bool opz_registers::write(uint16_t index, uint8_t data, uint32_t &channel, uint32_t &opmask)
+{
+ assert(index < REGISTERS);
+
+ // special mappings:
+ // 0x16 -> 0x188 if bit 7 is set
+ // 0x19 -> 0x189 if bit 7 is set
+ // 0x38..0x3F -> 0x180..0x187 if bit 7 is set
+ // 0x40..0x5F -> 0x100..0x11F if bit 7 is set
+ // 0xC0..0xDF -> 0x120..0x13F if bit 5 is set
+ if (index == 0x17 && bitfield(data, 7) != 0)
+ m_regdata[0x188] = data;
+ else if (index == 0x19 && bitfield(data, 7) != 0)
+ m_regdata[0x189] = data;
+ else if ((index & 0xf8) == 0x38 && bitfield(data, 7) != 0)
+ m_regdata[0x180 + (index & 7)] = data;
+ else if ((index & 0xe0) == 0x40 && bitfield(data, 7) != 0)
+ m_regdata[0x100 + (index & 0x1f)] = data;
+ else if ((index & 0xe0) == 0xc0 && bitfield(data, 5) != 0)
+ m_regdata[0x120 + (index & 0x1f)] = data;
+ else if (index < 0x100)
+ m_regdata[index] = data;
+
+ // preset writes restore some values from a preset memory; not sure
+ // how this really works but the TX81Z will overwrite the sustain level/
+ // release rate register and the envelope shift/reverb rate register to
+ // dampen sound, then write the preset number to register 8 to restore them
+ if (index == 0x08)
+ {
+ int chan = bitfield(data, 0, 3);
+ if (TEMPORARY_DEBUG_PRINTS)
+ printf("Loading preset %d\n", chan);
+ m_regdata[0xe0 + chan + 0] = m_regdata[0x140 + chan + 0];
+ m_regdata[0xe0 + chan + 8] = m_regdata[0x140 + chan + 8];
+ m_regdata[0xe0 + chan + 16] = m_regdata[0x140 + chan + 16];
+ m_regdata[0xe0 + chan + 24] = m_regdata[0x140 + chan + 24];
+ m_regdata[0x120 + chan + 0] = m_regdata[0x160 + chan + 0];
+ m_regdata[0x120 + chan + 8] = m_regdata[0x160 + chan + 8];
+ m_regdata[0x120 + chan + 16] = m_regdata[0x160 + chan + 16];
+ m_regdata[0x120 + chan + 24] = m_regdata[0x160 + chan + 24];
+ }
+
+ // store the presets under some unknown condition; the pattern of writes
+ // when setting a new preset is:
+ //
+ // 08 (0-7), 80-9F, A0-BF, C0-DF, C0-DF (alt), 20-27, 40-5F, 40-5F (alt),
+ // C0-DF (alt -- again?), 38-3F, 1B, 18, E0-FF
+ //
+ // So it writes 0-7 to 08 to either reset all presets or to indicate
+ // that we're going to be loading them. Immediately after all the writes
+ // above, the very next write will be temporary values to blow away the
+ // values loaded into E0-FF, so somehow it also knows that anything after
+ // that point is not part of the preset.
+ //
+ // For now, try using the 40-5F (alt) writes as flags that presets are
+ // being loaded until the E0-FF writes happen.
+ bool is_setting_preset = (bitfield(m_regdata[0x100 + (index & 0x1f)], 7) != 0);
+ if (is_setting_preset)
+ {
+ if ((index & 0xe0) == 0xe0)
+ {
+ m_regdata[0x140 + (index & 0x1f)] = data;
+ m_regdata[0x100 + (index & 0x1f)] &= 0x7f;
+ }
+ else if ((index & 0xe0) == 0xc0 && bitfield(data, 5) != 0)
+ m_regdata[0x160 + (index & 0x1f)] = data;
+ }
+
+ // handle writes to the key on index
+ if ((index & 0xf8) == 0x20 && bitfield(index, 0, 3) == bitfield(m_regdata[0x08], 0, 3))
+ {
+ channel = bitfield(index, 0, 3);
+ opmask = ch_key_on(channel) ? 0xf : 0;
+
+ // according to the TX81Z manual, the sync option causes the LFOs
+ // to reset at each note on
+ if (opmask != 0)
+ {
+ if (lfo_sync())
+ m_lfo_counter[0] = 0;
+ if (lfo2_sync())
+ m_lfo_counter[1] = 0;
+ }
+ return true;
+ }
+ return false;
+}
+
+
+//-------------------------------------------------
+// clock_noise_and_lfo - clock the noise and LFO,
+// handling clock division, depth, and waveform
+// computations
+//-------------------------------------------------
+
+int32_t opz_registers::clock_noise_and_lfo()
+{
+ // base noise frequency is measured at 2x 1/2 FM frequency; this
+ // means each tick counts as two steps against the noise counter
+ uint32_t freq = noise_frequency();
+ for (int rep = 0; rep < 2; rep++)
+ {
+ // evidence seems to suggest the LFSR is clocked continually and just
+ // sampled at the noise frequency for output purposes; note that the
+ // low 8 bits are the most recent 8 bits of history while bits 8-24
+ // contain the 17 bit LFSR state
+ m_noise_lfsr <<= 1;
+ m_noise_lfsr |= bitfield(m_noise_lfsr, 17) ^ bitfield(m_noise_lfsr, 14) ^ 1;
+
+ // compare against the frequency and latch when we exceed it
+ if (m_noise_counter++ >= freq)
+ {
+ m_noise_counter = 0;
+ m_noise_state = bitfield(m_noise_lfsr, 17);
+ }
+ }
+
+ // treat the rate as a 4.4 floating-point step value with implied
+ // leading 1; this matches exactly the frequencies in the application
+ // manual, though it might not be implemented exactly this way on chip
+ uint32_t rate0 = lfo_rate();
+ uint32_t rate1 = lfo2_rate();
+ m_lfo_counter[0] += (0x10 | bitfield(rate0, 0, 4)) << bitfield(rate0, 4, 4);
+ m_lfo_counter[1] += (0x10 | bitfield(rate1, 0, 4)) << bitfield(rate1, 4, 4);
+ uint32_t lfo0 = bitfield(m_lfo_counter[0], 22, 8);
+ uint32_t lfo1 = bitfield(m_lfo_counter[1], 22, 8);
+
+ // fill in the noise entry 1 ahead of our current position; this
+ // ensures the current value remains stable for a full LFO clock
+ // and effectively latches the running value when the LFO advances
+ uint32_t lfo_noise = bitfield(m_noise_lfsr, 17, 8);
+ m_lfo_waveform[3][(lfo0 + 1) & 0xff] = lfo_noise | (lfo_noise << 8);
+ m_lfo_waveform[3][(lfo1 + 1) & 0xff] = lfo_noise | (lfo_noise << 8);
+
+ // fetch the AM/PM values based on the waveform; AM is unsigned and
+ // encoded in the low 8 bits, while PM signed and encoded in the upper
+ // 8 bits
+ int32_t ampm0 = m_lfo_waveform[lfo_waveform()][lfo0];
+ int32_t ampm1 = m_lfo_waveform[lfo2_waveform()][lfo1];
+
+ // apply depth to the AM values and store for later
+ m_lfo_am[0] = ((ampm0 & 0xff) * lfo_am_depth()) >> 7;
+ m_lfo_am[1] = ((ampm1 & 0xff) * lfo2_am_depth()) >> 7;
+
+ // apply depth to the PM values and return them combined into two
+ int32_t pm0 = ((ampm0 >> 8) * int32_t(lfo_pm_depth())) >> 7;
+ int32_t pm1 = ((ampm1 >> 8) * int32_t(lfo2_pm_depth())) >> 7;
+ return (pm0 & 0xff) | (pm1 << 8);
+}
+
+
+//-------------------------------------------------
+// lfo_am_offset - return the AM offset from LFO
+// for the given channel
+//-------------------------------------------------
+
+uint32_t opz_registers::lfo_am_offset(uint32_t choffs) const
+{
+ // not sure how this works for real, but just adding the two
+ // AM LFOs together
+ uint32_t result = 0;
+
+ // shift value for AM sensitivity is [*, 0, 1, 2],
+ // mapping to values of [0, 23.9, 47.8, and 95.6dB]
+ uint32_t am_sensitivity = ch_lfo_am_sens(choffs);
+ if (am_sensitivity != 0)
+ result = m_lfo_am[0] << (am_sensitivity - 1);
+
+ // QUESTION: see OPN note below for the dB range mapping; it applies
+ // here as well
+
+ // raw LFO AM value on OPZ is 0-FF, which is already a factor of 2
+ // larger than the OPN below, putting our staring point at 2x theirs;
+ // this works out since our minimum is 2x their maximum
+ uint32_t am_sensitivity2 = ch_lfo2_am_sens(choffs);
+ if (am_sensitivity2 != 0)
+ result += m_lfo_am[1] << (am_sensitivity2 - 1);
+
+ return result;
+}
+
+
+//-------------------------------------------------
+// cache_operator_data - fill the operator cache
+// with prefetched data
+//-------------------------------------------------
+
+void opz_registers::cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache)
+{
+ // TODO: how does fixed frequency mode work? appears to be enabled by
+ // op_fix_mode(), and controlled by op_fix_range(), op_fix_frequency()
+
+ // TODO: what is op_rev()?
+
+ // set up the easy stuff
+ cache.waveform = &m_waveform[op_waveform(opoffs)][0];
+
+ // get frequency from the channel
+ uint32_t block_freq = cache.block_freq = ch_block_freq(choffs);
+
+ // compute the keycode: block_freq is:
+ //
+ // BBBCCCCFFFFFF
+ // ^^^^^
+ //
+ // the 5-bit keycode is just the top 5 bits (block + top 2 bits
+ // of the key code)
+ uint32_t keycode = bitfield(block_freq, 8, 5);
+
+ // detune adjustment
+ cache.detune = detune_adjustment(op_detune(opoffs), keycode);
+
+ // multiple value, as an x.4 value (0 means 0.5)
+ // the "fine" control provides the fractional bits
+ cache.multiple = op_multiple(opoffs) << 4;
+ if (cache.multiple == 0)
+ cache.multiple = 0x08;
+ cache.multiple |= op_fine(opoffs);
+
+ // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
+ // block_freq, detune, and multiple, so compute it after we've done those;
+ // note that fix frequency mode is also treated as dynamic
+ if (!op_fix_mode(opoffs) && (lfo_pm_depth() == 0 || ch_lfo_pm_sens(choffs) == 0) && (lfo2_pm_depth() == 0 || ch_lfo2_pm_sens(choffs) == 0))
+ cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
+ else
+ cache.phase_step = opdata_cache::PHASE_STEP_DYNAMIC;
+
+ // total level, scaled by 8
+ // TODO: how does ch_volume() fit into this?
+ cache.total_level = op_total_level(opoffs) << 3;
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = op_sustain_level(opoffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // determine KSR adjustment for enevlope rates
+ uint32_t ksrval = keycode >> (op_ksr(opoffs) ^ 3);
+ cache.eg_rate[EG_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
+ cache.eg_rate[EG_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
+ cache.eg_rate[EG_REVERB] = cache.eg_rate[EG_RELEASE];
+ uint32_t reverb = op_reverb_rate(opoffs);
+ if (reverb != 0)
+ cache.eg_rate[EG_REVERB] = std::min<uint32_t>(effective_rate(reverb * 4 + 2, ksrval), cache.eg_rate[EG_REVERB]);
+
+ // set the envelope shift; TX81Z manual says operator 1 shift is fixed at "off"
+ cache.eg_shift = ((opoffs & 0x18) == 0) ? 0 : op_eg_shift(opoffs);
+}
+
+
+//-------------------------------------------------
+// compute_phase_step - compute the phase step
+//-------------------------------------------------
+
+uint32_t opz_registers::compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm)
+{
+ // OPZ has a fixed frequency mode; it is unclear whether the
+ // detune and multiple parameters affect things
+
+ uint32_t phase_step;
+ if (op_fix_mode(opoffs))
+ {
+ // the baseline frequency in hz comes from the fix frequency and fine
+ // registers, which can specify values 8-255Hz in 1Hz increments; that
+ // value is then shifted up by the 3-bit range
+ uint32_t freq = op_fix_frequency(opoffs) << 4;
+ if (freq == 0)
+ freq = 8;
+ freq |= op_fine(opoffs);
+ freq <<= op_fix_range(opoffs);
+
+ // there is not enough resolution in the plain phase step to track the
+ // full range of frequencies, so we keep a per-operator sub step with an
+ // additional 12 bits of resolution; this calculation gives us, for
+ // example, a frequency of 8.0009Hz when 8Hz is requested
+ uint32_t substep = m_phase_substep[opoffs];
+ substep += 75 * freq;
+ phase_step = substep >> 12;
+ m_phase_substep[opoffs] = substep & 0xfff;
+
+ // detune/multiple occupy the same space as fix_range/fix_frequency so
+ // don't apply them in addition
+ return phase_step;
+ }
+ else
+ {
+ // start with coarse detune delta; table uses cents value from
+ // manual, converted into 1/64ths
+ static const int16_t s_detune2_delta[4] = { 0, (600*64+50)/100, (781*64+50)/100, (950*64+50)/100 };
+ int32_t delta = s_detune2_delta[op_detune2(opoffs)];
+
+ // add in the PM deltas
+ uint32_t pm_sensitivity = ch_lfo_pm_sens(choffs);
+ if (pm_sensitivity != 0)
+ {
+ // raw PM value is -127..128 which is +/- 200 cents
+ // manual gives these magnitudes in cents:
+ // 0, +/-5, +/-10, +/-20, +/-50, +/-100, +/-400, +/-700
+ // this roughly corresponds to shifting the 200-cent value:
+ // 0 >> 5, >> 4, >> 3, >> 2, >> 1, << 1, << 2
+ if (pm_sensitivity < 6)
+ delta += int8_t(lfo_raw_pm) >> (6 - pm_sensitivity);
+ else
+ delta += int8_t(lfo_raw_pm) << (pm_sensitivity - 5);
+ }
+ uint32_t pm_sensitivity2 = ch_lfo2_pm_sens(choffs);
+ if (pm_sensitivity2 != 0)
+ {
+ // raw PM value is -127..128 which is +/- 200 cents
+ // manual gives these magnitudes in cents:
+ // 0, +/-5, +/-10, +/-20, +/-50, +/-100, +/-400, +/-700
+ // this roughly corresponds to shifting the 200-cent value:
+ // 0 >> 5, >> 4, >> 3, >> 2, >> 1, << 1, << 2
+ if (pm_sensitivity2 < 6)
+ delta += int8_t(lfo_raw_pm >> 8) >> (6 - pm_sensitivity2);
+ else
+ delta += int8_t(lfo_raw_pm >> 8) << (pm_sensitivity2 - 5);
+ }
+
+ // apply delta and convert to a frequency number; this translation is
+ // the same as OPM so just re-use that helper
+ phase_step = opm_key_code_to_phase_step(cache.block_freq, delta);
+
+ // apply detune based on the keycode
+ phase_step += cache.detune;
+
+ // apply frequency multiplier (which is cached as an x.4 value)
+ return (phase_step * cache.multiple) >> 4;
+ }
+}
+
+
+//-------------------------------------------------
+// log_keyon - log a key-on event
+//-------------------------------------------------
+
+std::string opz_registers::log_keyon(uint32_t choffs, uint32_t opoffs)
+{
+ uint32_t chnum = choffs;
+ uint32_t opnum = opoffs;
+
+ char buffer[256];
+ char *end = &buffer[0];
+
+ end += sprintf(end, "%d.%02d", chnum, opnum);
+
+ if (op_fix_mode(opoffs))
+ end += sprintf(end, " fixfreq=%X fine=%X shift=%X", op_fix_frequency(opoffs), op_fine(opoffs), op_fix_range(opoffs));
+ else
+ end += sprintf(end, " freq=%04X dt2=%d fine=%X", ch_block_freq(choffs), op_detune2(opoffs), op_fine(opoffs));
+
+ end += sprintf(end, " dt=%d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X out=%c%c",
+ op_detune(opoffs),
+ ch_feedback(choffs),
+ ch_algorithm(choffs),
+ op_multiple(opoffs),
+ op_total_level(opoffs),
+ op_ksr(opoffs),
+ op_attack_rate(opoffs),
+ op_decay_rate(opoffs),
+ op_sustain_rate(opoffs),
+ op_release_rate(opoffs),
+ op_sustain_level(opoffs),
+ ch_output_0(choffs) ? 'L' : '-',
+ ch_output_1(choffs) ? 'R' : '-');
+
+ if (op_eg_shift(opoffs) != 0)
+ end += sprintf(end, " egshift=%d", op_eg_shift(opoffs));
+
+ bool am = (lfo_am_depth() != 0 && ch_lfo_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0);
+ if (am)
+ end += sprintf(end, " am=%d/%02X", ch_lfo_am_sens(choffs), lfo_am_depth());
+ bool pm = (lfo_pm_depth() != 0 && ch_lfo_pm_sens(choffs) != 0);
+ if (pm)
+ end += sprintf(end, " pm=%d/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth());
+ if (am || pm)
+ end += sprintf(end, " lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]);
+
+ bool am2 = (lfo2_am_depth() != 0 && ch_lfo2_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0);
+ if (am2)
+ end += sprintf(end, " am2=%d/%02X", ch_lfo2_am_sens(choffs), lfo2_am_depth());
+ bool pm2 = (lfo2_pm_depth() != 0 && ch_lfo2_pm_sens(choffs) != 0);
+ if (pm2)
+ end += sprintf(end, " pm2=%d/%02X", ch_lfo2_pm_sens(choffs), lfo2_pm_depth());
+ if (am2 || pm2)
+ end += sprintf(end, " lfo2=%02X/%c", lfo2_rate(), "WQTN"[lfo2_waveform()]);
+
+ if (op_reverb_rate(opoffs) != 0)
+ end += sprintf(end, " rev=%d", op_reverb_rate(opoffs));
+ if (op_waveform(opoffs) != 0)
+ end += sprintf(end, " wf=%d", op_waveform(opoffs));
+ if (noise_enable() && opoffs == 31)
+ end += sprintf(end, " noise=1");
+
+ return buffer;
+}
+
+
+
+//*********************************************************
+// YM2414
+//*********************************************************
+
+//-------------------------------------------------
+// ym2414 - constructor
+//-------------------------------------------------
+
+ym2414::ym2414(ymfm_interface &intf) :
+ m_address(0),
+ m_fm(intf)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the system
+//-------------------------------------------------
+
+void ym2414::reset()
+{
+ // reset the engines
+ m_fm.reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ym2414::save_restore(ymfm_saved_state &state)
+{
+ m_fm.save_restore(state);
+ state.save_restore(m_address);
+}
+
+
+//-------------------------------------------------
+// read_status - read the status register
+//-------------------------------------------------
+
+uint8_t ym2414::read_status()
+{
+ uint8_t result = m_fm.status();
+ if (m_fm.intf().ymfm_is_busy())
+ result |= fm_engine::STATUS_BUSY;
+ return result;
+}
+
+
+//-------------------------------------------------
+// read - handle a read from the device
+//-------------------------------------------------
+
+uint8_t ym2414::read(uint32_t offset)
+{
+ uint8_t result = 0xff;
+ switch (offset & 1)
+ {
+ case 0: // data port (unused)
+ debug::log_unexpected_read_write("Unexpected read from YM2414 offset %d\n", offset & 3);
+ break;
+
+ case 1: // status port, YM2203 compatible
+ result = read_status();
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write_address - handle a write to the address
+// register
+//-------------------------------------------------
+
+void ym2414::write_address(uint8_t data)
+{
+ // just set the address
+ m_address = data;
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2414::write_data(uint8_t data)
+{
+ // write the FM register
+ m_fm.write(m_address, data);
+ if (TEMPORARY_DEBUG_PRINTS)
+ {
+ switch (m_address & 0xe0)
+ {
+ case 0x00:
+ printf("CTL %02X = %02X\n", m_address, data);
+ break;
+
+ case 0x20:
+ switch (m_address & 0xf8)
+ {
+ case 0x20: printf("R/FBL/ALG %d = %02X\n", m_address & 7, data); break;
+ case 0x28: printf("KC %d = %02X\n", m_address & 7, data); break;
+ case 0x30: printf("KF/M %d = %02X\n", m_address & 7, data); break;
+ case 0x38: printf("PMS/AMS %d = %02X\n", m_address & 7, data); break;
+ }
+ break;
+
+ case 0x40:
+ if (bitfield(data, 7) == 0)
+ printf("DT1/MUL %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ else
+ printf("OW/FINE %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+
+ case 0x60:
+ printf("TL %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+
+ case 0x80:
+ printf("KRS/FIX/AR %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+
+ case 0xa0:
+ printf("A/D1R %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+
+ case 0xc0:
+ if (bitfield(data, 5) == 0)
+ printf("DT2/D2R %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ else
+ printf("EGS/REV %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+
+ case 0xe0:
+ printf("D1L/RR %d.%d = %02X\n", m_address & 7, (m_address >> 3) & 3, data);
+ break;
+ }
+ }
+
+ // special cases
+ if (m_address == 0x1b)
+ {
+ // writes to register 0x1B send the upper 2 bits to the output lines
+ m_fm.intf().ymfm_external_write(ACCESS_IO, 0, data >> 6);
+ }
+
+ // mark busy for a bit
+ m_fm.intf().ymfm_set_busy_end(32 * m_fm.clock_prescale());
+}
+
+
+//-------------------------------------------------
+// write - handle a write to the register
+// interface
+//-------------------------------------------------
+
+void ym2414::write(uint32_t offset, uint8_t data)
+{
+ switch (offset & 1)
+ {
+ case 0: // address port
+ write_address(data);
+ break;
+
+ case 1: // data port
+ write_data(data);
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// generate - generate one sample of sound
+//-------------------------------------------------
+
+void ym2414::generate(output_data *output, uint32_t numsamples)
+{
+ for (uint32_t samp = 0; samp < numsamples; samp++, output++)
+ {
+ // clock the system
+ m_fm.clock(fm_engine::ALL_CHANNELS);
+
+ // update the FM content; YM2414 is full 14-bit with no intermediate clipping
+ m_fm.output(output->clear(), 0, 32767, fm_engine::ALL_CHANNELS);
+
+ // unsure about YM2414 outputs; assume it is like YM2151
+ output->roundtrip_fp();
+ }
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_opz.h b/3rdparty/ymfm/src/ymfm_opz.h
new file mode 100644
index 00000000000..997ba32f9f2
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_opz.h
@@ -0,0 +1,332 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_OPZ_H
+#define YMFM_OPZ_H
+
+#pragma once
+
+#include "ymfm.h"
+#include "ymfm_fm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// REGISTER CLASSES
+//*********************************************************
+
+// ======================> opz_registers
+
+//
+// OPZ register map:
+//
+// System-wide registers:
+// 08 -----xxx Load preset (not sure how it gets saved)
+// 0F x------- Noise enable
+// ---xxxxx Noise frequency
+// 10 xxxxxxxx Timer A value (upper 8 bits)
+// 11 ------xx Timer A value (lower 2 bits)
+// 12 xxxxxxxx Timer B value
+// 14 x------- CSM mode
+// --x----- Reset timer B
+// ---x---- Reset timer A
+// ----x--- Enable timer B
+// -----x-- Enable timer A
+// ------x- Load timer B
+// -------x Load timer A
+// 16 xxxxxxxx LFO #2 frequency
+// 17 0xxxxxxx AM LFO #2 depth
+// 1xxxxxxx PM LFO #2 depth
+// 18 xxxxxxxx LFO frequency
+// 19 0xxxxxxx AM LFO depth
+// 1xxxxxxx PM LFO depth
+// 1B xx------ CT (2 output data lines)
+// --x----- LFO #2 sync
+// ---x---- LFO sync
+// ----xx-- LFO #2 waveform
+// ------xx LFO waveform
+//
+// Per-channel registers (channel in address bits 0-2)
+// 00-07 xxxxxxxx Channel volume
+// 20-27 x------- Pan right
+// -x------ Key on (0)/off(1)
+// --xxx--- Feedback level for operator 1 (0-7)
+// -----xxx Operator connection algorithm (0-7)
+// 28-2F -xxxxxxx Key code
+// 30-37 xxxxxx-- Key fraction
+// -------x Mono? mode
+// 38-3F 0xxx---- LFO PM sensitivity
+// -----0xx LFO AM shift
+// 1xxx---- LFO #2 PM sensitivity
+// -----1xx LFO #2 AM shift
+//
+// Per-operator registers (channel in address bits 0-2, operator in bits 3-4)
+// 40-5F 0xxx---- Detune value (0-7)
+// 0---xxxx Multiple value (0-15)
+// 0xxx---- Fix range (0-15)
+// 0---xxxx Fix frequency (0-15)
+// 1xxx---- Oscillator waveform (0-7)
+// 1---xxxx Fine? (0-15)
+// 60-7F -xxxxxxx Total level (0-127)
+// 80-9F xx------ Key scale rate (0-3)
+// --x----- Fix frequency mode
+// ---xxxxx Attack rate (0-31)
+// A0-BF x------- LFO AM enable
+// ---xxxxx Decay rate (0-31)
+// C0-DF xx0----- Detune 2 value (0-3)
+// --0xxxxx Sustain rate (0-31)
+// xx1----- Envelope generator shift? (0-3)
+// --1--xxx Rev? (0-7)
+// E0-FF xxxx---- Sustain level (0-15)
+// ----xxxx Release rate (0-15)
+//
+// Internal (fake) registers:
+// 100-11F -xxx---- Oscillator waveform (0-7)
+// ----xxxx Fine? (0-15)
+// 120-13F xx------ Envelope generator shift (0-3)
+// -----xxx Reverb rate (0-7)
+// 140-15F xxxx---- Preset sustain level (0-15)
+// ----xxxx Preset release rate (0-15)
+// 160-17F xx------ Envelope generator shift (0-3)
+// -----xxx Reverb rate (0-7)
+// 180-187 -xxx---- LFO #2 PM sensitivity
+// ---- xxx LFO #2 AM shift
+// 188 -xxxxxxx LFO #2 PM depth
+// 189 -xxxxxxx LFO PM depth
+//
+
+class opz_registers : public fm_registers_base
+{
+ // LFO waveforms are 256 entries long
+ static constexpr uint32_t LFO_WAVEFORM_LENGTH = 256;
+
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 2;
+ static constexpr uint32_t CHANNELS = 8;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+ static constexpr uint32_t OPERATORS = CHANNELS * 4;
+ static constexpr uint32_t WAVEFORMS = 8;
+ static constexpr uint32_t REGISTERS = 0x190;
+ static constexpr uint32_t DEFAULT_PRESCALE = 2;
+ static constexpr uint32_t EG_CLOCK_DIVIDER = 3;
+ static constexpr bool EG_HAS_REVERB = true;
+ static constexpr uint32_t CSM_TRIGGER_MASK = ALL_CHANNELS;
+ static constexpr uint32_t REG_MODE = 0x14;
+ static constexpr uint8_t STATUS_TIMERA = 0x01;
+ static constexpr uint8_t STATUS_TIMERB = 0x02;
+ static constexpr uint8_t STATUS_BUSY = 0x80;
+ static constexpr uint8_t STATUS_IRQ = 0;
+
+ // constructor
+ opz_registers();
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // map channel number to register offset
+ static constexpr uint32_t channel_offset(uint32_t chnum)
+ {
+ assert(chnum < CHANNELS);
+ return chnum;
+ }
+
+ // map operator number to register offset
+ static constexpr uint32_t operator_offset(uint32_t opnum)
+ {
+ assert(opnum < OPERATORS);
+ return opnum;
+ }
+
+ // return an array of operator indices for each channel
+ struct operator_mapping { uint32_t chan[CHANNELS]; };
+ void operator_map(operator_mapping &dest) const;
+
+ // handle writes to the register array
+ bool write(uint16_t index, uint8_t data, uint32_t &chan, uint32_t &opmask);
+
+ // clock the noise and LFO, if present, returning LFO PM value
+ int32_t clock_noise_and_lfo();
+
+ // return the AM offset from LFO for the given channel
+ uint32_t lfo_am_offset(uint32_t choffs) const;
+
+ // return the current noise state, gated by the noise clock
+ uint32_t noise_state() const { return m_noise_state; }
+
+ // caching helpers
+ void cache_operator_data(uint32_t choffs, uint32_t opoffs, opdata_cache &cache);
+
+ // compute the phase step, given a PM value
+ uint32_t compute_phase_step(uint32_t choffs, uint32_t opoffs, opdata_cache const &cache, int32_t lfo_raw_pm);
+
+ // log a key-on event
+ std::string log_keyon(uint32_t choffs, uint32_t opoffs);
+
+ // system-wide registers
+ uint32_t noise_frequency() const { return byte(0x0f, 0, 5); }
+ uint32_t noise_enable() const { return byte(0x0f, 7, 1); }
+ uint32_t timer_a_value() const { return word(0x10, 0, 8, 0x11, 0, 2); }
+ uint32_t timer_b_value() const { return byte(0x12, 0, 8); }
+ uint32_t csm() const { return byte(0x14, 7, 1); }
+ uint32_t reset_timer_b() const { return byte(0x14, 5, 1); }
+ uint32_t reset_timer_a() const { return byte(0x14, 4, 1); }
+ uint32_t enable_timer_b() const { return byte(0x14, 3, 1); }
+ uint32_t enable_timer_a() const { return byte(0x14, 2, 1); }
+ uint32_t load_timer_b() const { return byte(0x14, 1, 1); }
+ uint32_t load_timer_a() const { return byte(0x14, 0, 1); }
+ uint32_t lfo2_pm_depth() const { return byte(0x188, 0, 7); } // fake
+ uint32_t lfo2_rate() const { return byte(0x16, 0, 8); }
+ uint32_t lfo2_am_depth() const { return byte(0x17, 0, 7); }
+ uint32_t lfo_rate() const { return byte(0x18, 0, 8); }
+ uint32_t lfo_am_depth() const { return byte(0x19, 0, 7); }
+ uint32_t lfo_pm_depth() const { return byte(0x189, 0, 7); } // fake
+ uint32_t output_bits() const { return byte(0x1b, 6, 2); }
+ uint32_t lfo2_sync() const { return byte(0x1b, 5, 1); }
+ uint32_t lfo_sync() const { return byte(0x1b, 4, 1); }
+ uint32_t lfo2_waveform() const { return byte(0x1b, 2, 2); }
+ uint32_t lfo_waveform() const { return byte(0x1b, 0, 2); }
+
+ // per-channel registers
+ uint32_t ch_volume(uint32_t choffs) const { return byte(0x00, 0, 8, choffs); }
+ uint32_t ch_output_any(uint32_t choffs) const { return byte(0x20, 7, 1, choffs) | byte(0x30, 0, 1, choffs); }
+ uint32_t ch_output_0(uint32_t choffs) const { return byte(0x30, 0, 1, choffs); }
+ uint32_t ch_output_1(uint32_t choffs) const { return byte(0x20, 7, 1, choffs) | byte(0x30, 0, 1, choffs); }
+ uint32_t ch_output_2(uint32_t choffs) const { return 0; }
+ uint32_t ch_output_3(uint32_t choffs) const { return 0; }
+ uint32_t ch_key_on(uint32_t choffs) const { return byte(0x20, 6, 1, choffs); }
+ uint32_t ch_feedback(uint32_t choffs) const { return byte(0x20, 3, 3, choffs); }
+ uint32_t ch_algorithm(uint32_t choffs) const { return byte(0x20, 0, 3, choffs); }
+ uint32_t ch_block_freq(uint32_t choffs) const { return word(0x28, 0, 7, 0x30, 2, 6, choffs); }
+ uint32_t ch_lfo_pm_sens(uint32_t choffs) const { return byte(0x38, 4, 3, choffs); }
+ uint32_t ch_lfo_am_sens(uint32_t choffs) const { return byte(0x38, 0, 2, choffs); }
+ uint32_t ch_lfo2_pm_sens(uint32_t choffs) const { return byte(0x180, 4, 3, choffs); } // fake
+ uint32_t ch_lfo2_am_sens(uint32_t choffs) const { return byte(0x180, 0, 2, choffs); } // fake
+
+ // per-operator registers
+ uint32_t op_detune(uint32_t opoffs) const { return byte(0x40, 4, 3, opoffs); }
+ uint32_t op_multiple(uint32_t opoffs) const { return byte(0x40, 0, 4, opoffs); }
+ uint32_t op_fix_range(uint32_t opoffs) const { return byte(0x40, 4, 3, opoffs); }
+ uint32_t op_fix_frequency(uint32_t opoffs) const { return byte(0x40, 0, 4, opoffs); }
+ uint32_t op_waveform(uint32_t opoffs) const { return byte(0x100, 4, 3, opoffs); } // fake
+ uint32_t op_fine(uint32_t opoffs) const { return byte(0x100, 0, 4, opoffs); } // fake
+ uint32_t op_total_level(uint32_t opoffs) const { return byte(0x60, 0, 7, opoffs); }
+ uint32_t op_ksr(uint32_t opoffs) const { return byte(0x80, 6, 2, opoffs); }
+ uint32_t op_fix_mode(uint32_t opoffs) const { return byte(0x80, 5, 1, opoffs); }
+ uint32_t op_attack_rate(uint32_t opoffs) const { return byte(0x80, 0, 5, opoffs); }
+ uint32_t op_lfo_am_enable(uint32_t opoffs) const { return byte(0xa0, 7, 1, opoffs); }
+ uint32_t op_decay_rate(uint32_t opoffs) const { return byte(0xa0, 0, 5, opoffs); }
+ uint32_t op_detune2(uint32_t opoffs) const { return byte(0xc0, 6, 2, opoffs); }
+ uint32_t op_sustain_rate(uint32_t opoffs) const { return byte(0xc0, 0, 5, opoffs); }
+ uint32_t op_eg_shift(uint32_t opoffs) const { return byte(0x120, 6, 2, opoffs); } // fake
+ uint32_t op_reverb_rate(uint32_t opoffs) const { return byte(0x120, 0, 3, opoffs); } // fake
+ uint32_t op_sustain_level(uint32_t opoffs) const { return byte(0xe0, 4, 4, opoffs); }
+ uint32_t op_release_rate(uint32_t opoffs) const { return byte(0xe0, 0, 4, opoffs); }
+
+protected:
+ // return a bitfield extracted from a byte
+ uint32_t byte(uint32_t offset, uint32_t start, uint32_t count, uint32_t extra_offset = 0) const
+ {
+ return bitfield(m_regdata[offset + extra_offset], start, count);
+ }
+
+ // return a bitfield extracted from a pair of bytes, MSBs listed first
+ uint32_t word(uint32_t offset1, uint32_t start1, uint32_t count1, uint32_t offset2, uint32_t start2, uint32_t count2, uint32_t extra_offset = 0) const
+ {
+ return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
+ }
+
+ // internal state
+ uint32_t m_lfo_counter[2]; // LFO counter
+ uint32_t m_noise_lfsr; // noise LFSR state
+ uint8_t m_noise_counter; // noise counter
+ uint8_t m_noise_state; // latched noise state
+ uint8_t m_noise_lfo; // latched LFO noise value
+ uint8_t m_lfo_am[2]; // current LFO AM value
+ uint8_t m_regdata[REGISTERS]; // register data
+ uint16_t m_phase_substep[OPERATORS]; // phase substep for fixed frequency
+ int16_t m_lfo_waveform[4][LFO_WAVEFORM_LENGTH]; // LFO waveforms; AM in low 8, PM in upper 8
+ uint16_t m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
+};
+
+
+
+//*********************************************************
+// IMPLEMENTATION CLASSES
+//*********************************************************
+
+// ======================> ym2414
+
+class ym2414
+{
+public:
+ using fm_engine = fm_engine_base<opz_registers>;
+ static constexpr uint32_t OUTPUTS = fm_engine::OUTPUTS;
+ using output_data = fm_engine::output_data;
+
+ // constructor
+ ym2414(ymfm_interface &intf);
+
+ // reset
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // pass-through helpers
+ uint32_t sample_rate(uint32_t input_clock) const { return m_fm.sample_rate(input_clock); }
+ void invalidate_caches() { m_fm.invalidate_caches(); }
+
+ // read access
+ uint8_t read_status();
+ uint8_t read(uint32_t offset);
+
+ // write access
+ void write_address(uint8_t data);
+ void write_data(uint8_t data);
+ void write(uint32_t offset, uint8_t data);
+
+ // generate one sample of sound
+ void generate(output_data *output, uint32_t numsamples = 1);
+
+protected:
+ // internal state
+ uint8_t m_address; // address register
+ fm_engine m_fm; // core FM engine
+};
+
+}
+
+
+#endif // YMFM_OPZ_H
diff --git a/3rdparty/ymfm/src/ymfm_pcm.cpp b/3rdparty/ymfm/src/ymfm_pcm.cpp
new file mode 100644
index 00000000000..3acd59e2a4d
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_pcm.cpp
@@ -0,0 +1,712 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_pcm.h"
+#include "ymfm_fm.h"
+#include "ymfm_fm.ipp"
+
+namespace ymfm
+{
+
+//*********************************************************
+// PCM REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// reset - reset the register state
+//-------------------------------------------------
+
+void pcm_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+ m_regdata[0x02] = 0x20;
+ m_regdata[0xf8] = 0x1b;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void pcm_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_regdata);
+}
+
+
+//-------------------------------------------------
+// cache_channel_data - update the cache with
+// data from the registers
+//-------------------------------------------------
+
+void pcm_registers::cache_channel_data(uint32_t choffs, pcm_cache &cache)
+{
+ // compute step from octave and fnumber; the math here implies
+ // a .18 fraction but .16 should be perfectly fine
+ int32_t octave = int8_t(ch_octave(choffs) << 4) >> 4;
+ uint32_t fnum = ch_fnumber(choffs);
+ cache.step = ((0x400 | fnum) << (octave + 7)) >> 2;
+
+ // total level is computed as a .10 value for interpolation
+ cache.total_level = ch_total_level(choffs) << 10;
+
+ // compute panning values in terms of envelope attenuation
+ int32_t panpot = int8_t(ch_panpot(choffs) << 4) >> 4;
+ if (panpot >= 0)
+ {
+ cache.pan_left = (panpot == 7) ? 0x3ff : 0x20 * panpot;
+ cache.pan_right = 0;
+ }
+ else if (panpot >= -7)
+ {
+ cache.pan_left = 0;
+ cache.pan_right = (panpot == -7) ? 0x3ff : -0x20 * panpot;
+ }
+ else
+ cache.pan_left = cache.pan_right = 0x3ff;
+
+ // determine the LFO stepping value; this how much to add to a running
+ // x.18 value for the LFO; steps were derived from frequencies in the
+ // manual and come out very close with these values
+ static const uint8_t s_lfo_steps[8] = { 1, 12, 19, 25, 31, 35, 37, 42 };
+ cache.lfo_step = s_lfo_steps[ch_lfo_speed(choffs)];
+
+ // AM LFO depth values, derived from the manual; note each has at most
+ // 2 bits to make the "multiply" easy in hardware
+ static const uint8_t s_am_depth[8] = { 0, 0x14, 0x20, 0x28, 0x30, 0x40, 0x50, 0x80 };
+ cache.am_depth = s_am_depth[ch_am_depth(choffs)];
+
+ // PM LFO depth values; these are converted from the manual's cents values
+ // into f-numbers; the computations come out quite cleanly so pretty sure
+ // these are correct
+ static const uint8_t s_pm_depth[8] = { 0, 2, 3, 4, 6, 12, 24, 48 };
+ cache.pm_depth = s_pm_depth[ch_vibrato(choffs)];
+
+ // 4-bit sustain level, but 15 means 31 so effectively 5 bits
+ cache.eg_sustain = ch_sustain_level(choffs);
+ cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
+ cache.eg_sustain <<= 5;
+
+ // compute the key scaling correction factor; 15 means don't do any correction
+ int32_t correction = ch_rate_correction(choffs);
+ if (correction == 15)
+ correction = 0;
+ else
+ correction = (octave + correction) * 2 + bitfield(fnum, 9);
+
+ // compute the envelope generator rates
+ cache.eg_rate[EG_ATTACK] = effective_rate(ch_attack_rate(choffs), correction);
+ cache.eg_rate[EG_DECAY] = effective_rate(ch_decay_rate(choffs), correction);
+ cache.eg_rate[EG_SUSTAIN] = effective_rate(ch_sustain_rate(choffs), correction);
+ cache.eg_rate[EG_RELEASE] = effective_rate(ch_release_rate(choffs), correction);
+ cache.eg_rate[EG_REVERB] = 5;
+
+ // if damping is on, override some things; essentially decay at a hardcoded
+ // rate of 48 until -12db (0x80), then at maximum rate for the rest
+ if (ch_damp(choffs) != 0)
+ {
+ cache.eg_rate[EG_DECAY] = 48;
+ cache.eg_rate[EG_SUSTAIN] = 63;
+ cache.eg_rate[EG_RELEASE] = 63;
+ cache.eg_sustain = 0x80;
+ }
+}
+
+
+//-------------------------------------------------
+// effective_rate - return the effective rate,
+// clamping and applying corrections as needed
+//-------------------------------------------------
+
+uint32_t pcm_registers::effective_rate(uint32_t raw, uint32_t correction)
+{
+ // raw rates of 0 and 15 just pin to min/max
+ if (raw == 0)
+ return 0;
+ if (raw == 15)
+ return 63;
+
+ // otherwise add the correction and clamp to range
+ return clamp(raw * 4 + correction, 0, 63);
+}
+
+
+
+//*********************************************************
+// PCM CHANNEL
+//*********************************************************
+
+//-------------------------------------------------
+// pcm_channel - constructor
+//-------------------------------------------------
+
+pcm_channel::pcm_channel(pcm_engine &owner, uint32_t choffs) :
+ m_choffs(choffs),
+ m_baseaddr(0),
+ m_endpos(0),
+ m_looppos(0),
+ m_curpos(0),
+ m_nextpos(0),
+ m_lfo_counter(0),
+ m_eg_state(EG_RELEASE),
+ m_env_attenuation(0x3ff),
+ m_total_level(0x7f << 10),
+ m_format(0),
+ m_key_state(0),
+ m_regs(owner.regs()),
+ m_owner(owner)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the channel state
+//-------------------------------------------------
+
+void pcm_channel::reset()
+{
+ m_baseaddr = 0;
+ m_endpos = 0;
+ m_looppos = 0;
+ m_curpos = 0;
+ m_nextpos = 0;
+ m_lfo_counter = 0;
+ m_eg_state = EG_RELEASE;
+ m_env_attenuation = 0x3ff;
+ m_total_level = 0x7f << 10;
+ m_format = 0;
+ m_key_state = 0;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void pcm_channel::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_baseaddr);
+ state.save_restore(m_endpos);
+ state.save_restore(m_looppos);
+ state.save_restore(m_curpos);
+ state.save_restore(m_nextpos);
+ state.save_restore(m_lfo_counter);
+ state.save_restore(m_eg_state);
+ state.save_restore(m_env_attenuation);
+ state.save_restore(m_total_level);
+ state.save_restore(m_format);
+ state.save_restore(m_key_state);
+}
+
+
+//-------------------------------------------------
+// prepare - prepare for clocking
+//-------------------------------------------------
+
+bool pcm_channel::prepare()
+{
+ // cache the data
+ m_regs.cache_channel_data(m_choffs, m_cache);
+
+ // clock the key state
+ if ((m_key_state & KEY_PENDING) != 0)
+ {
+ uint8_t oldstate = m_key_state;
+ m_key_state = (m_key_state >> 1) & KEY_ON;
+ if (((oldstate ^ m_key_state) & KEY_ON) != 0)
+ {
+ if ((m_key_state & KEY_ON) != 0)
+ start_attack();
+ else
+ start_release();
+ }
+ }
+
+ // set the total level directly if not interpolating
+ if (m_regs.ch_level_direct(m_choffs))
+ m_total_level = m_cache.total_level;
+
+ // we're active until we're quiet after the release
+ return (m_eg_state < EG_RELEASE || m_env_attenuation < EG_QUIET);
+}
+
+
+//-------------------------------------------------
+// clock - master clocking function
+//-------------------------------------------------
+
+void pcm_channel::clock(uint32_t env_counter)
+{
+ // clock the LFO, which is an x.18 value incremented based on the
+ // LFO speed value
+ m_lfo_counter += m_cache.lfo_step;
+
+ // clock the envelope
+ clock_envelope(env_counter);
+
+ // determine the step after applying vibrato
+ uint32_t step = m_cache.step;
+ if (m_cache.pm_depth != 0)
+ {
+ // shift the LFO by 1/4 cycle for PM so that it starts at 0
+ uint32_t lfo_shifted = m_lfo_counter + (1 << 16);
+ int32_t lfo_value = bitfield(lfo_shifted, 10, 7);
+ if (bitfield(lfo_shifted, 17) != 0)
+ lfo_value ^= 0x7f;
+ lfo_value -= 0x40;
+ step += (lfo_value * int32_t(m_cache.pm_depth)) >> 7;
+ }
+
+ // advance the sample step and loop as needed
+ m_curpos = m_nextpos;
+ m_nextpos = m_curpos + step;
+ if (m_nextpos >= m_endpos)
+ m_nextpos += m_looppos - m_endpos;
+
+ // interpolate total level if needed
+ if (m_total_level != m_cache.total_level)
+ {
+ // max->min volume takes 156.4ms, or pretty close to 19/1024 per 44.1kHz sample
+ // min->max volume is half that, so advance by 38/1024 per sample
+ if (m_total_level < m_cache.total_level)
+ m_total_level = std::min<int32_t>(m_total_level + 19, m_cache.total_level);
+ else
+ m_total_level = std::max<int32_t>(m_total_level - 38, m_cache.total_level);
+ }
+}
+
+
+//-------------------------------------------------
+// output - return the computed output value, with
+// panning applied
+//-------------------------------------------------
+
+void pcm_channel::output(output_data &output) const
+{
+ // early out if the envelope is effectively off
+ uint32_t envelope = m_env_attenuation;
+ if (envelope > EG_QUIET)
+ return;
+
+ // add in LFO AM modulation
+ if (m_cache.am_depth != 0)
+ {
+ uint32_t lfo_value = bitfield(m_lfo_counter, 10, 7);
+ if (bitfield(m_lfo_counter, 17) != 0)
+ lfo_value ^= 0x7f;
+ envelope += (lfo_value * m_cache.am_depth) >> 7;
+ }
+
+ // add in the current interpolated total level value, which is a .10
+ // value shifted left by 2
+ envelope += m_total_level >> 8;
+
+ // add in panning effect and clamp
+ uint32_t lenv = std::min<uint32_t>(envelope + m_cache.pan_left, 0x3ff);
+ uint32_t renv = std::min<uint32_t>(envelope + m_cache.pan_right, 0x3ff);
+
+ // convert to volume as a .11 fraction
+ int32_t lvol = attenuation_to_volume(lenv << 2);
+ int32_t rvol = attenuation_to_volume(renv << 2);
+
+ // fetch current sample and add
+ int16_t sample = fetch_sample();
+ uint32_t outnum = m_regs.ch_output_channel(m_choffs) * 2;
+ output.data[outnum + 0] += (lvol * sample) >> 15;
+ output.data[outnum + 1] += (rvol * sample) >> 15;
+}
+
+
+//-------------------------------------------------
+// keyonoff - signal key on/off
+//-------------------------------------------------
+
+void pcm_channel::keyonoff(bool on)
+{
+ // mark the key state as pending
+ m_key_state |= KEY_PENDING | (on ? KEY_PENDING_ON : 0);
+
+ // don't log masked channels
+ if ((m_key_state & (KEY_PENDING_ON | KEY_ON)) == KEY_PENDING_ON && ((debug::GLOBAL_PCM_CHANNEL_MASK >> m_choffs) & 1) != 0)
+ {
+ debug::log_keyon("KeyOn PCM-%02d: num=%3d oct=%2d fnum=%03X level=%02X%c ADSR=%X/%X/%X/%X SL=%X",
+ m_choffs,
+ m_regs.ch_wave_table_num(m_choffs),
+ int8_t(m_regs.ch_octave(m_choffs) << 4) >> 4,
+ m_regs.ch_fnumber(m_choffs),
+ m_regs.ch_total_level(m_choffs),
+ m_regs.ch_level_direct(m_choffs) ? '!' : '/',
+ m_regs.ch_attack_rate(m_choffs),
+ m_regs.ch_decay_rate(m_choffs),
+ m_regs.ch_sustain_rate(m_choffs),
+ m_regs.ch_release_rate(m_choffs),
+ m_regs.ch_sustain_level(m_choffs));
+
+ if (m_regs.ch_rate_correction(m_choffs) != 15)
+ debug::log_keyon(" RC=%X", m_regs.ch_rate_correction(m_choffs));
+
+ if (m_regs.ch_pseudo_reverb(m_choffs) != 0)
+ debug::log_keyon(" %s", "REV");
+ if (m_regs.ch_damp(m_choffs) != 0)
+ debug::log_keyon(" %s", "DAMP");
+
+ if (m_regs.ch_vibrato(m_choffs) != 0 || m_regs.ch_am_depth(m_choffs) != 0)
+ {
+ if (m_regs.ch_vibrato(m_choffs) != 0)
+ debug::log_keyon(" VIB=%d", m_regs.ch_vibrato(m_choffs));
+ if (m_regs.ch_am_depth(m_choffs) != 0)
+ debug::log_keyon(" AM=%d", m_regs.ch_am_depth(m_choffs));
+ debug::log_keyon(" LFO=%d", m_regs.ch_lfo_speed(m_choffs));
+ }
+ debug::log_keyon("%s", "\n");
+ }
+}
+
+
+//-------------------------------------------------
+// load_wavetable - load a wavetable by fetching
+// its data from external memory
+//-------------------------------------------------
+
+void pcm_channel::load_wavetable()
+{
+ // determine the address of the wave table header
+ uint32_t wavnum = m_regs.ch_wave_table_num(m_choffs);
+ uint32_t wavheader = 12 * wavnum;
+
+ // above 384 it may be in a different bank
+ if (wavnum >= 384)
+ {
+ uint32_t bank = m_regs.wave_table_header();
+ if (bank != 0)
+ wavheader = 512*1024 * bank + (wavnum - 384) * 12;
+ }
+
+ // fetch the 22-bit base address and 2-bit format
+ uint8_t byte = read_pcm(wavheader + 0);
+ m_format = bitfield(byte, 6, 2);
+ m_baseaddr = bitfield(byte, 0, 6) << 16;
+ m_baseaddr |= read_pcm(wavheader + 1) << 8;
+ m_baseaddr |= read_pcm(wavheader + 2) << 0;
+
+ // fetch the 16-bit loop position
+ m_looppos = read_pcm(wavheader + 3) << 8;
+ m_looppos |= read_pcm(wavheader + 4);
+ m_looppos <<= 16;
+
+ // fetch the 16-bit end position, which is stored as a negative value
+ // for some reason that is unclear
+ m_endpos = read_pcm(wavheader + 5) << 8;
+ m_endpos |= read_pcm(wavheader + 6);
+ m_endpos = -m_endpos << 16;
+
+ // remaining data values set registers
+ m_owner.write(0x80 + m_choffs, read_pcm(wavheader + 7));
+ m_owner.write(0x98 + m_choffs, read_pcm(wavheader + 8));
+ m_owner.write(0xb0 + m_choffs, read_pcm(wavheader + 9));
+ m_owner.write(0xc8 + m_choffs, read_pcm(wavheader + 10));
+ m_owner.write(0xe0 + m_choffs, read_pcm(wavheader + 11));
+}
+
+
+//-------------------------------------------------
+// read_pcm - read a byte from the external PCM
+// memory interface
+//-------------------------------------------------
+
+uint8_t pcm_channel::read_pcm(uint32_t address) const
+{
+ return m_owner.intf().ymfm_external_read(ACCESS_PCM, address);
+}
+
+
+//-------------------------------------------------
+// start_attack - start the attack phase
+//-------------------------------------------------
+
+void pcm_channel::start_attack()
+{
+ // don't change anything if already in attack state
+ if (m_eg_state == EG_ATTACK)
+ return;
+ m_eg_state = EG_ATTACK;
+
+ // reset the LFO if requested
+ if (m_regs.ch_lfo_reset(m_choffs))
+ m_lfo_counter = 0;
+
+ // if the attack rate == 63 then immediately go to max attenuation
+ if (m_cache.eg_rate[EG_ATTACK] == 63)
+ m_env_attenuation = 0;
+
+ // reset the positions
+ m_curpos = m_nextpos = 0;
+}
+
+
+//-------------------------------------------------
+// start_release - start the release phase
+//-------------------------------------------------
+
+void pcm_channel::start_release()
+{
+ // don't change anything if already in release or reverb state
+ if (m_eg_state >= EG_RELEASE)
+ return;
+ m_eg_state = EG_RELEASE;
+}
+
+
+//-------------------------------------------------
+// clock_envelope - clock the envelope generator
+//-------------------------------------------------
+
+void pcm_channel::clock_envelope(uint32_t env_counter)
+{
+ // handle attack->decay transitions
+ if (m_eg_state == EG_ATTACK && m_env_attenuation == 0)
+ m_eg_state = EG_DECAY;
+
+ // handle decay->sustain transitions
+ if (m_eg_state == EG_DECAY && m_env_attenuation >= m_cache.eg_sustain)
+ m_eg_state = EG_SUSTAIN;
+
+ // fetch the appropriate 6-bit rate value from the cache
+ uint32_t rate = m_cache.eg_rate[m_eg_state];
+
+ // compute the rate shift value; this is the shift needed to
+ // apply to the env_counter such that it becomes a 5.11 fixed
+ // point number
+ uint32_t rate_shift = rate >> 2;
+ env_counter <<= rate_shift;
+
+ // see if the fractional part is 0; if not, it's not time to clock
+ if (bitfield(env_counter, 0, 11) != 0)
+ return;
+
+ // determine the increment based on the non-fractional part of env_counter
+ uint32_t relevant_bits = bitfield(env_counter, (rate_shift <= 11) ? 11 : rate_shift, 3);
+ uint32_t increment = attenuation_increment(rate, relevant_bits);
+
+ // attack is the only one that increases
+ if (m_eg_state == EG_ATTACK)
+ m_env_attenuation += (~m_env_attenuation * increment) >> 4;
+
+ // all other cases are similar
+ else
+ {
+ // apply the increment
+ m_env_attenuation += increment;
+
+ // clamp the final attenuation
+ if (m_env_attenuation >= 0x400)
+ m_env_attenuation = 0x3ff;
+
+ // transition to reverb at -18dB if enabled
+ if (m_env_attenuation >= 0xc0 && m_eg_state < EG_REVERB && m_regs.ch_pseudo_reverb(m_choffs))
+ m_eg_state = EG_REVERB;
+ }
+}
+
+
+//-------------------------------------------------
+// fetch_sample - fetch a sample at the current
+// position
+//-------------------------------------------------
+
+int16_t pcm_channel::fetch_sample() const
+{
+ uint32_t addr = m_baseaddr;
+ uint32_t pos = m_curpos >> 16;
+
+ // 8-bit PCM: shift up by 8
+ if (m_format == 0)
+ return read_pcm(addr + pos) << 8;
+
+ // 16-bit PCM: assemble from 2 halves
+ if (m_format == 2)
+ {
+ addr += pos * 2;
+ return (read_pcm(addr) << 8) | read_pcm(addr + 1);
+ }
+
+ // 12-bit PCM: assemble out of half of 3 bytes
+ addr += (pos / 2) * 3;
+ if ((pos & 1) == 0)
+ return (read_pcm(addr + 0) << 8) | ((read_pcm(addr + 1) << 0) & 0xf0);
+ else
+ return (read_pcm(addr + 2) << 8) | ((read_pcm(addr + 1) << 4) & 0xf0);
+}
+
+
+
+//*********************************************************
+// PCM ENGINE
+//*********************************************************
+
+//-------------------------------------------------
+// pcm_engine - constructor
+//-------------------------------------------------
+
+pcm_engine::pcm_engine(ymfm_interface &intf) :
+ m_intf(intf),
+ m_env_counter(0),
+ m_modified_channels(ALL_CHANNELS),
+ m_active_channels(ALL_CHANNELS)
+{
+ // create the channels
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ m_channel[chnum] = std::make_unique<pcm_channel>(*this, chnum);
+}
+
+
+//-------------------------------------------------
+// reset - reset the engine state
+//-------------------------------------------------
+
+void pcm_engine::reset()
+{
+ // reset register state
+ m_regs.reset();
+
+ // reset each channel
+ for (auto &chan : m_channel)
+ chan->reset();
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void pcm_engine::save_restore(ymfm_saved_state &state)
+{
+ // save our data
+ state.save_restore(m_env_counter);
+
+ // save channel state
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ m_channel[chnum]->save_restore(state);
+}
+
+
+//-------------------------------------------------
+// clock - master clocking function
+//-------------------------------------------------
+
+void pcm_engine::clock(uint32_t chanmask)
+{
+ // if something was modified, prepare
+ // also prepare every 4k samples to catch ending notes
+ if (m_modified_channels != 0 || m_prepare_count++ >= 4096)
+ {
+ // call each channel to prepare
+ m_active_channels = 0;
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ if (m_channel[chnum]->prepare())
+ m_active_channels |= 1 << chnum;
+
+ // reset the modified channels and prepare count
+ m_modified_channels = m_prepare_count = 0;
+ }
+
+ // increment the envelope counter; the envelope generator
+ // only clocks every other sample in order to make the PCM
+ // envelopes line up with the FM envelopes (after taking into
+ // account the different FM sampling rate)
+ m_env_counter++;
+
+ // now update the state of all the channels and operators
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ m_channel[chnum]->clock(m_env_counter >> 1);
+}
+
+
+//-------------------------------------------------
+// update - master update function
+//-------------------------------------------------
+
+void pcm_engine::output(output_data &output, uint32_t chanmask)
+{
+ // mask out some channels for debug purposes
+ chanmask &= debug::GLOBAL_PCM_CHANNEL_MASK;
+
+ // compute the output of each channel
+ for (int chnum = 0; chnum < CHANNELS; chnum++)
+ if (bitfield(chanmask, chnum))
+ m_channel[chnum]->output(output);
+}
+
+
+//-------------------------------------------------
+// read - handle reads from the PCM registers
+//-------------------------------------------------
+
+uint8_t pcm_engine::read(uint32_t regnum)
+{
+ // handle reads from the data register
+ if (regnum == 0x06 && m_regs.memory_access_mode() != 0)
+ return m_intf.ymfm_external_read(ACCESS_PCM, m_regs.memory_address_autoinc());
+
+ return m_regs.read(regnum);
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the PCM registers
+//-------------------------------------------------
+
+void pcm_engine::write(uint32_t regnum, uint8_t data)
+{
+ // handle reads to the data register
+ if (regnum == 0x06 && m_regs.memory_access_mode() != 0)
+ {
+ m_intf.ymfm_external_write(ACCESS_PCM, m_regs.memory_address_autoinc(), data);
+ return;
+ }
+
+ // for now just mark all channels as modified
+ m_modified_channels = ALL_CHANNELS;
+
+ // most writes are passive, consumed only when needed
+ m_regs.write(regnum, data);
+
+ // however, process keyons immediately
+ if (regnum >= 0x68 && regnum <= 0x7f)
+ m_channel[regnum - 0x68]->keyonoff(bitfield(data, 7));
+
+ // and also wavetable writes
+ else if (regnum >= 0x08 && regnum <= 0x1f)
+ m_channel[regnum - 0x08]->load_wavetable();
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_pcm.h b/3rdparty/ymfm/src/ymfm_pcm.h
new file mode 100644
index 00000000000..b809aa277af
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_pcm.h
@@ -0,0 +1,307 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_PCM_H
+#define YMFM_PCM_H
+
+#pragma once
+
+#include "ymfm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// INTERFACE CLASSES
+//*********************************************************
+
+class pcm_engine;
+
+
+// ======================> pcm_cache
+
+// this class holds data that is computed once at the start of clocking
+// and remains static during subsequent sound generation
+struct pcm_cache
+{
+ uint32_t step; // sample position step, as a .16 value
+ uint32_t total_level; // target total level, as a .10 value
+ uint32_t pan_left; // left panning attenuation
+ uint32_t pan_right; // right panning attenuation
+ uint32_t eg_sustain; // sustain level, shifted up to envelope values
+ uint8_t eg_rate[EG_STATES]; // envelope rate, including KSR
+ uint8_t lfo_step; // stepping value for LFO
+ uint8_t am_depth; // scale value for AM LFO
+ uint8_t pm_depth; // scale value for PM LFO
+};
+
+
+// ======================> pcm_registers
+
+//
+// PCM register map:
+//
+// System-wide registers:
+// 00-01 xxxxxxxx LSI Test
+// 02 -------x Memory access mode (0=sound gen, 1=read/write)
+// ------x- Memory type (0=ROM, 1=ROM+SRAM)
+// ---xxx-- Wave table header
+// xxx----- Device ID (=1 for YMF278B)
+// 03 --xxxxxx Memory address high
+// 04 xxxxxxxx Memory address mid
+// 05 xxxxxxxx Memory address low
+// 06 xxxxxxxx Memory data
+// F8 --xxx--- Mix control (FM_R)
+// -----xxx Mix control (FM_L)
+// F9 --xxx--- Mix control (PCM_R)
+// -----xxx Mix control (PCM_L)
+//
+// Channel-specific registers:
+// 08-1F xxxxxxxx Wave table number low
+// 20-37 -------x Wave table number high
+// xxxxxxx- F-number low
+// 38-4F -----xxx F-number high
+// ----x--- Pseudo-reverb
+// xxxx---- Octave
+// 50-67 xxxxxxx- Total level
+// -------x Level direct
+// 68-7F x------- Key on
+// -x------ Damp
+// --x----- LFO reset
+// ---x---- Output channel
+// ----xxxx Panpot
+// 80-97 --xxx--- LFO speed
+// -----xxx Vibrato
+// 98-AF xxxx---- Attack rate
+// ----xxxx Decay rate
+// B0-C7 xxxx---- Sustain level
+// ----xxxx Sustain rate
+// C8-DF xxxx---- Rate correction
+// ----xxxx Release rate
+// E0-F7 -----xxx AM depth
+
+class pcm_registers
+{
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 4;
+ static constexpr uint32_t CHANNELS = 24;
+ static constexpr uint32_t REGISTERS = 0x100;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+
+ // constructor
+ pcm_registers() { }
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // reset to initial state
+ void reset();
+
+ // update cache information
+ void cache_channel_data(uint32_t choffs, pcm_cache &cache);
+
+ // direct read/write access
+ uint8_t read(uint32_t index ) { return m_regdata[index]; }
+ void write(uint32_t index, uint8_t data) { m_regdata[index] = data; }
+
+ // system-wide registers
+ uint32_t memory_access_mode() const { return bitfield(m_regdata[0x02], 0); }
+ uint32_t memory_type() const { return bitfield(m_regdata[0x02], 1); }
+ uint32_t wave_table_header() const { return bitfield(m_regdata[0x02], 2, 3); }
+ uint32_t device_id() const { return bitfield(m_regdata[0x02], 5, 3); }
+ uint32_t memory_address() const { return (bitfield(m_regdata[0x03], 0, 6) << 16) | (m_regdata[0x04] << 8) | m_regdata[0x05]; }
+ uint32_t memory_data() const { return m_regdata[0x06]; }
+ uint32_t mix_fm_r() const { return bitfield(m_regdata[0xf8], 3, 3); }
+ uint32_t mix_fm_l() const { return bitfield(m_regdata[0xf8], 0, 3); }
+ uint32_t mix_pcm_r() const { return bitfield(m_regdata[0xf9], 3, 3); }
+ uint32_t mix_pcm_l() const { return bitfield(m_regdata[0xf9], 0, 3); }
+
+ // per-channel registers
+ uint32_t ch_wave_table_num(uint32_t choffs) const { return m_regdata[choffs + 0x08] | (bitfield(m_regdata[choffs + 0x20], 0) << 8); }
+ uint32_t ch_fnumber(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x20], 1, 7) | (bitfield(m_regdata[choffs + 0x38], 0, 3) << 7); }
+ uint32_t ch_pseudo_reverb(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x38], 3); }
+ uint32_t ch_octave(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x38], 4, 4); }
+ uint32_t ch_total_level(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x50], 1, 7); }
+ uint32_t ch_level_direct(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x50], 0); }
+ uint32_t ch_keyon(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x68], 7); }
+ uint32_t ch_damp(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x68], 6); }
+ uint32_t ch_lfo_reset(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x68], 5); }
+ uint32_t ch_output_channel(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x68], 4); }
+ uint32_t ch_panpot(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x68], 0, 4); }
+ uint32_t ch_lfo_speed(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x80], 3, 3); }
+ uint32_t ch_vibrato(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x80], 0, 3); }
+ uint32_t ch_attack_rate(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x98], 4, 4); }
+ uint32_t ch_decay_rate(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0x98], 0, 4); }
+ uint32_t ch_sustain_level(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0xb0], 4, 4); }
+ uint32_t ch_sustain_rate(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0xb0], 0, 4); }
+ uint32_t ch_rate_correction(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0xc8], 4, 4); }
+ uint32_t ch_release_rate(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0xc8], 0, 4); }
+ uint32_t ch_am_depth(uint32_t choffs) const { return bitfield(m_regdata[choffs + 0xe0], 0, 3); }
+
+ // return the memory address and increment it
+ uint32_t memory_address_autoinc()
+ {
+ uint32_t result = memory_address();
+ uint32_t newval = result + 1;
+ m_regdata[0x05] = newval >> 0;
+ m_regdata[0x06] = newval >> 8;
+ m_regdata[0x07] = (newval >> 16) & 0x3f;
+ return result;
+ }
+
+private:
+ // internal helpers
+ uint32_t effective_rate(uint32_t raw, uint32_t correction);
+
+ // internal state
+ uint8_t m_regdata[REGISTERS]; // register data
+};
+
+
+// ======================> pcm_channel
+
+class pcm_channel
+{
+ static constexpr uint8_t KEY_ON = 0x01;
+ static constexpr uint8_t KEY_PENDING_ON = 0x02;
+ static constexpr uint8_t KEY_PENDING = 0x04;
+
+ // "quiet" value, used to optimize when we can skip doing working
+ static constexpr uint32_t EG_QUIET = 0x200;
+
+public:
+ using output_data = ymfm_output<pcm_registers::OUTPUTS>;
+
+ // constructor
+ pcm_channel(pcm_engine &owner, uint32_t choffs);
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // reset the channel state
+ void reset();
+
+ // return the channel offset
+ uint32_t choffs() const { return m_choffs; }
+
+ // prepare prior to clocking
+ bool prepare();
+
+ // master clocking function
+ void clock(uint32_t env_counter);
+
+ // return the computed output value, with panning applied
+ void output(output_data &output) const;
+
+ // signal key on/off
+ void keyonoff(bool on);
+
+ // load a new wavetable entry
+ void load_wavetable();
+
+private:
+ // internal helpers
+ void start_attack();
+ void start_release();
+ void clock_envelope(uint32_t env_counter);
+ int16_t fetch_sample() const;
+ uint8_t read_pcm(uint32_t address) const;
+
+ // internal state
+ uint32_t const m_choffs; // channel offset
+ uint32_t m_baseaddr; // base address
+ uint32_t m_endpos; // ending position
+ uint32_t m_looppos; // loop position
+ uint32_t m_curpos; // current position
+ uint32_t m_nextpos; // next position
+ uint32_t m_lfo_counter; // LFO counter
+ envelope_state m_eg_state; // envelope state
+ uint16_t m_env_attenuation; // computed envelope attenuation
+ uint32_t m_total_level; // total level with as 7.10 for interp
+ uint8_t m_format; // sample format
+ uint8_t m_key_state; // current key state
+ pcm_cache m_cache; // cached data
+ pcm_registers &m_regs; // reference to registers
+ pcm_engine &m_owner; // reference to our owner
+};
+
+
+// ======================> pcm_engine
+
+class pcm_engine
+{
+public:
+ static constexpr int OUTPUTS = pcm_registers::OUTPUTS;
+ static constexpr int CHANNELS = pcm_registers::CHANNELS;
+ static constexpr uint32_t ALL_CHANNELS = pcm_registers::ALL_CHANNELS;
+ using output_data = pcm_channel::output_data;
+
+ // constructor
+ pcm_engine(ymfm_interface &intf);
+
+ // reset our status
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // master clocking function
+ void clock(uint32_t chanmask);
+
+ // compute sum of channel outputs
+ void output(output_data &output, uint32_t chanmask);
+
+ // read from the PCM registers
+ uint8_t read(uint32_t regnum);
+
+ // write to the PCM registers
+ void write(uint32_t regnum, uint8_t data);
+
+ // return a reference to our interface
+ ymfm_interface &intf() { return m_intf; }
+
+ // return a reference to our registers
+ pcm_registers &regs() { return m_regs; }
+
+private:
+ // internal state
+ ymfm_interface &m_intf; // reference to the interface
+ uint32_t m_env_counter; // envelope counter
+ uint32_t m_modified_channels; // bitmask of modified channels
+ uint32_t m_active_channels; // bitmask of active channels
+ uint32_t m_prepare_count; // counter to do periodic prepare sweeps
+ std::unique_ptr<pcm_channel> m_channel[CHANNELS]; // array of channels
+ pcm_registers m_regs; // registers
+};
+
+}
+
+#endif // YMFM_PCM_H
diff --git a/3rdparty/ymfm/src/ymfm_ssg.cpp b/3rdparty/ymfm/src/ymfm_ssg.cpp
new file mode 100644
index 00000000000..410452b1c6d
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_ssg.cpp
@@ -0,0 +1,279 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "ymfm_ssg.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// SSG REGISTERS
+//*********************************************************
+
+//-------------------------------------------------
+// reset - reset the register state
+//-------------------------------------------------
+
+void ssg_registers::reset()
+{
+ std::fill_n(&m_regdata[0], REGISTERS, 0);
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ssg_registers::save_restore(ymfm_saved_state &state)
+{
+ state.save_restore(m_regdata);
+}
+
+
+
+//*********************************************************
+// SSG ENGINE
+//*********************************************************
+
+//-------------------------------------------------
+// ssg_engine - constructor
+//-------------------------------------------------
+
+ssg_engine::ssg_engine(ymfm_interface &intf) :
+ m_intf(intf),
+ m_tone_count{ 0,0,0 },
+ m_tone_state{ 0,0,0 },
+ m_envelope_count(0),
+ m_envelope_state(0),
+ m_noise_count(0),
+ m_noise_state(1),
+ m_override(nullptr)
+{
+}
+
+
+//-------------------------------------------------
+// reset - reset the engine state
+//-------------------------------------------------
+
+void ssg_engine::reset()
+{
+ // defer to the override if present
+ if (m_override != nullptr)
+ return m_override->ssg_reset();
+
+ // reset register state
+ m_regs.reset();
+
+ // reset engine state
+ for (int chan = 0; chan < 3; chan++)
+ {
+ m_tone_count[chan] = 0;
+ m_tone_state[chan] = 0;
+ }
+ m_envelope_count = 0;
+ m_envelope_state = 0;
+ m_noise_count = 0;
+ m_noise_state = 1;
+}
+
+
+//-------------------------------------------------
+// save_restore - save or restore the data
+//-------------------------------------------------
+
+void ssg_engine::save_restore(ymfm_saved_state &state)
+{
+ // save register state
+ m_regs.save_restore(state);
+
+ // save engine state
+ state.save_restore(m_tone_count);
+ state.save_restore(m_tone_state);
+ state.save_restore(m_envelope_count);
+ state.save_restore(m_envelope_state);
+ state.save_restore(m_noise_count);
+ state.save_restore(m_noise_state);
+}
+
+
+//-------------------------------------------------
+// clock - master clocking function
+//-------------------------------------------------
+
+void ssg_engine::clock()
+{
+ // clock tones; tone period units are clock/16 but since we run at clock/8
+ // that works out for us to toggle the state (50% duty cycle) at twice the
+ // programmed period
+ for (int chan = 0; chan < 3; chan++)
+ {
+ m_tone_count[chan]++;
+ if (m_tone_count[chan] >= m_regs.ch_tone_period(chan))
+ {
+ m_tone_state[chan] ^= 1;
+ m_tone_count[chan] = 0;
+ }
+ }
+
+ // clock noise; noise period units are clock/16 but since we run at clock/8,
+ // our counter needs a right shift prior to compare; note that a period of 0
+ // should produce an indentical result to a period of 1, so add a special
+ // check against that case
+ m_noise_count++;
+ if ((m_noise_count >> 1) >= m_regs.noise_period() && m_noise_count != 1)
+ {
+ m_noise_state ^= (bitfield(m_noise_state, 0) ^ bitfield(m_noise_state, 3)) << 17;
+ m_noise_state >>= 1;
+ m_noise_count = 0;
+ }
+
+ // clock envelope; envelope period units are clock/8 (manual says clock/256
+ // but that's for all 32 steps)
+ m_envelope_count++;
+ if (m_envelope_count >= m_regs.envelope_period())
+ {
+ m_envelope_state++;
+ m_envelope_count = 0;
+ }
+}
+
+
+//-------------------------------------------------
+// output - output the current state
+//-------------------------------------------------
+
+void ssg_engine::output(output_data &output)
+{
+ // volume to amplitude table, taken from MAME's implementation but biased
+ // so that 0 == 0
+ static int16_t const s_amplitudes[32] =
+ {
+ 0, 32, 78, 141, 178, 222, 262, 306,
+ 369, 441, 509, 585, 701, 836, 965, 1112,
+ 1334, 1595, 1853, 2146, 2576, 3081, 3576, 4135,
+ 5000, 6006, 7023, 8155, 9963,11976,14132,16382
+ };
+
+ // compute the envelope volume
+ uint32_t envelope_volume;
+ if ((m_regs.envelope_hold() | (m_regs.envelope_continue() ^ 1)) && m_envelope_state >= 32)
+ {
+ m_envelope_state = 32;
+ envelope_volume = ((m_regs.envelope_attack() ^ m_regs.envelope_alternate()) & m_regs.envelope_continue()) ? 31 : 0;
+ }
+ else
+ {
+ uint32_t attack = m_regs.envelope_attack();
+ if (m_regs.envelope_alternate())
+ attack ^= bitfield(m_envelope_state, 5);
+ envelope_volume = (m_envelope_state & 31) ^ (attack ? 0 : 31);
+ }
+
+ // iterate over channels
+ for (int chan = 0; chan < 3; chan++)
+ {
+ // noise depends on the noise state, which is the LSB of m_noise_state
+ uint32_t noise_on = m_regs.ch_noise_enable(chan) & m_noise_state;
+
+ // tone depends on the current tone state
+ uint32_t tone_on = m_regs.ch_tone_enable(chan) & m_tone_state[chan];
+
+ // if neither tone nor noise enabled, return 0
+ uint32_t volume;
+ if ((noise_on | tone_on) == 0)
+ volume = 0;
+
+ // if the envelope is enabled, use its amplitude
+ else if (m_regs.ch_envelope_enable(chan))
+ volume = envelope_volume;
+
+ // otherwise, scale the tone amplitude up to match envelope values
+ // according to the datasheet, amplitude 15 maps to envelope 31
+ else
+ {
+ volume = m_regs.ch_amplitude(chan) * 2;
+ if (volume != 0)
+ volume |= 1;
+ }
+
+ // convert to amplitude
+ output.data[chan] = s_amplitudes[volume];
+ }
+}
+
+
+//-------------------------------------------------
+// read - handle reads from the SSG registers
+//-------------------------------------------------
+
+uint8_t ssg_engine::read(uint32_t regnum)
+{
+ // defer to the override if present
+ if (m_override != nullptr)
+ return m_override->ssg_read(regnum);
+
+ // read from the I/O ports call the handlers if they are configured for input
+ if (regnum == 0x0e && !m_regs.io_a_out())
+ return m_intf.ymfm_external_read(ACCESS_IO, 0);
+ else if (regnum == 0x0f && !m_regs.io_b_out())
+ return m_intf.ymfm_external_read(ACCESS_IO, 1);
+
+ // otherwise just return the register value
+ return m_regs.read(regnum);
+}
+
+
+//-------------------------------------------------
+// write - handle writes to the SSG registers
+//-------------------------------------------------
+
+void ssg_engine::write(uint32_t regnum, uint8_t data)
+{
+ // defer to the override if present
+ if (m_override != nullptr)
+ return m_override->ssg_write(regnum, data);
+
+ // store the raw value to the register array;
+ // most writes are passive, consumed only when needed
+ m_regs.write(regnum, data);
+
+ // writes to the envelope shape register reset the state
+ if (regnum == 0x0d)
+ m_envelope_state = 0;
+
+ // writes to the I/O ports call the handlers if they are configured for output
+ else if (regnum == 0x0e && m_regs.io_a_out())
+ m_intf.ymfm_external_write(ACCESS_IO, 0, data);
+ else if (regnum == 0x0f && m_regs.io_b_out())
+ m_intf.ymfm_external_write(ACCESS_IO, 1, data);
+}
+
+}
diff --git a/3rdparty/ymfm/src/ymfm_ssg.h b/3rdparty/ymfm/src/ymfm_ssg.h
new file mode 100644
index 00000000000..da689e42f7a
--- /dev/null
+++ b/3rdparty/ymfm/src/ymfm_ssg.h
@@ -0,0 +1,206 @@
+// BSD 3-Clause License
+//
+// Copyright (c) 2021, Aaron Giles
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef YMFM_SSG_H
+#define YMFM_SSG_H
+
+#pragma once
+
+#include "ymfm.h"
+
+namespace ymfm
+{
+
+//*********************************************************
+// OVERRIDE INTERFACE
+//*********************************************************
+
+// ======================> ssg_override
+
+// this class represents a built-in overridable SSG implementation; at this
+// time it is not implemented, so you will have to add your own, or else live
+// with no SSG audio
+class ssg_override
+{
+public:
+ // reset our status
+ virtual void ssg_reset() = 0;
+
+ // read/write to the SSG registers
+ virtual uint8_t ssg_read(uint32_t regnum) = 0;
+ virtual void ssg_write(uint32_t regnum, uint8_t data) = 0;
+
+ // notification when the prescale has changed
+ virtual void ssg_prescale_changed() = 0;
+};
+
+
+//*********************************************************
+// REGISTER CLASS
+//*********************************************************
+
+// ======================> ssg_registers
+
+//
+// SSG register map:
+//
+// System-wide registers:
+// 06 ---xxxxx Noise period
+// 07 x------- I/O B in(0) or out(1)
+// -x------ I/O A in(0) or out(1)
+// --x----- Noise enable(0) or disable(1) for channel C
+// ---x---- Noise enable(0) or disable(1) for channel B
+// ----x--- Noise enable(0) or disable(1) for channel A
+// -----x-- Tone enable(0) or disable(1) for channel C
+// ------x- Tone enable(0) or disable(1) for channel B
+// -------x Tone enable(0) or disable(1) for channel A
+// 0B xxxxxxxx Envelope period fine
+// 0C xxxxxxxx Envelope period coarse
+// 0D ----x--- Envelope shape: continue
+// -----x-- Envelope shape: attack/decay
+// ------x- Envelope shape: alternate
+// -------x Envelope shape: hold
+// 0E xxxxxxxx 8-bit parallel I/O port A
+// 0F xxxxxxxx 8-bit parallel I/O port B
+//
+// Per-channel registers:
+// 00,02,04 xxxxxxxx Tone period (fine) for channel A,B,C
+// 01,03,05 ----xxxx Tone period (coarse) for channel A,B,C
+// 08,09,0A ---x---- Mode: fixed(0) or variable(1) for channel A,B,C
+// ----xxxx Amplitude for channel A,B,C
+//
+class ssg_registers
+{
+public:
+ // constants
+ static constexpr uint32_t OUTPUTS = 3;
+ static constexpr uint32_t CHANNELS = 3;
+ static constexpr uint32_t REGISTERS = 0x10;
+ static constexpr uint32_t ALL_CHANNELS = (1 << CHANNELS) - 1;
+
+ // constructor
+ ssg_registers() { }
+
+ // reset to initial state
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // direct read/write access
+ uint8_t read(uint32_t index) { return m_regdata[index]; }
+ void write(uint32_t index, uint8_t data) { m_regdata[index] = data; }
+
+ // system-wide registers
+ uint32_t noise_period() const { return bitfield(m_regdata[0x06], 0, 5); }
+ uint32_t io_b_out() const { return bitfield(m_regdata[0x07], 7); }
+ uint32_t io_a_out() const { return bitfield(m_regdata[0x07], 6); }
+ uint32_t envelope_period() const { return m_regdata[0x0b] | (m_regdata[0x0c] << 8); }
+ uint32_t envelope_continue() const { return bitfield(m_regdata[0x0d], 3); }
+ uint32_t envelope_attack() const { return bitfield(m_regdata[0x0d], 2); }
+ uint32_t envelope_alternate() const { return bitfield(m_regdata[0x0d], 1); }
+ uint32_t envelope_hold() const { return bitfield(m_regdata[0x0d], 0); }
+ uint32_t io_a_data() const { return m_regdata[0x0e]; }
+ uint32_t io_b_data() const { return m_regdata[0x0f]; }
+
+ // per-channel registers
+ uint32_t ch_noise_enable(uint32_t choffs) const { return bitfield(~m_regdata[0x07], 3 + choffs); }
+ uint32_t ch_tone_enable(uint32_t choffs) const { return bitfield(~m_regdata[0x07], 0 + choffs); }
+ uint32_t ch_tone_period(uint32_t choffs) const { return m_regdata[0x00 + 2 * choffs] | (bitfield(m_regdata[0x01 + 2 * choffs], 0, 4) << 8); }
+ uint32_t ch_envelope_enable(uint32_t choffs) const { return bitfield(m_regdata[0x08 + choffs], 4); }
+ uint32_t ch_amplitude(uint32_t choffs) const { return bitfield(m_regdata[0x08 + choffs], 0, 4); }
+
+private:
+ // internal state
+ uint8_t m_regdata[REGISTERS]; // register data
+};
+
+
+// ======================> ssg_engine
+
+class ssg_engine
+{
+public:
+ static constexpr int OUTPUTS = ssg_registers::OUTPUTS;
+ static constexpr int CHANNELS = ssg_registers::CHANNELS;
+ static constexpr int CLOCK_DIVIDER = 8;
+
+ using output_data = ymfm_output<OUTPUTS>;
+
+ // constructor
+ ssg_engine(ymfm_interface &intf);
+
+ // configure an override
+ void override(ssg_override &override) { m_override = &override; }
+
+ // reset our status
+ void reset();
+
+ // save/restore
+ void save_restore(ymfm_saved_state &state);
+
+ // master clocking function
+ void clock();
+
+ // compute sum of channel outputs
+ void output(output_data &output);
+
+ // read/write to the SSG registers
+ uint8_t read(uint32_t regnum);
+ void write(uint32_t regnum, uint8_t data);
+
+ // return a reference to our interface
+ ymfm_interface &intf() { return m_intf; }
+
+ // return a reference to our registers
+ ssg_registers &regs() { return m_regs; }
+
+ // true if we are overridden
+ bool overridden() const { return (m_override != nullptr); }
+
+ // indicate the prescale has changed
+ void prescale_changed() { if (m_override != nullptr) m_override->ssg_prescale_changed(); }
+
+private:
+ // internal state
+ ymfm_interface &m_intf; // reference to the interface
+ uint32_t m_tone_count[3]; // current tone counter
+ uint32_t m_tone_state[3]; // current tone state
+ uint32_t m_envelope_count; // envelope counter
+ uint32_t m_envelope_state; // envelope state
+ uint32_t m_noise_count; // current noise counter
+ uint32_t m_noise_state; // current noise state
+ ssg_registers m_regs; // registers
+ ssg_override *m_override; // override interface
+};
+
+}
+
+#endif // YMFM_SSG_H
diff --git a/android-project/app/src/main/AndroidManifest.xml b/android-project/app/src/main/AndroidManifest.xml
index b82fd81108f..999ea605d6b 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="231"
- android:versionName="0.231"
+ android:versionCode="232"
+ android:versionName="0.232"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->
diff --git a/artwork/chess/README.md b/artwork/chess/README.md
index 697e3ac69c3..e9c4c9dadf5 100644
--- a/artwork/chess/README.md
+++ b/artwork/chess/README.md
@@ -2,4 +2,4 @@
Place chesspieces for use with internal artwork here, each SVG is expected to be square with transparent background. They are used with sensorboard device chesspieces simulation, as well as button labels in some cases.
-The ones that are included in MAME by default are licensed under the [BSD-3-Clause](http://opensource.org/licenses/BSD-3-Clause), copyright-holders: Cburnett, Antonsusi. Revision 26 April 2021. \ No newline at end of file
+The ones that are included in MAME by default are licensed under the [BSD-3-Clause](http://opensource.org/licenses/BSD-3-Clause). Copyright Colin M.L. Burnett, with contributions from other Wikipedia users. Revision 26 April 2021. \ No newline at end of file
diff --git a/docs/source/initialsetup/configuringmame.rst b/docs/source/initialsetup/configuringmame.rst
index 3a0c8830cdf..a698113e69a 100644
--- a/docs/source/initialsetup/configuringmame.rst
+++ b/docs/source/initialsetup/configuringmame.rst
@@ -21,13 +21,10 @@ First, you will need to *cd* to the directory where you installed MAME into.
If, for instance, you have MAME installed in ``C:\Users\Public\MAME`` you will
need to type ``cd C:\Users\Public\MAME`` into the command prompt.
-Then you have MAME create the config file by typing ``mame64 -createconfig``
-or ``mame -createconfig`` depending on if you are using the 64-bit version of
-MAME or the 32-bit version.
-
-MAME will then create the ``mame.ini`` file in the MAME installation folder.
-This file contains the default configuration settings for a new MAME
-installation.
+Then you have MAME create the config file by typing ``mame
+-createconfig``. MAME will then create the ``mame.ini`` file in the
+MAME installation folder. This file contains the default
+configuration settings for a new MAME installation.
Initial Setup: Creating mame.ini From Command Line on Linux or MacOS
@@ -35,18 +32,15 @@ Initial Setup: Creating mame.ini From Command Line on Linux or MacOS
The steps for Linux and MacOS are similar to those of Windows. If you
installed MAME using the package manager that came from a Linux distro, you will
-type ``mame64 -createconfig`` or ``mame -createconfig`` into your terminal
-of choice, depending on if you have a 64-bit version of MAME or a 32-bit
-one.
+type ``mame -createconfig`` into your terminal of choice.
If you have compiled from source or downloaded a binary package of MAME,
you will ``cd`` into the directory you put the MAME files into.
For instance, ``cd /home/myusername/mame``
-Then you will type ``./mame64 -createconfig`` or ``./mame -createconfig`` into
-your terminal of choice, depending on if you have a 64-bit version of MAME or a
-32-bit one.
+Then you will type ``./mame -createconfig`` into
+your terminal of choice.
You can then need to edit the ``mame.ini`` file in your favorite text editor,
e.g. *Notepad* on Windows or *vi* on Linux/MacOS, or you can change settings
@@ -56,9 +50,9 @@ from inside of MAME.
Initial Setup: Graphical Setup
------------------------------
-This is the easiest way to get started. Start MAME by opening the MAME icon
-in the location where you installed it. This will be ``mame64.exe`` or
-``mame.exe`` on Windows, ``mame64`` or ``mame`` on Linux and macOS.
+This is the easiest way to get started. Start MAME by opening the MAME
+icon in the location where you installed it. This will be ``mame.exe``
+on Windows, ``mame`` on Linux and macOS.
Once MAME has started, you can either use your mouse to click on the
**Configure Options** menu selection at the bottom center of your screen,
diff --git a/docs/source/techspecs/naming.rst b/docs/source/techspecs/naming.rst
index a973d585aba..94d3a889649 100644
--- a/docs/source/techspecs/naming.rst
+++ b/docs/source/techspecs/naming.rst
@@ -100,7 +100,7 @@ example, use the manufacturer’s version number, regional licensee’s
name, or terse description of hardware differences in preference to
arbitrary set numbers. Surround the disambiguation text with
parentheses, preserve original case for names and version text, but
-use lowercase for anything else besides proper nouns.
+use lowercase for anything else besides proper nouns and initialisms.
.. _naming-cplusplus:
diff --git a/docs/source/usingmame/usingmame.rst b/docs/source/usingmame/usingmame.rst
index 9e66c611c50..f808199cb52 100644
--- a/docs/source/usingmame/usingmame.rst
+++ b/docs/source/usingmame/usingmame.rst
@@ -101,7 +101,7 @@ text editor (e.g. Notepad, Emacs or TextEdit) and configure every option you
need. However, no particular tweaks are needed to start, so you can leave most
of the options unaltered.
-If you execute **mame64 -createconfig** when you already have an existing
+If you execute **mame -createconfig** when you already have an existing
mame.ini from a previous MAME version, MAME automatically updates the
pre-existing mame.ini by copying changed options into it.
diff --git a/hash/a800.xml b/hash/a800.xml
index 107ce9a6df0..66a18dbcfb8 100644
--- a/hash/a800.xml
+++ b/hash/a800.xml
@@ -1365,7 +1365,7 @@ Compiled by K1W1
<description>Turbo Blizzard</description>
<year>199?</year>
<publisher>&lt;unknown&gt;</publisher>
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1379,7 +1379,7 @@ Compiled by K1W1
<year>199?</year>
<publisher>Info-Cell</publisher>
<info name="developer" value="Pawel Mironczuk" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1393,7 +1393,7 @@ Compiled by K1W1
<year>1991</year>
<publisher>DOMAIN SOFT</publisher>
<info name="developer" value="Tomasz Rolewski" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1407,7 +1407,7 @@ Compiled by K1W1
<year>1991</year>
<publisher>DOMAIN SOFT</publisher>
<info name="developer" value="Tomasz Rolewski" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1421,7 +1421,7 @@ Compiled by K1W1
<year>1991</year>
<publisher>ROBOsoft</publisher>
<info name="developer" value="Tomasz Rolewski" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1435,7 +1435,7 @@ Compiled by K1W1
<year>1991</year>
<publisher>ROBOsoft</publisher>
<info name="developer" value="Tomasz Rolewski" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1449,7 +1449,7 @@ Compiled by K1W1
<year>1991</year>
<publisher>JK Soft</publisher>
<info name="developer" value="Bartek Selinger" />
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
@@ -1462,7 +1462,7 @@ Compiled by K1W1
<description>Cartridge System Turbo 2000</description>
<year>1991</year>
<publisher>Bartek Selinger</publisher>
- <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
+ <info name="usage" value="Requires Lower-Silesian Turbo 2000 hardware modification installed in a tape recorder." />
<part name="cart" interface="a8bit_cart">
<feature name="slot" value="a800_blizzard" />
<dataarea name="rom" size="16384">
diff --git a/hash/a800_flop.xml b/hash/a800_flop.xml
index eaa65d18d45..b6863fb5a6a 100644
--- a/hash/a800_flop.xml
+++ b/hash/a800_flop.xml
@@ -421,6 +421,30 @@ license:CC0
</part>
</software>
+ <software name="croschck" supported="no"> <!-- randomly freezes up on player's turn screen -->
+ <description>Crosscheck</description>
+ <year>1986</year>
+ <publisher>Datasoft</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="crosscheck (1986)(datasoft)(us).atr" size="92176" crc="b4cef936" sha1="1bb9efe6ce4829388f933ae85dd0836749ca9e55"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ccchomp">
+ <description>Crush, Crumble and Chomp!</description>
+ <year>1981</year>
+ <publisher>Epyx</publisher>
+ <sharedfeat name="compatibility" value="OSb"/>
+ <sharedfeat name="requirement" value="a800:basicb"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="crush, crumble and chomp (1981)(epyx)(us)[basic][os-b].atr" size="92176" crc="419fce77" sha1="513ff8617ebf45e95d19a1ec9e067d1a3121ecf6"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="cutthroa">
<description>Cutthroats</description>
<year>1984</year>
@@ -448,19 +472,6 @@ license:CC0
</part>
</software>
- <software name="ccchomp">
- <description>Crush, Crumble and Chomp!</description>
- <year>1981</year>
- <publisher>Epyx</publisher>
- <sharedfeat name="compatibility" value="OSb"/>
- <sharedfeat name="requirement" value="a800:basicb"/>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="92176">
- <rom name="crush, crumble and chomp (1981)(epyx)(us)[basic][os-b].atr" size="92176" crc="419fce77" sha1="513ff8617ebf45e95d19a1ec9e067d1a3121ecf6"/> <!-- Verified -->
- </dataarea>
- </part>
- </software>
-
<software name="dandydgn" supported="partial">
<description>Dandy Dungeon</description>
<year>1985</year>
@@ -519,6 +530,17 @@ license:CC0
</part>
</software>
+ <software name="fforest">
+ <description>Forbidden Forest</description>
+ <year>1983</year>
+ <publisher>Cosmi</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="forbidden forest (1983)(cosmi)(us).atr" size="92176" crc="3faaa34c" sha1="3e122297fe9f891785e59eb9b607403aae21719f"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="galahad">
<description>Galahad and the Holy Grail</description>
<year>1982</year>
@@ -621,6 +643,22 @@ license:CC0
</part>
</software>
+ <software name="saracen">
+ <description>Saracen</description>
+ <year>1987</year>
+ <publisher>Datasoft</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="saracen (1987)(datasoft)(us)(side a).atr" size="92176" crc="512b4ab7" sha1="3b91a79a49c699ea458a85fe81612a55e494c1ec"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="saracen (1987)(datasoft)(us)(side b).atr" size="92176" crc="40217012" sha1="13675d252b391f1e177bf7b5d97b4d813ac0cdbe"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="shatalli">
<description>Chronicles of Osgorth: The Shattered Alliance</description>
<year>1981</year>
@@ -661,6 +699,35 @@ license:CC0
</part>
</software>
+ <software name="spitfr40" supported="no"> <!-- joystick/keyboard inputs mostly not responsive -->
+ <description>Spitfire 40</description>
+ <year>1986</year>
+ <publisher>Avalon Hill</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="spitfire 40 (1986)(avalon hill)(us).atr" size="92176" crc="875a404f" sha1="49e6c560d38137944c1cd9bc6c5f37a012045a84"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Atari Translator allows disks that only work on earlier 400/800 systems to load on later XL/XE machines -->
+ <software name="transltr"> <!-- runs but needs testing -->
+ <description>Atari Translator (USA)</description>
+ <year>1983</year>
+ <publisher>Atari</publisher>
+ <sharedfeat name="compatibility" value="XL/XE"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="atari translator (1983)(atari)(us)(side a)[req 64k].atr" size="92176" crc="003cb47c" sha1="ad74be8f96742892c4c33373ca96372b58d88a68"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="92176">
+ <rom name="atari translator (1983)(atari)(us)(side b)[req 64k].atr" size="92176" crc="861ac5d7" sha1="70ec2f2cb8cfb83dd528a9eabcf028a3b154e8cd"/> <!-- Verified -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="mbasic2x">
<description>Microsoft BASIC II Programming Language (Extensions)</description>
<year>1982</year>
diff --git a/hash/apple2_flop_clcracked.xml b/hash/apple2_flop_clcracked.xml
index 13e09a83d60..18b8556e56c 100644
--- a/hash/apple2_flop_clcracked.xml
+++ b/hash/apple2_flop_clcracked.xml
@@ -6156,8 +6156,11 @@ license:CC0
<software name="caalgebb">
<description>Computer Assisted Problem Solving for Beginning Algebra (cleanly cracked)</description>
<year>1984</year>
- <publisher>UNKNOWN</publisher>
+ <publisher>Unknown</publisher>
+ <info name="programmer" value="Chris W. Avery and Charles B. Barker"/>
<info name="release" value="2017-09-06"/>
+ <!-- Publisher is unknown. Authors are Chris W. Avery and Charles B.
+ Barker. -->
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Side A"/>
@@ -6176,8 +6179,11 @@ license:CC0
<software name="caalgebi">
<description>Computer Assisted Problem Solving for Intermediate Algebra (cleanly cracked)</description>
<year>1984</year>
- <publisher>UNKNOWN</publisher>
+ <publisher>Unknown</publisher>
+ <info name="programmer" value="Chris W. Avery and Charles B. Barker"/>
<info name="release" value="2017-09-06"/>
+ <!-- Publisher is unknown. Authors are Chris W. Avery and Charles B.
+ Barker. -->
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Side A"/>
@@ -6196,8 +6202,11 @@ license:CC0
<software name="caalgebpa">
<description>Computer Assisted Problem Solving for Pre-Algebra (cleanly cracked)</description>
<year>1984</year>
- <publisher>UNKNOWN</publisher>
+ <publisher>Unknown</publisher>
+ <info name="programmer" value="Chris W. Avery and Charles B. Barker"/>
<info name="release" value="2017-09-05"/>
+ <!-- Publisher is unknown. Authors are Chris W. Avery and Charles B.
+ Barker. -->
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Side A"/>
@@ -10094,7 +10103,7 @@ license:CC0
</software>
<software name="graphmkr">
- <description>Graph Maker (cleanly cracked)</description>
+ <description>Graph Maker: Introduction to Graphs and Charts (cleanly cracked)</description>
<year>1993</year>
<publisher>Troll Associates</publisher>
<info name="release" value="2015-12-18"/>
@@ -13196,7 +13205,7 @@ license:CC0
</software>
<software name="lgtmapsk">
- <description>Let's Go There - Beginning Map and Geography Skills (cleanly cracked)</description>
+ <description>Let's Go There: Beginning Map and Geography Skills (cleanly cracked)</description>
<year>1993</year>
<publisher>Troll Associates</publisher>
<info name="release" value="2017-06-30"/>
@@ -26378,7 +26387,7 @@ license:CC0
</software>
<software name="tgamedmo">
- <description>The Game (self-running demo) (cleanly cracked)</description>
+ <description>The Game (Self-Running Demo) (cleanly cracked)</description>
<year>1983</year>
<publisher>Random House</publisher>
<info name="release" value="2016-09-05"/>
@@ -36195,8 +36204,8 @@ license:CC0
<software name="capalgr2">
<description>Computer Assisted Problem Solving for Intermediate Algebra (Revision 2) (cleanly cracked)</description>
<year>1984</year>
- <publisher>UNKNOWN</publisher>
- <info name="author" value="Chris W. Avery, Charles B. Barker" />
+ <publisher>Unknown</publisher>
+ <info name="programmer" value="Chris W. Avery and Charles B. Barker"/>
<info name="release" value="2020-07-16"/>
<!-- Publisher is unknown. Authors are Chris W. Avery and Charles B.
Barker. -->
@@ -41971,4 +41980,327 @@ license:CC0
</part>
</software>
+ <software name="algmix85">
+ <description>Alligator Mix (1985 Re-release) (cleanly cracked)</description>
+ <year>1985</year>
+ <publisher>Developmental Learning Materials</publisher>
+ <info name="release" value="2021-04-26"/>
+ <info name="programmer" value="Jerry Chaffin, Bill Maxwell, Barbara Thompson, and Allen Colebank"/>
+ <!--"Alligator Mix" is a 1982 educational program developed by Jerry Chaffin, Bill Maxwell, and Barbara Thompson. This 1985 re-release is developed by Allen Colebank. It is distributed by Developmental Learning Materials. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alligator mix 1985 (4am crack).dsk" size="143360" crc="e6c484d4" sha1="583208338064143d656d4140f9f4f46db7750b77"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tdyply89">
+ <description>Teddy's Playground (1989 Re-release) (cleanly cracked)</description>
+ <year>1989</year>
+ <publisher>Sunburst Communications</publisher>
+ <info name="release" value="2021-04-26"/>
+ <info name="programmer" value="Donna Stanger and Lon Koenig"/>
+ <!--"Teddy's Playground" is a 1985 educational program developed by Donna Stanger and Lon Koenig, and distributed by Sunburst Communications. This is the 1989 re-release. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="teddy's playground 1989 (4am crack).dsk" size="143360" crc="80deccb7" sha1="bfa611ba323010c24b7c84c0311baf0bb95d6218"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="alcircr0">
+ <description>Alphabet Circus (Revision 0) (cleanly cracked)</description>
+ <year>1984</year>
+ <publisher>Developmental Learning Materials</publisher>
+ <info name="release" value="2021-04-28"/>
+ <!--"Alphabet Circus" is a 1984 educational program developed by Neosoft and distributed by Developmental Learning Materials. This appears to be an earlier release than other known copies. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alphabet circus rev. 0 (4am crack).dsk" size="143360" crc="0be03a63" sha1="9f6e121a85f7f39b7c60ac53c5afafbda93de463"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kidwrtr0">
+ <description>Kidwriter (Revision 0) (cleanly cracked)</description>
+ <year>1983</year>
+ <publisher>Spinnaker</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Jim and Jack Pejsa"/>
+ <!--"Kidwriter" is a 1983 educational program developed by Jim and Jack Pejsa, and distributed by Spinnaker Software. This appears to be an earlier release than other known copies. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="kidwriter rev. 0 (4am crack).dsk" size="143360" crc="da97fb1c" sha1="3ae516b768b82d6e65e737fb9749f8733ad57e73"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="martgm12">
+ <description>Mastery Arithmetic Games (Version 1.2) (cleanly cracked)</description>
+ <year>1986</year>
+ <publisher>Mastery Development</publisher>
+ <info name="release" value="2021-04-28"/>
+ <!--"Mastery Arithmetic Games" is a 1986 educational program developed and distributed by Mastery Development. This is version 1.2. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Side A"/>
+ <dataarea name="flop" size="143360">
+ <rom name="mastery arithmetic games v1.2 (4am crack) side a.dsk" size="143360" crc="0ecd0a97" sha1="2fc35c78ab6bee6e57be26ecce9d2c74a07a0e30"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Side B"/>
+ <dataarea name="flop" size="143360">
+ <rom name="mastery arithmetic games v1.2 (4am crack) side b.dsk" size="143360" crc="827c0c00" sha1="1fd7dc613bb0274ab727a3daa508f2c57995742f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rtpropt">
+ <description>Ratios and Proportions (cleanly cracked)</description>
+ <year>1983</year>
+ <publisher>Milton Bradley</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="usage" value="Due to programming bugs, it will only work on an Apple ][+" />
+ <!--"Ratios and Proportions" is a 1983 educational program developed and distributed by Milton Bradley. Due to programming bugs unrelated to copy protection, it will only work on an Apple ][+. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ratios and proportions (4am crack).dsk" size="143360" crc="e0222fb9" sha1="38d541db226104517918e14a6f512fc70bc63860"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="smanalgy">
+ <description>SocMate Analogies Games (cleanly cracked)</description>
+ <year>1985</year>
+ <publisher>American Guidance Service</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="B. Maxwell, B. Thompson, J. Chaffin, D. D. Smith, and J. O. Smith"/>
+ <!--"SocMate Analogies Games" is a 1985 educational program developed by B. Maxwell, B. Thompson, J. Chaffin, D. D. Smith, and J. O. Smith, and distributed by American Guidance Service. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="socmate analogies games (4am crack).dsk" size="143360" crc="0470999a" sha1="99e351816e7c5391f09b24f17d15efd2e3d27428"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="strsrcdm">
+ <description>Star Search (Self-Running Demo) (cleanly cracked)</description>
+ <year>1981</year>
+ <publisher>Earthware Computer Services</publisher>
+ <info name="release" value="2021-04-29"/>
+ <info name="programmer" value="Mark Goles"/>
+ <!--"Star Search" is a 1981 self-running demo developed by Mark Goles and distributed by Earthware Computer Services. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Side A"/>
+ <dataarea name="flop" size="143360">
+ <rom name="star search self-running demo (4am crack) side a.dsk" size="143360" crc="e6482d15" sha1="461b1cf88bc373b455ab03788be903bbedbc9386"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Side B"/>
+ <dataarea name="flop" size="143360">
+ <rom name="star search self-running demo (4am crack) side b.dsk" size="143360" crc="fe50796b" sha1="509b98da10af36a1acb1f7c78489c091e5a9e670"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="zoomastr">
+ <description>Zoo Master (cleanly cracked)</description>
+ <year>1983</year>
+ <publisher>Earthware Computer Services</publisher>
+ <info name="release" value="2021-04-29"/>
+ <info name="programmer" value="Kevin Ryan"/>
+ <!--"Zoo Master" is a 1983 action game developed by Kevin Ryan and distributed by Earthware Computer Services.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="zoo master (4am crack).dsk" size="143360" crc="58e50374" sha1="a2420b04b5422c703b35fa6851f6cb18809d314c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blkbelt">
+ <description>Black Belt (cleanly cracked)</description>
+ <year>1984</year>
+ <publisher>Earthware Computer Services</publisher>
+ <info name="release" value="2021-04-29"/>
+ <info name="programmer" value="Kevin Ryan"/>
+ <!--"Black Belt" is a 1984 sports game developed by Kevin Ryan and distributed by Earthware Computer Services.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="black belt (4am crack).dsk" size="143360" crc="6ba73711" sha1="f9f1bab379e6802c488e9c704870561018a162c4"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="uccscbd">
+ <description>Uncle Clyde's Consonant Slides: Consonant Blends and Digraphs (cleanly cracked)</description>
+ <year>1993</year>
+ <publisher>Micrograms</publisher>
+ <info name="release" value="2021-05-09"/>
+ <!--"Uncle Clyde's Consonant Slides: Consonant Blends and Digraphs" is a 1993 educational program developed and distributed by Micrograms. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="uncle clyde's consonant slides - consonant blends and digraphs (4am crack).dsk" size="143360" crc="dec1edfc" sha1="93088790186e6c08bd762196f80d1d5f57837da1"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="uccsec">
+ <description>Uncle Clyde's Consonant Slides: Ending Consonants (cleanly cracked)</description>
+ <year>1993</year>
+ <publisher>Micrograms</publisher>
+ <info name="release" value="2021-05-09"/>
+ <!--"Uncle Clyde's Consonant Slides: Ending Consonants" is a 1993 educational program developed and distributed by Micrograms. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="uncle clyde's consonant slides - ending consonants (4am crack).dsk" size="143360" crc="67153156" sha1="211cd07bb41d1dc7b98c2e30dfceb5550676f78f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chschkbk">
+ <description>Chess, Checkers, and Backgammon (cleanly cracked)</description>
+ <year>1987</year>
+ <publisher>Box Office</publisher>
+ <info name="release" value="2021-05-09"/>
+ <!--"Chess, Checkers, and Backgammon" is a 1987 compilation of board games developed and distributed by Box Office. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="chess, checkers, and backgammon (4am crack).dsk" size="143360" crc="ab1dc1bb" sha1="f19b9a05cc8b2bd6d56c0b4007c381387fe69262"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="divsklls">
+ <description>Division Skills (cleanly cracked)</description>
+ <year>1982</year>
+ <publisher>Milton Bradley</publisher>
+ <info name="release" value="2021-05-09"/>
+ <!--"Division Skills" is a 1982 educational program developed and distributed by Milton Bradley. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="division skills (4am crack).dsk" size="143360" crc="9e728c36" sha1="59a4e0758dcfd2d110de99e81594f9dda1b4da1e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="vocsklls">
+ <description>Vocabulary Skills (cleanly cracked)</description>
+ <year>1982</year>
+ <publisher>Milton Bradley</publisher>
+ <info name="release" value="2021-05-09"/>
+ <!--"Vocabulary Skills" is a 1982 educational program developed and distributed by Milton Bradley. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="vocabulary skills (4am crack).dsk" size="143360" crc="ee2bf37f" sha1="b3ad2f51f97062628092af27cc661f35d46eff6f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lechocdm">
+ <description>Le Choc des Multinationales (cleanly cracked)</description>
+ <year>1982</year>
+ <publisher>Sogiciel</publisher>
+ <info name="release" value="2021-05-17"/>
+ <!--"Le Choc des Multinationales" is a 1982 French simulation game developed and distributed by Sogiciel.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="le choc des multinationales (4am crack).dsk" size="143360" crc="883a6653" sha1="69aeda4f7e221f42392a7c6cc35ff08bb1267c18"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lalmonop">
+ <description>L. A. Land Monopoly (cleanly cracked)</description>
+ <year>1980</year>
+ <publisher>Continental Software</publisher>
+ <info name="release" value="2021-05-17"/>
+ <!--"L. A. Land Monopoly" is a 1980 board game developed by Jeff Stanton and distributed by Continental Software.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="l. a. land monopoly (4am and san inc crack).dsk" size="143360" crc="1343945f" sha1="12cc537abbe9da06fa6d9802d47096aa9523c0c6"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="anltut87">
+ <description>Analogies Tutorial (Version 12.15.87) (cleanly cracked)</description>
+ <year>1987</year>
+ <publisher>Hartley Courseware</publisher>
+ <info name="release" value="2021-05-17"/>
+ <!--"Analogies Tutorial" is a 1983 educational program developed and distributed by Hartley Courseware. This updated version, dated December 15, 1987, is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Side A"/>
+ <dataarea name="flop" size="143360">
+ <rom name="analogies tutorial v12.15.87 (4am crack) side a.dsk" size="143360" crc="fa2036cd" sha1="f1927b777d150dbc1343e78023cf7148fb314547"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Side B"/>
+ <dataarea name="flop" size="143360">
+ <rom name="analogies tutorial v12.15.87 (4am crack) side b.dsk" size="143360" crc="283b3b33" sha1="3cebf89919243d5f4ff4cd64f7f935e504f8ede3"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="decpcdpp">
+ <description>Decimals and Percent: Decimals Practice Problems (cleanly cracked)</description>
+ <year>1981</year>
+ <publisher>Society for Visual Education</publisher>
+ <info name="release" value="2021-05-18"/>
+ <!--"Decimals and Percent: Decimals Practice Problems" is a 1981 educational program developed and distributed by Society for Visual Education. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="decimals and percent 2nd edition (4am and san inc crack).dsk" size="143360" crc="3d16ad56" sha1="ff765a012546b808c12aec30f5334777d86214e7"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hhbasic">
+ <description>Hand Holding BASIC (cleanly cracked)</description>
+ <year>1980</year>
+ <publisher>Apple Computer</publisher>
+ <info name="release" value="2021-05-18"/>
+ <!--"Hand Holding BASIC" is a 1980 educational program developed by Neil Bennett and distributed by Apple Computer. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="hand holding basic (4am and san inc crack).dsk" size="143360" crc="b320ae13" sha1="3fe03672338a15b84784db9fd8af04cdd736762c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="drgngame">
+ <description>Dragon Games (cleanly cracked)</description>
+ <year>1982</year>
+ <publisher>American Educational Computer</publisher>
+ <info name="release" value="2021-05-18"/>
+ <!--"Dragon Games" is a 1982 educational program developed and distributed by American Educational Computer. It is preserved here for the first time.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dragon games (4am crack).dsk" size="143360" crc="8ad2ff45" sha1="18732199591bc2ddeec617f2cd20413ae07e42c0"/>
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/apple2_flop_orig.xml b/hash/apple2_flop_orig.xml
index 005f4739813..3c3568b8cbf 100644
--- a/hash/apple2_flop_orig.xml
+++ b/hash/apple2_flop_orig.xml
@@ -5190,7 +5190,7 @@ license:CC0
<info name="release" value="2019-05-23"/>
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
<!-- It requires a 64K Apple II+ or later. -->
- <!-- This is the Ultima Trilogy rerelease version. -->
+ <!-- This is the Ultima Trilogy re-release version. -->
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="234735">
@@ -8025,12 +8025,12 @@ license:CC0
</software>
<software name="covetmir">
- <description>The Coveted Mirror (1985 Polarware rerelease)</description>
+ <description>The Coveted Mirror (1985 Polarware Re-release)</description>
<year>1985</year>
<publisher>Polarware</publisher>
<info name="release" value="2019-10-14"/>
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- This rerelease requires a 64K Apple II+ or later;
+ <!-- This re-release requires a 64K Apple II+ or later;
the optional double hi-res graphics mode requires a
128K Apple //e or later. -->
@@ -10320,7 +10320,7 @@ license:CC0
<year>1984</year>
<publisher>Adventure International</publisher>
<info name="release" value="2020-01-20"/>
- <sharedfeat name="compatibility" value=",A2P,A2E,A2EE,A2C,A2GS"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
<!-- It requires an Apple II+ with 48K. -->
<part name="flop1" interface="floppy_5_25">
@@ -10594,7 +10594,7 @@ license:CC0
<year>1984</year>
<publisher>Sunburst Communications</publisher>
<info name="release" value="2020-02-06"/>
- <sharedfeat name="compatibility" value="A2fP,A2E,A2EE,A2C,A2GS" />
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
<!-- It requires a 48K Apple II+ or later. -->
<part name="flop1" interface="floppy_5_25">
@@ -16714,4 +16714,806 @@ license:CC0
</part>
</software>
+ <software name="afctadv">
+ <description>Animals Facts and Adventures</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Nancy Patrissi (design, graphics, animation, and script), Diane Ashachik (editing), and Gregory Truex (programming)"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 64K Apple II+ or later. -->
+ <!--"Animal Facts and Adventures" is a 1992 educational program developed by Nancy Patrissi (design, graphics, animation, and script), Diane Ashachik (editing), and Gregory Truex (programming), and distributed by Troll Associates. This was distributed as a non-bootable disk; it requires a separate ProDOS boot disk or hard drive. It requires a 64K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234891">
+ <rom name="animal facts and adventures.woz" size="234891" crc="f27a7a8b" sha1="1440109b0e7ad34a16016cd698a03ad38c06dfbb"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dinodigd">
+ <description>Dino Dig: Dictionary Skills</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Nancy Patrissi (design, script, graphics, and animation), Alison Bennett (programming and sound), Diane Ashachik (editing), and Gregory Truex (programming advisor)"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Dino Dig: Dictionary Skills" is a 1992 educational program developed by Nancy Patrissi (design, script, graphics, and animation), Alison Bennett (programming and sound), Diane Ashachik (editing), and Gregory Truex (programming advisor), and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234834">
+ <rom name="dino dig.woz" size="234834" crc="942e36e3" sha1="c7d0c175c4a1e515efa2377f5600a217694a4a2e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dinosplb">
+ <description>Dino Speller: Beginning Dictionary Skills</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Nancy Patrissi and Alison Bennett"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Dino Speller: Beginning Dictionary Skills" is a 1992 educational program developed by Nancy Patrissi and Alison Bennett, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234819">
+ <rom name="dino speller.woz" size="234819" crc="91be9f89" sha1="4c34a08c73e0f30dd520053ab17b7e534497ccb7"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="keyworksf">
+ <description>Keyworks: First Keyboarding Skills</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Hudson Ansley and Millicent Sabater"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Keyworks: First Keyboarding Skills" is a 1992 educational program developed by Hudson Ansley and Millicent Sabater, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234814">
+ <rom name="keyworks.woz" size="234814" crc="22a1847c" sha1="e45ef79a88f1f92b34641f48d66ce299bb5fa450"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="posfwnap">
+ <description>Parts of Speech: Fun with Nouns and Pronouns</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Nancy Patrissi, Gregory Truex, Thomas Whiting, and Diane Ashachik"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Parts of Speech: Fun with Nouns and Pronouns" is a 1992 educational program developed by Nancy Patrissi, Gregory Truex, Thomas Whiting, and Diane Ashachik, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234851">
+ <rom name="parts of speech- fun with nouns and pronouns.woz" size="234851" crc="b004e1f5" sha1="2aafd05be7c8743d431db41ff4b1a684a53f8c96"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tomsawyr">
+ <description>Troll Reading Games: The Adventures of Tom Sawyer</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Millicent Sabater, Thomas Whiting, Hudson Ansley, and Diane Ashachik"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Troll Reading Games: The Adventures of Tom Sawyer" is a 1992 educational program developed by Millicent Sabater, Thomas Whiting, Hudson Ansley, and Diane Ashachik, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234859">
+ <rom name="troll reading games- the adventures of tom sawyer.woz" size="234859" crc="fcbae0cb" sha1="1e2370fbda9c6738ff82fb7acac45b3c257f39da"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="graphmkr">
+ <description>Graph Maker: Introduction to Graphs and Charts</description>
+ <year>1993</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Millicent Sabater, Hudson Ansley, Bonnie Seiler, and Nancy Patrissi"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Graph Maker: Introduction to Graphs and Charts" is a 1993 educational program developed by Millicent Sabater, Hudson Ansley, Bonnie Seiler, and Nancy Patrissi, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234855">
+ <rom name="graph maker- introduction to graphs and charts.woz" size="234855" crc="5903ea17" sha1="5c38eb87ebd336dab53ed7e0f7aa305d49508baa"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lgtmapsk">
+ <description>Let's Go There: Beginning Map and Geography Skills</description>
+ <year>1993</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Nancy Patrissi, Alison Bennett, and Bonnie Seiler"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Let's Go There: Beginning Maps and Geography Skills" is a 1993 educational program developed by Nancy Patrissi, Alison Bennett, and Bonnie Seiler, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234842">
+ <rom name="let's go there- beginning map and geography skills.woz" size="234842" crc="4b4956f9" sha1="be9bb6e647067ab1ba880322c7641686022e8983"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="llacomp">
+ <description>Let's Learn About Computers</description>
+ <year>1994</year>
+ <publisher>Troll Associates</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Millicent Sabater, Thomas Whiting, Bonnie Seiler, and Nancy Patrissi"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 48K Apple II+ or later. -->
+ <!--"Let's Learn About Computers" is a 1994 educational program developed by Millicent Sabater, Thomas Whiting, Bonnie Seiler, and Nancy Patrissi, and distributed by Troll Associates. It requires a 48K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234829">
+ <rom name="let's learn about computers.woz" size="234829" crc="53113bee" sha1="e5f069b6306ad52e7580e1d68e57aa7b4be57613"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tdyply89">
+ <description>Teddy's Playground (1989 Rerelease) (cleanly cracked)</description>
+ <year>1989</year>
+ <publisher>Sunburst Communications</publisher>
+ <info name="release" value="2021-04-28"/>
+ <info name="programmer" value="Donna Stanger and Lon Koenig"/>
+ <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
+ <!-- It requires a 64K Apple II+ or later. -->
+ <!--"Teddy's Playground" is a 1985 educational program developed by Donna Stanger and Lon Koenig, and distributed by Sunburst Communications. This is the 1989 re-release. It requires a 64K Apple ][+ or later.-->
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="234815">
+ <rom name="teddy's playground 1989.woz" size="234815" crc="3adfcaa3" sha1="852e2457948c44681c5e3b598166ce410e3f7b51"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rastan">
+ <description>Rastan</description>
+ <year>1990</year>
+ <publisher>Taito</publisher>
+ <info name="release" value="2021-05-01"/>
+ <info name="programmer" value="John Brooks"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 1MB Apple IIgs. (Music requires 1.25MB.) -->
+ <!--"Rastan" is a 1990 action game developed by John Brooks and distributed by Taito. It requires a 1MB Apple IIgs. (Music requires 1.25MB.)-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1296132">
+ <rom name="rastan - disk 1.woz" size="1296132" crc="9759082b" sha1="3b7ddc2326d351f7de2f018229db5a49f1090b52"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1296132">
+ <rom name="rastan - disk 2.woz" size="1296132" crc="a567351e" sha1="c50fa172350be0c154182b1b86b65b210ff452af"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="zanygolf">
+ <description>Zany Golf</description>
+ <year>1988</year>
+ <publisher>Electronic Arts</publisher>
+ <info name="release" value="2021-05-02"/>
+ <info name="programmer" value="Will Harvey, Jim Nitchals, Ian Gooding, and Doug Fulton"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Zany Golf" is a 1988 sports game developed by Will Harvey, Jim Nitchals, Ian Gooding, and Doug Fulton, and distributed by Electronic Arts. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296664">
+ <rom name="zany golf.woz" size="1296664" crc="eac4563c" sha1="4eae45a425ec065a35fca3955ce3d7be1da6082f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="marblm2gs">
+ <description>Marble Madness (IIgs)</description>
+ <year>1986</year>
+ <publisher>Electronic Arts</publisher>
+ <info name="release" value="2021-05-02"/>
+ <info name="programmer" value="Will Harvey"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Marble Madness" is a 1986 action game developed by Will Harvey and distributed by Electronic Arts. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296646">
+ <rom name="marble madness.woz" size="1296646" crc="84fe02b8" sha1="af8014fdb42321f0d75f4bea1e69cf0923904b05"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="qix2gs">
+ <description>Qix (IIgs)</description>
+ <year>1990</year>
+ <publisher>Taito</publisher>
+ <info name="release" value="2021-05-02"/>
+ <info name="programmer" value="Ryan Ridges and John Lund"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!-- Redumped on May 3rd 2021. -->
+ <!--"Qix" is a 1990 action game developed by Ryan Ridges and John Lund, and distributed by Taito. It requires a 512K Apple IIgs.-->
+
+ <part name="flop0" interface="floppy_3_5">
+ <dataarea name="flop" size="1296123">
+ <rom name="qix iigs.woz" size="1296123" crc="6955cd6b" sha1="fb20f487be264892bf3828ec8a5c8cabb57f751c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tasst2gs">
+ <description>Tass Times in Tonetown (IIgs)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+ <info name="release" value="2021-05-02"/>
+ <info name="programmer" value="Rebecca Heineman, Todd Camasta, Russell Lieblich, Brian Fargo, and Steve Nielsen"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 256K Apple IIgs. -->
+ <!--"Tass Times in Tonetown" is a 1986 adventure game developed by Rebecca Heineman, Todd Camasta, Russell Lieblich, Brian Fargo, and Steve Nielsen, and distributed by Activision. It requires a 256K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296183">
+ <rom name="tass times in tonetown iigs.woz" size="1296183" crc="2b497d3e" sha1="d87988fa71bbe2f8b65f69af2eab6ed38da3952c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wldgm2gs">
+ <description>World Games (IIgs)</description>
+ <year>1987</year>
+ <publisher>Epyx</publisher>
+ <info name="release" value="2021-05-02"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"World Games" is a 1987 sports game developed by Westwood and distributed by Epyx. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296615">
+ <rom name="world games iigs.woz" size="1296615" crc="b8e2d858" sha1="42dade566f712f07d2cb30d03256943fe42fd1a6"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gantl2gs">
+ <description>Gauntlet (IIgs)</description>
+ <year>1988</year>
+ <publisher>Mindscape</publisher>
+ <info name="release" value="2021-05-02"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 256K Apple IIgs. -->
+ <!--"Gauntlet" is a 1988 action game distributed by Mindscape. It requires a 256K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1317604">
+ <rom name="gauntlet iigs.woz" size="1317604" crc="fbeb429a" sha1="4df82855dd2924509681ea5a9a138aa7edce8b53"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bchessgs">
+ <description>Battle Chess (IIgs)</description>
+ <year>1989</year>
+ <publisher>Interplay</publisher>
+ <info name="release" value="2021-05-03"/>
+ <info name="programmer" value="Jim Sproul, Todd J. Camasta, Bruce Schlickbernd, Kurt Heiden, Bill (Weez) Dugan, Thomas R. Decker, Troy P. Worrell, Michael Quarles, Rebecca Heineman, and Alan Pavlish"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--&lt;p&gt;"Battle Chess" is a 1989 board game developed by Jim Sproul, Todd J. Camasta, Bruce Schlickbernd, Kurt Heiden, Bill (Weez) Dugan, Thomas R. Decker, Troy P. Worrell, Michael Quarles, Rebecca Heineman, and Alan Pavlish, and distributed by Interplay. It requires a 512K Apple IIgs.&lt;/p&gt;&lt;p&gt;&lt;a href="/details/Battle_Chess_Manual" rel="nofollow"&gt;Battle Chess manual&lt;/a&gt; contains the information you need for the copy protection questions&lt;/p&gt;-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1345420">
+ <rom name="battle chess iigs.woz" size="1345420" crc="9e5f4c69" sha1="2b2e8bb5c8dea141b1ec956719646e612cf89451"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bjacadgs">
+ <description>Blackjack Academy (IIgs)</description>
+ <year>1987</year>
+ <publisher>MicroIllusions</publisher>
+ <info name="release" value="2021-05-03"/>
+ <info name="programmer" value="Dennis Saunders, PhD., Al Cheser, Allen Doum, Bob Green, Kevin Hammel, Jim Lawton, and Sandy Wardak"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Blackjack Academy" is a 1987 card game developed by Dennis Saunders, PhD., Al Cheser, Allen Doum, Bob Green, Kevin Hammel, Jim Lawton, and Sandy Wardak, and distributed by MicroIllusions. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296198">
+ <rom name="blackjack academy iigs.woz" size="1296198" crc="339444f3" sha1="4665623a012536cb00e29f3c9ea1e8e3d73433f9"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blkoutgs">
+ <description>Block Out (IIgs)</description>
+ <year>1989</year>
+ <publisher>California Dreams</publisher>
+ <info name="release" value="2021-05-03"/>
+ <info name="programmer" value="Alexander Ustaszewski, Marek Jackiewicz, Adam Skorupinski, Marcin Szostakowski, and Marcin Grzegorzewski"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Block Out" is a 1989 action game developed by Alexander Ustaszewski, Marek Jackiewicz, Adam Skorupinski, Marcin Szostakowski, and Marcin Grzegorzewski, and distributed by California Dreams. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1345334">
+ <rom name="block out iigs.woz" size="1345334" crc="1fb55ba8" sha1="e7a299effa226f97a5563e604da6b1c20ddcc203"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="xenocdgs">
+ <description>Xenocide (IIgs)</description>
+ <year>1989</year>
+ <publisher>Micro Revelations</publisher>
+ <info name="release" value="2021-05-03"/>
+ <info name="programmer" value="Brian Greenstone and Dave Triplett"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Xenocide" is a 1989 action game developed by Brian Greenstone and Dave Triplett, and distributed by Micro Revelations. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296149">
+ <rom name="xenocide iigs.woz" size="1296149" crc="1fae49eb" sha1="b7105d6896f5ce270a72249cfaaa6509c60b8910"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="almindgs">
+ <description>Alien Mind</description>
+ <year>1988</year>
+ <publisher>PBI Software</publisher>
+ <info name="release" value="2021-05-04"/>
+ <info name="programmer" value="Rob Karr and Matt Crysdale"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Alien Mind" is a 1988 action game developed by Rob Karr and Matt Crysdale, and distributed by PBI Software. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1312512">
+ <rom name="alien mind iigs - disk 1.woz" size="1312512" crc="b82a889f" sha1="5b8c9377ee4f0d35d879ac063f0a02ca82d4fe4d"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1312512">
+ <rom name="alien mind iigs - disk 2.woz" size="1312512" crc="ee584aad" sha1="e32a4e473d3af9a80e6c2e0b20bf747bcd99ee7f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gldrshgs">
+ <description>Gold Rush! (IIgs)</description>
+ <year>1988</year>
+ <publisher>Sierra On-Line</publisher>
+ <info name="release" value="2021-05-04"/>
+ <info name="programmer" value="Ken MacNeill, Doug MacNeill, Jeff Stephenson, Chris Iden, Robert Heitman, and Anita Scott"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Gold Rush!" is a 1988 adventure game developed by Ken MacNeill, Doug MacNeill, Jeff Stephenson, Chris Iden, Robert Heitman, and Anita Scott, and distributed by Sierra On-Line. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1296214">
+ <rom name="gold rush iigs - disk 1.woz" size="1296214" crc="0cc92f73" sha1="68975f2ed33b8a430f7612c54bb307c5d05b9178"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1296214">
+ <rom name="gold rush iigs - disk 2.woz" size="1296214" crc="b69bd9ee" sha1="af68d86f926c04cd1bdc9fb9adb05fb974f929f2"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 3"/>
+ <dataarea name="flop" size="1296214">
+ <rom name="gold rush iigs - disk 3.woz" size="1296214" crc="ce77925c" sha1="2c41022d0dcdfca9349e8ed3cc805d38ca329ab4"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 4"/>
+ <dataarea name="flop" size="1296214">
+ <rom name="gold rush iigs - disk 4.woz" size="1296214" crc="5a7a5ddc" sha1="6ae6d46904c3fd555bb85a612cdf2afbf2a58f5b"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="uninv2gs">
+ <description>Uninvited (IIgs)</description>
+ <year>1988</year>
+ <publisher>ICOM Simulations</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Fred Allen, David Marsh, Karl Roelofs, Todd Squires, Craig Erickson, Steven Hays, Terry Schulenburg, Darin Adler, Jay Zipnick, Waldemar Horwat, Mark Waterman, Tod Zipnick, and Billy Wolf"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 768K Apple IIgs. -->
+ <!--"Uninvited" is a 1988 adventure game developed by Fred Allen, David Marsh, Karl Roelofs, Todd Squires, Craig Erickson, Steven Hays, Terry Schulenburg, Darin Adler, Jay Zipnick, Waldemar Horwat, Mark Waterman, Tod Zipnick, and Billy Wolf, and distributed by ICOM Simulations. It requires a 768K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1361814">
+ <rom name="uninvited iigs - disk 1.woz" size="1361814" crc="07605702" sha1="ca2345614a6f90d77545eeae08b154849b4a30fb"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1361814">
+ <rom name="uninvited iigs - disk 2.woz" size="1361814" crc="eee5e464" sha1="25166f40af6859bb835f63f79f61ee431e1a638e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cvcbr2gs">
+ <description>Cavern Cobra (IIgs)</description>
+ <year>1987</year>
+ <publisher>PBI Software</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Greg Hale and Richard L. Seaborne"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 768K Apple IIgs. -->
+ <!--"Cavern Cobra" is a 1987 action game developed by Greg Hale and Richard L. Seaborne, and distributed by PBI Software. It requires a 768K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296147">
+ <rom name="cavern cobra iigs.woz" size="1296147" crc="f2ba82bb" sha1="bbca27646cf2fb2fdb72a8500ef204f8ca2afa31"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hrdbl2gs">
+ <description>Hardball! (IIgs)</description>
+ <year>1987</year>
+ <publisher>Accolade</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Dan Thompson, Ed Bogas, John Boechler, and Mike Benna"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Hardball!" is a 1987 sports game developed by Dan Thompson, Ed Bogas, John Boechler, and Mike Benna, and distributed by Accolade. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296700">
+ <rom name="hardball iigs.woz" size="1296700" crc="a9e23a1c" sha1="8849b47b90a09cdb9fc2daf419d06bcf9ac0253f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="taskfrce">
+ <description>Task Force</description>
+ <year>1990</year>
+ <publisher>Britannica Software</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Scott L. Patterson, Matthew Crysdale, and Gregory A. Thomas"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 1MB Apple IIgs. -->
+ <!--"Task Force" is a 1990 action game developed by Scott L. Patterson, Matthew Crysdale, and Gregory A. Thomas, and distributed by Britannica Software. It requires a 1MB Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1296174">
+ <rom name="task force iigs - disk 1.woz" size="1296174" crc="ccd9125c" sha1="567c8645dc377965fcddc1a3ab077fc82986a760"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1296174">
+ <rom name="task force iigs - disk 2.woz" size="1296174" crc="26a2e3a7" sha1="21aa9f4fdae6b06a2a9cdffa3b0e2138a78a4b9c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="shdwg2gs">
+ <description>Shadowgate (IIgs)</description>
+ <year>1988</year>
+ <publisher>ICOM Simulations</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Fred Allen, David Marsh, Karl Roelofs, Todd Squires, Steven Hays, Terry Schulenburg, Darin Adler, Jay Zipnick, Waldemar Horwat, Tod Zipnick, and David Feldman"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 768K Apple IIgs. -->
+ <!--"Shadowgate" is a 1988 adventure game developed by Fred Allen, David Marsh, Karl Roelofs, Todd Squires, Steven Hays, Terry Schulenburg, Darin Adler, Jay Zipnick, Waldemar Horwat, Tod Zipnick, and David Feldman, and distributed by ICOM Simulations. It requires a 768K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1361803">
+ <rom name="shadowgate iigs - disk 1.woz" size="1361803" crc="c1fedf06" sha1="da9a08f82c3fadbf27f9635d8d92488597635ab3"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1361803">
+ <rom name="shadowgate iigs - disk 2.woz" size="1361803" crc="f2107036" sha1="ec055731dc9a699b1334b57a02341198826e8527"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="srvvl2gs">
+ <description>Serve and Volley (IIgs)</description>
+ <year>1988</year>
+ <publisher>Accolade</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Rick Banks, Paul Butler, Ken Shimizu, Danny Chin, Paul Battersby, Jeffrey J. Sigler, Grant Campbell, and Jay Stevens"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Serve and Volley" is a 1988 sports game developed by Rick Banks, Paul Butler, Ken Shimizu, Danny Chin, Paul Battersby, Jeffrey J. Sigler, Grant Campbell, and Jay Stevens, and distributed by Accolade. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296733">
+ <rom name="serve and volley iigs.woz" size="1296733" crc="76ec3fda" sha1="f53a7e722df11e8ad5103f9da3c9f45a9848844e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="calig2gs">
+ <description>California Games (IIgs)</description>
+ <year>1988</year>
+ <publisher>Epyx</publisher>
+ <info name="release" value="2021-05-07"/>
+ <info name="programmer" value="Jimmy Huey, Dan Chang, Jenny Martin, Sheryl Knowles, Bill Bogenreif, Matt Householder, and Ron Fortier"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"California Games" is a 1988 sports game developed by Jimmy Huey, Dan Chang, Jenny Martin, Sheryl Knowles, Bill Bogenreif, Matt Householder, and Ron Fortier, and distributed by Epyx. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296704">
+ <rom name="california games iigs.woz" size="1296704" crc="4f648119" sha1="a4ea74ff59efe247e2ec14efe229bf61a41e6444"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="seast2gs">
+ <description>Sea Strike (IIgs)</description>
+ <year>1987</year>
+ <publisher>PBI Software</publisher>
+ <info name="release" value="2021-05-09"/>
+ <info name="programmer" value="Richard L. Seaborne, Jeff A. Lefferts, and Mei-Ying Dell'Aquila"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Sea Strike" is a 1987 action game developed by Richard L. Seaborne, Jeff A. Lefferts, and Mei-Ying Dell'Aquila, and distributed by PBI Software. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296185">
+ <rom name="sea strike iigs.woz" size="1296185" crc="1b1e0b06" sha1="e5401ccf01ad10fc18e771c1c7c02db23c485151"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tstd22gs">
+ <description>The Duel: Test Drive II (IIgs)</description>
+ <year>1989</year>
+ <publisher>Accolade</publisher>
+ <info name="release" value="2021-05-10"/>
+ <info name="programmer" value="Allan Johnson, Erik Kiss, Amory Wong, Don Mattrick, Rick Friesen, Bruce Dawson, Randy Dillon, Brad Gour, Kris Hatlelid, Chris Taylor, John Boechler, Tony Lee, and Theresa Henry"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"The Duel: Test Drive II" is a 1989 racing simulation game developed by Allan Johnson, Erik Kiss, Amory Wong, Don Mattrick, Rick Friesen, Bruce Dawson, Randy Dillon, Brad Gour, Kris Hatlelid, Chris Taylor, John Boechler, Tony Lee, and Theresa Henry, and distributed by Accolade. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Program disk"/>
+ <dataarea name="flop" size="1296794">
+ <rom name="the duel - test drive ii iigs.woz" size="1296794" crc="614012e4" sha1="bb4bad896deed98d3e9b36519b392761ab96a37d"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="California challenge disk"/>
+ <dataarea name="flop" size="1296814">
+ <rom name="the duel - test drive ii iigs - california challenge.woz" size="1296814" crc="2847a06b" sha1="c78e98465fb704d6a7f5bc3cde19d00525e10fda"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <feature name="part_id" value="The muscle cars disk"/>
+ <dataarea name="flop" size="1296827">
+ <rom name="the duel - test drive ii iigs - the muscle cars.woz" size="1296827" crc="ca2bcddf" sha1="546bd8f31e0cd5b2dc15d2e817fc755229fb18e7"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <feature name="part_id" value="The supercars disk"/>
+ <dataarea name="flop" size="1296807">
+ <rom name="the duel - test drive ii iigs - the supercars.woz" size="1296807" crc="f950b388" sha1="b8fe02167c33821d8a19badf157df95e639f0232"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="keeft2gs">
+ <description>Keef the Thief (IIgs)</description>
+ <year>1989</year>
+ <publisher>Electronic Arts</publisher>
+ <info name="release" value="2021-05-10"/>
+ <info name="programmer" value="Andy Gavin and Jason Rubin"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Keef the Thief" is a 1989 roleplaying game developed by Andy Gavin and Jason Rubin, and distributed by Electronic Arts. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk ~ - Program disk"/>
+ <dataarea name="flop" size="1312659">
+ <rom name="keef the thief iigs - disk 1 - program disk.woz" size="1312659" crc="9ebed3ef" sha1="856928857d778dace377a99a86657cf1a87b4064"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2 - Art disk"/>
+ <dataarea name="flop" size="1312605">
+ <rom name="keef the thief iigs - disk 2 - art disk.woz" size="1312605" crc="561496ac" sha1="78d9793b3fb4b536d4d5411315e3cc144e492472"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gprxc2gs">
+ <description>Grand Prix Circuit (IIgs)</description>
+ <year>1989</year>
+ <publisher>Accolade</publisher>
+ <info name="release" value="2021-05-11"/>
+ <info name="programmer" value="Don Mattrick, Brad Gour, Allan Johanson, Erik Kiss, Amory Wong, Rick Friesen, and Kris Hatlelid"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Grand Prix Circuit" is a 1989 racing simulation game developed by Don Mattrick, Brad Gour, Allan Johanson, Erik Kiss, Amory Wong, Rick Friesen, and Kris Hatlelid, and distributed by Accolade. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296752">
+ <rom name="grand prix circuit iigs.woz" size="1296752" crc="a895e303" sha1="18237633ba940ffea726867aba4b3a53445b7ea7"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="crysq2gs">
+ <description>Crystal Quest (IIgs)</description>
+ <year>1989</year>
+ <publisher>Cassidy and Greene</publisher>
+ <info name="release" value="2021-05-11"/>
+ <info name="programmer" value="Patrick Buckland, Rebecca Heineman, Mike 'Jed' Patrick, and Scott Everts"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Crystal Quest" is a 1989 action game developed by Patrick Buckland, Rebecca Heineman, Mike 'Jed' Patrick, and Scott Everts, and distributed by Cassidy &amp; Greene. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296189">
+ <rom name="crystal quest iigs.woz" size="1296189" crc="3b20d9f8" sha1="a386037d68945ac452fd1a6403276531f33672fe"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="impm22gs">
+ <description>Impossible Mission II (IIgs)</description>
+ <year>1989</year>
+ <publisher>Epyx</publisher>
+ <info name="release" value="2021-05-11"/>
+ <info name="programmer" value="Istvan Cseri, Gyula Horvath, Pal Komondi, and Sultan"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Impossible Mission II" is a 1989 action game developed by Istvan Cseri, Gyula Horvath, Pal Komondi, and Sultan, and distributed by Epyx. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296662">
+ <rom name="impossible mission ii iigs.woz" size="1296662" crc="fdc001f2" sha1="db6c4c217013a1a4c1b89c87d0956c7a8b21df7c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lstn2gs">
+ <description>The Last Ninja (IIgs)</description>
+ <year>1988</year>
+ <publisher>Activision</publisher>
+ <info name="release" value="2021-05-11"/>
+ <info name="programmer" value="Jeff Silverman, John Kroeckel, J. David Koch, Erol Otus, Doug Barnett, Russell Lieblich, and Nicky Robinson"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"The Last Ninja" is a 1988 action game developed by Jeff Silverman, John Kroeckel, J. David Koch, Erol Otus, Doug Barnett, Russell Lieblich, and Nicky Robinson, and distributed by Activision. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1312599">
+ <rom name="the last ninja iigs.woz" size="1312599" crc="ed5aaf38" sha1="15500a6600c806a683148297a32314b1d63116e4"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="roct2gs">
+ <description>The Hunt for Red October (IIgs)</description>
+ <year>1989</year>
+ <publisher>The Software Toolworks</publisher>
+ <info name="release" value="2021-05-18"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 768K Apple IIgs. -->
+ <!--"The Hunt for Red October" is a 1989 simulation game developed by John Brooks, Todd Daugherty, and Alex Villagran, and distributed by The Software Toolworks. It requires a 768K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1343773">
+ <rom name="the hunt for red october iigs.woz" size="1343773" crc="60d2cfa9" sha1="5a80858e78527d2fe19c8e7c94785d2ecbc39a4e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fnla2gs">
+ <description>Final Assault (IIgs)</description>
+ <year>1988</year>
+ <publisher>Epyx</publisher>
+ <info name="release" value="2021-05-18"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 512K Apple IIgs. -->
+ <!--"Final Assault" is a 1988 sports game developed by Infogrames and distributed by Epyx. It requires a 512K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296633">
+ <rom name="final assault iigs.woz" size="1296633" crc="968a15df" sha1="214b086187df5d1122bbe84b557bb83d09546e49"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="darkc2gs">
+ <description>Dark Castle (IIgs)</description>
+ <year>1989</year>
+ <publisher>Three Sixty</publisher>
+ <info name="release" value="2021-05-18"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 768K Apple IIgs. -->
+ <!--"Dark Castle" is a 1989 action game developed by Lane Roathe and distributed by Three Sixty. It requires a 768K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk A"/>
+ <dataarea name="flop" size="1296175">
+ <rom name="dark castle iigs - disk a.woz" size="1296175" crc="930aae1a" sha1="22338f47ccb798018cbf70d2b8f4fa93ba4273ae"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk B"/>
+ <dataarea name="flop" size="1296175">
+ <rom name="dark castle iigs - disk b.woz" size="1296175" crc="3b075e18" sha1="336fe7b7bfa5acb39abb4b3fe803938557f244e2"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sils2gs">
+ <description>Silent Service (IIgs)</description>
+ <year>1987</year>
+ <publisher>Microprose</publisher>
+ <info name="release" value="2021-05-18"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 256K Apple IIgs. -->
+ <!--"Silent Service" is a 1987 simulation game developed by Sid Meier, Ed Magnin, Jim Synoski, Michael Haire, Michele Mahan, Silas Warner, Al Roireau, Larry Martin, and Edward Bever, and distributed by Microprose. It requires a 256K Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1296228">
+ <rom name="silent service iigs.woz" size="1296228" crc="37087af8" sha1="587219bfd6f4ada98b6e0805998d74b5436c27c6"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gate2gs">
+ <description>GATE (IIgs)</description>
+ <year>1992</year>
+ <publisher>Seven Hills Software</publisher>
+ <info name="release" value="2021-05-18"/>
+ <sharedfeat name="compatibility" value="A2GS"/>
+ <!-- It requires a 1MB Apple IIgs. -->
+ <!--"GATE" is a 1992 action game developed by Henrik Gudat, J&#xF6;rg Kienzle, and Yann Le Tensorer, and distributed by Seven Hills Software. It requires a 1MB Apple IIgs.-->
+
+ <part name="flop1" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 1"/>
+ <dataarea name="flop" size="1296141">
+ <rom name="gate iigs - disk 1.woz" size="1296141" crc="aaaabead" sha1="e2aab50a1b9290f34dd75ea0fd86d59eca3f46ca"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <feature name="part_id" value="Disk 2"/>
+ <dataarea name="flop" size="1296141">
+ <rom name="gate iigs - disk 2.woz" size="1296141" crc="66696c57" sha1="f4b5d21a8da6c52a3dc330c0d67c7df0c3a3b0c5"/>
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/aquarius_cart.xml b/hash/aquarius_cart.xml
index b0b8b5ba511..b3b5d1b26b2 100644
--- a/hash/aquarius_cart.xml
+++ b/hash/aquarius_cart.xml
@@ -26,7 +26,7 @@ X-6203 : Chess
<software name="addtot">
<description>Advanced Dungeons and Dragons: Treasure of Tarmin</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4023" />
<part name="cart" interface="aquarius_cart">
@@ -63,7 +63,7 @@ X-6203 : Chess
<software name="astrsmah">
<description>Astrosmash</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4003" />
<part name="cart" interface="aquarius_cart">
@@ -85,9 +85,69 @@ X-6203 : Chess
</part>
</software>
+ <software name="blbasic10" cloneof="blbasic">
+ <description>Bootloader BASIC v1.0</description>
+ <year>2014</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="author" value="Martin v.d. Steenoven"/>
+ <part name="cart" interface="aquarius_cart">
+ <dataarea name="rom" size="0x4000">
+ <rom name="blbasic10.bin" size="0x4000" crc="9f18b1ba" sha1="b3954fbd20623715900d075db7ae17a905b425bc"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blbasic11" cloneof="blbasic">
+ <description>Bootloader BASIC v1.1</description>
+ <year>2014</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="author" value="Martin v.d. Steenoven"/>
+ <part name="cart" interface="aquarius_cart">
+ <dataarea name="rom" size="0x4000">
+ <rom name="blbasic11.bin" size="0x4000" crc="360c67fe" sha1="eaf41f661150cd34e4c0e09acb49e1f743ce3589"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blbasic20" cloneof="blbasic">
+ <description>Bootloader BASIC v2.0</description>
+ <year>2014</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="author" value="Martin v.d. Steenoven"/>
+ <part name="cart" interface="aquarius_cart">
+ <dataarea name="rom" size="0x4000">
+ <rom name="blbasic20.bin" size="0x4000" crc="0a6e6dff" sha1="b928cb89aba31cc42105caec7a66489eb0dce214"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blbasic">
+ <description>Bootloader BASIC v2.1</description>
+ <year>2014</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="author" value="Martin v.d. Steenoven"/>
+ <part name="cart" interface="aquarius_cart">
+ <dataarea name="rom" size="0x4000">
+ <rom name="blbasic21.bin" size="0x4000" crc="07853524" sha1="a3e2d85cf30dd16ac1afb756c7e718c894db631e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blbird">
+ <description>BL-Bird</description>
+ <year>2015</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="author" value="Martin v.d. Steenoven"/>
+ <part name="cart" interface="aquarius_cart">
+ <dataarea name="rom" size="0x4000">
+ <rom name="blbird.bin" size="0x4000" crc="8291827a" sha1="b25d9df9e86be5d6d49fdf7c7dcdd632ab68b5be"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="btime">
<description>Burgertime</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4653" />
<part name="cart" interface="aquarius_cart">
@@ -99,7 +159,7 @@ X-6203 : Chess
<software name="chess">
<description>Chess</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4594" />
<part name="cart" interface="aquarius_cart">
@@ -111,7 +171,7 @@ X-6203 : Chess
<software name="ebasic">
<description>Extended Microsoft BASIC</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Radofin Electronics</publisher>
<info name="serial" value="4392" />
<part name="cart" interface="aquarius_cart">
@@ -123,7 +183,7 @@ X-6203 : Chess
<software name="fileform">
<description>FileForm</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4177" />
<part name="cart" interface="aquarius_cart">
@@ -135,7 +195,7 @@ X-6203 : Chess
<software name="finform">
<description>FinForm</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4178" />
<part name="cart" interface="aquarius_cart">
@@ -159,7 +219,7 @@ X-6203 : Chess
<software name="demo">
<description>Demonstration</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<part name="cart" interface="aquarius_cart">
<dataarea name="rom" size="0x4000">
@@ -170,7 +230,7 @@ X-6203 : Chess
<software name="melchase">
<description>Melody Chase</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4652" />
<part name="cart" interface="aquarius_cart">
@@ -193,7 +253,7 @@ X-6203 : Chess
<software name="nstalker">
<description>Night Stalker</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4595" />
<part name="cart" interface="aquarius_cart">
@@ -204,7 +264,7 @@ X-6203 : Chess
</software>
<software name="shark">
- <description>Shark! (Prototype)</description>
+ <description>Shark! (prototype)</description>
<year>1983</year>
<publisher>Mattel</publisher>
<part name="cart" interface="aquarius_cart">
@@ -216,7 +276,7 @@ X-6203 : Chess
<software name="snafu">
<description>Snafu</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4028" />
<part name="cart" interface="aquarius_cart">
@@ -240,7 +300,7 @@ X-6203 : Chess
<software name="tron">
<description>TRON Deadly Discs</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4024" />
<part name="cart" interface="aquarius_cart">
@@ -252,7 +312,7 @@ X-6203 : Chess
<software name="utopia">
<description>Utopia</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4596" />
<part name="cart" interface="aquarius_cart">
@@ -275,7 +335,7 @@ X-6203 : Chess
<software name="zeroin">
<description>Zero-In</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="serial" value="4895C" />
<part name="cart" interface="aquarius_cart">
@@ -289,7 +349,7 @@ X-6203 : Chess
<software name="modem" supported="no">
<description>Modem Terminal Software</description>
- <year>1982</year>
+ <year>1983</year>
<publisher>Mattel</publisher>
<info name="usage" value="Modem required" />
<part name="cart" interface="aquarius_cart">
diff --git a/hash/bbc_rom.xml b/hash/bbc_rom.xml
index 7498b37dba5..d6fb140dc07 100644
--- a/hash/bbc_rom.xml
+++ b/hash/bbc_rom.xml
@@ -18,6 +18,30 @@ license:CC0
</part>
</software>
+ <software name="2ndserial072" cloneof="2ndserial">
+ <description>2nd Serial 0.72</description>
+ <year>2000</year>
+ <publisher>Sprow</publisher>
+ <info name="author" value="Robert Sprowson"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="2ndSerial-0.72.rom" size="8192" crc="dd6d9cac" sha1="adeee9523585cdf59fc13f8c1437b488c3d170ea"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="2ndserial">
+ <description>2nd Serial 0.74</description>
+ <year>2000</year>
+ <publisher>Sprow</publisher>
+ <info name="author" value="Robert Sprowson"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="2ndSerial-0.74.rom" size="8192" crc="e58cdb76" sha1="9ebbe845734d77ebf1730ea622ce2db43f18b1c2"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="65c02asm">
<description>65C02 Assembler 1.60</description>
<year>1987</year>
@@ -30,6 +54,30 @@ license:CC0
</part>
</software>
+ <software name="65c02dev">
+ <description>Mijas 65(C)02 Development System 4.1</description>
+ <year>1987</year>
+ <publisher>Mijas Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <feature name="part_id" value="RELASM v4.1" />
+ <dataarea name="rom" size="16384">
+ <rom name="RELASM_65C02_Development_System-4.1.rom" size="16384" crc="331a90f3" sha1="0315efb3ed5eab3843e9b825cca137fdd2fa975d"/>
+ </dataarea>
+ </part>
+ <part name="rom2" interface="bbc_rom">
+ <feature name="part_id" value="ROMBUG v3.32" />
+ <dataarea name="rom" size="16384">
+ <rom name="ROMBUG_65C02_Debug-3.32.rom" size="16384" crc="7997b673" sha1="7046ad652f1c4507d150812a6a8c04c554be30bb"/>
+ </dataarea>
+ </part>
+ <part name="rom3" interface="bbc_rom">
+ <feature name="part_id" value="CCLIB v2.0" />
+ <dataarea name="rom" size="16384">
+ <rom name="CClib-2.0.rom" size="16384" crc="79a733cc" sha1="5a2f00e681bdc5c85c95abba9a022e857e320fea"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="advdfsm100" cloneof="advdfsm">
<description>Advanced 1770 DFS 1.00 (Master)</description>
<year>1986</year>
@@ -514,6 +562,17 @@ license:CC0
</part>
</software>
+ <software name="apb">
+ <description>Advanced Printer Buffer 1.01</description>
+ <year>1986</year>
+ <publisher>Advanced Computer Products</publisher>
+ <part name="rom" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="AdvancedPrinterBuffer-1.01.rom" size="8192" crc="a323c1c4" sha1="a74efad7befba46b7f0b735964722cc7a04d876d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="arm100" cloneof="arm">
<description>Advanced ROM Manager 1.00</description>
<year>1986</year>
@@ -669,7 +728,7 @@ license:CC0
</software>
<software name="adeplus">
- <description>ADE+</description>
+ <description>ADE+ 1.0</description>
<year>1986</year>
<publisher>System Software</publisher>
<part name="rom1" interface="bbc_rom">
@@ -684,6 +743,27 @@ license:CC0
</part>
</software>
+ <software name="adeplus093" cloneof="adeplus">
+ <description>ADE+ 0.93 (pre-release)</description>
+ <year>1986</year>
+ <publisher>System Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ADEplus-0.93.rom" size="16384" crc="30e16ac1" sha1="eda8a21bdb7c588a531fda80dc376f3b3f6f07e8"/>
+ </dataarea>
+ </part>
+ <part name="rom2" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ADE6500-0.93.rom" size="16384" crc="4c3e6409" sha1="65e0e31e83211fb7721408b66d98222e5b2e4bf1"/>
+ </dataarea>
+ </part>
+ <part name="rom3" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ADEBUG-0.93.rom" size="16384" crc="ae95a2ad" sha1="db6dd7445f5570ecdb037e0cf24d8946c2b29f50"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="adfs130">
<description>Acorn ADFS 1.30</description>
<year>1983</year>
@@ -795,8 +875,19 @@ license:CC0
</part>
</software>
+ <software name="adfsutil107" cloneof="adfsutil">
+ <description>ADFS Utilities 1.07</description>
+ <year>1988</year>
+ <publisher>Pineapple Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ADFSUtilities-1.07.rom" size="16384" crc="653decdc" sha1="00be15c56d90035281651d7b9c922293c866ead6"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="adfsutil">
- <description>ADFS Utilities</description>
+ <description>ADFS Utilities 1.10</description>
<year>1988</year>
<publisher>Pineapple Software</publisher>
<part name="rom1" interface="bbc_rom">
@@ -883,6 +974,17 @@ license:CC0
</part>
</software>
+ <software name="alantool">
+ <description>Alan's Tools</description>
+ <year>1986</year>
+ <publisher>UserSoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="AlansTools.rom" size="16384" crc="7c79c5a4" sha1="e33acde86d62c5889a52883749df3d6c884ab30f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="amdfs00000" cloneof="amdfsa">
<description>Amcom DFS S/N:00000</description>
<year>1983</year>
@@ -1111,6 +1213,17 @@ license:CC0
</part>
</software>
+ <software name="amt1">
+ <description>AMT-1 Terminal 1.04</description>
+ <year>1983</year>
+ <publisher>ICS Electronics</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="AMT1_Terminal-1.04.rom" size="16384" crc="d01faaee" sha1="ceaa27fa4a44a30332caf7cd818f246f0b9cc59e"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="amtor2">
<description>AMTOR MkII 3.05</description>
<year>1986</year>
@@ -1146,7 +1259,7 @@ license:CC0
</part>
</software>
- <software name="amwfsb">
+ <software name="amwfs634b" cloneof="amwfsb">
<description>Amcom WFS 6.34B</description>
<year>1986</year>
<publisher>Amcom</publisher>
@@ -1158,6 +1271,18 @@ license:CC0
</part>
</software>
+ <software name="amwfsb">
+ <description>Amcom WFS 6.56B</description>
+ <year>1986</year>
+ <publisher>Amcom</publisher>
+ <sharedfeat name="compatibility" value="B,B+"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Amcom-WFS-6.56B.rom" size="16384" crc="e2c68e30" sha1="c59fd45ca1acba574a27d49294a58f7bc2b9972d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="amxdesgn">
<description>AMX Design</description>
<year>1987</year>
@@ -1379,9 +1504,9 @@ license:CC0
</software>
<software name="arabic">
- <description>Arabic ROM</description>
- <year>1984</year>
- <publisher>Watford Electronics</publisher>
+ <description>Alnoor Arabic ROM</description>
+ <year>1985</year>
+ <publisher>A.L.K.</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Arabic-1.00.rom" size="16384" crc="94895cd3" sha1="21988704ea88e95404be046b6f6860c3186f020f"/>
@@ -1528,11 +1653,22 @@ license:CC0
</part>
</software>
+ <software name="asrom">
+ <description>ASROM 3.10</description>
+ <year>1985</year>
+ <publisher>Astonsoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="ASROM-3.10.rom" size="8192" crc="a2dfb093" sha1="56a82bce6fbfda7d9cd282e830aa033c1797947e"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ats238" cloneof="ats">
<description>BBC Teletext 2.38</description>
<year>198?</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Acorn Teletext Adaptor"/>
+ <info name="usage" value="Requires Acorn Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="BBCTeletext-2.38.rom" size="16384" crc="b14e0ac5" sha1="10684233152b9e9cbd56e5f6fa5d1ed6e65006d7"/>
@@ -1544,7 +1680,7 @@ license:CC0
<description>BBC Teletext 2.50</description>
<year>1986</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Acorn Teletext Adaptor"/>
+ <info name="usage" value="Requires Acorn Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="BBCTeletext-2.50.rom" size="16384" crc="6a8fcada" sha1="d8a51e4b9bd6bafa826d1d76622cc5811ce9a0ad"/>
@@ -1556,7 +1692,7 @@ license:CC0
<description>ATS 2.58</description>
<year>1987</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Acorn Teletext Adaptor"/>
+ <info name="usage" value="Requires Acorn Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-2.58.rom" size="16384" crc="2eb236ac" sha1="11ee629ff22d45cdfa4ad5dd7c70cafbbf11a971"/>
@@ -1568,7 +1704,7 @@ license:CC0
<description>ATS 2.59 Morley</description>
<year>1987</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Morley Teletext Adaptor"/>
+ <info name="usage" value="Requires Morley Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-2.59-Morley.rom" size="16384" crc="b6a1a3f2" sha1="45658bd369a07c5df3d41636a8f84bdf741ce159"/>
@@ -1580,7 +1716,7 @@ license:CC0
<description>ATS 2.60 STL</description>
<year>1988</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Solidisk Teletext Adaptor"/>
+ <info name="usage" value="Requires Solidisk Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-2.60-STL.rom" size="16384" crc="c00995a7" sha1="d7742f78e77a677e92b8401b7a00efd6e0dc6731"/>
@@ -1592,7 +1728,7 @@ license:CC0
<description>ATS 3.0</description>
<year>1988</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Acorn Teletext Adaptor"/>
+ <info name="usage" value="Requires Acorn Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-3.0.rom" size="16384" crc="c9c521e8" sha1="2703dd20bc96d867f74940d7aa1fe84c8f4c6ecc"/>
@@ -1604,7 +1740,7 @@ license:CC0
<description>ATS 3.1 Morley</description>
<year>1989</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Morley Teletext Adaptor"/>
+ <info name="usage" value="Requires Morley Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-3.1-Morley.rom" size="16384" crc="d8cc1386" sha1="41a25d5ab5972e6acfecf9318aab239c6e0ff1bc"/>
@@ -1616,7 +1752,7 @@ license:CC0
<description>ATS 3.1</description>
<year>1989</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires Acorn Teletext Adaptor"/>
+ <info name="usage" value="Requires Acorn Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS-3.1.rom" size="16384" crc="b16c4147" sha1="6e206e2232e83ebfc25647e029de2cb83876dd25"/>
@@ -1628,7 +1764,7 @@ license:CC0
<description>ATS+ 1.00</description>
<year>1987</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires GIS Teletext Adaptor"/>
+ <info name="usage" value="Requires GIS Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS+-1.00.rom" size="16384" crc="490382ee" sha1="d6ea5ade7a34947a48577a49d389da8698ca8370"/>
@@ -1640,7 +1776,7 @@ license:CC0
<description>ATS+ 2.00</description>
<year>1989</year>
<publisher>BBC Soft</publisher>
- <info name="usage" value="Requires GIS Teletext Adaptor"/>
+ <info name="usage" value="Requires GIS Teletext Adapter"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="ATS+-2.00.rom" size="16384" crc="0da04674" sha1="8713b63a5d4a63586f4220d28d6821947b6d0aac"/>
@@ -1648,6 +1784,17 @@ license:CC0
</part>
</software>
+ <software name="autosave">
+ <description>Autosave BASIC file</description>
+ <year>1986</year>
+ <publisher>Gordon Horsington</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Autosave BASIC-1.0.rom" size="16384" crc="20fecd2d" sha1="8ddcf6cde24546d48e17bd1b1b880e225d345576"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="barrybox" supported="no">
<description>Barry-Box</description>
<year>1986</year>
@@ -1716,6 +1863,17 @@ license:CC0
</part>
</software>
+ <software name="beast">
+ <description>BEAST 1.7</description>
+ <year>1984</year>
+ <publisher>University of Nottingham</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="BEAST-1.7.rom" size="8192" crc="03a3fe7e" sha1="4e4fc3128c42fb1322bd6ac56c2920bab0ea231c"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="beebaid101" cloneof="beebaid">
<description>BeebAid 1.01</description>
<year>1985</year>
@@ -2035,6 +2193,17 @@ license:CC0
</part>
</software>
+ <software name="booster">
+ <description>Basic Booster</description>
+ <year>1989</year>
+ <publisher>Beebugsoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="BasicBooster.rom" size="8192" crc="faff1bfa" sha1="223642652cbaa021c81edda6f70b9e7de6b06c15"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="brom106" cloneof="brom">
<description>BROM 1.06</description>
<year>1984</year>
@@ -2236,7 +2405,7 @@ license:CC0
<software name="chall">
<description>Opus Challenger 1.03</description>
- <year>198?</year>
+ <year>1987</year>
<publisher>Slogger</publisher>
<info name="usage" value="Requires Opus Challenger"/>
<sharedfeat name="compatibility" value="B"/>
@@ -2247,6 +2416,19 @@ license:CC0
</part>
</software>
+ <software name="chadfs">
+ <description>Opus Challenger ADFS 2.00</description>
+ <year>1987</year>
+ <publisher>Slogger</publisher>
+ <info name="usage" value="Requires Opus Challenger"/>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="32768">
+ <rom name="OpusChallengerADFS-2.00.rom" size="32768" crc="e922c19a" sha1="b9f5c749412528e4f8e9cda9f13e10f8405bb195"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="chameleon">
<description>Chameleon ROM 1.0</description>
<year>1989</year>
@@ -2259,6 +2441,28 @@ license:CC0
</part>
</software>
+ <software name="charset122" cloneof="charset">
+ <description>Character Sets 1.22</description>
+ <year>1990</year>
+ <publisher>J.G.Harston</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CharacterSets-1.22.rom" size="16384" crc="0ede3988" sha1="94c2e01d4716ccf2c75bf51fcdb29bdc60691d75"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="charset">
+ <description>Character Sets 1.23</description>
+ <year>1990</year>
+ <publisher>J.G.Harston</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CharacterSets-1.23.rom" size="16384" crc="b2071a44" sha1="78576b9b72d3ac30314c38044455fee9ec49c629"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="chauffeur">
<description>Chauffeur</description>
<year>1987</year>
@@ -2270,8 +2474,19 @@ license:CC0
</part>
</software>
+ <software name="cmsflex">
+ <description>CMS Flex 3.01</description>
+ <year>1984</year>
+ <publisher>CMS Soft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CMSFlex-3.01.rom" size="16384" crc="87c7b09f" sha1="7f2f8666298276713f6035f1dd12d1237cb8a81b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="cmslink">
- <description>CMS Link 2.00</description>
+ <description>CMS Link BBC -> Micro Module</description>
<year>1986</year>
<publisher>CMS Soft</publisher>
<part name="rom1" interface="bbc_rom">
@@ -2375,24 +2590,46 @@ license:CC0
</part>
</software>
- <software name="commsofte" cloneof="commsoft">
- <description>CommSoft 8.6e</description>
+ <software name="commsoft21" cloneof="commsoft">
+ <description>CommSoft 8.6e C21</description>
+ <year>1985</year>
+ <publisher>SoftMachinery</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CommSoft-8.6e-C21.rom" size="16384" crc="4d1bc757" sha1="3c0a1e64db16e5626ce8f7fdb4de76b13fb88559"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commsoft64" cloneof="commsoft">
+ <description>CommSoft 8.6h V64</description>
<year>1985</year>
<publisher>SoftMachinery</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="CommSoft-8.6e.rom" size="16384" crc="4d1bc757" sha1="3c0a1e64db16e5626ce8f7fdb4de76b13fb88559"/>
+ <rom name="CommSoft-8.6h-V64.rom" size="16384" crc="f2809b67" sha1="d4701308b2a44b1103de78070086c8c927555320"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commsoft172" cloneof="commsoft">
+ <description>CommSoft 8.6h V172</description>
+ <year>1985</year>
+ <publisher>SoftMachinery</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CommSoft-8.6h-V172.rom" size="16384" crc="78a3cab4" sha1="5bfecbb8421e103cbc1a32e759e4b6cf1a04573d"/>
</dataarea>
</part>
</software>
<software name="commsoft">
- <description>CommSoft 8.6h</description>
+ <description>CommSoft 8.6h C340</description>
<year>1985</year>
<publisher>SoftMachinery</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="CommSoft-8.6h.rom" size="16384" crc="09e56db5" sha1="6d50162871ca6c1ed0eebea9c2ba8528e0c718ba"/>
+ <rom name="CommSoft-8.6h-C340.rom" size="16384" crc="09e56db5" sha1="6d50162871ca6c1ed0eebea9c2ba8528e0c718ba"/>
</dataarea>
</part>
</software>
@@ -2441,6 +2678,61 @@ license:CC0
</part>
</software>
+ <software name="commstar3045" cloneof="commstar">
+ <description>Commstar 3045</description>
+ <year>1984</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Commstar-3045.rom" size="8192" crc="748ae37b" sha1="b57c206c89a6a7697090e37970f14fa78c60c815"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commstar3184" cloneof="commstar">
+ <description>Commstar 3184</description>
+ <year>1984</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Commstar-3184.rom" size="8192" crc="e58a1da4" sha1="c94f82b2a805faa79bf6e55bbe66ba4b930e8d1e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commstar3362" cloneof="commstar">
+ <description>Commstar 3362</description>
+ <year>1984</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Commstar-3362.rom" size="8192" crc="0befba86" sha1="a99a49df5c4de5a37f3f853c9c0cbefe12bc2f1a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commstar3525" cloneof="commstar">
+ <description>Commstar 3525</description>
+ <year>1984</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Commstar-3525.rom" size="8192" crc="e4e858b1" sha1="b08ef0dbc7fc50d57c19af44265daa436286a587"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commstar4055" cloneof="commstar">
+ <description>Commstar 4055</description>
+ <year>1984</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Commstar-4055.rom" size="8192" crc="39e77f57" sha1="b74befb412054cb9c4f70a2f77b1fc4eba102200"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="commstar6290" cloneof="commstar">
<description>Commstar 6290</description>
<year>1984</year>
@@ -2541,23 +2833,34 @@ license:CC0
</software>
<software name="commstar231" cloneof="commstar2">
- <description>Commstar II 2.31</description>
+ <description>Commstar II 2.31 S/N:2077</description>
<year>1986</year>
<publisher>PACE</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="Commstar-2.31.rom" size="16384" crc="b5f5f042" sha1="485e3a5d5270aee07a2a3d755f0831ef25348554"/>
+ <rom name="Commstar-2.31-2077.rom" size="16384" crc="b5f5f042" sha1="485e3a5d5270aee07a2a3d755f0831ef25348554"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commstar231a" cloneof="commstar2">
+ <description>Commstar II 2.31 S/N:2187</description>
+ <year>1986</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Commstar-2.31-2187.rom" size="16384" crc="5ea2bb24" sha1="976d9813f64dadbec1841d45cbea677b9eed6456"/>
</dataarea>
</part>
</software>
<software name="commstar2">
- <description>Commstar II 2.40</description>
+ <description>Commstar II 2.40 S/N:24650</description>
<year>1986</year>
<publisher>PACE</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="Commstar-2.40.rom" size="16384" crc="80ce15c0" sha1="abdb9df1632aa45394ca3561bab7c7561cafac10"/>
+ <rom name="Commstar-2.40-24650.rom" size="16384" crc="80ce15c0" sha1="abdb9df1632aa45394ca3561bab7c7561cafac10"/>
</dataarea>
</part>
</software>
@@ -2606,6 +2909,28 @@ license:CC0
</part>
</software>
+ <software name="compas2d">
+ <description>Compas 2D 1.0</description>
+ <year>1983</year>
+ <publisher>Autographics Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Compas2D-1.0.rom" size="8192" crc="1e922157" sha1="682fa3e6449be1330f001ba4e40b1a7d0a2da9ac"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="compasadv">
+ <description>Compas Advanced 3.06</description>
+ <year>1984</year>
+ <publisher>Autographics Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="CompasAdvanced-3.06.rom" size="8192" crc="b097361c" sha1="92c611a81874787b638032b92fad9168e3af423b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="conquest">
<description>ConQuest</description>
<year>1987</year>
@@ -2622,6 +2947,7 @@ license:CC0
<description>SJ Control ROM 0.23</description>
<year>1983</year>
<publisher>SJ Research</publisher>
+ <info name="author" value="Peter Miller"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="Control-0.23.rom" size="8192" crc="32f9f7a7" sha1="b814667bc4201a1895cc245db9dd4c419ca1bbcf"/>
@@ -2633,6 +2959,7 @@ license:CC0
<description>SJ Control ROM 0.30</description>
<year>1984</year>
<publisher>SJ Research</publisher>
+ <info name="author" value="Peter Miller"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="Control-0.30.rom" size="8192" crc="c1e23523" sha1="3f6cb47d380b82115e5ed0fb911fb899ab96ba94"/>
@@ -2640,6 +2967,17 @@ license:CC0
</part>
</software>
+ <software name="cookie">
+ <description>Cookie ROM</description>
+ <year>1984</year>
+ <publisher>Rhodri Davies</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Cookie-0.00.rom" size="16384" crc="f6a260ce" sha1="15a1744ab19511693e31639d3fadaf894ba81ffb"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="cpfs">
<description>CPFS+ 1.20</description>
<year>1991</year>
@@ -2651,6 +2989,18 @@ license:CC0
</part>
</software>
+ <software name="cpn067" cloneof="cpn071">
+ <description>CPN 0.67</description>
+ <year>1982</year>
+ <publisher>Torch Computers</publisher>
+ <sharedfeat name="compatibility" value="B"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="CPN-0.67.rom" size="8192" crc="44be0a4a" sha1="e4b86a32e17e60929674c26c52c4757b8ee6a3dd"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="cpn071">
<description>CPN 0.71</description>
<year>1982</year>
@@ -2719,8 +3069,19 @@ license:CC0
</part>
</software>
+ <software name="databeeb10" cloneof="databeeb">
+ <description>DataBeeb 1.0</description>
+ <year>1985</year>
+ <publisher>Miracle Technology</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DataBeeb-1.0.rom" size="8192" crc="cf849bab" sha1="d24f186f1357c39710a15e2a4113d32c3712881d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="databeeb">
- <description>DataBeeb</description>
+ <description>DataBeeb 1.2</description>
<year>1985</year>
<publisher>Miracle Technology</publisher>
<part name="rom1" interface="bbc_rom">
@@ -3128,6 +3489,17 @@ license:CC0
</part>
</software>
+ <software name="decce">
+ <description>DECCE Terminal 2.12</description>
+ <year>1984</year>
+ <publisher>Decce Universal</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DECCE-2.12.rom" size="8192" crc="34ebdb17" sha1="7b679db55805b7067e87232f8d17a45c9fbea8d9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="demomc">
<description>Demo (Master Compact)</description>
<year>1985</year>
@@ -3145,7 +3517,7 @@ license:CC0
</part>
</software>
- <software name="demon">
+ <software name="demon101" cloneof="demon">
<description>Demon Zromm 1.01</description>
<year>1984</year>
<publisher>Argonaut Software</publisher>
@@ -3156,6 +3528,17 @@ license:CC0
</part>
</software>
+ <software name="demon">
+ <description>Demon Zromm 1.03</description>
+ <year>1985</year>
+ <publisher>Argonaut Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DemonZromm-1.03.rom" size="8192" crc="0fe1bd33" sha1="1ef66d13c6dcd670c679ab809b31c7dc22728a4b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="desrom">
<description>DesROM</description>
<year>1987</year>
@@ -3167,6 +3550,17 @@ license:CC0
</part>
</software>
+ <software name="detalker">
+ <description>Detalker 1.00</description>
+ <year>1984</year>
+ <publisher>Revelstone</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Detalker-1.00.rom" size="8192" crc="7b232141" sha1="8d2e9c856227870c6e02da278eed6ac653dbebf8"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="dfs090" cloneof="dnfs120">
<description>Acorn DFS 0.90</description>
<year>198?</year>
@@ -3347,8 +3741,8 @@ license:CC0
</part>
</software>
- <software name="diagram">
- <description>Diagram</description>
+ <software name="diagram3112" cloneof="diagram">
+ <description>Diagram S/N:3112</description>
<year>1985</year>
<publisher>Pineapple Software</publisher>
<part name="rom1" interface="bbc_rom">
@@ -3358,6 +3752,39 @@ license:CC0
</part>
</software>
+ <software name="diagram3291" cloneof="diagram">
+ <description>Diagram S/N:3291</description>
+ <year>1985</year>
+ <publisher>Pineapple Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Diagram-3291.rom" size="16384" crc="aaac8534" sha1="badebbcda61efae277640fff3bd7e4004667f548"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="diagram">
+ <description>Diagram S/N:8787</description>
+ <year>1985</year>
+ <publisher>Pineapple Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Diagram-8787.rom" size="16384" crc="c14cacdf" sha1="6d2a6eb744ebd180ad2bdf5debad9ea0086368f2"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="diagram1">
+ <description>Diagram 1.00</description>
+ <year>198?</year>
+ <publisher>Pineapple Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Diagram-1.00.rom" size="16384" crc="b7dceff1" sha1="f3cad313dc25711398321f52feee3c9e668c1fff"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="diagram2">
<description>Diagram II</description>
<year>1987</year>
@@ -3380,7 +3807,7 @@ license:CC0
</part>
</software>
- <software name="digtldrw">
+ <software name="digtldrw834" cloneof="digtldrw">
<description>Digital Drawings DD/B834</description>
<year>1983</year>
<publisher>Ibbotsons Design Software</publisher>
@@ -3391,6 +3818,17 @@ license:CC0
</part>
</software>
+ <software name="digtldrw">
+ <description>Digital Drawings DD/B835</description>
+ <year>1983</year>
+ <publisher>Ibbotsons Design Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="DigitalDrawings-DD-B835.rom" size="16384" crc="2ef03aaf" sha1="42680b24cd62db4e2fe9b966fb0ac95921fd24d8"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="digitisr">
<description>Digitiser 1.00</description>
<year>1985</year>
@@ -3535,6 +3973,28 @@ license:CC0
</part>
</software>
+ <software name="disczap">
+ <description>Disc Zap 1.3</description>
+ <year>1983</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DiscZap-1.3.rom" size="8192" crc="cd10b050" sha1="e2a941bd445edda0544d0b2576ad44a3dd086d56"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="disczap2">
+ <description>Disc Zap V2 1.3</description>
+ <year>1983</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DiscZapV2-1.3.rom" size="8192" crc="773a99f2" sha1="41b01c3c4594ca4b053c5991428fe72ab1260348"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="dmaster">
<description>D-Master</description>
<year>1986</year>
@@ -3590,6 +4050,30 @@ license:CC0
</part>
</software>
+ <software name="dosfsb">
+ <description>DOS FS 1.13b</description>
+ <year>1990</year>
+ <publisher>Petrov Software</publisher>
+ <sharedfeat name="compatibility" value="B,B+"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DOSFS-1.13b.rom" size="8192" crc="e1470cd9" sha1="29711b190de57df2a544b107bf176b6133202df8"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dosfsm">
+ <description>DOS FS 1.13m</description>
+ <year>1990</year>
+ <publisher>Petrov Software</publisher>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DOSFS-1.13m.rom" size="8192" crc="2e0d1654" sha1="02034aee25570e6e024a07304d6f7778746761fb"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="dotprintp">
<description>DotPrint-Plus</description>
<year>1986</year>
@@ -3601,6 +4085,17 @@ license:CC0
</part>
</software>
+ <software name="drwhomin">
+ <description>Doctor Who and the Mines of Terror ROM</description>
+ <year>1985</year>
+ <publisher>Micro Power</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="DrWhoAndTheMinesOfTerror.rom" size="16384" crc="9ce48a7e" sha1="9287aa2c0ef535d008f7d0e7e34a96400098816a"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="dblview">
<description>DoubleView</description>
<year>1988</year>
@@ -3752,6 +4247,17 @@ license:CC0
</part>
</software>
+ <software name="dykasay">
+ <description>DykaSay Speech</description>
+ <year>198?</year>
+ <publisher>Dyka</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="DykaSay-3.07.rom" size="16384" crc="802c1e67" sha1="81a82950fe30716bd555b517992e33e5687db6ab"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="easytalk101" cloneof="easytalk">
<description>Easy Talk 1.01</description>
<year>1984</year>
@@ -3890,7 +4396,29 @@ license:CC0
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="EnvelopesROM-2.4.rom" size="8192" crc="adccec3d" sha1="d5a08e2f33aa423be043b199f5ec336824504ad6"/>
+ <rom name="EnvelopesROM-2.4.rom" size="8192" crc="de10fabe" sha1="8f0e85121e4ca1c4b550039489da0f23da4707d2"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="epic23" cloneof="epic">
+ <description>Extended Programmable Interactive Communicator 2.3</description>
+ <year>1983</year>
+ <publisher>University of Bristol</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="EPIC-2.3.rom" size="8192" crc="59c47ebb" sha1="cecb0a98a0d5fd70100b12e229bfd81885474620"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="epic">
+ <description>Extended Programmable Interactive Communicator 2.47</description>
+ <year>1983</year>
+ <publisher>University of Bristol</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="EPIC-2.47.rom" size="8192" crc="d5a0f73d" sha1="1273be89438778aa22ef60faa6d6845c0deb2eb9"/>
</dataarea>
</part>
</software>
@@ -4029,6 +4557,17 @@ license:CC0
</part>
</software>
+ <software name="epsonfx">
+ <description>Epson FX80 1.00</description>
+ <year>1983</year>
+ <publisher>Electronequip</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="v">
+ <rom name="EpsonFX80-1.00.rom" size="8192" crc="60ff9be7" sha1="b9cc33e67033c6b59f9113672ca4f84dea774769"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="epsondmp">
<description>Epson Dump ROM</description>
<year>1984</year>
@@ -4150,6 +4689,17 @@ license:CC0
</part>
</software>
+ <software name="expermnt">
+ <description>Experimenters 1.20P</description>
+ <year>1985</year>
+ <publisher>MEWsoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Expermenters-1.20P.rom" size="8192" crc="f35a4f40" sha1="1526bebc67e8f14646344b5fc2cc9aeac5c4b1ab"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="exrom317" cloneof="exrom">
<description>EXROM: The Extension ROM 3.17</description>
<year>1986</year>
@@ -4344,6 +4894,17 @@ license:CC0
</part>
</software>
+ <software name="fmon">
+ <description>FMON</description>
+ <year>1986</year>
+ <publisher>FSoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="FMON-1.0.rom" size="16384" crc="55c3d5e3" sha1="7b41fc149f1f550dc628e319e46953224cdf41bf"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="fontaid101" cloneof="fontaid">
<description>FontAid 1.01</description>
<year>1986</year>
@@ -4433,6 +4994,17 @@ license:CC0
</part>
</software>
+ <software name="ft2000">
+ <description>FT-2000</description>
+ <year>1984</year>
+ <publisher>Acoustimed</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="FT2000-1.10.rom" size="16384" crc="a06f63ef" sha1="a56d7602b3f53bf1aa1695a73bc2461a117d1d15"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="futures" supported="no">
<description>Futures 2.0a</description>
<year>1987</year>
@@ -4444,6 +5016,39 @@ license:CC0
</part>
</software>
+ <software name="gdump101" cloneof="gdump">
+ <description>GDump 1.01</description>
+ <year>1983</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="GDump-1.01.rom" size="8192" crc="ff98209c" sha1="cf26e81c891ddb031640107dba544d80e30b29a1"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gdump201" cloneof="gdump">
+ <description>GDump 2.01</description>
+ <year>1983</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="GDump-2.01.rom" size="8192" crc="2a962023" sha1="d993dd82bf11fd197388918e4cfa0368388d23d6"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gdump">
+ <description>GDump 3.00</description>
+ <year>1983</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="GDump-3.00.rom" size="8192" crc="6c86f413" sha1="bb2cab2399b777aa523c9d5f61e70bc6fc555b03"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="genie101" cloneof="genie" supported="no">
<description>PMS Genie 1.01</description>
<year>1987</year>
@@ -4658,6 +5263,17 @@ license:CC0
</part>
</software>
+ <software name="graphsys">
+ <description>Graphics System 0.20</description>
+ <year>1983</year>
+ <publisher>Level 9</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="GraphicsSystem-0.20.rom" size="8192" crc="15b11375" sha1="4dcae9ed747016bead59759b889939fcb9fc072c"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="grphterm">
<description>Graphics Terminal 2.01</description>
<year>1984</year>
@@ -4973,79 +5589,68 @@ license:CC0
</part>
</software>
- <software name="icebox">
- <description>Ice-Box 1.00</description>
- <year>1984</year>
- <publisher>Event One</publisher>
+ <software name="iconmstr">
+ <description>Icon Master 1.00</description>
+ <year>1985</year>
+ <publisher>Beebugsoft</publisher>
<part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="Ice-Box-1.00.rom" size="8192" crc="3c2833f7" sha1="d6706a0cd16470885ec43123d017072bc598d2dd"/>
+ <dataarea name="rom" size="16384">
+ <rom name="IconMaster-1.00.rom" size="16384" crc="e4d1fb9a" sha1="44964863cc8d5c8fb9876d1ee77ca82a6518161a"/>
</dataarea>
</part>
</software>
- <software name="iceboxa" cloneof="icebox">
- <description>Ice-Box 1.00 [alt]</description>
- <year>1984</year>
- <publisher>Event One</publisher>
+ <software name="ieeefs001" cloneof="ieeefs">
+ <description>IEEE Filing System 0.01</description>
+ <year>1983</year>
+ <publisher>Intelligent Interfaces</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="Ice-Box-1.00[a].rom" size="8192" crc="6b1f2783" sha1="4eb464c0e1d4460800f2ff50753f59fa5262a36c"/>
+ <rom name="IEEEFS-0.01.rom" size="8192" crc="69dfc98d" sha1="0d3fcb79e70cfa42eff8cc78bf29c2493898d6eb"/>
</dataarea>
</part>
</software>
- <software name="iceboxa2" cloneof="icebox">
- <description>Ice-Box 1.00 [alt2]</description>
- <year>1984</year>
- <publisher>Event One</publisher>
+ <software name="ieeefs002" cloneof="ieeefs">
+ <description>IEEE Filing System 0.02</description>
+ <year>1983</year>
+ <publisher>Intelligent Interfaces</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="Ice-Box-1.00[a2].rom" size="8192" crc="70504dd7" sha1="4aef36a14a16b0fae9a9a50772731f1b4f1839f8"/>
+ <rom name="IEEEFS-0.02.rom" size="8192" crc="8f5eb6e1" sha1="c063109bb2ac28bddc2798dfb043067ad0d97069"/>
</dataarea>
</part>
</software>
- <software name="iceboxa3" cloneof="icebox">
- <description>Ice-Box 1.00 [alt3]</description>
- <year>1984</year>
- <publisher>Event One</publisher>
+ <software name="ieeefs">
+ <description>IEEE Filing System 0.05</description>
+ <year>1983</year>
+ <publisher>Intelligent Interfaces</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="Ice-Box-1.00[a3].rom" size="8192" crc="c059c9a0" sha1="2c886cd9c7f96c1777b7de96793f0be39e124a6d"/>
+ <rom name="IEEEFS-0.05.rom" size="8192" crc="4c2e80ee" sha1="0bf33f0378657cf35a49f4f74be40c26ebcb9de5"/>
</dataarea>
</part>
</software>
- <software name="icebox14" cloneof="icebox">
- <description>Ice-Box 1.40</description>
- <year>1985</year>
- <publisher>Event One</publisher>
+ <software name="imagep">
+ <description>Image Processor 0.9A</description>
+ <year>1984</year>
+ <publisher>RH Electronics</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="Ice-Box-1.40.rom" size="8192" crc="31cbd6e4" sha1="3239ece31d642115d64aa4dbffd5b8eba12894d4"/>
- </dataarea>
- </part>
- </software>
-
- <software name="iconmstr">
- <description>Icon Master 1.00</description>
- <year>1985</year>
- <publisher>Beebugsoft</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="IconMaster-1.00.rom" size="16384" crc="e4d1fb9a" sha1="44964863cc8d5c8fb9876d1ee77ca82a6518161a"/>
+ <rom name="ImageProcessor-0.9A.rom" size="8192" crc="95bc21cc" sha1="834f38484025be4db49cf89bc853ec5bcd4ad16f"/>
</dataarea>
</part>
</software>
- <software name="imagep">
- <description>Image Processor 0.9A</description>
+ <software name="index">
+ <description>Index</description>
<year>1984</year>
- <publisher>RH Electronics</publisher>
+ <publisher>Solidisk</publisher>
<part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="ImageProcessor-0.9A.rom" size="8192" crc="95bc21cc" sha1="834f38484025be4db49cf89bc853ec5bcd4ad16f"/>
+ <dataarea name="rom" size="16384">
+ <rom name="Index.rom" size="16384" crc="d3023582" sha1="ceb9b0698af47f97c0f310b7ddbde5a033f30b37"/>
</dataarea>
</part>
</software>
@@ -5116,6 +5721,18 @@ license:CC0
</part>
</software>
+ <software name="ibase10a" cloneof="ibase">
+ <description>Inter-Base 1.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-1.0A.rom" size="65536" crc="1e619ebe" sha1="3b2509c22f5e57f020fac48547d04c22e39ce5db"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ibase">
<description>Inter-Base 2.0A</description>
<year>1987</year>
@@ -5358,6 +5975,17 @@ license:CC0
</part>
</software>
+ <software name="kermit025" cloneof="kermit">
+ <description>Kermit 0.25</description>
+ <year>1985</year>
+ <publisher>CUCCA</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Kermit-0.25.rom" size="16384" crc="66c451ea" sha1="ef1ad37627e4b84996c00feb9812a656a32283ac"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="kermit102" cloneof="kermit">
<description>Kermit 1.02</description>
<year>1985</year>
@@ -5413,6 +6041,32 @@ license:CC0
</part>
</software>
+ <software name="lanman032" cloneof="lanman" supported="no">
+ <description>LAN Manager 0.32</description>
+ <year>2008</year>
+ <publisher>Sprow</publisher>
+ <info name="author" value="Robert Sprowson"/>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="LANManager-0.32.rom" size="16384" crc="1df3b017" sha1="7dcde45c0c878f3ba66bf33f714360fbb93303f1"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lanman" supported="no">
+ <description>LAN Manager 0.37</description>
+ <year>2008</year>
+ <publisher>Sprow</publisher>
+ <info name="author" value="Robert Sprowson"/>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="LANManager-0.37.rom" size="16384" crc="9597054e" sha1="0d8b06d89a191589291057028011f078888ea799"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="lemodem100" cloneof="lemodem">
<description>Le Modem 1.00</description>
<year>1985</year>
@@ -5435,6 +6089,39 @@ license:CC0
</part>
</software>
+ <software name="lemon223" cloneof="lemon">
+ <description>Lemon 2.23</description>
+ <year>1983</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Lemon-2.23.rom" size="8192" crc="254c0d20" sha1="92bd8e7918af679f10b7ee4c5c34c479c7d3fa5d"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lemon226" cloneof="lemon">
+ <description>Lemon 2.26</description>
+ <year>1983</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Lemon-2.26.rom" size="8192" crc="bcd55b62" sha1="22ff51c60acfc94152b5849ab82d0029645c1700"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lemon">
+ <description>Lemon 4.0n</description>
+ <year>1985</year>
+ <publisher>D.A.Computers</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Lemon-4.0n.rom" size="16384" crc="fd4b8e53" sha1="0272c07899d29e6527d7829c6db986a5b31e3c8c"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="linemstr">
<description>Linemaster</description>
<year>1985</year>
@@ -5566,6 +6253,17 @@ license:CC0
</part>
</software>
+ <software name="lucifer">
+ <description>Lucifer Logic Analyser 1.0</description>
+ <year>1984</year>
+ <publisher>Ferroglen Research</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="LuciferLogicAnalyser-1.0.rom" size="16384" crc="1efbdf39" sha1="05d1f3f51a9669c5de48d550f1af2522faa30248"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="lvldos">
<description>LVL Dos 0.91</description>
<year>198?</year>
@@ -5580,6 +6278,31 @@ license:CC0
</part>
</software>
+ <software name="lvlsdos">
+ <description>LVL Super Dos 1.00</description>
+ <year>1984</year>
+ <publisher>LVL Group</publisher>
+ <info name="usage" value="Requires Computer Village 1797 FDC" />
+ <sharedfeat name="compatibility" value="B"/>
+ <sharedfeat name="fdc_default" value="cv1797"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="LVL-SuperDos-1.00.rom" size="16384" crc="0a51e354" sha1="84363f2f8e2fb4cca77ce27f48d88635b34fa3a5"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lxtools">
+ <description>LX-80 Toolkit</description>
+ <year>1986</year>
+ <publisher>Gordon Horsington</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="LX80-Toolkit-1.0.rom" size="8192" crc="06ac5298" sha1="c63e35daa7e9fb0d7a0534b921aba50e16c7d285"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="mach100" cloneof="mach1">
<description>MACH 1 1.00</description>
<year>1984</year>
@@ -5591,7 +6314,7 @@ license:CC0
</part>
</software>
- <software name="mach1">
+ <software name="mach101" cloneof="mach1">
<description>MACH 1 1.01</description>
<year>1984</year>
<publisher>Gnomonica</publisher>
@@ -5602,6 +6325,17 @@ license:CC0
</part>
</software>
+ <software name="mach1">
+ <description>MACH 1 1.03</description>
+ <year>1984</year>
+ <publisher>Gnomonica</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MACH1-1.03.rom" size="16384" crc="23170c4c" sha1="1857a0417d4404aadcee07aeed9f74c2c25b8cf3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="mass">
<description>MASS</description>
<year>1984</year>
@@ -5625,8 +6359,8 @@ license:CC0
</part>
</software>
- <software name="mstrcopy">
- <description>MASTERcopy</description>
+ <software name="mbcopy100" cloneof="mbcopy">
+ <description>MASTERcopy 1.00</description>
<year>1987</year>
<publisher>M/B Software</publisher>
<sharedfeat name="compatibility" value="M"/>
@@ -5637,6 +6371,18 @@ license:CC0
</part>
</software>
+ <software name="mbcopy">
+ <description>MASTERcopy 1.01</description>
+ <year>1987</year>
+ <publisher>M/B Software</publisher>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="MASTERcopy-1.01.rom" size="8192" crc="56a4d5f8" sha1="615e2098831a4f74622ef384b0d815577e494320"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="masterem100" cloneof="masterem">
<description>Master Emulation ROM 1.00</description>
<year>1987</year>
@@ -5649,6 +6395,18 @@ license:CC0
</part>
</software>
+ <software name="masterem100d" cloneof="masterem">
+ <description>Master Emulation ROM 1.00 (Dabbs)</description>
+ <year>1987</year>
+ <publisher>Dabbs Press</publisher>
+ <sharedfeat name="compatibility" value="B,B+"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MasterEmulationROM-1.00-Dabbs.rom" size="16384" crc="faa338b1" sha1="93e481304fb3978b8f1608b5e1baff7cf90c5561"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="masterem201" cloneof="masterem">
<description>Master Emulation ROM 2.01</description>
<year>1987</year>
@@ -5661,6 +6419,18 @@ license:CC0
</part>
</software>
+ <software name="masterem201d" cloneof="masterem">
+ <description>Master Emulation ROM 2.01 (Dabbs)</description>
+ <year>1987</year>
+ <publisher>Dabbs Press</publisher>
+ <sharedfeat name="compatibility" value="B,B+"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MasterEmulationROM-2.01-Dabbs.rom" size="16384" crc="83ec7fc5" sha1="3f516097027def7c8d59bc8fad43951ac9a95bb4"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="masterem">
<description>Master Emulation ROM 2.02</description>
<year>1988</year>
@@ -5734,8 +6504,8 @@ license:CC0
<software name="maxim">
<description>Maxim 1.0</description>
- <year>198?</year>
- <publisher>J.Price</publisher>
+ <year>1986</year>
+ <publisher>Maxim Computer Systems</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Maxim-1.0.rom" size="16384" crc="e8493587" sha1="c786d023e2c460ab095974ed7bad56c4ea815423"/>
@@ -5766,6 +6536,18 @@ license:CC0
</part>
</software>
+ <software name="mcp101ab">
+ <description>MCP v1.01 (AB)</description>
+ <year>1984</year>
+ <publisher>Torch Computers</publisher>
+ <sharedfeat name="compatibility" value="B"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MCP-1.01-AB.rom" size="16384" crc="1892d3ca" sha1="35f718cdc6b980f86c78a4f6272b1bff4f1d51e3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="mcp120cbl">
<description>MCP v1.20 (CBL)</description>
<year>1985</year>
@@ -5883,6 +6665,18 @@ license:CC0
</part>
</software>
+ <software name="memex256">
+ <description>Memex Chameleon 256K 2.00</description>
+ <year>1986</year>
+ <publisher>Memex</publisher>
+ <info name="usage" value="Requires Memex Chameleon board"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Chameleon256-2.00.rom" size="8192" crc="6a582d2f" sha1="1e1536941bd84e2e809da62850035c1584781cb3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="menurom100" cloneof="menurom">
<description>Menu ROM 1.00</description>
<year>1985</year>
@@ -5981,6 +6775,17 @@ license:CC0
</part>
</software>
+ <software name="micromon">
+ <description>Micromon</description>
+ <year>1983</year>
+ <publisher>Molimerx</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Micromon-0.01.rom" size="8192" crc="9aa7c657" sha1="6beae75e638d66c3ebe5bc1c3c1fe865a80034f8"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="micrnet130" cloneof="micrnet">
<description>Micronet 1.30</description>
<year>1983</year>
@@ -6095,6 +6900,18 @@ license:CC0
</part>
</software>
+ <software name="midos">
+ <description>MiDOS 0.16</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="B"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="MiDOS-0.16.rom" size="8192" crc="2a874535" sha1="3dbdaa481cb1f28283365dc3391b805468fd5162"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="midwdfs">
<description>Midwich MWFS</description>
<year>1985</year>
@@ -6121,6 +6938,17 @@ license:CC0
</part>
</software>
+ <software name="modemc">
+ <description>Modem Controller 1.01</description>
+ <year>1985</year>
+ <publisher>Loco Systems</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ModemController-1.01.rom" size="16384" crc="2353eace" sha1="f67f00150b558ad692685379ed32eed1b94151c8"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="monitor001" cloneof="monitor">
<description>Monitor 0.01</description>
<year>1983</year>
@@ -6271,6 +7099,17 @@ license:CC0
</part>
</software>
+ <software name="multbas">
+ <description>Multi-Basic 1.00</description>
+ <year>1985</year>
+ <publisher>CMS Soft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MultiBasic-1.00.rom" size="16384" crc="fb2200df" sha1="4d034c56d33b09177263f394412975b551506602"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="multfont">
<description>MultiFont</description>
<year>1984</year>
@@ -6326,6 +7165,17 @@ license:CC0
</part>
</software>
+ <software name="n3270">
+ <description>Network 3270 Terminal 2.1</description>
+ <year>1985</year>
+ <publisher>J I Davies</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Network3270-2.1.rom" size="16384" crc="7b9ecf81" sha1="6db35423f281d0ebcc397d8ea9da75460d966dce"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ntqfont1">
<description>NTQ Font Extension ROM 1</description>
<year>1986</year>
@@ -6451,7 +7301,7 @@ license:CC0
<software name="nfs334">
<description>Acorn NFS 3.34</description>
- <year>198?</year>
+ <year>1982</year>
<publisher>Acorn</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
@@ -6462,7 +7312,7 @@ license:CC0
<software name="nfs334b" cloneof="nfs334">
<description>Acorn NFS 3.34B</description>
- <year>198?</year>
+ <year>1982</year>
<publisher>Acorn</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
@@ -6560,6 +7410,17 @@ license:CC0
</part>
</software>
+ <software name="olsutil">
+ <description>OlsUtil 3.00</description>
+ <year>1985</year>
+ <publisher>Per H. Nielsen</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="OlsUtil-3.00.rom" size="8192" crc="40f3d8df" sha1="e47fbf815c4dc9e1b10cd9c4579cdcf037f15896"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="oplogo">
<description>Open LOGO</description>
<year>1984</year>
@@ -6598,6 +7459,17 @@ license:CC0
</part>
</software>
+ <software name="oxpascal10" cloneof="oxpascal">
+ <description>Oxford Pascal 1.0</description>
+ <year>1985</year>
+ <publisher>Oxford Computer Systems</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="OxfordPascal-1.0.rom" size="16384" crc="a298388e" sha1="447c2eb9381841d19faa377b5c44a1808a770611"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="oxpascal11" cloneof="oxpascal">
<description>Oxford Pascal 1.1</description>
<year>1985</year>
@@ -6675,6 +7547,17 @@ license:CC0
</part>
</software>
+ <software name="pcb105" cloneof="pcb">
+ <description>PCB 1.05</description>
+ <year>1986</year>
+ <publisher>Pineapple Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="PCB-1.05.rom" size="16384" crc="b8824a69" sha1="29bc0af50bf8c3f7a92c7d1b59b5af3db564cced"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="pcb107" cloneof="pcb">
<description>PCB 1.07</description>
<year>1986</year>
@@ -6785,6 +7668,17 @@ license:CC0
</part>
</software>
+ <software name="phx023" cloneof="phx">
+ <description>PHX 0.23</description>
+ <year>198?</year>
+ <publisher>University of Cambridge</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="PHX-0.23.rom" size="8192" crc="6a26bfeb" sha1="5d06308c1eaa84c4a7d481d913135b6fe8af22b7"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="phx100" cloneof="phx">
<description>PHX 1.00</description>
<year>198?</year>
@@ -6890,8 +7784,8 @@ license:CC0
<year>1984</year>
<publisher>Acorn</publisher>
<part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Prestel-1.1.rom" size="16384" crc="7266f0af" sha1="9badd7ace07d9c3683fa5ba60d869959dbd55103"/>
+ <dataarea name="rom" size="8192">
+ <rom name="Prestel-1.1.rom" size="8192" crc="21d1a780" sha1="72483b4a71d8e7452641cea25212d521c5854dcf"/>
</dataarea>
</part>
</software>
@@ -6899,7 +7793,7 @@ license:CC0
<software name="prestel47" cloneof="prestel" supported="no">
<description>Prestel 4.7n</description>
<year>1984</year>
- <publisher>Acorn</publisher>
+ <publisher>SofMac</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="Prestel-4.7n.rom" size="8192" crc="0a67a386" sha1="4e3f983e51e812a903dfce9bfbb41a040c4b9ff5"/>
@@ -6910,7 +7804,7 @@ license:CC0
<software name="prestelt471" cloneof="prestel" supported="no">
<description>Prestel Trial 4.71r</description>
<year>1984</year>
- <publisher>Acorn</publisher>
+ <publisher>SofMac</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="PrestelTrial-4.71r.rom" size="8192" crc="c6067294" sha1="5702b0b895cfabb30ffdcf9fe2718de2276315ef"/>
@@ -6921,7 +7815,7 @@ license:CC0
<software name="prestel" supported="no">
<description>Prestel 4.8n</description>
<year>1984</year>
- <publisher>Acorn</publisher>
+ <publisher>SofMac</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="Prestel-4.8n.rom" size="8192" crc="7b021ee3" sha1="a5250165b10d317c1a593fbb5ec6b2504a42de44"/>
@@ -6957,7 +7851,7 @@ license:CC0
<publisher>Logotron</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="PrintBox-1.22.rom" size="16384" crc="045f7460" sha1="2c61c694a7c21658907ecf8be355032e5b7ac245"/>
+ <rom name="PrintBox-1.22.rom" size="16384" crc="53b331ea" sha1="626ecfffd14f0005af16c3352a06c216f1ede6be"/>
</dataarea>
</part>
</software>
@@ -7039,6 +7933,17 @@ license:CC0
</part>
</software>
+ <software name="prntmeps106" cloneof="prntmeps">
+ <description>Printmaster (Epson) 1.06</description>
+ <year>1984</year>
+ <publisher>Computer Concepts</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Printmaster-Epson-1.06.rom" size="8192" crc="efc45ee4" sha1="ca921caa7bcf580dc1a4924b14c676a64765689b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="prntmeps108" cloneof="prntmeps">
<description>Printmaster (Epson) 1.08</description>
<year>1984</year>
@@ -7108,6 +8013,29 @@ license:CC0
</part>
</software>
+ <software name="prntutil">
+ <description>Printer Utility</description>
+ <year>1984</year>
+ <publisher>&gt;unknown&lt;</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="PrinterUtility.rom" size="8192" crc="e20b6c24" sha1="cc68804bc5ff819acd48ccfc20ffe1ca4a748f7a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="prntware">
+ <description>Printware Support ROM 1.1</description>
+ <year>1988</year>
+ <publisher>Data Design</publisher>
+ <info name="usage" value="Use with Designer Castles"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="PrintwareSupport-1.1.rom" size="16384" crc="17f17eb1" sha1="05739191af2edc5817e6404b204b63e07eb54c58"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="prisma2">
<description>MasterPieCe 1.10</description>
<year>1987</year>
@@ -7154,24 +8082,35 @@ license:CC0
</part>
</software>
- <software name="probe402" cloneof="probe">
- <description>Probe 4.02</description>
+ <software name="probe2402" cloneof="probe2">
+ <description>Probe 2 4.02</description>
<year>1984</year>
<publisher>Altra</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="Probe-4.02.rom" size="16384" crc="6ad22fab" sha1="b42ae689156e2f92be27558b9b94b4966fc7ac94"/>
+ <rom name="Probe2-4.02.rom" size="16384" crc="6ad22fab" sha1="b42ae689156e2f92be27558b9b94b4966fc7ac94"/>
</dataarea>
</part>
</software>
- <software name="probe">
- <description>Probe 4.05</description>
+ <software name="probe2">
+ <description>Probe 2 4.05</description>
<year>1984</year>
<publisher>Altra</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="Probe-4.05.rom" size="16384" crc="311d51ac" sha1="19d22c0a0845b8c5e78e9055df2ff796d554c20f"/>
+ <rom name="Probe2-4.05.rom" size="16384" crc="311d51ac" sha1="19d22c0a0845b8c5e78e9055df2ff796d554c20f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="procyon">
+ <description>Procyon 1.81</description>
+ <year>1985</year>
+ <publisher>JK Programs</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Procyon-1.81.rom" size="8192" crc="467e478d" sha1="1cebfbc9c942f4c8a2a82fa22ce1da96229af952"/>
</dataarea>
</part>
</software>
@@ -7294,6 +8233,28 @@ license:CC0
</part>
</software>
+ <software name="qmc1510">
+ <description>QMC1510 Terminal Emulator</description>
+ <year>198?</year>
+ <publisher>Queen Mary College</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="QMC1510.rom" size="8192" crc="31b066da" sha1="34710bdcc08e008c6b7537cd2d8c01b1c666a658"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="qrom">
+ <description>QROM</description>
+ <year>1984</year>
+ <publisher>Redvers Developments</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="QROM.rom" size="8192" crc="70689753" sha1="1c70f9daca5099230e83d962407053ccf1956715"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="quest21a" cloneof="quest">
<description>Quest 2.1A</description>
<year>1984</year>
@@ -7343,7 +8304,7 @@ license:CC0
<software name="ramdisc">
<description>RAMDisc 1.01</description>
<year>198?</year>
- <publisher>M/B Software</publisher>
+ <publisher>Morley Electronics</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="RAMDisc-1.01.rom" size="16384" crc="627568c2" sha1="17e727998756fe35ff451fd2ce1d4b5977be24fc"/>
@@ -7725,6 +8686,17 @@ license:CC0
</part>
</software>
+ <software name="rtty">
+ <description>RTTY Program 1.05</description>
+ <year>1983</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="RTTY-1.05.rom" size="8192" crc="244fe01f" sha1="40a6f3ca9d867848ecd8a9652630e714d61c6d6c"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="satpic3" supported="no">
<description>SatPic 3.0 (Timestep)</description>
<year>1986</year>
@@ -7769,35 +8741,24 @@ license:CC0
</part>
</software>
- <software name="scrndump101" cloneof="scrndump">
- <description>Screen Dump ROM 1.01</description>
- <year>1983</year>
- <publisher>D.A.Computers</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="ScreenDump-1.01.rom" size="16384" crc="2cfaac28" sha1="c726ebc20ec99fdc2a7aefc1b1f27df2027a5d05"/>
- </dataarea>
- </part>
- </software>
-
- <software name="scrndump">
- <description>Screen Dump ROM 2.01</description>
- <year>1983</year>
- <publisher>D.A.Computers</publisher>
+ <software name="scrnprnt020" cloneof="scrnprnt">
+ <description>Screenprint 0.20</description>
+ <year>1987</year>
+ <publisher>ESM</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="ScreenDump-2.01.rom" size="8192" crc="2a962023" sha1="d993dd82bf11fd197388918e4cfa0368388d23d6"/>
+ <rom name="Screenprint-0.20.rom" size="8192" crc="a3a57f0c" sha1="aea1b5c2101ac94ce6234a089ea03977be54328e"/>
</dataarea>
</part>
</software>
- <software name="scrnprnt020" cloneof="scrnprnt">
- <description>Screenprint 0.20</description>
- <year>1988</year>
+ <software name="scrnprnt024" cloneof="scrnprnt">
+ <description>Screenprint 0.24</description>
+ <year>1987</year>
<publisher>ESM</publisher>
<part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="Screenprint-0.20.rom" size="8192" crc="a3a57f0c" sha1="aea1b5c2101ac94ce6234a089ea03977be54328e"/>
+ <dataarea name="rom" size="16384">
+ <rom name="Screenprint-0.24.rom" size="16384" crc="c88be535" sha1="f06867e6dac7bcca0364138b4860e3c11b771e9e"/>
</dataarea>
</part>
</software>
@@ -7924,6 +8885,17 @@ license:CC0
</part>
</software>
+ <software name="selcopy">
+ <description>Selective Copier</description>
+ <year>198?</year>
+ <publisher>A&amp;T-Soft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="SelCopy-1.00.rom" size="8192" crc="a1826068" sha1="152973739696c21c029061439d9bc7203b7c8795"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sforth">
<description>Super-Forth 1.5</description>
<year>1984</year>
@@ -8080,8 +9052,19 @@ license:CC0
</part>
</software>
+ <software name="slkeypad200" cloneof="slkeypad">
+ <description>Softlife Keypad Software 2.00</description>
+ <year>1985</year>
+ <publisher>Softlife</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Softlife-Keypad-2.00.rom" size="8192" crc="616e6b13" sha1="8ba1be8eac627552ba3aee75713fb87ce27fc8b6"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="slkeypad">
- <description>Softlife Keypad Software</description>
+ <description>Softlife Keypad Software 2.10</description>
<year>1985</year>
<publisher>Softlife</publisher>
<part name="rom1" interface="bbc_rom">
@@ -8271,13 +9254,24 @@ license:CC0
</part>
</software>
+ <software name="starbasekt" cloneof="starbase">
+ <description>StarBASE 2.00 (Keyteam)</description>
+ <year>1984</year>
+ <publisher>Computer Users Club</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="StarBASE-2.00-KT.rom" size="16384" crc="78873bde" sha1="c0d2796451c4736d958f8dfe9e72cd905756e058"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="starbasecuc" cloneof="starbase">
<description>StarBASE 2.00 (CUC)</description>
<year>1984</year>
<publisher>Computer Users Club</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="StarBASE-2.00-CUC.rom" size="16384" crc="78873bde" sha1="c0d2796451c4736d958f8dfe9e72cd905756e058"/>
+ <rom name="StarBASE-2.00-CUC.rom" size="16384" crc="df47e0ce" sha1="8b438c4a70231f39fe3f87dcd51ceb21be272cbf"/>
</dataarea>
</part>
</software>
@@ -8370,6 +9364,17 @@ license:CC0
</part>
</software>
+ <software name="starnlq">
+ <description>Star NLQ 1.0</description>
+ <year>1984</year>
+ <publisher>Watford Electronics</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="StarNLQ-1.0.rom" size="8192" crc="b968fd52" sha1="5ae1896aff3a061b31fc4a65393ca87aad57418b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="starstik141" cloneof="starstik">
<description>StarStick 1.41</description>
<year>1984</year>
@@ -8442,7 +9447,7 @@ license:CC0
</part>
</software>
- <software name="stladfs21j" supported="no">
+ <software name="stladfs21j10" supported="no">
<description>Solidisk ADFS 2.1J (10MB)</description>
<year>1986</year>
<publisher>Solidisk</publisher>
@@ -8454,6 +9459,18 @@ license:CC0
</part>
</software>
+ <software name="stladfs21j20m" supported="no">
+ <description>Solidisk ADFS 2.1J (20MB) Master</description>
+ <year>1986</year>
+ <publisher>Solidisk</publisher>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="32768">
+ <rom name="Solidisk-ADFS-2.1J-20MB-Master.rom" size="32768" crc="2861f769" sha1="8d04d31716a3735abd3b2b6d2da91b7bdec975bf"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="stladfs21m">
<description>Solidisk ADFS 2.1M</description>
<year>1985</year>
@@ -8517,6 +9534,19 @@ license:CC0
</part>
</software>
+ <software name="stlddfs18">
+ <description>Solidisk DDFS 1.8</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">
+ <rom name="Solidisk-DDFS-1.8.rom" size="8192" crc="aaeaf35e" sha1="8f62c4e19fc4335ce1c532963e43334f00af19e9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="stlddfs19">
<description>Solidisk DDFS 1.9</description>
<year>1985</year>
@@ -8903,6 +9933,17 @@ license:CC0
</part>
</software>
+ <software name="supastor14">
+ <description>SupaStore 1.4</description>
+ <year>1986</year>
+ <publisher>ESM</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="SupaStore-1.4.rom" size="16384" crc="9e5845ee" sha1="643a33ff38b09aaf9cda0bf01b5e9c9bde5bac5b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="supastor15">
<description>SupaStore 1.5</description>
<year>198?</year>
@@ -8949,7 +9990,7 @@ license:CC0
<software name="suprutil">
<description>Super Utility</description>
- <year>198?</year>
+ <year>1985</year>
<publisher>GTM Computers</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
@@ -9102,6 +10143,28 @@ license:CC0
</part>
</software>
+ <software name="tek4010">
+ <description>Tektronix 4010 and VT100 Emulator</description>
+ <year>1983</year>
+ <publisher>Polytechnic of Central London</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Tektronix4010-0.10.rom" size="8192" crc="55580612" sha1="2d0056113f4438440a9e16169abffb8bf3f8afb1"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="teledata">
+ <description>Teledata 1.0</description>
+ <year>1984</year>
+ <publisher>Kenneth B. Larsen</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Teledata-1.0.rom" size="16384" crc="e4facce4" sha1="32fb9d5fc406bb504f8fe89da6c22fb009bfe233"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="teletel100" cloneof="teletel">
<description>Teletel Emulator 1.00</description>
<year>1986</year>
@@ -9135,6 +10198,17 @@ license:CC0
</part>
</software>
+ <software name="teletxted">
+ <description>Teletext Editor 1.00</description>
+ <year>1985</year>
+ <publisher>Solidisk</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="TeletextEditor-1.00.rom" size="16384" crc="ca7d8da0" sha1="ae04d2a953d17144354ad3f28139f6bbf53415f1"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ttxtrtf" cloneof="ttxtsup">
<description>Teletext RTFROM</description>
<year>1986</year>
@@ -9157,6 +10231,28 @@ license:CC0
</part>
</software>
+ <software name="televid">
+ <description>Televideo Emulator 1.1</description>
+ <year>198?</year>
+ <publisher>Protechnic Concepts</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="TelevideoEmulator-1.1.rom" size="8192" crc="3239abc0" sha1="dd7090832cda5fee22f10ca87e7201af288713be"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="termi209a" cloneof="termi2">
+ <description>Termi II 0.9A</description>
+ <year>1984</year>
+ <publisher>Computer Concepts</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="TermiII-0.9A.rom" size="8192" crc="7f397001" sha1="38365ee07983675a5e53f5ee79555fb6ef31e991"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="termi2">
<description>Termi II A1.5</description>
<year>1984</year>
@@ -9168,6 +10264,17 @@ license:CC0
</part>
</software>
+ <software name="termi202" cloneof="termi">
+ <description>Termi 2.02</description>
+ <year>1983</year>
+ <publisher>Computer Concepts</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Termi-2.02.rom" size="8192" crc="25cc9dee" sha1="d4ce6e024e30b30663b17df390c6ac920d0c0832"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="termi205" cloneof="termi">
<description>Termi 2.05</description>
<year>1983</year>
@@ -9268,8 +10375,21 @@ license:CC0
</part>
</software>
+ <software name="tictoc100" cloneof="tictoc">
+ <description>Tic-Toc RTC 1.00</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-1.00.rom" size="16384" crc="99de1358" sha1="eb81169a9b578376b543927439c030a13be0bf80"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="tictoc">
- <description>Tic-Toc RTC</description>
+ <description>Tic-Toc RTC 2.03</description>
<year>1988</year>
<publisher>Computer and Technical Services</publisher>
<sharedfeat name="compatibility" value="B"/>
@@ -9328,13 +10448,35 @@ license:CC0
</part>
</software>
- <software name="tnc23">
+ <software name="pk87" cloneof="pk232">
+ <description>BBC/PK-232 1.00</description>
+ <year>1987</year>
+ <publisher>Ian Copestake Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="BBC_PK-232-1.00.rom" size="8192" crc="8050a06e" sha1="6d3669e2321cc2704cfd08c9d5e215a3fdcbf4a4"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pk232">
+ <description>BBC/PK-232 1.01</description>
+ <year>1987</year>
+ <publisher>Ian Copestake Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="BBC_PK-232-1.01.rom" size="16384" crc="dc445b0f" sha1="89d31ab2217e338f0f99ccab36253dc8ed7c091d"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tnc3">
<description>TNC2-3 Driver</description>
<year>1987</year>
<publisher>Amrac</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="TNC2-3.rom" size="16384" crc="4bad82be" sha1="be0d29c263517003517039fd02bdc521342069c2"/>
+ <rom name="TNC3.rom" size="16384" crc="4bad82be" sha1="be0d29c263517003517039fd02bdc521342069c2"/>
</dataarea>
</part>
</software>
@@ -9471,6 +10613,17 @@ license:CC0
</part>
</software>
+ <software name="toolstar1409" cloneof="toolstar">
+ <description>Toolstar 1.77 1409</description>
+ <year>1983</year>
+ <publisher>PACE</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Toolstar-1.77-1409.rom" size="8192" crc="6272a208" sha1="cdb1b9b652eaa237cf7cbde5100c1fd78e100ab2"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="toolstar">
<description>Toolstar 1.77 1511</description>
<year>1983</year>
@@ -9643,6 +10796,17 @@ license:CC0
</part>
</software>
+ <software name="unicom">
+ <description>Unicom Zromm 0.99e</description>
+ <year>1984</year>
+ <publisher>Argonaut Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="UnicomZromm-0.99e.rom" size="8192" crc="66374702" sha1="bd21c41dd81adcf9cdfc8e34d9e1f15e4485d884"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="uniterm">
<description>Uniterm</description>
<year>1983</year>
@@ -9840,8 +11004,31 @@ license:CC0
</part>
</software>
- <software name="utools">
- <description>U-Tools</description>
+ <software name="userutil">
+ <description>Users Utility 1.10</description>
+ <year>1984</year>
+ <publisher>S and A Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="UsersUtility-1.10.rom" size="8192" crc="eab21fca" sha1="6389180e6ad0d8e331ef67f7e743d7c9da183ca8"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="utilrom">
+ <description>The UtilRom 1.2</description>
+ <year>1990</year>
+ <publisher>B&amp;B Software</publisher>
+ <sharedfeat name="compatibility" value="M"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="TheUtilRom-1.2.rom" size="16384" crc="628e3ea4" sha1="50e139aec4be2ccf97e8d00c31542dde796ac6c8"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="utools124" cloneof="utools">
+ <description>U-Tools 1.24</description>
<year>1984</year>
<publisher>Intersoft</publisher>
<part name="rom1" interface="bbc_rom">
@@ -9851,8 +11038,8 @@ license:CC0
</part>
</software>
- <software name="utoolsd" cloneof="utools">
- <description>U-Tools Demonstration</description>
+ <software name="utools125d" cloneof="utools">
+ <description>U-Tools 1.25 Demonstration</description>
<year>1984</year>
<publisher>Intersoft</publisher>
<part name="rom1" interface="bbc_rom">
@@ -9862,6 +11049,17 @@ license:CC0
</part>
</software>
+ <software name="utools">
+ <description>U-Tools 1.26</description>
+ <year>1984</year>
+ <publisher>Intersoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="UTools-1.26.rom" size="16384" crc="0b2d6887" sha1="de35982762d289c078d7d3bbfdc053372b32172c"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="uviprom1e1" cloneof="uviprom">
<description>UVIPROM 1E1</description>
<year>1985</year>
@@ -9939,6 +11137,58 @@ license:CC0
</part>
</software>
+ <software name="vaxvt100">
+ <description>Vax VT100</description>
+ <year>1985</year>
+ <publisher>Liverpool University</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="VaxVT100-C085.rom" size="16384" crc="9ee42d63" sha1="8fd70834be58d4a2897ba4abab9b2c876d3ce140"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="vaxvt100a" cloneof="vaxvt100">
+ <description>Vax VT100 (alt)</description>
+ <year>1985</year>
+ <publisher>Liverpool University</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="VaxVT100-C085a.rom" size="16384" crc="4bdea26f" sha1="a53b4fc24bab8a6194aff1d7b90d0e03a737259d"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ulcc">
+ <description>ULCC Enhanced Console Routines 0.32</description>
+ <year>1985</year>
+ <publisher>University of London Computer Centre</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <feature name="part_id" value="Utility" />
+ <dataarea name="rom" size="16384">
+ <rom name="ULCC-Utility-323_14.rom" size="16384" crc="5ce77eb9" sha1="bfecb2bbf5400186f0da094d2c2a711c3cca341e"/>
+ </dataarea>
+ </part>
+ <part name="rom2" interface="bbc_rom">
+ <feature name="part_id" value="Workstation" />
+ <dataarea name="rom" size="16384">
+ <rom name="ULCC-Workstation-1.4_4.rom" size="16384" crc="e6e5a752" sha1="69a4c50735e0accbc0afa6232cf0d5c429f9597d"/>
+ </dataarea>
+ </part>
+ <part name="rom3" interface="bbc_rom">
+ <feature name="part_id" value="CONFIG Program" />
+ <dataarea name="rom" size="16384">
+ <rom name="ULCC-EnhancedConsoleConfig-0.21_8.rom" size="16384" crc="b88a6297" sha1="2c4bac24c19f1f6a8c56ddf35a5f481b022af2be"/>
+ </dataarea>
+ </part>
+ <part name="rom4" interface="bbc_rom">
+ <feature name="part_id" value="CONSOLE Program" />
+ <dataarea name="rom" size="16384">
+ <rom name="ULCC-Console-V872_9.rom" size="16384" crc="d0f6a01a" sha1="da35145d821a16c73cb617146362d1cdc1f40747"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="vdu">
<description>VDU 1.2</description>
<year>1986</year>
@@ -9950,6 +11200,17 @@ license:CC0
</part>
</software>
+ <software name="vdu4">
+ <description>VDU 4.10R</description>
+ <year>1984</year>
+ <publisher>University of Leeds</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="VDU-4.10R.rom" size="8192" crc="8844acc7" sha1="849781159870154e61de955c94fc103eee6b00ab"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="vdigitsr">
<description>Video Digitiser 1.03</description>
<year>1984</year>
@@ -9973,6 +11234,28 @@ license:CC0
</part>
</software>
+ <software name="vidicode">
+ <description>Vidicode 1.0 (Dut)</description>
+ <year>1984</year>
+ <publisher>H.E.H.Eppens</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Vidicode-1.0.rom" size="16384" crc="30a9cd46" sha1="a014cb6a5311465b0d5d62b87e44a55bc06f0e8d"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="vidifix">
+ <description>Vidifix 1.5 (Dut)</description>
+ <year>1984</year>
+ <publisher>H.O.Wagenaar</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="Vidifix-1.5.rom" size="8192" crc="adb706df" sha1="60b38227d88fa47bdb9921d5ddea5b2ddf1bb467"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="viditel">
<description>Viditel</description>
<year>198?</year>
@@ -10053,6 +11336,29 @@ license:CC0
</part>
</software>
+ <software name="viewpdmp">
+ <description>View Printer Driver 1.10</description>
+ <year>1984</year>
+ <publisher>Micro-Plus</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="ViewPrinterDriver-1.10.rom" size="8192" crc="e43f81bf" sha1="4ff7c51063d1a47197d25562a57524a9ffa76749"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="viewpdpr" supported="no">
+ <description>Pro Range View Printer Driver 1.00</description>
+ <year>1986</year>
+ <publisher>Watford Electronics</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <feature name="slot" value="palqst" />
+ <dataarea name="rom" size="32768">
+ <rom name="ProRangeViewPrinterDriver-1.00.rom" size="32768" crc="f5e0183a" sha1="f71030f9535667af41aa521d242438c32ebd4081"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="viewpro10" cloneof="viewpro">
<description>View Professional 1.0</description>
<year>1987</year>
@@ -10217,6 +11523,17 @@ license:CC0
</part>
</software>
+ <software name="viewps">
+ <description>View to PostScript Converter 1.11</description>
+ <year>1986</year>
+ <publisher>W G Dixon</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="ViewPostScriptConverter-1.11.rom" size="16384" crc="d121898b" sha1="c67b7f9cf09be4014c41b9b20facc2f4b3636d21"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="vnula102" cloneof="vnula" supported="partial">
<description>VideoNuLA 1.02</description>
<year>2017</year>
@@ -10239,6 +11556,28 @@ license:CC0
</part>
</software>
+ <software name="vmp090" cloneof="vmp">
+ <description>VMP 0.90</description>
+ <year>1984</year>
+ <publisher>Solidisk</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="VMP-0.90.rom" size="8192" crc="37d82981" sha1="28c63053419c2f2995d8f571269e521b82842e8a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="vmp">
+ <description>VMP 1.00</description>
+ <year>1984</year>
+ <publisher>Solidisk</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="VMP-1.00.rom" size="8192" crc="71ba9cd9" sha1="0fc9263800b38f78bbdaebf5c513229d6451a9c9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="vt100">
<description>VT100 1.60</description>
<year>1989</year>
@@ -10394,6 +11733,19 @@ license:CC0
</part>
</software>
+ <software name="wdfs140" cloneof="wdfs144">
+ <description>Watford Electronics DFS 1.40</description>
+ <year>1983</year>
+ <publisher>Watford Electronics</publisher>
+ <info name="usage" value="Requires Acorn 8271 FDC" />
+ <sharedfeat name="compatibility" value="B"/>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Watford-DFS-1.40.rom" size="16384" crc="fd495019" sha1="5ca8165bdf1ec396640925cb37ce826238e78378"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wdfs141" cloneof="wdfs144">
<description>Watford Electronics DFS 1.41</description>
<year>1983</year>
@@ -10485,6 +11837,17 @@ license:CC0
</part>
</software>
+ <software name="wildrom">
+ <description>WildROM 1.27</description>
+ <year>1990</year>
+ <publisher>JRS</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="WildROM-1.27.rom" size="16384" crc="9478d5db" sha1="08cec09c3459ea87a93d57c7bd6f4ddb9a7bcc89"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="window25" cloneof="window">
<description>Window 1025</description>
<year>1985</year>
@@ -10548,7 +11911,7 @@ license:CC0
<software name="wordpwr">
<description>WordPower</description>
<year>1986</year>
- <publisher>Ian Copestake</publisher>
+ <publisher>Ian Copestake Software</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="WordPower-4.00.rom" size="16384" crc="19952ec2" sha1="2c30cc1dceb127e22cf10b89a37d1cfc6f48fe73"/>
@@ -10777,6 +12140,28 @@ license:CC0
</part>
</software>
+ <software name="wslem">
+ <description>WSL Terminal Emulator 3.0</description>
+ <year>1986</year>
+ <publisher>WSL</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="WSLTerminalEmulator-3.0.rom" size="16384" crc="f927baa3" sha1="d21b2d28aad6b62811b75519606ecdebc77af823"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wslemfx" cloneof="wslem">
+ <description>WSL Terminal Emulator (Epson FX80) 3.0</description>
+ <year>1986</year>
+ <publisher>WSL</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="WSLTerminalEmulator_FX80-3.0.rom" size="16384" crc="61214775" sha1="ca554f4471c601e233ac9cda802a82ab4a47202d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wysiwygp">
<description>WYSIWYG Plus 1.2</description>
<year>1986</year>
@@ -10799,6 +12184,28 @@ license:CC0
</part>
</software>
+ <software name="xbasic2" cloneof="xbasic">
+ <description>XBasic B.2</description>
+ <year>1988</year>
+ <publisher>DEB</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Xbasic-B.2.rom" size="16384" crc="77d01cb6" sha1="16daa1452c679b784212089aa80c2de64de30add"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="xbasic">
+ <description>XBasic B.9</description>
+ <year>1990</year>
+ <publisher>DEB</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Xbasic-B.9.rom" size="16384" crc="35570012" sha1="64b9baccff58d024af551a907d290aa328811684"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="xcal">
<description>Xcal</description>
<year>1983</year>
diff --git a/hash/bml3_flop.xml b/hash/bml3_flop.xml
index 45bf5d4fec7..8db34677ff7 100644
--- a/hash/bml3_flop.xml
+++ b/hash/bml3_flop.xml
@@ -2,6 +2,11 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
+
+Compaibility flags:
+3: needs MP1805 fdc
+5: needs MP1802 fdc
+
-->
<softwarelist name="bml3_flop" description="Hitachi Basic Master Level 3 disk images">
@@ -9,18 +14,13 @@ license:CC0
<description>HI-Writer 1.5</description>
<year>19??</year>
<publisher>Hisoft Pty. Ltd.</publisher>
- <part name="disk" interface="floppy_5_25">
+ <sharedfeat name="compatibility" value="5" />
+ <part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="346800">
<rom name="hiwriter.d88" size="346800" crc="637f3b94" sha1="0bf7fdb528e03aa2409f386e63e257f5aa013c8f" />
</dataarea>
</part>
- </software>
-
- <software name="hidata">
- <description>HI-Writer Data</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="disk" interface="floppy_5_25">
+ <part name="flop2" interface="floppy_5_25">
<dataarea name="flop" size="185008">
<rom name="hidata.d88" size="185008" crc="bc610e83" sha1="162432ff9be34a87f20a02664c0aa1f8e0cb674b" />
</dataarea>
@@ -32,6 +32,7 @@ license:CC0
<year>1991</year>
<publisher>&lt;homebrew&gt;</publisher>
<info name="programmer" value="Jonathan Edwards" />
+ <sharedfeat name="compatibility" value="5" />
<part name="disk" interface="floppy_5_25">
<dataarea name="flop" size="346800">
<rom name="tetris.d88" size="346800" crc="f19034fc" sha1="de8385deac89f149837d76d920113c9010182def" />
@@ -39,4 +40,76 @@ license:CC0
</part>
</software>
+ <software name="ma5370" supported="no"><!-- mame crashes in the floppy subsystem -->
+ <description>MA5370</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="3" />
+ <part name="disk" interface="floppy_3">
+ <dataarea name="flop" size="0x2d2b0">
+ <rom name="ma5370.d88" size="0x2d2b0" crc="04bfeb8a" sha1="e273c53286144d2cbdc1a9616945bf2c2f5267d5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dbu">
+ <description>Disk Basic and Utilities</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="5" />
+ <part name="disk" interface="floppy_5_25">
+ <dataarea name="flop" size="0x54ab0">
+ <rom name="dbu.d88" size="0x54ab0" crc="9af7d68f" sha1="adea7e9b6ada493a9b7a378a43762b0183dacf05" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fcg6890">
+ <description>FCG6890</description><!-- some kind of graphics package -->
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="5" />
+ <part name="disk" interface="floppy_5_25">
+ <dataarea name="flop" size="0x54ab0">
+ <rom name="fcg6890.d88" size="0x54ab0" crc="47e5a35c" sha1="de3da9839de2d5bd760cf5c3120896f34ca020ef" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="insecth">
+ <description>Insect Hunter</description>
+ <year>1986</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="5" />
+ <part name="disk" interface="floppy_5_25">
+ <dataarea name="flop" size="0x54ab0">
+ <rom name="insecth.d88" size="0x54ab0" crc="cd06a634" sha1="c4a35d229db9f1f09e083c71bd65f41d846db064" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jwp">
+ <description>Japanese Word Processor</description>
+ <year>1985</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="5" />
+ <part name="disk" interface="floppy_5_25">
+ <dataarea name="flop" size="0x54ab0">
+ <rom name="jwp.d88" size="0x54ab0" crc="26139d53" sha1="561a15859d6da9cb3448277b494c2589c40644fd" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="subtreas">
+ <description>Submarine Treasures Pick Up</description>
+ <year>1985</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="5" />
+ <part name="disk" interface="floppy_5_25">
+ <dataarea name="flop" size="0x54ab0">
+ <rom name="tetris.d88" size="0x54ab0" crc="484cf520" sha1="adb4d687e8ace9e35b7bc9f9a20a9cc5c5cf6ae7" />
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/chip8_quik.xml b/hash/chip8_quik.xml
index 1bc39703648..cd4f827c0ee 100644
--- a/hash/chip8_quik.xml
+++ b/hash/chip8_quik.xml
@@ -65,18 +65,6 @@ possible to bundle a list to such software.
</part>
</software>
- <software name="animalf">
- <description>Animal Race (fix)</description>
- <year>????</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="developer" value="Brian Astle"/>
- <part name="quik" interface="chip8quik">
- <dataarea name="quik" size="1194">
- <rom name="Animal Race (fix).c8" size="1194" crc="6465acef" sha1="a27dcf88a931f70c3ccf3c01a5410b263bac48bc"/>
- </dataarea>
- </part>
- </software>
-
<software name="astro">
<description>Astro Dodge</description>
<year>2009</year>
diff --git a/hash/fmtowns_cd.xml b/hash/fmtowns_cd.xml
index c144ad2999c..cc25e17f459 100644
--- a/hash/fmtowns_cd.xml
+++ b/hash/fmtowns_cd.xml
@@ -195,14 +195,12 @@ Grimm Douwa 3: Ookami to Nana-hiki Komagi Gyousei
Grimm Douwa 4: Ibarahime (Nemurihime) Gyousei 1990/11 CD
Gyoukai Arijigoku TAC 1994/6 CD
Hajimete no Ryokou Deutsch-go Kaiwa Misawa Home Sougou Kenkyuusho 1990/12 CD
-Hajimete no Ryokou Eikaiwa (Marty Taiou-ban) Misawa Home Sougou Kenkyuusho 1993/3 CD
Hajimete no Ryokou France-go Kaiwa Misawa Home Sougou Kenkyuusho 1991/2 CD
Hajimete Ryokou Spain-go Kaiwa Misawa Home Sougou Kenkyuusho 1991/3 CD
Hamlet Panther Software 1993/9 CD
Happy Mama Datt Japan 1995/9 CD
Harmony Menu Uchida Youkou 1994/3 CD
Healthy Life Top Business System 1989/6 CD
-Healthy Life 2: Kenkouteki na Shokuseikatsu to Diet Top Business System 1993/6 CD
Heike Monogatari (Ge) CSK Research Institute (CRI) 1992/4 CD
Heisei 6-nendo-ban Keizai Hakusho Fujitsu 1994/12 CD
Hello Kitty: Asobi no Omochabako Fujitsu Parex 1995/9 CD
@@ -279,7 +277,6 @@ Katsuyaku Suru Computer (CD Town) Fujitsu Ooita Soft
Kazadama Vol. 1: Maeda Shinzo no Sekai Ki - Japan Fujitsu 1993/9 CD
Kazu ya Kimi Tashizan / Hikizan Hen Media Art 1995/1 CD
Kenkyuusha Readers Eiwa CD-ROM Fujitsu 1993/2 CD
-Kerokero Keroppi to Origami no Tabibito Fujitsu Parex 1995/7 CD
Kid Pix Companion Fujitsu Parex 1995/3 CD
* Kikou Shidan 2 Artdink 1993/3 SET(CD+FD)
Kitty Town no Nakama-tachi: Tanoshii Seikatsuka Fujitsu Parex 1995/10 CD
@@ -359,7 +356,6 @@ New Horizon CD Running System 1-nen Tokyo Shoseki
New Horizon CD Running System 2-nen Tokyo Shoseki 1990/7 SET(CD+FD)
New Horizon CD Running System 2-nen Tokyo Shoseki 1991/1 SET(CD+FD)
NHK Hitori de Dekiru Mon! Ray 1995/3 CD
-NHK Jissen Eikaiwa (Marty compatible) CRC Sougou Kenkyuusho 1993/3 CD
NHK Jissen Eikaiwa Part 2 CRC Sougou Kenkyuusho 1993/12 CD
Nihon Kiin no Jouseki Daijiten Misawa Home Sougou Kenkyuusho 1992/7 CD
Nihon Mukashibanashi 2 Gyousei 1991/7 CD
@@ -450,11 +446,9 @@ Shougakkou Learning Box TDK Core
Shougakkou Mondai Sakusei Database Uchida Youkou 1994/3 SET(CD+FD)
Shougakkou Taiiku - Hoken Uchida Youkou 1994/3 CD
Shougi Nenkan Zenshuu Pony Canyon 1994/1 CD
-Shounen Magazine History Datt Japan 1992/11 CD
Silver Tango Raison 1992/12 CD
SL wo Mitai! Uruwashi no Jouki Kikansha Gyousei 1995/7 CD
Software Contest Nyuusen Sakuhinshuu Vol. 4 Fujitsu 1994/7 CD
-Soreyuke! Diving Dennou Shoukai 1990/7 CD
Soudai Naru Jokyoku no Doyomeki Fujitsu 1994/2 CD
Speed Eiyou Check Top Business System 1992/4 CD
Speed Eiyou Check (?) Top Business System 1992/4 SET(CD+FD)
@@ -515,7 +509,6 @@ Towns Spirit Uchida Youkou
Towns Spirit Uchida Youkou 1993/4 CD
Towns System Software V2.1 L20 Fujitsu ? CD
Towns System Software V2.1 L30 Fujitsu ? CD
-Towns System Software V2.1 L31 Fujitsu ? CD
Towns System Software V2.1 L40 Fujitsu ? CD
TownsFullcolor V1.1 Fujitsu 1993/3 CD
TownsGraph V1.1 Fujitsu 1993/4 CD
@@ -526,7 +519,6 @@ TownsSOUND V2.1 Fujitsu
Towns-Telop 2 Type A Lambda System 1995/10 SET(CD+FD)
Towns-Telop 2 Type B Lambda System 1995/10 SET(CD+FD)
Towns-Telop 2 Type C Lambda System 1995/10 SET(CD+FD)
-TownsVNET V1.1 Fujitsu 1989/5 CD
TownsVNET V1.1 (Reprint?) Fujitsu 1992/1 CD
Towns-you Chuugakkou Gijutsu Kateika Kyouzai Uchida Youkou 1994/3 CD
Treeclub Fujitsu Parex 1995/7 CD
@@ -764,7 +756,7 @@ User/save disks that can be created from the game itself are not included.
<rom name="Towns System Software V1.1L10 (Japan) (Track 17).bin" size="46186224" crc="c2689efd" sha1="86f2c32fa77a60d60d8a6cdc92da1e22c4022bb7"/>
<rom name="Towns System Software V1.1L10 (Japan).cue" size="2249" crc="2f73da97" sha1="a0bb770856dd74525e06d4f39b4ad07c6d7409c5"/>
-->
- <description>Towns System Software v1.1 L10</description>
+ <description>Towns System Software V1.1 L10</description>
<year>1989</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="B276A010"/>
@@ -801,7 +793,7 @@ User/save disks that can be created from the game itself are not included.
<rom name="[OS] Towns System Software v1.1 L20 (Track 21).flac" size="22070145" crc="92478ec5" sha1="db34f45878c1e9d8c632caf04280b4c51ef138f9"/>
<rom name="[OS] Towns System Software v1.1 L20.cue" size="2696" crc="980832a2" sha1="7aad2063115f5b73d8a81623db868f2b9674f0c8"/>
-->
- <description>Towns System Software v1.1 L20</description>
+ <description>Towns System Software V1.1 L20</description>
<year>1989</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="B276A010"/>
@@ -826,7 +818,7 @@ User/save disks that can be created from the game itself are not included.
<rom name="Towns System Software V1.1L30 (Japan) (Track 9).bin" size="125326320" crc="0868f4b9" sha1="cc11d18497b7189f4a70d42aef32664b047adba1"/>
<rom name="Towns System Software V1.1L30 (Japan).cue" size="1184" crc="30b1294c" sha1="09e1676e152a7b0e5046e0503b6b08626e4ae5e5"/>
-->
- <description>Towns System Software v1.1 L30</description>
+ <description>Towns System Software V1.1 L30</description>
<year>1990</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="B276A010"/>
@@ -853,7 +845,7 @@ User/save disks that can be created from the game itself are not included.
<rom name="Towns System Software V2.1L10 (Japan) (Rev A) (Track 11).bin" size="11054400" crc="02411027" sha1="3f68418b53d65396f588902ade208bf27b471d76"/>
<rom name="Towns System Software V2.1L10 (Japan) (Rev A).cue" size="1545" crc="cdd892b4" sha1="174c4d0d69856d4fe1c836e8c01fc81a8e5c857a"/>
-->
- <description>Towns System Software v2.1 L10A</description>
+ <description>Towns System Software V2.1 L10A</description>
<year>1991</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="B276A011"/>
@@ -865,6 +857,32 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="tss2131">
+ <!--
+ Origin: redump.org
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 1).bin" size="423007200" crc="ec90363b" sha1="7465d1f21862e633a417b640723660a595bf5597"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 2).bin" size="10306464" crc="547ca50d" sha1="af2f32265b2b259cf22cd84830e51adfe7d64393"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 3).bin" size="11054400" crc="308444b1" sha1="97b0e4c817e09fcd8278071843abdca7b1feeea8"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 4).bin" size="11284896" crc="2cbcb941" sha1="3ef43c66f65b6bc46e276629423c773fd46c6932"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 5).bin" size="11129664" crc="e065d675" sha1="43c16d2716f0cee0ed89089e7b8abf8f6e745bbb"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 6).bin" size="94463376" crc="dfc79c47" sha1="0096842741f90dbd52273f9b7032e534eb316a1a"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 7).bin" size="11976384" crc="1ef2ea11" sha1="b71d0b3847f28f936a19a0d04cf7d3095a328415"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 8).bin" size="8885856" crc="9c881a7a" sha1="3035b2e06e23ab2bad33805e7824b0e95c783ae2"/>
+ <rom name="Towns System Software V2.1 L31 (Japan) (Track 9).bin" size="11658864" crc="4b131c88" sha1="859d1d259bd7916003fbed2f6c2467af318fcb86"/>
+ <rom name="Towns System Software V2.1 L31 (Japan).cue" size="1170" crc="e5ee82b2" sha1="13ad0c20fd4abdf4246fe96f0f054e42c327ecf6"/>
+ -->
+ <description>Towns System Software V2.1 L31</description>
+ <year>1994</year>
+ <publisher>富士通 (Fujitsu)</publisher>
+ <info name="serial" value="B276A011"/>
+ <info name="usage" value="Requires 2 MB RAM"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="towns system software v2.1 l31 (japan)" sha1="e3ab3d1e78e2e38c8506b3c8552b0c820689d71e" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="tss2151">
<!--
Origin: Neo Kobe Collection
@@ -879,7 +897,7 @@ User/save disks that can be created from the game itself are not included.
<rom name="Towns System Software V2.1L51 (Japan) (Track 9).bin" size="11658864" crc="e9855e6d" sha1="3b7aa36d0636dd9be17de8f82d4b7a80deb52ad5"/>
<rom name="Towns System Software V2.1L51 (Japan).cue" size="1161" crc="0d727bbe" sha1="5e7b6b38baeb3c72ea846f671e8f81f42ed3f067"/>
-->
- <description>Towns System Software v2.1 L51</description>
+ <description>Towns System Software V2.1 L51</description>
<year>1995</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="B276A011"/>
@@ -1380,42 +1398,37 @@ User/save disks that can be created from the game itself are not included.
<software name="38man">
<!--
- Origin: Neo Kobe Collection
- <rom name="38-man Kilo no Kokuu.ccd" size="6562" crc="710ae512" sha1="bcb8bdbecdd90f02342bf34888b3906d120cc7bd"/>
- <rom name="38-man Kilo no Kokuu.img" size="621730032" crc="6443ccfa" sha1="72237c23e8d0bfac1c7a489e90244b2b2c36139b"/>
- <rom name="38-man Kilo no Kokuu.sub" size="25376736" crc="a61fb96c" sha1="31994c821618808df14e6ade93b06236e440c88f"/>
-
- *after conversion with IsoBuster+EAC *
- <rom name="38-man kilo no kokuu.cue" size="4290" crc="40393c5d" sha1="a80a43eb7eff5f220563d749328554e6a4f66f0d"/>
- <rom name="track01.bin" size="9880752" crc="6231512a" sha1="b3246341389ae5a101c1f8cfa23eead385117b7d"/>
- <rom name="track02.bin" size="36895824" crc="a3fb23e2" sha1="24069258f6a8fc730ff18b3b4924034c10b5ef48"/>
- <rom name="track03.bin" size="13857984" crc="715c7a01" sha1="12015539652adb3356e95caa05aa430dcf2a0bfa"/>
- <rom name="track04.bin" size="26445888" crc="786dd0a1" sha1="6331ebc44345b35ae6914d4a010a94287f7b24cb"/>
- <rom name="track05.bin" size="28435680" crc="d5d93626" sha1="f85ad306f619f81d19c02cd5101af267f89050bc"/>
- <rom name="track06.bin" size="12357408" crc="d3cf9e3a" sha1="c94818ad7cfec54d014e237a2e763ea015bb72c3"/>
- <rom name="track07.bin" size="19874400" crc="c28f18eb" sha1="b3cd1013c71f013a7d7b1b53baec53a2a410201b"/>
- <rom name="track08.bin" size="19284048" crc="8c3caed0" sha1="8ada13c16f9449b94269c639fd45a5785317038d"/>
- <rom name="track09.bin" size="19051200" crc="7e97ca60" sha1="ce51b3a415af8b652b9b34c16ab43692fa4c7d26"/>
- <rom name="track10.bin" size="12011664" crc="c6808056" sha1="24408f42a667a2d7df80c2a7b32462f612aaad2a"/>
- <rom name="track11.bin" size="19072368" crc="3d426af3" sha1="958cb4c947a4bf2cec98f88d6a90976f4d33e3bd"/>
- <rom name="track12.bin" size="28557984" crc="85ec667d" sha1="cfb5b030e482fa637f3a4fa6d372b03cdd6bb9df"/>
- <rom name="track13.bin" size="21843024" crc="d9a29043" sha1="9c8be4cffd886813f9cee1f66de85062876b4e82"/>
- <rom name="track14.bin" size="17491824" crc="df8f281a" sha1="a7092e36319365e83ca3995b9f10174ecb6f2104"/>
- <rom name="track15.bin" size="19232304" crc="a1eb3437" sha1="013e7788188d78f77675c69d773f9ef39c6cfa6e"/>
- <rom name="track16.bin" size="25836720" crc="df382942" sha1="17b14ac11d82fc4abf78f3a251f2d5c4f81fbf6f"/>
- <rom name="track17.bin" size="18138624" crc="770b6e11" sha1="1dc0f2e7c75542221969b04c064ebdc9334c620a"/>
- <rom name="track18.bin" size="20937504" crc="c9bd8726" sha1="1d2ba1dc34aa50e05449d320401b1b8a27e8c6b8"/>
- <rom name="track19.bin" size="17903424" crc="351d391f" sha1="a4b4be5e5959a3b19f7bab38701ce7604c433b2c"/>
- <rom name="track20.bin" size="30126768" crc="30397c99" sha1="55b50a4752a871cd5e868a9a6fd34d0142a85f82"/>
- <rom name="track21.bin" size="21737184" crc="d6ebe8ea" sha1="36211f166865b5939610160b15d2f4edee7ab022"/>
- <rom name="track22.bin" size="25206384" crc="a92dd4ea" sha1="dd0d562dcdbfff986005f0814397403430a34f61"/>
- <rom name="track23.bin" size="32114208" crc="295bb64f" sha1="80dc5c68e11307fd925fcec8bf5aba28811ad35c"/>
- <rom name="track24.bin" size="21330288" crc="53c2f490" sha1="066880d4a0d8d66b9548590b37c7ab67c4205f73"/>
- <rom name="track25.bin" size="9871344" crc="228aed38" sha1="65d2322c5b4da4c093d965ae80192e29d5fa88d8"/>
- <rom name="track26.bin" size="22431024" crc="d41bfcef" sha1="a1b9b609727316b3af13512e57312c03f6c5c9d0"/>
- <rom name="track27.bin" size="44544528" crc="438d0006" sha1="948ed2bacb9b2eaba576a1be02d4fb30c43e9d48"/>
- <rom name="track28.bin" size="21215040" crc="0065517b" sha1="0d5caa21b9d6d1aec30360dece9d664054af4afe"/>
- <rom name="track29.bin" size="6044640" crc="42fe499f" sha1="039730e349d552759dace057e2ebc592c6bdb6b5"/>
+ Origin: redump.org
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 01).bin" size="9883104" crc="a708aeca" sha1="29fcb2a205ba5dd682b55d09355e6436f575dc10"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 02).bin" size="36895824" crc="6a9ab100" sha1="98e2f4c358d2f70621d48bd93f209aca81b50006"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 03).bin" size="13857984" crc="c839540f" sha1="6628ede1a0eb1aac02903ce0704ae202fce0734f"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 04).bin" size="26445888" crc="ae04d8d4" sha1="f038d0a9f9e4cc551bbc570ce8132610afe50850"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 05).bin" size="28435680" crc="adb1f6bb" sha1="38b29bf4774a5629e004b4e0e617e309eb785904"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 06).bin" size="12357408" crc="9d9b2681" sha1="7f3720f720897ba9ab92ffa32d75c16fc96cdbde"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 07).bin" size="19874400" crc="78ab5b7d" sha1="55f457377a6eeaa4d2ce3412ac155b85aa13f8c7"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 08).bin" size="19284048" crc="8d22a27c" sha1="f05e3bc2757d955dd5618959883227de7d84f174"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 09).bin" size="19051200" crc="3d896d4b" sha1="8afbdbd8679a983f59a42d6cb7abdb8207eef3a7"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 10).bin" size="12011664" crc="f28e58c7" sha1="470f1ff4a232f8827a7ff9972011d078b1145f2c"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 11).bin" size="19072368" crc="d10178b4" sha1="64a0bd282e4b39e9a3e5ad8679fa11ca535cfbcd"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 12).bin" size="28557984" crc="8e74f594" sha1="ff298aff4c0c8fe88ac9bb17f2afa2d0f6fc0d5c"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 13).bin" size="21843024" crc="9ece2159" sha1="32081bf182c97ac7b027cf6edc1d7c313e5da835"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 14).bin" size="17491824" crc="6f94f925" sha1="801731659d16118e5e33e141ce38330b1507e9a0"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 15).bin" size="19232304" crc="2fd08a2d" sha1="22032f55bd143a19296e46018407df17b3d1f91c"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 16).bin" size="25836720" crc="a8572caa" sha1="2404c21974176f9e5676ad9bb226df87f3c9574c"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 17).bin" size="18138624" crc="b66d055c" sha1="ea989999134ae034a8b16a5bdd30e9f532f6262f"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 18).bin" size="20937504" crc="9ff9f612" sha1="64f54dcc41a394f6f249094d742e7017dafc5ef6"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 19).bin" size="17903424" crc="ed86400f" sha1="d5bb07ad2b86736dedd555448c4e42265883f93d"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 20).bin" size="30126768" crc="bbbaa376" sha1="d18f79e7239655c1e36777082f78ee664f30cc94"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 21).bin" size="21737184" crc="826f2e47" sha1="ccd45e6daa202736285d79918909b44254c80bec"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 22).bin" size="25206384" crc="b93da8e5" sha1="10b04ed40e86566ea3bf77d1952dd51437812f70"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 23).bin" size="32114208" crc="6718ce59" sha1="7a5f1de899e62552649c4a299d3655c973851c5a"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 24).bin" size="21330288" crc="2cc649bc" sha1="ea4b35145fa62e2cd24e5284271842c47f82a2d3"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 25).bin" size="9871344" crc="6f3e157d" sha1="8fba90ebee86a764a21944b07c7bef0b8e53d73c"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 26).bin" size="22431024" crc="c661d4c6" sha1="cd65c50c2114e2209271237650a5065cecb6aa1a"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 27).bin" size="44544528" crc="1d0242ac" sha1="10a08588fb18414c7e3cbcd78ad2c9847d518def"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 28).bin" size="21215040" crc="123c0917" sha1="e6cf804776f011a990d01542d4b6d52bfb4cc018"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan) (Track 29).bin" size="6042288" crc="9c23b075" sha1="c6307dcb4c02566ce83f3f070d26f71f657721ed"/>
+ <rom name="Day in the Life of 2049, A - File 1 - 38-man Kilo no Kokuu (Japan).cue" size="4674" crc="842c08bf" sha1="2b5026c99f0e2b3bf1ca738307c557477fa52930"/>
-->
<description>38-man Kilo no Kokuu</description>
<year>1989</year>
@@ -1425,7 +1438,7 @@ User/save disks that can be created from the game itself are not included.
<info name="release" value="198912xx" />
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="38-man kilo no kokuu" sha1="8b3aed4b095183e3b9a0ee88e7dfd34d1c44e7d7" />
+ <disk name="day in the life of 2049, a - file 1 - 38-man kilo no kokuu (japan)" sha1="13cef87d7fbbf6d281517098337acde661baaade" />
</diskarea>
</part>
</software>
@@ -1897,12 +1910,37 @@ User/save disks that can be created from the game itself are not included.
<software name="airwar11" cloneof="airwar21">
<!--
- Origin: redump.org
+ Origin: redump.org (CD) / al32gabby (floppy)
+ <rom name="Fujitsu Air Warrior V1.1 (Japan) (Track 1).bin" size="10231200" crc="8ef3f105" sha1="ba8206707bd298bcf42ad401f22548c0461c59df"/>
+ <rom name="Fujitsu Air Warrior V1.1 (Japan) (Track 2).bin" size="22226400" crc="54edf4ee" sha1="8e4ce19d9ef4364e4e270e657e97d20931a640f0"/>
+ <rom name="Fujitsu Air Warrior V1.1 (Japan).cue" size="234" crc="42897fcb" sha1="a99fff4595e1c4d58d0763db8ab20213e56bbe89"/>
+ -->
+ <description>Air Warrior V1.1 (1992-04-09)</description>
+ <year>1992</year>
+ <publisher>富士通 (Fujitsu)</publisher>
+ <info name="serial" value="HMD-109"/>
+ <info name="release" value="199203xx" />
+ <info name="usage" value="Requires 2 MB RAM"/>
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1261568">
+ <rom name="fujitsu_air_warrior_v1.1_1992-04-09.hdm" size="1261568" crc="1b2ef9de" sha1="9abf50374c6c8ce3d6c577e65c042845c93719f9" offset="000000" />
+ </dataarea>
+ </part>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fujitsu air warrior v1.1 (japan)" sha1="3dc6a3ed33a1e2a061a3390853f16883ffc87835" />
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="airwar11o" cloneof="airwar21">
+ <!--
+ Origin: redump.org (CD) / wiggy2k (floppy)
<rom name="Fujitsu Air Warrior V1.1 (Japan) (Track 1).bin" size="10231200" crc="8ef3f105" sha1="ba8206707bd298bcf42ad401f22548c0461c59df"/>
<rom name="Fujitsu Air Warrior V1.1 (Japan) (Track 2).bin" size="22226400" crc="54edf4ee" sha1="8e4ce19d9ef4364e4e270e657e97d20931a640f0"/>
<rom name="Fujitsu Air Warrior V1.1 (Japan).cue" size="234" crc="42897fcb" sha1="a99fff4595e1c4d58d0763db8ab20213e56bbe89"/>
-->
- <description>Air Warrior V1.1</description>
+ <description>Air Warrior V1.1 (1992-03-16)</description>
<year>1992</year>
<publisher>富士通 (Fujitsu)</publisher>
<info name="serial" value="HMD-109"/>
@@ -1910,7 +1948,7 @@ User/save disks that can be created from the game itself are not included.
<info name="usage" value="Requires 2 MB RAM"/>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="1261568">
- <rom name="fujitsu_air_warrior_v1.1.hdm" size="1261568" crc="1b2ef9de" sha1="9abf50374c6c8ce3d6c577e65c042845c93719f9" offset="000000" />
+ <rom name="fujitsu_air_warrior_v1.1_1992-03-16.hdm" size="1261568" crc="3387f260" sha1="ebeacf861162b24c9ea5530d06fc7fa2e4259aaf" offset="000000" />
</dataarea>
</part>
<part name="cdrom" interface="fmt_cdrom">
@@ -4645,11 +4683,20 @@ User/save disks that can be created from the game itself are not included.
<software name="daikokai">
<!--
- Origin: Neo Kobe Collection
- <rom name="Daikoukai Jidai.ccd" size="2859" crc="0931f076" sha1="93f7f34c49491afc4a60bfa00705c1c1d7466f44"/>
- <rom name="Daikoukai Jidai.cue" size="511" crc="64ff89e0" sha1="2ac9f5a15d2bc7baf70b9d2181ccfcdeb313d794"/>
- <rom name="Daikoukai Jidai.img" size="501100656" crc="f1da5cc7" sha1="0db43b0f913a14a581dce1b8618604803aa26c75"/>
- <rom name="Daikoukai Jidai.sub" size="20453088" crc="74e7bba9" sha1="109a87b256f1531b66faaf9bd00b7edc355753db"/>
+ Origin: redump.org (CD) / Neo Kobe Collection (floppy)
+ <rom name="Daikoukai Jidai (Japan) (Track 01).bin" size="10231200" crc="b83ebfaa" sha1="f75ef6effe838c4b6d0d49be97ba02cad60c73be"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 02).bin" size="18263280" crc="4e8cc89d" sha1="07d025a20f976e0e3370dfb95ab25401e846892e"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 03).bin" size="29823360" crc="b6ccddaa" sha1="27832b3b807a1c2d2123fd6c3373f0c1f51268d7"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 04).bin" size="16765056" crc="b4c88e13" sha1="d9648986f9586422646362bfada386ff6d1a5ce5"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 05).bin" size="43152144" crc="4ec2972c" sha1="b6da78e427f10a40c4c0b47aefed29a982e10e4b"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 06).bin" size="47576256" crc="f90e55e7" sha1="422329729aafab8517718849c05c04954c87f474"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 07).bin" size="17797584" crc="7f35bd2d" sha1="c42359268cf2f7ba7446b123f8030e0a3b517936"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 08).bin" size="74306736" crc="e45d5a34" sha1="0634d32b8f5962748c01c70a1e54c0463d2be3f2"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 09).bin" size="50379840" crc="64013d46" sha1="037f14e8d408e011381c9ea1c4be527ce21f6a76"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 10).bin" size="44198784" crc="52edbd4b" sha1="b16ab00f92c016e952762724faec417101bb0406"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 11).bin" size="94098816" crc="18d4ac22" sha1="b59403ebe5849601261feacc4cba8e055f85a5f3"/>
+ <rom name="Daikoukai Jidai (Japan) (Track 12).bin" size="54507600" crc="b723edce" sha1="498198e829b07c8588a302f6499657e51020cfa8"/>
+ <rom name="Daikoukai Jidai (Japan).cue" size="1283" crc="53d4d417" sha1="39c550311ffb848f0042fa9494a4305a72e89bf8"/>
-->
<description>Daikoukai Jidai</description>
<year>1990</year>
@@ -4659,14 +4706,13 @@ User/save disks that can be created from the game itself are not included.
<info name="release" value="199011xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="flop1" interface="floppy_3_5">
- <feature name="part_id" value="Save Disk" />
<dataarea name="flop" size="1261568">
<rom name="daikoukai jidai (save disk).hdm" size="1261568" crc="a70bd7c7" sha1="887b11e25a7f07644245b3764b62bab6e14839bd" offset="000000" />
</dataarea>
</part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="daikoukai jidai" sha1="66e29717ef026c1578308591b7917e3a21d28b9a" />
+ <disk name="daikoukai jidai (japan)" sha1="35d466294cd68fe84e818b114991f1b65dd8204e" />
</diskarea>
</part>
</software>
@@ -5093,27 +5139,30 @@ User/save disks that can be created from the game itself are not included.
<software name="denurse">
<!--
- Origin: Neo Kobe Collection
- <rom name="Dengeki Nurse.bin" size="167756400" crc="c2d604d4" sha1="ca292e912a8823b180dd74ef376ee3e376d86694"/>
- <rom name="Dengeki Nurse.cue" size="213" crc="2f7dc86e" sha1="58a9b5a741529ac9b6c8c74f9a0db8de49561e77"/>
+ Origin: redump.org
+ <rom name="Dengeki Nurse (Japan) (Track 1).bin" size="31399200" crc="3ff24860" sha1="15dc44a395f7350aecd27e8b3dd6d687b5f92248"/>
+ <rom name="Dengeki Nurse (Japan) (Track 2).bin" size="46922400" crc="7ae03e10" sha1="cc743607bfdbb09118b2b9a3850591ac1338f79a"/>
+ <rom name="Dengeki Nurse (Japan) (Track 3).bin" size="42688800" crc="3fa7c1e8" sha1="af09b408863b07280aebc428160749e18f48c87d"/>
+ <rom name="Dengeki Nurse (Japan) (Track 4).bin" size="47098800" crc="6e1fc4aa" sha1="bcf65512b5d5f6ef7c3d638ed48d63e1239a735e"/>
+ <rom name="Dengeki Nurse (Japan).cue" size="442" crc="2f9b78a4" sha1="4c203e5254206f37e544881d16e84faa32263be0"/>
-->
<description>Dengeki Nurse</description>
<year>1992</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
- <info name="serial" value="HMD-210"/>
+ <info name="serial" value="HMD-210 / IDES-002"/>
<info name="alt_title" value="電撃ナース" />
<info name="release" value="199212xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="dengeki nurse" sha1="b2e82a8dea0c827f49abff6a346150df3ca16ec1" />
+ <disk name="dengeki nurse (japan)" sha1="b447a0457a28ef2948ce1385bb6c20c7285b3458" />
</diskarea>
</part>
</software>
<software name="denurse2">
<!--
- Origin: redump.org / wiggy2k
+ Origin: redump.org (CD) / wiggy2k (floppy)
<rom name="Dengeki Nurse 2 - More Sexy (Japan) (Track 01).bin" size="22099392" crc="e745396d" sha1="5b766f0c70e39b7c71a42be8aafacd29a9879594"/>
<rom name="Dengeki Nurse 2 - More Sexy (Japan) (Track 02).bin" size="50737344" crc="56ea0d74" sha1="a8b7c4aad271eefe54193cbc22f92dea2c7a18e1"/>
<rom name="Dengeki Nurse 2 - More Sexy (Japan) (Track 03).bin" size="47425728" crc="08fce50f" sha1="730df2dcc58720e5c30810f08e5145f123b2f07d"/>
@@ -5158,6 +5207,78 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="diving">
+ <!--
+ Origin: redump.org
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 01).bin" size="105835296" crc="7d59690e" sha1="bd0f7b0163fe66f541d7f529c56237fabadd85da"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 02).bin" size="7020720" crc="167dabee" sha1="c552d83982fc0fc7e1047626daf5657c3e100b93"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 03).bin" size="24578400" crc="7f673583" sha1="f3130188745594de540bae58f66f8c47af6b4e9f"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 04).bin" size="15410304" crc="dc9a4600" sha1="c416c1625a6d962da3e7a40f0e754e583410cdb6"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 05).bin" size="6056400" crc="4daabfff" sha1="abe561ce3e6fa93ec1ca3a023dabeb9435b2bd2a"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 06).bin" size="11301360" crc="3f7482ff" sha1="9de4ba70d5b616f712a2ed830ada0b5ac6a6084e"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 07).bin" size="7444080" crc="b85a1f09" sha1="491066ac53f8c35ea7b862e199ac17ee396ed76e"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 08).bin" size="1540560" crc="ae2d965c" sha1="2e36d1cfb42ced596f40d017b5d0caef4413c5cd"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 09).bin" size="10654560" crc="3f4eff76" sha1="6a9d877bb49fe9d48f4c2c5894a6223d5dd51834"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 10).bin" size="5127360" crc="6c534148" sha1="0a157af029b622ebbb6d22bc9a743df633f67989"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 11).bin" size="4856880" crc="e44d823a" sha1="9679058d26b9321ce562d8d2d92051742b09cd6e"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 12).bin" size="17696448" crc="dcee1361" sha1="66af848a256e971a94d72b3e3938c901e33a2286"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 13).bin" size="6420960" crc="efdfcb8c" sha1="0a885ceb270b8e4a81561641c83736e702412864"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 14).bin" size="6232800" crc="0a94dd88" sha1="12091498450b2128d4114a94a8249678aa473d37"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 15).bin" size="5762400" crc="f8dacb66" sha1="920c4ced1288f644910cdfc559f7cc9550342200"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 16).bin" size="5809440" crc="ddcee3af" sha1="b23720c0c0d8db54932a67665c93dc1325b42a89"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 17).bin" size="4280640" crc="73da64d5" sha1="0836555875621f925e4e3104a4fd2aed77934484"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 18).bin" size="3398640" crc="46362c96" sha1="38e30cd7dcb4e981d12816619d11cbfd7e736657"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 19).bin" size="7091280" crc="2f3577d5" sha1="f9c6231170fcbda63e8c99f11d3d08ab4887dd1d"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 20).bin" size="3575040" crc="6913c743" sha1="fa7f757f302c3c8879c74e55f6fcca92eca382b4"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 21).bin" size="6550320" crc="85df62dc" sha1="f4d87f6905d2506123d98266cb3f2b5d5ee875af"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 22).bin" size="3845520" crc="d360e786" sha1="4f45d5522c6d3cd5d4dff5f5ddc1b69ab235f602"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 23).bin" size="8902320" crc="b9a0060c" sha1="6003efce92a858cafce55d11de0e12d573c3dbac"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 24).bin" size="3231648" crc="8a352982" sha1="ea7eed0a701da7154bf850dc31a52e38b2b8d07a"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 25).bin" size="5609520" crc="8eb40f8a" sha1="2cac885ee3e58caa4426e282276f2a34cfe038eb"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 26).bin" size="6138720" crc="dc50f647" sha1="c29dc845a7e1d82bb3c9a8804e894223629ec749"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 27).bin" size="15687840" crc="c93dcc11" sha1="0abc19d80c78c4955d8dc3c0d9e9a84fe5cbacd5"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 28).bin" size="3069360" crc="6d4f8126" sha1="a0f35a127f6012f3b4e2b0b287290777211f8cad"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 29).bin" size="2704800" crc="8e395cd7" sha1="3e4a507a66e9de7a07c22c2a18e46c1df5afc470"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 30).bin" size="2704800" crc="36759b75" sha1="d01f192e13ac3f70553920c7e4c5ae49bbd89340"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 31).bin" size="2610720" crc="0104309c" sha1="d0a6c93a8d817e4294c168241deb8a3c3f322c47"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 32).bin" size="2450784" crc="e93963de" sha1="26e6f77e2c3b0865085a3d60d2295d7d806ba9dd"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 33).bin" size="11701200" crc="bcc61307" sha1="a6740746b4236cd999d31ad7981d4906e7029a82"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 34).bin" size="3680880" crc="a6956393" sha1="377e3cd5d159d4f58f74958857ba4e17bf3a2f1f"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 35).bin" size="3386880" crc="1f9a4ba0" sha1="40f27cf70044e1192b8fa17639f38b44078451d2"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 36).bin" size="5774160" crc="e0520cd9" sha1="3d333ca2000cd0713dc116d700802a2952449310"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 37).bin" size="5021520" crc="0000650e" sha1="7f8b7fff35f74063f0d35c7ed25fdc76743e8ab8"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 38).bin" size="4962720" crc="c19be456" sha1="2a804d07c76f8f8b59fad0864ab18a464466004b"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 39).bin" size="2892960" crc="0bfb120f" sha1="65bdf61d880d1ea22d6d21b8bde88d0c72ec756d"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 40).bin" size="7279440" crc="53a076db" sha1="0cc41e684dcdea04d907d69c7b50442437c679b5"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 41).bin" size="2657760" crc="d5a13b32" sha1="63e0fcf42184f09bb5cb82b3e308d6cf02e6c701"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 42).bin" size="1505280" crc="91b3bd78" sha1="059a320c7807d648ae4d568eecdac74b6c77882d"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 43).bin" size="5350800" crc="ce91da3d" sha1="9281e0be6664ceb2c26051f3b83b08f169f637d4"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 44).bin" size="9161040" crc="9a72bf8f" sha1="6b166dd638300dca463063621e2195d234002996"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 45).bin" size="3278688" crc="23ddbcbf" sha1="e5cca659b4f76d0476c6cd78b93bcb7e69dfb6c5"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 46).bin" size="12642000" crc="fa8655fb" sha1="462bceb5a0bfd18a945b63d9e5df2e511bae1875"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 47).bin" size="5762400" crc="bc2ec2d2" sha1="8186845084d5f80db5112097e52eb7aeaa9f1022"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 48).bin" size="11912880" crc="1c98c572" sha1="1d19d63a95c1b6ebd1986f6eac7204c281dc3e3d"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 49).bin" size="11924640" crc="f445dc34" sha1="ea32ec7bfb2fcf993028f7971647369a4b15639d"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 50).bin" size="11736480" crc="d13fc64e" sha1="69d9099df7a7fa2b094f85d252a5282ace6165bc"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 51).bin" size="34642608" crc="b93df9f3" sha1="a96a6ec85d90d854a7298d22067ecca9b7ac3a45"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 52).bin" size="3704400" crc="7c9a430b" sha1="0efd9847eef9510dc651653d468123f913992d62"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 53).bin" size="41070624" crc="fc78efd8" sha1="e7759b434e3fcf057f68a4ff90e75088ec255eb6"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan) (Track 54).bin" size="57885072" crc="0aa57641" sha1="a9e1cd858b11e0cded03f50ee23d190e5b53b7af"/>
+ <rom name="Sim Sports Diving - Soreyuke! Diving (Japan).cue" size="7511" crc="61959cac" sha1="bb1c4b73db5fb7c49c4d323e5e53f990072ffa02"/>
+ -->
+ <description>Sim Sports Diving - Soreyuke! Diving</description>
+ <year>1990</year>
+ <publisher>電脳商会 (Dennou Shoukai)</publisher>
+ <info name="serial" value="HMB-161"/>
+ <info name="alt_title" value="それゆけ!ダイビング" />
+ <info name="release" value="199007xx" />
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sim sports diving - soreyuke diving (japan)" sha1="3a8d284417d000ac507735124fd14674f1de7093" />
+ </diskarea>
+ </part>
+ </software>
+
<!-- PC-9801 / FM Towns hybrid -->
<software name="dreamy">
<!--
@@ -5894,22 +6015,27 @@ User/save disks that can be created from the game itself are not included.
<software name="dmaster2">
<!--
- Origin: Neo Kobe Collection
- <rom name="Dungeon Master II - Skullkeep.ccd" size="2081" crc="69ad2463" sha1="b9c421591dcf8e80370114ed720c1de0836f79fa"/>
- <rom name="Dungeon Master II - Skullkeep.cue" size="366" crc="cdd95259" sha1="4575607c0d7a3722d4e93a096525b3eb2fb2b21b"/>
- <rom name="Dungeon Master II - Skullkeep.img" size="196688352" crc="7100cde1" sha1="07cdb37aadb3962fe760611830d4386f17e60e48"/>
- <rom name="Dungeon Master II - Skullkeep.sub" size="8028096" crc="e050038e" sha1="d52107b7a6a8b4812dd7beff0314367f7abb6af8"/>
+ Origin: redump.org
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 1).bin" size="20815200" crc="9a67fdaf" sha1="9838dca2eaa7d3ecb4c8116f7edbb13b25e247ff"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 2).bin" size="32283552" crc="6706fd23" sha1="f23439b7c728ee3dfd6c014dac2e8a3ee8f7a015"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 3).bin" size="43041600" crc="1dba7788" sha1="af9d88e1c6710d89cb1189574aecedc06aef316b"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 4).bin" size="15170400" crc="71a2b519" sha1="dbd2658d7adc7a60e627662829c5b19f0bee8d5c"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 5).bin" size="20991600" crc="94cbbbbe" sha1="44533b2aff0f26dbb641b525d9416683d7770d68"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 6).bin" size="51508800" crc="ce493a86" sha1="160ffd1c716f4506b31a8f6c45518717365bf4f1"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 7).bin" size="11642400" crc="2aaa579a" sha1="6983c66bc9a43c6593bef304b693e5cbe386acc0"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan) (Track 8).bin" size="1234800" crc="8b5a2426" sha1="b1eecba6d5d230f79c50ec4970acf82ea9847cdf"/>
+ <rom name="Dungeon Master II - Skullkeep (Japan).cue" size="1053" crc="aecff4ea" sha1="a84843de82291f7f54b663bfb0bd5ee127502758"/>
-->
<description>Dungeon Master II - Skullkeep</description>
<year>1994</year>
<publisher>ビクター音楽産業 (Victor Musical Industries)</publisher>
- <info name="serial" value="HME-242"/>
+ <info name="serial" value="HME-242 / F-5512"/>
<info name="alt_title" value="ダンジョンマスターII スカルキープ" />
<info name="release" value="199401xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="dungeon master ii - skullkeep" sha1="d94dcd021aeb4e020c202d31c9fe1c42b57f35e8" />
+ <disk name="dungeon master ii - skullkeep (japan)" sha1="39c047d39140b49fab30c216c0edd2ec45e4041b" />
</diskarea>
</part>
</software>
@@ -7432,21 +7558,28 @@ User/save disks that can be created from the game itself are not included.
<software name="fmtstdem">
<!--
- Origin: Neo Kobe Collection
- <rom name="FM Towns Super Technology Demo 1993.ccd" size="2486" crc="a63f0412" sha1="ee01f3f56af9844abe6b6929db608ac88e5d8345"/>
- <rom name="FM Towns Super Technology Demo 1993.cue" size="451" crc="6faf0e24" sha1="ed96697a01c01c04679586d71a238baaddee3273"/>
- <rom name="FM Towns Super Technology Demo 1993.img" size="429536352" crc="ecb79e7e" sha1="9ec9ccce86d13cbcaddcd5425fd652b49cea26e1"/>
- <rom name="FM Towns Super Technology Demo 1993.sub" size="17532096" crc="b64d91c3" sha1="a9e9becfbba781fe4974aef2f3d3dfedfd98d8b1"/>
+ Origin: redump.org
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 01).bin" size="249782400" crc="9bee947b" sha1="b9bfa7a14671ee0e7b58edb0efb94046afe8c4b9"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 02).bin" size="1237152" crc="0ecfb684" sha1="a3b988b06aa284f4b707a92e8dd8b768e3d7e097"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 03).bin" size="1764000" crc="e7887563" sha1="923937048d6b3fe908cbe4115a099a3b7a195d0b"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 04).bin" size="37220400" crc="238a3334" sha1="76b4f2ee5d26be23a077f2b6d4b42d937f34712c"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 05).bin" size="10231200" crc="ea7115a1" sha1="5548cf0c73509e7d6c4d56e3fb44ee2a87ed3aee"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 06).bin" size="25225200" crc="04d298f2" sha1="f7eb08bb20025a89d54cd7ca500a476e26eb4e46"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 07).bin" size="10584000" crc="583e4a0e" sha1="cb73f28d8a1891070911fa5b3465fae1939be173"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 08).bin" size="2646000" crc="f6dea75d" sha1="9ce543683341654a33c10f4c824835ba2836907c"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 09).bin" size="14994000" crc="46ed0ef1" sha1="3b9e43901febd596339ac0a47b424b69a2eb0d72"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan) (Track 10).bin" size="75852000" crc="829fc199" sha1="74f12802bd27f9ebe732042f4d035aa713677543"/>
+ <rom name="FM Towns Super Technology Demo 1993 (Japan).cue" size="1385" crc="073ae388" sha1="897ec6360424550f3d1f53c06d378af5a618baec"/>
-->
<description>FM Towns Super Technology Demo 1993</description>
<year>1993</year>
<publisher>富士通 (Fujitsu)</publisher>
- <info name="serial" value="HME-219"/>
+ <info name="serial" value="HME-219 / A2760530 / TSC410"/>
<info name="release" value="199311xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="fm towns super technology demo 1993" sha1="4a685d1a33f7d75956ec0da7429c8d24b98fd014" />
+ <disk name="fm towns super technology demo 1993 (japan)" sha1="c38c4b0011a144ed7edcad08a67aac699e9ae496" />
</diskarea>
</part>
</software>
@@ -8670,16 +8803,14 @@ User/save disks that can be created from the game itself are not included.
<software name="goh2">
<!--
- Origin: Neo Kobe Collection
- <rom name="Goh II Towns Special.ccd" size="767" crc="05177487" sha1="f3fbe3b3f55d386c241dc3b73588e73a23143932"/>
- <rom name="Goh II Towns Special.cue" size="84" crc="3f0a525b" sha1="c0f3523be8f886ceeb93725f3ca26641e521d282"/>
- <rom name="Goh II Towns Special.img" size="10231200" crc="12845801" sha1="0ff672bdf5fb383671474353b13a958b17852a27"/>
- <rom name="Goh II Towns Special.sub" size="417600" crc="7d23400c" sha1="e7e6965b1646a9816d0afb825da57b202c537e09"/>
+ Origin: redump.org (CD) / Neo Kobe Collection (floppy)
+ <rom name="Gou II - Towns Special (Japan).bin" size="10231200" crc="7d384a3b" sha1="2992dda2d7093656331b40ee0ed49c3bef274be9"/>
+ <rom name="Gou II - Towns Special (Japan).cue" size="96" crc="5673f7e2" sha1="5dafb9d80eac928f8d8e272b8a69aa232ad3ef69"/>
-->
<description>Goh II Towns Special</description>
<year>1993</year>
<publisher>ウルフチーム (WolfTeam)</publisher>
- <info name="serial" value="HME-120"/>
+ <info name="serial" value="HME-120 / CD-W22-TO"/>
<info name="alt_title" value="轟2タウンズスペシャル" />
<info name="release" value="198909xx" />
<info name="usage" value="Requires 2 MB RAM"/>
@@ -8691,7 +8822,7 @@ User/save disks that can be created from the game itself are not included.
</part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="goh ii towns special" sha1="bb065fe7e0ea80d9da2b2e3b7c4a8f107ff24b6e" />
+ <disk name="gou ii - towns special (japan)" sha1="689262728feac068819447909c4f88eae6ee1145" />
</diskarea>
</part>
</software>
@@ -9138,6 +9269,101 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="hajiryoeim" cloneof="hajiryoei">
+ <!--
+ Origin: redump.org
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 01).bin" size="52567200" crc="fbaa0d7d" sha1="cc5bd53d7b8ce743d23a5fdff0f181f514296eea"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 02).bin" size="2509584" crc="7f62bacb" sha1="52b23a660e7dfb5fe4e820930a8aaf6f53ec934d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 03).bin" size="2116800" crc="b6bf0100" sha1="e3284efeffa7d6fa00e646e69e7e2ca27f3d7de3"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 04).bin" size="3586800" crc="5cb5b02d" sha1="df166e4f2366bf3863cb732359524f3bffff8bb0"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 05).bin" size="3335136" crc="6e755bc7" sha1="f3eabbd341e438e76694bbfce2961db8b94f86ff"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 06).bin" size="2857680" crc="0e4405da" sha1="63854e5b6bbcf370df33479f4b6b9c950d025364"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 07).bin" size="3273984" crc="3ba1ec58" sha1="9e76e5884ff04732c12f8555cd26fe5c251bc2e3"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 08).bin" size="3892560" crc="64243fdf" sha1="93723dc3c3c6b91b17bf5239a1653376b6962f4f"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 09).bin" size="5357856" crc="33685736" sha1="f525674538762644527063cb77efbf03bc72b983"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 10).bin" size="3191664" crc="face8a1f" sha1="7bb74f3c9c5c2dc86ffb527341eb0591a364782e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 11).bin" size="3252816" crc="c4437d91" sha1="5487d49347e573874e25d428b7cc7e2c68603ed5"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 12).bin" size="2932944" crc="ea533709" sha1="4d50b7b08ddd0e69f2a8eb3a9303666b87ef445d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 13).bin" size="3010560" crc="68530b19" sha1="5cd581c45d9abc74d679136d33b6475e5d40e8f3"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 14).bin" size="2570736" crc="791c9282" sha1="f23f230d349b60cb2e290554dc36545861b0d1c9"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 15).bin" size="2403744" crc="bd8f76b9" sha1="876010e825d5b42cf211484fdf16bdb43c3275f4"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 16).bin" size="3182256" crc="6ff9b47d" sha1="796ec269289a9914c878b51cdec7890d70a0a003"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 17).bin" size="6660864" crc="194ab7d4" sha1="d8a5eef84d054211570b89edcfc43ef1eaa00a3f"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 18).bin" size="6315120" crc="b9fe6673" sha1="b33fd496f50763d62f695dcc263523d7ec1e7f60"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 19).bin" size="4139520" crc="751a28f4" sha1="29762233b9d71412ee4ff53074af30dca1f110ba"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 20).bin" size="7444080" crc="1c2d54ce" sha1="65d727724bb8ca42a0fac5a3763213e3683a369e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 21).bin" size="9885456" crc="b444d169" sha1="12376a55d680657572c38866312ff5a0529ee604"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 22).bin" size="3450384" crc="f654ed73" sha1="6889d82b8a92945a28165e4bb8e5784ab5114f8d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 23).bin" size="2869440" crc="7bcd42f4" sha1="d94a935e0c5d4446458d6590a06181b2b47e69ac"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 24).bin" size="4240656" crc="8397c1a7" sha1="5354722b968f38c9c060bb96c7b5de4bc9721586"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 25).bin" size="5790624" crc="0eff9a32" sha1="050afd11167f4e05ce98801fbbe20211bbe14c75"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 26).bin" size="5174400" crc="046d8ec2" sha1="05ad8eb39267b5ba1aaf30cc46c16ecea588f8c7"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 27).bin" size="17929296" crc="71a06f63" sha1="da8b8c9bfc4b1edd8a02a700d7880b66d38af802"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 28).bin" size="2269680" crc="e3609dbc" sha1="28bc6b840847d7da987df0cd0e61516c08b8a5a6"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 29).bin" size="52230864" crc="46182d1b" sha1="ebe1110277f4b96506aa052fd4c805dc2dac4841"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 30).bin" size="7792176" crc="cd7d84d6" sha1="c0ead65a75d8af39a669f68dac5dda28cf35abbc"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 31).bin" size="7354704" crc="fe458000" sha1="1c624c46e1f15aece8eb1fa9a7f6aad47ad238f3"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 32).bin" size="9908976" crc="1435fc57" sha1="4696b840b55ca04866246de037396cbd005a0e0d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 33).bin" size="4762800" crc="4272eafc" sha1="f78622b0eac1e8b65eb616635fb9da92ccbf3c14"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 34).bin" size="6515040" crc="d93e41a6" sha1="cbb7b1cef282a1e32d3f8b2825be0259d4b97bbe"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 35).bin" size="16840320" crc="9b2a8ed8" sha1="378d6b416dc8dacbe13435ea474085b22fd2283e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 36).bin" size="10882704" crc="3ec868ba" sha1="cffc12c1e6e562863d92f3776e976cd83bfa67ad"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 37).bin" size="12049296" crc="b3ed0b41" sha1="01be742e7b779541899210093d657b5acab8d45e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 38).bin" size="5426064" crc="c3356e97" sha1="c7677ae7fd1aaf7fbcf917edce991407e884d745"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 39).bin" size="10466400" crc="ab609cab" sha1="7d0ab0fe4293c413190196c1076159dbb339cc1f"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 40).bin" size="3422160" crc="a30ca51f" sha1="c28857f8613ca0b0b77224a7d46441c7f6d336d1"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 41).bin" size="7585200" crc="fca5c9d9" sha1="aa5c33c7328d9bd96ce1c24bdcd7c099a7539e5b"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 42).bin" size="7698096" crc="f7d7e8e1" sha1="382fec70d08170dc651d6b28c31fa97f0ea6789b"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 43).bin" size="3450384" crc="154b380b" sha1="3cdebfd6ef6c4671ff322fb4bdac4a7858c52e2d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 44).bin" size="4068960" crc="82082dab" sha1="753dfeeb858808eea5740e8fd0afff35a4096b27"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 45).bin" size="8020320" crc="67a12da2" sha1="f2dbbe5783bbb6da3be4681530b6e0ccbd1f8a10"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 46).bin" size="14453040" crc="ce3af8a0" sha1="e46d348cf6a40f43fd41bc1b2a7a72fb8adcf308"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 47).bin" size="11073216" crc="f3f56de6" sha1="a9a55a1438ffd33bcb7c3462ab1c5d8a9191e54e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 48).bin" size="5190864" crc="729a1500" sha1="234715e0e986a7cc4c8d22524723bda225a1f160"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 49).bin" size="5110896" crc="970a7ab0" sha1="2602324ee2e90991b003f5c10f49ba7a3bb47926"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 50).bin" size="11160240" crc="847dcad9" sha1="b7eef63016696a198d2c8b330feb3d9417d7033a"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 51).bin" size="14688240" crc="a0d7f781" sha1="2d641a507f5ab4fcb271f049d9127077a93e91f1"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 52).bin" size="4967424" crc="64150eb7" sha1="5a35aa54b89df251c60866bb1ec8f2d7fd5c17b9"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 53).bin" size="25690896" crc="f3379b0b" sha1="b5ab962bfbf8dffae2924b6fa919b595e59a58b7"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 54).bin" size="19867344" crc="55db959f" sha1="3157fe1c0fb5f032184bd967ee1e664827c5ce2d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 55).bin" size="4734576" crc="10be73b0" sha1="67148cf28fbf612d87cbb9f0f686d9d644a5ba3e"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 56).bin" size="5656560" crc="98774bb0" sha1="d592da403afe2cd57be6b7313d6d270452d787ca"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 57).bin" size="5190864" crc="1859ed20" sha1="ed07088f979e51e823157eadc94313c721c19633"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 58).bin" size="7862736" crc="491aa248" sha1="08b8822c51e17e6e215c8cfcaab175dd11969b15"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 59).bin" size="5127360" crc="2c53932a" sha1="bd42862d983a03eaff5619af90286e60abb53525"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 60).bin" size="5821200" crc="cf6285bf" sha1="443486e287d15f0ee0154cbd8169bd979a0c2d1b"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 61).bin" size="5708304" crc="f6e0603a" sha1="f5dd4eea6634c703d74581c799f2549bd2d0a62d"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 62).bin" size="6644400" crc="f7137416" sha1="bf5df33f19db0bbd45436a053edd31d849d90c2f"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 63).bin" size="9490320" crc="fd28fa53" sha1="4ec65ff721246f87c79c70832d590ae9c358f973"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 64).bin" size="8309616" crc="925d380e" sha1="d41d98dad5c8ea481ebdcc6f5bb10f29f20b808a"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 65).bin" size="2556624" crc="7761bbc8" sha1="3b86e5631be9d0046bb1314787750f006be02104"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 66).bin" size="14358960" crc="189aff40" sha1="a7967af6a92450d7a7d8648c5c77d01335bc9569"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 67).bin" size="22767360" crc="0fc6632a" sha1="a2eea097c97ce12d74689f5cbb751a10f71cb241"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 68).bin" size="4840416" crc="cea200ba" sha1="5b8ce154e6328ca8c1b85ba95a22bced5cb34345"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 69).bin" size="6691440" crc="f3dea35a" sha1="802292635c1da57de6584af031b1065983859aea"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 70).bin" size="4280640" crc="0c9ccb4c" sha1="a05943851c9d564cb690aa5d78da8ca284f56e39"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 71).bin" size="5790624" crc="cb490538" sha1="425f62b0d34d5c7c6b4801c631e475f4a38088a3"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 72).bin" size="4675776" crc="50313bb4" sha1="e3324636db7c46950b69659aa9bd795a299d38f8"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 73).bin" size="5621280" crc="7af64260" sha1="1712b9e6ea1b15e5fb4e88b8f032bc82234604b4"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 74).bin" size="9066960" crc="ea7dfc05" sha1="20aa39c9a9969485f97cbb0d84d6c36e2fcb7794"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 75).bin" size="5621280" crc="e0956f38" sha1="25d892855304f15277b617b3d2093581ff79ec26"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease) (Track 76).bin" size="9059904" crc="d162e14e" sha1="f31a76cf0f5b0a5d8cb1103bf4587d438ac533c7"/>
+ <rom name="Hajimete no Ryokou Eikaiwa (Japan) (FM Towns Marty Rerelease).cue" size="12436" crc="f319c73f" sha1="6c06df8cfb1d80e2d6b679566c1d040b3e9bcd1e"/>
+ -->
+ <description>Hajimete no Ryokou Eikaiwa (FM Towns Marty version)</description>
+ <year>1993</year>
+ <publisher>ミサワホーム総合研究所 (Misawa Home Sougou Kenkyuusho)</publisher>
+ <info name="serial" value="HMD-218"/>
+ <info name="alt_title" value="はじめての旅行英会話" />
+ <info name="release" value="199303xx" />
+ <info name="usage" value="Requires 2 MB RAM"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hajimete no ryokou eikaiwa (japan) (fm towns marty rerelease)" sha1="42fd840f281773e3348c58317c4f9624ff66a696" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="halfmoon">
<!--
Origin: redump.org
@@ -9307,6 +9533,25 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="healthy2">
+ <!--
+ Origin: redump.org
+ <rom name="Healthy Life II (Japan).bin" size="63151200" crc="59db18df" sha1="6b99225dbc85d5c55130445a5551eb1f9dd6353e"/>
+ <rom name="Healthy Life II (Japan).cue" size="89" crc="fdb58367" sha1="3edbc1dbf1e50c69db3f11a2f86af9726461a8cc"/>
+ -->
+ <description>Healthy Life II</description>
+ <year>1993</year>
+ <publisher>トップビジネスシステム (Top Business System)</publisher>
+ <info name="serial" value="HME-158"/>
+ <info name="release" value="199306xx" />
+ <info name="usage" value="Requires 2 MB RAM"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="healthy life ii (japan)" sha1="2531e85ed24612e89f8ed30232de9853cae4cc72" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="hcc1713">
<!--
Origin: Neo Kobe Collection
@@ -9576,22 +9821,20 @@ User/save disks that can be created from the game itself are not included.
<software name="hoshisun">
<!--
- Origin: Neo Kobe Collection
- <rom name="Hoshi no Suna Monogatari.ccd" size="767" crc="3c5874e0" sha1="2c8d455408f231205240a5e6e36e89650017f655"/>
- <rom name="Hoshi no Suna Monogatari.cue" size="88" crc="65e4eb48" sha1="3869d13ca4d84e3f04c99d9f9686ce3d7090cb62"/>
- <rom name="Hoshi no Suna Monogatari.img" size="20815200" crc="51b4e369" sha1="7c8848e59c813d8b4a47b884a468130026e5b680"/>
- <rom name="Hoshi no Suna Monogatari.sub" size="849600" crc="33bd68f0" sha1="3f88891c58b28e15968d8e5ca8638b9fd66665db"/>
+ Origin: redump.org
+ <rom name="Hoshi no Suna Monogatari (Japan).bin" size="20815200" crc="51b4e369" sha1="7c8848e59c813d8b4a47b884a468130026e5b680"/>
+ <rom name="Hoshi no Suna Monogatari (Japan).cue" size="121" crc="caaeb9d9" sha1="515b6adedacdf0c64151aca5a8fd4164c8d1e245"/>
-->
<description>Hoshi no Suna Monogatari</description>
<year>1992</year>
<publisher>ディー・オー (D.O.)</publisher>
- <info name="serial" value="HMD-164"/>
+ <info name="serial" value="HMD-164 / MTC-1018"/>
<info name="alt_title" value="星の砂物語" />
<info name="release" value="199209xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="hoshi no suna monogatari" sha1="3484f993ecabe99049522ca7cb67334609982269" />
+ <disk name="hoshi no suna monogatari (japan)" sha1="ad83d392cbee7606a0b7d00e6a461f30d3233bdb" />
</diskarea>
</part>
</software>
@@ -10626,11 +10869,24 @@ User/save disks that can be created from the game itself are not included.
<software name="inindo">
<!--
- Origin: Reuental (CD) / cyo.the.vile (floppy)
- <rom name="inindo.ccd" size="3648" crc="cca2f7a9" sha1="6e60b1387d9d7a9476777c4f9256c878d4bcee3d"/>
- <rom name="inindo.cue" size="683" crc="b37528d8" sha1="d08c1efaf1ce82551858d586f088db25b682d64a"/>
- <rom name="inindo.img" size="598174752" crc="2ae4c706" sha1="bb899b72f338e61a442dc2335a9ffd46c0095e44"/>
- <rom name="inindo.sub" size="24415296" crc="6561c148" sha1="fcb3637447eff75738f4501b8c44481255f003cf"/>
+ Origin: redump.org (CD) / cyo.the.vile (floppy)
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 01).bin" size="20815200" crc="54130a46" sha1="e310baee12076d05af637f1cf10a4f44409e9c35"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 02).bin" size="42865200" crc="0158af73" sha1="92cb131a6cfaef0530688e338a87b5049ec9b686"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 03).bin" size="48204240" crc="cd0ba658" sha1="6a8f0fdf74d24e4e669a409d7c4035e469674a53"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 04).bin" size="38180016" crc="3aa1745a" sha1="7a0f44128638c0706141d30e9495b36011a58ae0"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 05).bin" size="29973888" crc="0cc11be4" sha1="1384537ef9c7bf80ea0913a5b0c99cce840fef38"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 06).bin" size="25940208" crc="571fd7d8" sha1="cc403ac24fa6c5c20bf68803520fe75b2a5e8ad0"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 07).bin" size="38760960" crc="ee83d329" sha1="398bfe642b2b7c708b623a47b1d3569c56e9a335"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 08).bin" size="44175264" crc="175e71a6" sha1="2621827866d821c7390086ad390294faac4ad850"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 09).bin" size="55657728" crc="3a77d075" sha1="83bd926b4513d10ed96139b04aed75d47f08dc99"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 10).bin" size="31502688" crc="56968433" sha1="3785402947db724ba5670b995f579473eb489deb"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 11).bin" size="27212640" crc="f2a943ab" sha1="618be9d6342e48a1406498951ff9ab81fe4e7bd6"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 12).bin" size="33995808" crc="3105a056" sha1="49dfcb987d44fce8359915959f7b06a5f1c737ea"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 13).bin" size="37827216" crc="4dca6cef" sha1="4e39d0af82078fb8570091fa4f916492e2eeb1cd"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 14).bin" size="38125920" crc="3b655207" sha1="2e029e8eca8acfa7c675a24391f35e0df4022230"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 15).bin" size="42013776" crc="ce2ce616" sha1="717c905d941950d8888d077195227730f136e1c0"/>
+ <rom name="Inindou - Datou Nobunaga (Japan) (Track 16).bin" size="42924000" crc="ea801aa4" sha1="95081b5ad296d079d1c2600216333c5bac5fcc12"/>
+ <rom name="Inindou - Datou Nobunaga (Japan).cue" size="1922" crc="2ca391fc" sha1="8f1d334d4ea21e50ab231cdd7b6d6c6908f1c3ff"/>
-->
<description>Inindou - Datou Nobunaga</description>
<year>1992</year>
@@ -10640,14 +10896,13 @@ User/save disks that can be created from the game itself are not included.
<info name="release" value="199202xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="flop1" interface="floppy_3_5">
- <feature name="part_id" value="User Disk" />
<dataarea name="flop" size="1261568">
<rom name="inindou_datou_nobunaga.hdm" size="1261568" crc="357c74fd" sha1="29ef6aa58cff7779a8e6e98e67970f0e2e501200" offset="000000" />
</dataarea>
</part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="inindo" sha1="ab21bd52f276d7d1f282b9ad12a0c47b27789f13" />
+ <disk name="inindou - datou nobunaga (japan)" sha1="b23ddfb43d2d01acf8a6e9f94806037c910127ce" />
</diskarea>
</part>
</software>
@@ -10727,24 +10982,20 @@ User/save disks that can be created from the game itself are not included.
<software name="ishin">
<!--
- Origin: Private dump (Reuental)
- <rom name="ISHIN_NO_ARASHI.mdf" size="502741200" crc="33a4b201" sha1="4666a1c55405acefd13f17608645df0bac1583fc"/>
- <rom name="ISHIN_NO_ARASHI.mds" size="1024" crc="cfb06454" sha1="05e023f2567feca6c984aeba9385cbfaac878cab"/>
-
- *after conversion with IsoBuster+EAC *
- <rom name="ishin.cue" size="1123" crc="ab69674c" sha1="6ac864e1572e04e6382fe4bac453bc14ba8ef461"/>
- <rom name="ishin_track01.bin" size="20462400" crc="be4b061a" sha1="99fca8c1ef5dedb879d82eb932b6cf1f70a8659a"/>
- <rom name="ishin_track02.bin" size="53409216" crc="62115ac9" sha1="6ab76f1d439cb0a2fe4a0c8922031aa04b183ed9"/>
- <rom name="ishin_track03.bin" size="48004320" crc="426ee287" sha1="43ff60a150b80802f988235e561e9e175c4e7413"/>
- <rom name="ishin_track04.bin" size="37008720" crc="281c033b" sha1="254d876a746b23673c4f8123e767e23eb5082c7e"/>
- <rom name="ishin_track05.bin" size="35456400" crc="3e8f4123" sha1="246cd999e86dd536f3be6d3676577bcb5d71d8e5"/>
- <rom name="ishin_track06.bin" size="30822960" crc="ccf11e55" sha1="bf4710e6bba7e030db428d95cbde4975573597b7"/>
- <rom name="ishin_track07.bin" size="39160800" crc="40ec9d8f" sha1="d20cc12e917c12207467a27439dd14bed9da0f45"/>
- <rom name="ishin_track08.bin" size="54731040" crc="c35f12a6" sha1="6aa8fc2f8aadb2c8f55157aa24a6c8de3ec78970"/>
- <rom name="ishin_track09.bin" size="24507840" crc="bb01cf0d" sha1="4a0435f05e7c17c1b024e69fbd77122bee765ca3"/>
- <rom name="ishin_track10.bin" size="43542576" crc="b1d9a332" sha1="0da9c7fc70a0d6ee46e67ce4daa0066a152f55db"/>
- <rom name="ishin_track11.bin" size="35886816" crc="c5998c45" sha1="161fd150ae83c1670621a1aec326ef9191050a25"/>
- <rom name="ishin_track12.bin" size="85920912" crc="8e65d944" sha1="bc24be3f270455e879218ba842f6a18133b76e40"/>
+ Origin: redump.org (CD) / Reuental (floppy)
+ <rom name="Ishin no Arashi (Japan) (Track 01).bin" size="20462400" crc="be4b061a" sha1="99fca8c1ef5dedb879d82eb932b6cf1f70a8659a"/>
+ <rom name="Ishin no Arashi (Japan) (Track 02).bin" size="53409216" crc="bacf2699" sha1="cc666cc7c86ec2c2ccf524a0afa1e36d45389173"/>
+ <rom name="Ishin no Arashi (Japan) (Track 03).bin" size="48004320" crc="4e51acc2" sha1="cb08dfceb8a551e12e79d91fffb7df570036a844"/>
+ <rom name="Ishin no Arashi (Japan) (Track 04).bin" size="36655920" crc="09f6bb24" sha1="95560b3fcf32a2c84db336c1adb3f2d6e44ea249"/>
+ <rom name="Ishin no Arashi (Japan) (Track 05).bin" size="35809200" crc="16182f48" sha1="be554bf6e95ad55ededb9e5f6e444230622050a7"/>
+ <rom name="Ishin no Arashi (Japan) (Track 06).bin" size="30822960" crc="c8c08218" sha1="60808e4e47129b616ba1eb89a71c0a8c8a866f20"/>
+ <rom name="Ishin no Arashi (Japan) (Track 07).bin" size="39160800" crc="dc2feb72" sha1="3e9a96ed3bba46877c257c77d5179542d1b65daf"/>
+ <rom name="Ishin no Arashi (Japan) (Track 08).bin" size="54731040" crc="6a2b95d2" sha1="3a93f4de403a7cdbb057aa5daddc73090c76b62d"/>
+ <rom name="Ishin no Arashi (Japan) (Track 09).bin" size="24507840" crc="5f73f278" sha1="a7c0094ec47a7d4b6553a408df1966973fbaea24"/>
+ <rom name="Ishin no Arashi (Japan) (Track 10).bin" size="43542576" crc="a3a1dab7" sha1="f393823d8c8fcc272b2da14570da19eb4dfbc0a5"/>
+ <rom name="Ishin no Arashi (Japan) (Track 11).bin" size="35886816" crc="55665247" sha1="1728471b3c7e6959f3ba476fb1fb21b4dce78bb4"/>
+ <rom name="Ishin no Arashi (Japan) (Track 12).bin" size="85920912" crc="ffd7c459" sha1="9159c2e6d6babdb15ac376e9cab44fbe210ffe67"/>
+ <rom name="Ishin no Arashi (Japan).cue" size="1421" crc="c084410a" sha1="62c19fcf7c8435be56139d0bbf6b5f8c61e06f31"/>
-->
<description>Ishin no Arashi</description>
<year>1990</year>
@@ -10759,7 +11010,7 @@ User/save disks that can be created from the game itself are not included.
</part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="ishin" sha1="e5aaf3d9e6fb44aec09b6586adfe72e872c9b85d" />
+ <disk name="ishin no arashi (japan)" sha1="4ff7137e99f3d682d80a7f3eca2451d70ea24534" />
</diskarea>
</part>
</software>
@@ -11305,6 +11556,28 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <!-- Requires a blank floppy to start the game, but it always gives a "this disk cannot be used" error -->
+ <software name="keroppi" supported="no">
+ <!--
+ Origin: redump.org
+ <rom name="Kero Kero Keroppi to Origami no Tabibito (Japan) (Track 1).bin" size="668873520" crc="e408cd61" sha1="6756cef37f20b8de446172984716b92c9bc1f3a1"/>
+ <rom name="Kero Kero Keroppi to Origami no Tabibito (Japan) (Track 2).bin" size="7796880" crc="fb7079bd" sha1="0794ba2cea6159bfcc435b203f2316fd112aa368"/>
+ <rom name="Kero Kero Keroppi to Origami no Tabibito (Japan).cue" size="289" crc="29a45b58" sha1="f98b455d0c35fa608deefddee8be61cc3f69f1de"/>
+ -->
+ <description>Kero Kero Keroppi to Origami no Tabibito</description>
+ <year>1995</year>
+ <publisher>富士通パレックス (Fujitsu Parex)</publisher>
+ <info name="serial" value="A2760640"/>
+ <info name="alt_title" value="けろけろけろっぴとおりがみのたびびと" />
+ <info name="release" value="199507xx" />
+ <info name="usage" value="Requires 4 MB RAM"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kero kero keroppi to origami no tabibito (japan)" sha1="127568a04fa8b579528931978a37aa13a516bfce" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="knjehon">
<!--
Origin: redump.org
@@ -12120,21 +12393,42 @@ User/save disks that can be created from the game itself are not included.
<software name="ku2pp">
<!--
- Origin: Tokugawa Corporate Forums (DamienD)
- <rom name="KU²++.ccd" size="5176" crc="1e5aa465" sha1="9569466d627ebb8f004d3ffd44cd48096829ff63"/>
- <rom name="KU²++.cue" size="981" crc="02e50d19" sha1="97a5444839919629278980b9df44196e505af7da"/>
- <rom name="KU²++.img" size="600514992" crc="50a05b7f" sha1="08ac4b3cb8755b25a93ac20a3a0b5364bb127b4f"/>
- <rom name="KU²++.sub" size="24510816" crc="2eeb7669" sha1="2dba78cc9b1c8a7961109fcdd31ca7f5f68f2f73"/>
+ Origin: redump.org
+ <rom name="KU^2++ (Japan) (Track 01).bin" size="32998560" crc="b9260bcd" sha1="469b7bdba8b9ad7a74bb1aa3669b81f14884b52c"/>
+ <rom name="KU^2++ (Japan) (Track 02).bin" size="36239616" crc="00cb98db" sha1="d3cb305bec74788b27b6b0cb1484a7efd187e423"/>
+ <rom name="KU^2++ (Japan) (Track 03).bin" size="31744944" crc="0ef60962" sha1="8bc3b333f9c877d8958a0b6682d7f73068392595"/>
+ <rom name="KU^2++ (Japan) (Track 04).bin" size="25229904" crc="c61ca401" sha1="39b138741f5869ac6f1240ea2de76b1c9dfab2ab"/>
+ <rom name="KU^2++ (Japan) (Track 05).bin" size="25378080" crc="4489cf69" sha1="90aa7427a1c20b244b7b510d7c26a13a902160c0"/>
+ <rom name="KU^2++ (Japan) (Track 06).bin" size="25109952" crc="279581ae" sha1="22c2824616b0a072c353fb6ef202cd69e3229cad"/>
+ <rom name="KU^2++ (Japan) (Track 07).bin" size="25213440" crc="971a3c86" sha1="41e59a01bf146c1b044ded61c79a848aed11f17f"/>
+ <rom name="KU^2++ (Japan) (Track 08).bin" size="25380432" crc="e25c53e1" sha1="f8cb7d9991fb1baa82e79a4504da37eb95d498a1"/>
+ <rom name="KU^2++ (Japan) (Track 09).bin" size="25267536" crc="4649404f" sha1="b8175a30b2290d4d43f703e9e5cc6f3c9582fde3"/>
+ <rom name="KU^2++ (Japan) (Track 10).bin" size="25316928" crc="5a4c5a9d" sha1="ad5cf8c1125049e251b3f64df0fd8ed5567b81c3"/>
+ <rom name="KU^2++ (Japan) (Track 11).bin" size="25784976" crc="ab312a1c" sha1="2174c558fb02d3b6b46e8885f4f9ed6f22bbb11e"/>
+ <rom name="KU^2++ (Japan) (Track 12).bin" size="46435536" crc="0bcd5fbb" sha1="ea74ac27347dac4f6672f5391ff35fdf0043ca6e"/>
+ <rom name="KU^2++ (Japan) (Track 13).bin" size="2429616" crc="34ea418f" sha1="0dbe09e5163f702e9704a033e5c212c2420cef80"/>
+ <rom name="KU^2++ (Japan) (Track 14).bin" size="7408800" crc="7f1c805c" sha1="4cf952449ab04b64c41bb2cc67412b42759def68"/>
+ <rom name="KU^2++ (Japan) (Track 15).bin" size="53954880" crc="f4011185" sha1="03cf52bef32da450eb6addc82b11887efb2e3e7c"/>
+ <rom name="KU^2++ (Japan) (Track 16).bin" size="59209248" crc="dc461562" sha1="ca18bedbe0854751c9e1dbd9bc4b2687017664aa"/>
+ <rom name="KU^2++ (Japan) (Track 17).bin" size="18954768" crc="d940b95f" sha1="fdb4d51bcda9f052ac81e19bd969b3589aed505b"/>
+ <rom name="KU^2++ (Japan) (Track 18).bin" size="19030032" crc="e9a483ac" sha1="d6d4d1a46f062a687890e6883aac0b098448eaa9"/>
+ <rom name="KU^2++ (Japan) (Track 19).bin" size="18919488" crc="a028ab6f" sha1="1f2edc5cc6d4caf7c4be78f6fe2904485d790e15"/>
+ <rom name="KU^2++ (Japan) (Track 20).bin" size="18820704" crc="96ae163e" sha1="0fc9133073fffbacd61a585d1114ee536ef40b1d"/>
+ <rom name="KU^2++ (Japan) (Track 21).bin" size="18926544" crc="f5c5ce0a" sha1="98559943f1adcb62abd406ef360ddcead8490173"/>
+ <rom name="KU^2++ (Japan) (Track 22).bin" size="21527856" crc="eded78fd" sha1="59484ccf28dd773259d5667a322f457cb96d0f5c"/>
+ <rom name="KU^2++ (Japan) (Track 23).bin" size="1985088" crc="731bb5f3" sha1="feccbf7330e5b86e354e7025b45667298c206dd2"/>
+ <rom name="KU^2++ (Japan) (Track 24).bin" size="9248064" crc="176dc873" sha1="03c45a4e22542d81b88a5c24f4d515be4ec3fca8"/>
+ <rom name="KU^2++ (Japan).cue" size="2621" crc="7da160d7" sha1="1b51192a98952ee29c32bfaa50226666b04aae71"/>
-->
<description>Ku²++</description>
<year>1993</year>
<publisher>パンサーソフトウェア (Panther Software)</publisher>
- <info name="serial" value="HME-243"/>
+ <info name="serial" value="HME-243 / MTC-1069"/>
<info name="release" value="199311xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="ku2++" sha1="89f36240314f15dcb45526b03beb84e417296a97" />
+ <disk name="ku^2++ (japan)" sha1="38c6be8640bb0f567275bee58671657dc5e81a63" />
</diskarea>
</part>
</software>
@@ -12686,21 +12980,19 @@ User/save disks that can be created from the game itself are not included.
<software name="lemmings">
<!--
- Origin: Neo Kobe Collection
- <rom name="Lemmings.ccd" size="767" crc="f6acea7e" sha1="d596317501b8966ab6c4f6c114b098069135f652"/>
- <rom name="Lemmings.cue" size="72" crc="35d915cc" sha1="43d34ab5d2a608ff318778f7e30d224107e99d03"/>
- <rom name="Lemmings.img" size="10231200" crc="a2f49fe8" sha1="4d259b369f9a0ec1729f97c4564038325128dc8b"/>
- <rom name="Lemmings.sub" size="417600" crc="85c37af1" sha1="278b6233d247a22ff5702f40c5cb2fccddbb46e6"/>
+ Origin: redump.org
+ <rom name="Lemmings (Japan).bin" size="10231200" crc="a2f49fe8" sha1="4d259b369f9a0ec1729f97c4564038325128dc8b"/>
+ <rom name="Lemmings (Japan).cue" size="82" crc="bb6c5173" sha1="f208ad7186dc378d4d27738d350c35a53c5dcb8c"/>
-->
<description>Lemmings</description>
<year>1992</year>
<publisher>イマジニア (Imagineer)</publisher>
- <info name="serial" value="HMD-106"/>
+ <info name="serial" value="HMD-106 / MTC-1002"/>
<info name="alt_title" value="レミングス" />
<info name="release" value="199204xx" />
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="lemmings" sha1="a6c7ea928d9fd409d2055fd83df54a734d4ff3e3" />
+ <disk name="lemmings (japan)" sha1="fe187a629fb7cb2b13807d40c145ee7be08e2839" />
</diskarea>
</part>
</software>
@@ -13374,20 +13666,32 @@ User/save disks that can be created from the game itself are not included.
<!-- Black screen on boot -->
<software name="madstalk" supported="no">
<!--
- Origin: Neo Kobe Collection
- <rom name="Mad Stalker.ccd" size="3432" crc="d59dff39" sha1="876ab6b804a0f3da6fd1cbeb1a7d2230e2adfcc3"/>
- <rom name="Mad Stalker.cue" size="860" crc="0eee802b" sha1="24807473d74f384bc130400fa7287803812c0012"/>
- <rom name="Mad Stalker.img" size="274748880" crc="f420061b" sha1="05280e943e6fd90c64a495e4c8e3c65df6a3481d"/>
- <rom name="Mad Stalker.sub" size="11214240" crc="1a4278db" sha1="f2883a900489beef51f3880ff697b1635e72eaa5"/>
- -->
- <description>Mad Stalker</description>
+ Origin: redump.org
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 01).bin" size="6091680" crc="48fa8e70" sha1="52285cb2a977e67a540f75585d0887c50b633dc6"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 02).bin" size="18874800" crc="eaa2c066" sha1="c7fc02d1e6c34f908fe543f0770810882e7fbff6"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 03).bin" size="6526800" crc="3a44b3ed" sha1="e6228f50e9f3c409b70a407797a6dd7761e88209"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 04).bin" size="18345600" crc="dac92db6" sha1="a60e0b15a0a161c09714af6f940f0b2b19206064"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 05).bin" size="25048800" crc="5cfa4f1a" sha1="98d48c470d633a0825b5a3dddb470650959a4423"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 06).bin" size="24872400" crc="b01a503f" sha1="1067dc6e61bd64496042924e5b021dd0d3e57132"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 07).bin" size="24166800" crc="ec5a65df" sha1="1eaca062891468bc8b6ab6e20638c3a4195480ba"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 08).bin" size="22050000" crc="e2b22f5a" sha1="8001a7197a6f603e94c2ad9e2c22817f1ed68a75"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 09).bin" size="23108400" crc="0ba7d9bc" sha1="8894b630b957ba746908c687b473543e6501e5a1"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 10).bin" size="23284800" crc="eb34db6d" sha1="8a71dcc6866afd86d0e3f02f1b255dd5f7b8d93c"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 11).bin" size="22402800" crc="c6a76f58" sha1="4b12af417f29ee6a6bcf3a7c72adfaa62c670931"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 12).bin" size="20109600" crc="ee14e8c8" sha1="4e7cd91556457cbabcddce4ec3e1f94f31defee3"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 13).bin" size="23108400" crc="ed43c49d" sha1="451542ce8222539cdf7f704829b84ed0db142ad6"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan) (Track 14).bin" size="16758000" crc="e1aba258" sha1="06734d4add010a9b982f7ae846e9249737549aa3"/>
+ <rom name="Mad Stalker - FullMetalForce (Japan).cue" size="1839" crc="e9257d28" sha1="fc22f04fbd62645fe3bb8d719e2bbb1af5ce064d"/>
+ -->
+ <description>Mad Stalker - FullMetalForce</description>
<year>1994</year>
<publisher>ファミリーソフト (Family Soft)</publisher>
+ <info name="serial" value="MTC-1092"/>
<info name="alt_title" value="マッドストーカー" />
<info name="release" value="199407xx" />
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="mad stalker" sha1="1d2865889b1e124ec073106312cd58c8136fd08f" />
+ <disk name="mad stalker - fullmetalforce (Japan)" sha1="8132a52178a6c5c692a34cde37d6863b75e4e671" />
</diskarea>
</part>
</software>
@@ -13616,20 +13920,32 @@ User/save disks that can be created from the game itself are not included.
<software name="mjhtry">
<!--
- Origin: Neo Kobe Collection
- <rom name="Mahjong Houteiraoyui.ccd" size="3246" crc="4e130608" sha1="a93be2eff939b24e75acf2a00154104a903fd6a0"/>
- <rom name="Mahjong Houteiraoyui.cue" size="596" crc="0d85dbc7" sha1="f15ec755d7c63bb9bb2a66f6a68651f9c1806853"/>
- <rom name="Mahjong Houteiraoyui.img" size="457438128" crc="c31f1d77" sha1="e021e6520bcc334de35bd5cd3d6b9d6917d8a5b2"/>
- <rom name="Mahjong Houteiraoyui.sub" size="18670944" crc="eb5e9d17" sha1="23d0ad347581997fa33aae83421c72f893ce7571"/>
+ Origin: redump.org
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 01).bin" size="2464896" crc="997d6d8b" sha1="0c0216056cd9bf72de4cf10a984202ccfaf0627c"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 02).bin" size="1648752" crc="abc9462d" sha1="922058a31afa3876bb5d84b513957e89e9d06a60"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 03).bin" size="52560144" crc="67dabfe5" sha1="5ca16bf1596e9d115fa977f57d77882df5af931a"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 04).bin" size="48183072" crc="5e55c00a" sha1="70fe072c629e0b62e02e4cb76de978e4bb3cf31b"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 05).bin" size="52934112" crc="9c831958" sha1="0939c7c0f1e48ccaa2272dc0c134d23a20012561"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 06).bin" size="29225952" crc="ed33b573" sha1="3a7ad7101f911a243704d5a71fb8e2c79e72969b"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 07).bin" size="33887616" crc="e079b54e" sha1="faa1bb0ebbdea3110230fe72dab6fadaa47bc53b"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 08).bin" size="28104048" crc="b9ad6a65" sha1="6d55fefbb64117243a31cc7c5a80768cb588749b"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 09).bin" size="29581104" crc="0f7b1fc9" sha1="0cce22213cc8f6ea71bf52952de32d0791b9b5d2"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 10).bin" size="28275744" crc="39bb6b85" sha1="e9487187fce226737c81699d74d5f9a4d46f8988"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 11).bin" size="34870752" crc="77b5e2ec" sha1="9608f9a7e44faa6f3abac8036c1a65736db0625f"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 12).bin" size="29228304" crc="f01d156d" sha1="a9cc70e44894d6b07f0c2302d4f05617e11e150a"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 13).bin" size="34917792" crc="7666ac92" sha1="4f0d64b09c4ff9c11351406eff847d204f537c63"/>
+ <rom name="Mahjong Houtei Raoyui (Japan) (Track 14).bin" size="51555840" crc="f3484ba1" sha1="df7d3158afe1f4b68fcf08867fdc32e3705929a1"/>
+ <rom name="Mahjong Houtei Raoyui (Japan).cue" size="1442" crc="e8fa7323" sha1="dad7f50dc7d57f96f297c6da2c7b367d2fa0f534"/>
-->
<description>Mahjong Hou Tei Rao Yui</description>
<year>1995</year>
<publisher>クィーンソフト (Queen Soft)</publisher>
+ <info name="serial" value="QCD-9503"/>
<info name="alt_title" value="麻雀河底撈魚" />
<info name="release" value="199508xx" />
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="mahjong houteiraoyui" sha1="a89200b37fee06bfa727a85433705b2a2ad95e6d" />
+ <disk name="mahjong houtei raoyui (japan)" sha1="442e8472787738d7eda976d51c38c987baabad22" />
</diskarea>
</part>
</software>
@@ -14551,9 +14867,9 @@ User/save disks that can be created from the game itself are not included.
<software name="mightmg5">
<!--
- Origin: Neo Kobe Collection
- <rom name="Might and Magic V - Darkside of Xeen.mdf" size="36691200" crc="c1bf597c" sha1="f0c3c649a77242223076ccafc608a702ede112db"/>
- <rom name="Might and Magic V - Darkside of Xeen.mds" size="486" crc="974ae3fc" sha1="5bda8dd2b65112d77a3c8cc341ecb2f5e39f05e8"/>
+ Origin: redump.org
+ <rom name="Might and Magic - Dark Side of Xeen (Japan).bin" size="36691200" crc="c1bf597c" sha1="f0c3c649a77242223076ccafc608a702ede112db"/>
+ <rom name="Might and Magic - Dark Side of Xeen (Japan).cue" size="132" crc="550c2801" sha1="36f1c2ebb7e35c45dcbe07e620866baeb01218fb"/>
-->
<description>Might and Magic - Darkside of Xeen</description>
<year>1994</year>
@@ -14564,7 +14880,7 @@ User/save disks that can be created from the game itself are not included.
<info name="usage" value="Requires 3 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="might and magic v - darkside of xeen" sha1="5c1ad8661f637e57af130b23a9427ee855daf63f" />
+ <disk name="might and magic - dark side of xeen (japan)" sha1="c9106d188025428e6097e00c5cef2e66efa909a4" />
</diskarea>
</part>
</software>
@@ -15750,6 +16066,27 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="nhkeikaim">
+ <!--
+ Origin: redump.org
+ <rom name="NHK Jissen Eikaiwa - English Conversation Program (Japan) (FM Towns Marty Rerelease) (Track 1).bin" size="20815200" crc="1e1093a5" sha1="e2f1aee46c6a3d62f2cfdd29351e6c3b1a9a3b9c"/>
+ <rom name="NHK Jissen Eikaiwa - English Conversation Program (Japan) (FM Towns Marty Rerelease) (Track 2).bin" size="466227552" crc="34979c21" sha1="09714bb466f0ad7b46c8550e1a7504e5164f1754"/>
+ <rom name="NHK Jissen Eikaiwa - English Conversation Program (Japan) (FM Towns Marty Rerelease).cue" size="361" crc="9e45b223" sha1="6e6835742321942e3620d584a6d712bccfd97cf6"/>
+ -->
+ <description>NHK Jissen Eikaiwa (FM Towns Marty version)</description>
+ <year>1993</year>
+ <publisher>CRC総合研究所 (CRC Sougou Kenkyuusho)</publisher>
+ <info name="serial" value="HME-106"/>
+ <info name="alt_title" value="NHK実践英会話" />
+ <info name="release" value="199303xx" />
+ <info name="usage" value="Requires 2 MB RAM"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nhk jissen eikaiwa - english conversation program (japan) (fm towns marty rerelease)" sha1="6706352e9fca1132f53891fa0bfd59abfe87a856" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="nhkeikaio" cloneof="nhkeikai">
<!--
Origin: P2P
@@ -19095,19 +19432,19 @@ User/save disks that can be created from the game itself are not included.
<software name="rockrang">
<!--
- Origin: Neo Kobe Collection
- <rom name="Rocket Ranger.bin" size="12343296" crc="742d76d5" sha1="2ad97d12c74244cb3dcaefee0548701e327d83b0"/>
- <rom name="Rocket Ranger.cue" size="79" crc="bc9698a1" sha1="80d18c522d32bf240fe55fee9092d7ae72570d23"/>
+ Origin: redump.org
+ <rom name="Rocket Ranger (Japan).bin" size="12343296" crc="742d76d5" sha1="2ad97d12c74244cb3dcaefee0548701e327d83b0"/>
+ <rom name="Rocket Ranger (Japan).cue" size="87" crc="798c7d17" sha1="109a7b3dbdf2d304a592dc8c1ae2535eaf6d99aa"/>
-->
<description>Rocket Ranger</description>
<year>1990</year>
<publisher>ポニーキャニオン (Pony Canyon)</publisher>
- <info name="serial" value="HMB-116"/>
+ <info name="serial" value="HMB-116 / K98B5126"/>
<info name="release" value="199005xx" />
- <info name="usage" value="Requires 2 MB RAM"/>
+ <info name="usage" value="Requires 2 MB RAM. The copy protection requires a codewheel."/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="rocket ranger" sha1="faee63cd159d68240360149887702560dedff780" />
+ <disk name="rocket ranger (japan)" sha1="af187fba0697aed6d95ba36bf516b77edd6e5306" />
</diskarea>
</part>
</software>
@@ -19670,7 +20007,7 @@ User/save disks that can be created from the game itself are not included.
<software name="shamhat">
<!--
- Origin: redump.org / wiggy2k
+ Origin: redump.org (CD) / wiggy2k (floppy)
<rom name="Shamhat - The Holy Circlet (Japan) (Track 1).bin" size="260484000" crc="5c856e63" sha1="2751566dd6bb590dfb4c67e5e54d5c9535233d80"/>
<rom name="Shamhat - The Holy Circlet (Japan) (Track 2).bin" size="5997600" crc="97dfe1ae" sha1="1d9d1ff4e3ee96c9b14caa867d58fe7f58a693d4"/>
<rom name="Shamhat - The Holy Circlet (Japan) (Track 3).bin" size="54695760" crc="95e66371" sha1="ae10a3f5ce8fdc8a841aaaea5936dff6e576a2b1"/>
@@ -19698,7 +20035,7 @@ User/save disks that can be created from the game itself are not included.
<software name="shamhatm" cloneof="shamhat">
<!--
- Origin: redump.org / wiggy2k
+ Origin: redump.org (CD) / wiggy2k (floppy)
<rom name="Shamhat - The Holy Circlet (Japan) (Track 1).bin" size="260484000" crc="5c856e63" sha1="2751566dd6bb590dfb4c67e5e54d5c9535233d80"/>
<rom name="Shamhat - The Holy Circlet (Japan) (Track 2).bin" size="5997600" crc="97dfe1ae" sha1="1d9d1ff4e3ee96c9b14caa867d58fe7f58a693d4"/>
<rom name="Shamhat - The Holy Circlet (Japan) (Track 3).bin" size="54695760" crc="95e66371" sha1="ae10a3f5ce8fdc8a841aaaea5936dff6e576a2b1"/>
@@ -19884,14 +20221,14 @@ User/save disks that can be created from the game itself are not included.
<software name="shooting">
<!--
- Origin: Private dump (rockleevk)
- <rom name="SHOOTING (Track 1).bin" size="20462400" crc="f61249cf" sha1="3b758e2510d94d05ec21c36724b82b60bb77768d"/>
- <rom name="SHOOTING (Track 2).bin" size="32673984" crc="b43eb157" sha1="cf28bb9f37763e0d085b1c8fa9871a4fbb546f08"/>
- <rom name="SHOOTING (Track 3).bin" size="35750400" crc="1b12759b" sha1="c2d102aeb67c5e3a48a43d01b1e9ff4893bedc34"/>
- <rom name="SHOOTING (Track 4).bin" size="40061616" crc="55697b43" sha1="45a7dcf45f5698748e1394bb65b1dc42b94eacb3"/>
- <rom name="SHOOTING (Track 5).bin" size="36437184" crc="27377dcb" sha1="050a78132620b8ce2c4b24a969c784088626fb02"/>
- <rom name="SHOOTING (Track 6).bin" size="26742240" crc="61d65f10" sha1="ddd14ce28067deaba895e38f9aa7dee3109cf3ec"/>
- <rom name="SHOOTING.cue" size="617" crc="199debf6" sha1="ddce20c7149404b97a5557a258f102d08014eb46"/>
+ Origin: redump.org
+ <rom name="Shooting Towns (Japan) (Track 1).bin" size="20462400" crc="f61249cf" sha1="3b758e2510d94d05ec21c36724b82b60bb77768d"/>
+ <rom name="Shooting Towns (Japan) (Track 2).bin" size="32673984" crc="b43eb157" sha1="cf28bb9f37763e0d085b1c8fa9871a4fbb546f08"/>
+ <rom name="Shooting Towns (Japan) (Track 3).bin" size="35750400" crc="1b12759b" sha1="c2d102aeb67c5e3a48a43d01b1e9ff4893bedc34"/>
+ <rom name="Shooting Towns (Japan) (Track 4).bin" size="40061616" crc="55697b43" sha1="45a7dcf45f5698748e1394bb65b1dc42b94eacb3"/>
+ <rom name="Shooting Towns (Japan) (Track 5).bin" size="36437184" crc="27377dcb" sha1="050a78132620b8ce2c4b24a969c784088626fb02"/>
+ <rom name="Shooting Towns (Japan) (Track 6).bin" size="26742240" crc="61d65f10" sha1="ddd14ce28067deaba895e38f9aa7dee3109cf3ec"/>
+ <rom name="Shooting Towns (Japan).cue" size="701" crc="9f0d474a" sha1="09d8cb612180748e3abb30a025cb60580e1ed3e0"/>
-->
<description>Shooting Towns</description>
<year>1990</year>
@@ -19901,7 +20238,7 @@ User/save disks that can be created from the game itself are not included.
<info name="release" value="199003xx" />
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="shooting" sha1="e2671ef122e5c7d4c5c1893208c621251ae462c1" />
+ <disk name="shooting towns (japan)" sha1="e2671ef122e5c7d4c5c1893208c621251ae462c1" />
</diskarea>
</part>
</software>
@@ -21450,24 +21787,20 @@ User/save disks that can be created from the game itself are not included.
<software name="syndicat">
<!--
- Origin: Neo Kobe Collection
- <rom name="Syndicate.mdf" size="20815200" crc="2ee5e8a4" sha1="efa2c4272df66b1cd239197410f16e882adc5f72"/>
- <rom name="Syndicate.mds" size="486" crc="bc9564e9" sha1="d860d2fca76ac74becf88ab2eb85b11323ff899f"/>
-
- *after conversion with IsoBuster+EAC *
- <rom name="syndicate.bin" size="20815200" crc="2ee5e8a4" sha1="efa2c4272df66b1cd239197410f16e882adc5f72"/>
- <rom name="syndicate.cue" size="70" crc="631bc9c8" sha1="83df5bc028ec0542fef2b5e3ebc2de210df216a8"/>
+ Origin: redump.org
+ <rom name="Syndicate (Japan).bin" size="20815200" crc="2ee5e8a4" sha1="efa2c4272df66b1cd239197410f16e882adc5f72"/>
+ <rom name="Syndicate (Japan).cue" size="106" crc="638a1ca6" sha1="ea4b8493a0c47738a8952306f229acb941b96b8a"/>
-->
<description>Syndicate</description>
<year>1994</year>
<publisher>エレクトロニック・アーツ・ビクター (Electronic Arts Victor)</publisher>
- <info name="serial" value="HMF-163"/>
+ <info name="serial" value="HMF-163 / EFT-7009"/>
<info name="alt_title" value="シンジケート" />
<info name="release" value="199407xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="syndicate" sha1="d676fb5d4345ec464740c1b9c53327df0925a46a" />
+ <disk name="syndicate (japan)" sha1="ab88e7b78a1cd373d3efe49c2a7c9e496ed5ab4b" />
</diskarea>
</part>
</software>
@@ -21529,11 +21862,22 @@ User/save disks that can be created from the game itself are not included.
<software name="taikoris">
<!--
- Origin: Neo Kobe Collection
- <rom name="Taikou Risshinden.ccd" size="3261" crc="e1a4304d" sha1="8dff4c1b3ad4693b5b5b6b6f4fe63b931cc37a64"/>
- <rom name="Taikou Risshinden.cue" size="614" crc="0db78a9d" sha1="6285de87776e5980fcd0fd4ba0f916e0769239a5"/>
- <rom name="Taikou Risshinden.img" size="513102912" crc="0c67d2e6" sha1="c3abc281bee2c74eaf75ab0a444d3fb15d50683a"/>
- <rom name="Taikou Risshinden.sub" size="20942976" crc="c38fc15e" sha1="bff84a3b38dde076c8aeb9c972b4e71bfbdc9f57"/>
+ Origin: redump.org (CD) / cyo.the.vile (floppy)
+ <rom name="Taikou Risshiden (Japan) (Track 01).bin" size="10231200" crc="f9ad7852" sha1="9492e04a88d57a977e93aa2e93401a5e1c1409a3"/>
+ <rom name="Taikou Risshiden (Japan) (Track 02).bin" size="33304320" crc="df529373" sha1="fef3e03a0368af3b1673606619c23411f8fce55b"/>
+ <rom name="Taikou Risshiden (Japan) (Track 03).bin" size="44758560" crc="5e70c16c" sha1="6a105eb88b17dfc71738c75af252416b06dab192"/>
+ <rom name="Taikou Risshiden (Japan) (Track 04).bin" size="42740544" crc="928df900" sha1="9dea4978a23eb457272e798f943f638969d20f5e"/>
+ <rom name="Taikou Risshiden (Japan) (Track 05).bin" size="37890720" crc="7032c694" sha1="b0609744eb7097911b70f6bc11eace523aa40012"/>
+ <rom name="Taikou Risshiden (Japan) (Track 06).bin" size="46228560" crc="81069aeb" sha1="338de851cedd0e2df6cd5da9fc6a4189bb0a9a55"/>
+ <rom name="Taikou Risshiden (Japan) (Track 07).bin" size="35698656" crc="b33f1b1e" sha1="994462bf1df7b457f0ecfe6a60f6a8d9bbf1f96e"/>
+ <rom name="Taikou Risshiden (Japan) (Track 08).bin" size="33704160" crc="1afdb2e0" sha1="9e6fc6bdf8ce3772f5418bc292eeb673198da143"/>
+ <rom name="Taikou Risshiden (Japan) (Track 09).bin" size="34061664" crc="924f86be" sha1="e00bc5bdbcb1fba8a47834774e61a1f133214cc3"/>
+ <rom name="Taikou Risshiden (Japan) (Track 10).bin" size="32723376" crc="1a901146" sha1="c7a2a146c7686b2eaf31d94ac63b1104e808010f"/>
+ <rom name="Taikou Risshiden (Japan) (Track 11).bin" size="52061520" crc="87d3705b" sha1="fd1de1b7597e3844dcfd07bce5c50bff66a7b213"/>
+ <rom name="Taikou Risshiden (Japan) (Track 12).bin" size="28929600" crc="eba8c6db" sha1="f646c9627d2be9f638d988528a16f3ee84e0ed45"/>
+ <rom name="Taikou Risshiden (Japan) (Track 13).bin" size="46386144" crc="46bb1860" sha1="bd6a6d2fe0ca8724976592cbb3193cadd283bfcb"/>
+ <rom name="Taikou Risshiden (Japan) (Track 14).bin" size="34383888" crc="27e3bb4e" sha1="0460d408effaabf53aec68cf6704533d91dbbc93"/>
+ <rom name="Taikou Risshiden (Japan).cue" size="1395" crc="6732fac6" sha1="8e1188153ff717780dc9cc688ebc2d8e22b2d922"/>
-->
<description>Taikou Risshiden</description>
<year>1992</year>
@@ -21542,9 +21886,14 @@ User/save disks that can be created from the game itself are not included.
<info name="alt_title" value="太閤立志伝" />
<info name="release" value="199205xx" />
<info name="usage" value="Requires 2 MB RAM"/>
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="1261568">
+ <rom name="taikou_risshiden.hdm" size="1261568" crc="82c56347" sha1="62f0cb66a1784c147e65f850b62d048e3a6bc2ca" offset="000000" />
+ </dataarea>
+ </part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="taikou risshinden" sha1="b66a2e514c893103f7fdc8b0c5850529d96f51ea" />
+ <disk name="taikou risshiden (japan)" sha1="43d3e90f09db113065b291fcbbbd94a1a902ef1c" />
</diskarea>
</part>
</software>
@@ -22793,6 +23142,23 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
+ <software name="townsvn1110" cloneof="townsvn" supported="no">
+ <!--
+ Origin: redump.org
+ <rom name="Towns VNet V1.1 L10 (Japan).bin" size="6703200" crc="822df641" sha1="415e8fcb7ac02fa6633da348bfb771ba304df0c7"/>
+ <rom name="Towns VNet V1.1 L10 (Japan).cue" size="116" crc="a6797a60" sha1="8681d2131dcc081a58a061101bef0433ae5de71e"/>
+ -->
+ <description>Towns VNet V1.1 L10</description>
+ <year>1989</year>
+ <publisher>富士通 (Fujitsu)</publisher>
+ <info name="serial" value="B276B500"/>
+ <part name="cdrom" interface="fmt_cdrom">
+ <diskarea name="cdrom">
+ <disk name="towns vnet v1.1 l10 (japan)" sha1="960c5b9461502b79134a24c0300345e041fbffac" />
+ </diskarea>
+ </part>
+ </software>
+
<software name="trigger">
<!--
Origin: Neo Kobe Collection
@@ -22956,41 +23322,43 @@ User/save disks that can be created from the game itself are not included.
<software name="ultima4">
<!--
Origin: Neo Kobe Collection
- <rom name="Ultima IV - Quest of the Avatar.bin" size="83260800" crc="cacc08b9" sha1="9194eb85d514e71e07ea3b1e0615a01c9d09f416"/>
- <rom name="Ultima IV - Quest of the Avatar.cue" size="200" crc="8f8e7041" sha1="e70d908fa5fe464e6d88c6d14a5110e9c7b243f3"/>
+ <rom name="Ultima IV - Quest of the Avatar (Japan) (Track 1).bin" size="31399200" crc="06f776cb" sha1="6f7445adf397b817ae876de7007ad63d87bb0922"/>
+ <rom name="Ultima IV - Quest of the Avatar (Japan) (Track 2).bin" size="23108400" crc="f413b5e1" sha1="a6aec71293db439808d14d199536782b4f5859e5"/>
+ <rom name="Ultima IV - Quest of the Avatar (Japan) (Track 3).bin" size="29106000" crc="a46acb14" sha1="03046f40b88c91f7a8ca5cb7a8142c49aaebede0"/>
+ <rom name="Ultima IV - Quest of the Avatar (Japan).cue" size="381" crc="aefe95cd" sha1="f34779d9b0fb50429a4a7533ea198950038b31f0"/>
-->
<description>Ultima IV - Quest of the Avatar</description>
<year>1992</year>
<publisher>富士通 (Fujitsu)</publisher>
- <info name="serial" value="HMC-200"/>
+ <info name="serial" value="HMC-200 / A2760250 / TSC210"/>
<info name="alt_title" value="ウルティマIV Quest of the Avatar" />
<info name="release" value="199204xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="ultima iv - quest of the avatar" sha1="b848a6330b0aa8c197079708ca6533d780cf067d" />
+ <disk name="ultima iv - quest of the avatar (japan)" sha1="e1ac1962c76f6e44a09a46a90abf3ef392899f4f" />
</diskarea>
</part>
</software>
<software name="ultima5">
<!--
- Origin: Neo Kobe Collection
- <rom name="Ultima V - Warriors of Destiny.ccd" size="1182" crc="d9e61bbd" sha1="3348645d2dbfceaff3868f751686765c5a2bef08"/>
- <rom name="Ultima V - Warriors of Destiny.cue" size="199" crc="73c7dd6c" sha1="448746515fcf7e109c6382c83934d66434a5214f"/>
- <rom name="Ultima V - Warriors of Destiny.img" size="128595600" crc="dfc1dbe5" sha1="a0cfebf22f4b0563fb12f7c745305b45cd458f73"/>
- <rom name="Ultima V - Warriors of Destiny.sub" size="5248800" crc="57c99837" sha1="086b83fe4b0303cd0cb11dd0fa68a71a2186c56b"/>
+ Origin: redump.org
+ <rom name="Ultima V - Warriors of Destiny (Japan) (Track 1).bin" size="31399200" crc="7cb1aff3" sha1="9dbcef967cfeba72816d292854a4828ebdc85dab"/>
+ <rom name="Ultima V - Warriors of Destiny (Japan) (Track 2).bin" size="31752000" crc="3a68677c" sha1="75ca40ab834404218074fdd9641639f39699ec0f"/>
+ <rom name="Ultima V - Warriors of Destiny (Japan) (Track 3).bin" size="65444400" crc="a522835a" sha1="879c69a1818e8bc505066d9c976e80c3aa8a8bb2"/>
+ <rom name="Ultima V - Warriors of Destiny (Japan).cue" size="378" crc="70ba072c" sha1="5dee32dd56d541f067ca639532ccdc5c1c0a7c27"/>
-->
<description>Ultima V - Warriors of Destiny</description>
<year>1992</year>
<publisher>富士通 (Fujitsu)</publisher>
- <info name="serial" value="HMD-112"/>
+ <info name="serial" value="HMD-112 / A2760280 / TSC140"/>
<info name="alt_title" value="ウルティマV Warriors of Destiny" />
<info name="release" value="199208xx" />
<info name="usage" value="Requires 2 MB RAM"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="ultima v - warriors of destiny" sha1="70aa1bf29817f583317426fde3a7ceb5a22703fa" />
+ <disk name="ultima v - warriors of destiny (japan)" sha1="011fa98655b824a17693020eab689c2a41c33984" />
</diskarea>
</part>
</software>
@@ -23817,19 +24185,19 @@ User/save disks that can be created from the game itself are not included.
<software name="wingscrt" supported="no">
<!--
Origin: Neo Kobe Collection
- <rom name="Wing Commander - Secret Missions.mdf" size="10231200" crc="f75ba7a5" sha1="63b8d24b3f376edef3ca0363aa9cfec0d0908d6a"/>
- <rom name="Wing Commander - Secret Missions.mds" size="486" crc="15e78ee3" sha1="c0b6da8915c861eb0f826689efb7b6b237f25f2b"/>
+ <rom name="Wing Commander - The Secret Missions &amp; The Secret Missions 2 - Crusade (Japan).bin" size="10231200" crc="f75ba7a5" sha1="63b8d24b3f376edef3ca0363aa9cfec0d0908d6a"/>
+ <rom name="Wing Commander - The Secret Missions &amp; The Secret Missions 2 - Crusade (Japan).cue" size="167" crc="a2723e77" sha1="ce759e53ba4f5df84eded22ffac1a98121de865f"/>
-->
- <description>Wing Commander - Secret Missions</description>
+ <description>Wing Commander - The Secret Missions &amp; The Secret Missions 2 - Crusade</description>
<year>1994</year>
<publisher>富士通 (Fujitsu)</publisher>
- <info name="serial" value="HMF-135"/>
+ <info name="serial" value="HMF-135 / A2760341 / TSC430"/>
<info name="alt_title" value="ウィング・コマンダー シークレット・ミッション" />
<info name="release" value="199411xx" />
<info name="usage" value="Requires HDD installation"/>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="wing commander - secret missions" sha1="68edf6a505bac8462dee5154d25c6a0d50d0d31c" />
+ <disk name="wing commander - the secret missions &amp; the secret missions 2 - crusade (japan)" sha1="c3d5cdce7fb1e8847fee668e97893a0d3e059111" />
</diskarea>
</part>
</software>
@@ -24708,17 +25076,14 @@ User/save disks that can be created from the game itself are not included.
<software name="zan3">
<!--
- Origin: Private dump (Reuental)
- <rom name="ZAN3.mdf" size="8908800" crc="df3ca4de" sha1="21479d715e7a32ed3f93a6eb1d3d3690fd2ee0ec"/>
- <rom name="ZAN3.mds" size="688" crc="beb71eb0" sha1="a82d8b7783e9087b0b32241208ceed2db2d1e9d8"/>
-
- The MDF file is a single track, so a CUE file was created for conversion:
- <rom name="zan3.cue" size="65" crc="09d4a494" sha1="65cb0a7c4333779fb2f13c60ad2cb69749e1ea0c"/>
+ Origin: redump.org (CD) / Reuental (floppy)
+ <rom name="Zan III - Ten'un Ware ni Ari - Towns Special (Japan).bin" size="10231200" crc="50503282" sha1="18609421be35b94708637beef3928e75cecd6dd8"/>
+ <rom name="Zan III - Ten'un Ware ni Ari - Towns Special (Japan).cue" size="118" crc="35a530e3" sha1="f0adc1c0335dce2034028aeb5b3207937aba4a78"/>
-->
<description>Zan III - Ten'un Ware ni Ari</description>
<year>1994</year>
<publisher>日本テレネット (Nihon Telenet)</publisher>
- <info name="serial" value="HMF-103"/>
+ <info name="serial" value="HMF-103 / CD-W25-TO"/>
<info name="alt_title" value="斬III ~天運我にあり~" />
<info name="release" value="199404xx" />
<info name="usage" value="Requires 2 MB RAM"/>
@@ -24730,7 +25095,7 @@ User/save disks that can be created from the game itself are not included.
</part>
<part name="cdrom" interface="fmt_cdrom">
<diskarea name="cdrom">
- <disk name="zan3" sha1="375d3a88e0c6990137cb7b054ffc4785e6475584" />
+ <disk name="zan iii - ten'un ware ni ari - towns special (japan)" sha1="2d2a7f6b86f2deab40ad2f94b1963b5065cd33c5" />
</diskarea>
</part>
</software>
diff --git a/hash/fmtowns_flop_orig.xml b/hash/fmtowns_flop_orig.xml
index d14293b8e4c..c8b038ab813 100644
--- a/hash/fmtowns_flop_orig.xml
+++ b/hash/fmtowns_flop_orig.xml
@@ -309,9 +309,7 @@ Zurukamashi Ver 2.0 Nikkonren Ki
</part>
</software>
- <!-- Asks for Disk A on startup. Probably related to the protection. -->
- <!-- Overlapped sectors and non-standard sector IDs on track 9 side 0 of disk A -->
- <software name="asuka120" supported="no">
+ <software name="asuka120" supported="partial">
<description>Asuka 120% Burning Fest.</description>
<year>1994</year>
<publisher>ファミリーソフト (Family Soft)</publisher>
@@ -320,7 +318,7 @@ Zurukamashi Ver 2.0 Nikkonren Ki
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk A" />
<dataarea name="flop" size="3444655">
- <rom name="asuka120_disk_a.mfm" size="3444655" crc="22fbc013" sha1="a780007f1b65613d0689cb68f9543c9aeac7c909"/>
+ <rom name="asuka120_disk_a.mfm" size="3444655" crc="64a96ab4" sha1="f27c4d6e1bec29180fc0868615a08be0eb10734e"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
diff --git a/hash/gamegear.xml b/hash/gamegear.xml
index 12a2ab083bc..647313f864e 100644
--- a/hash/gamegear.xml
+++ b/hash/gamegear.xml
@@ -18,6 +18,8 @@ A few games have been listed as rumored, but they might very well be fake (pleas
- "Outrunners",
- "Sports Illustrated Golf",
- "Ronald McDonald in Magical World" (European revision of "Donald no Magic World" ??)
+
+Hung Tao Hsin games are possibly pirate bootlegs though they may be officially licensed as with the Taiwanese Aaronix SMS games. All are slightly modified versions of existing SMS carts.
-->
<softwarelist name="gamegear" description="Sega Game Gear cartridges">
@@ -185,6 +187,20 @@ A few games have been listed as rumored, but they might very well be fake (pleas
</part>
</software>
+ <software name="aerialastw">
+ <description>Aerial Assault (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-11"/>
+ <info name="alt_title" value="空中出擊 (Kōng zhòng chūjí)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="aerial assault [hth] [sms-gg] (tw).bin" size="262144" crc="6630e5fd" sha1="c3305d745792a931ea92da6e6457c43d7cc45cf2"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="aerialas">
<description>Aerial Assault (World, v0)</description>
<year>1992</year>
@@ -276,12 +292,12 @@ A few games have been listed as rumored, but they might very well be fake (pleas
</part>
</software-->
- <!-- Alt. Title: Alex Kido (on the boxart) -->
<software name="alexkidd">
<description>Alex Kidd in Miracle World (Tw, SMS mode)</description>
- <year>198?</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
<info name="serial" value="HG 101-10"/>
+ <info name="alt_title" value="天空魔城 (Tiānkōng mó chéng) Alex Kido"/>
<part name="cart" interface="gamegear_cart">
<feature name="pin_42" value="sms_mode" />
<dataarea name="rom" size="131072">
@@ -402,6 +418,20 @@ A few games have been listed as rumored, but they might very well be fake (pleas
</part>
</software>
+ <software name="argosnj">
+ <description>Argos no Juujiken (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-02"/>
+ <info name="alt_title" value="十字剣 (Shízì jiàn) Alocos" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="argos no juujiken [hth] [sms-gg] (tw).bin" size="131072" crc="5e4b454e" sha1="5c1fef3b564fe1373101e5e331b38949dd2e583b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ariel">
<description>Disney's Ariel the Little Mermaid (Euro, USA)</description>
<year>1991</year>
@@ -1026,6 +1056,20 @@ a certain item) -->
</part>
</software>
+ <software name="blackblt">
+ <description>Black Belt (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-19"/>
+ <info name="alt_title" value="サ!熱血高手 (Sa! Rèxuè gāoshǒu)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="black belt [hth] [sms-gg] (tw).bin" size="131072" crc="98f64975" sha1="54a8cf79fac1f4c1dd1b2350b6934e42fc766020"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bonkers">
<description>Disney's Bonkers Wax Up! (Euro, USA)</description>
<year>1995</year>
@@ -1974,6 +2018,20 @@ a certain item) -->
</part>
</software>
+ <software name="cybers">
+ <description>The Cyber Shinobi (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-33"/>
+ <info name="alt_title" value="スーペースの忍者" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="cyber shinobi, the [hth] [sms-gg] (tw).bin" size="262144" crc="ad9ff469" sha1="3b411c14c38ecc4cfbddd69362bbb70bed10eb9f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="daffy">
<description>Daffy Duck in Hollywood (Euro)</description>
<year>1994</year>
@@ -2154,6 +2212,20 @@ a certain item) -->
</part>
</software>
+ <software name="dokidoki">
+ <description>Doki Doki Penguin Land - Uchuu Daibouken (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-03"/>
+ <info name="alt_title" value="Astro Adventure 宇宙大冒險 (Yǔzhòu dà màoxiǎn)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="doki doki penguin land - uchuu-daibouken [hth] [sms-gg] (tw).bin" size="131072" crc="fb163003" sha1="e3da56644c098d07947b1ffd9465002616a69d30"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- Developers: Aspect -->
<software name="donald42" cloneof="deepduck">
<description>Donald Duck no 4-Tsu no Hihou (Jpn)</description>
@@ -2220,6 +2292,8 @@ a certain item) -->
<dataarea name="rom" size="262144">
<rom name="double dragon (usa, europe) (beta).bin" size="262144" crc="331904c0" sha1="b24aa3e31efbf09e8d0d9ae9d07b4d219b648f96"/>
</dataarea>
+ <dataarea name="ram" size="8192">
+ </dataarea>
</part>
</software>
@@ -2232,6 +2306,22 @@ a certain item) -->
<dataarea name="rom" size="262144">
<rom name="double dragon (usa, europe).bin" size="262144" crc="1307a290" sha1="baebe28fc7549cbb06c94fcb36a3c40231933c01"/>
</dataarea>
+ <dataarea name="ram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ddragontw">
+ <description>Double Dragon (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-02"/>
+ <info name="alt_title" value="双截龍 (Shuāng jiélóng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="double dragon [hth] [sms-gg] (tw).bin" size="262144" crc="f4f848c2" sha1="ad438b8ed5aafab4ea615a4aaa75d2ddf7ba81c4"/>
+ </dataarea>
</part>
</software>
@@ -2388,35 +2478,46 @@ a certain item) -->
</part>
</software>
- <software name="dheadp2" cloneof="dhead">
- <description>Dynamite Headdy (prototype, 19940701)</description>
+ <software name="dheadp4" cloneof="dhead">
+ <description>Dynamite Headdy (prototype)</description>
<year>1994</year>
<publisher>Sega</publisher>
<part name="cart" interface="gamegear_cart">
<dataarea name="rom" size="524288">
- <rom name="dynamite headdy (prototype - jul 01, 1994).bin" size="524288" crc="49389319" sha1="0e408b4c9dfbb94bdf556b7aa920d4ac71d88c56"/>
+ <rom name="dynamite headdy [proto].bin" size="524288" crc="843556b1" sha1="1f5628e2aa21a3ede186297062caaa400dec2ea2"/>
</dataarea>
</part>
</software>
- <software name="dheadp1" cloneof="dhead">
- <description>Dynamite Headdy (prototype, 19940705)</description>
+ <software name="dheadp3" cloneof="dhead">
+ <description>Dynamite Headdy (prototype, 19940615)</description>
<year>1994</year>
<publisher>Sega</publisher>
<part name="cart" interface="gamegear_cart">
<dataarea name="rom" size="524288">
- <rom name="dynamite headdy (prototype - jul 05, 1994).bin" size="524288" crc="c7bea89a" sha1="59807e03d32837db34e2912d0e85db812edf823c"/>
+ <rom name="dynamite headdy (prototype - jun 15, 1994).bin" size="524288" crc="7bf339c0" sha1="0e8bccb304898a80efcbae8351303103ec4145ee"/>
</dataarea>
</part>
</software>
- <software name="dheadp3" cloneof="dhead">
- <description>Dynamite Headdy (prototype, 19940615)</description>
+ <software name="dheadp2" cloneof="dhead">
+ <description>Dynamite Headdy (prototype, 19940701)</description>
<year>1994</year>
<publisher>Sega</publisher>
<part name="cart" interface="gamegear_cart">
<dataarea name="rom" size="524288">
- <rom name="dynamite headdy (prototype - jun 15, 1994).bin" size="524288" crc="7bf339c0" sha1="0e8bccb304898a80efcbae8351303103ec4145ee"/>
+ <rom name="dynamite headdy (prototype - jul 01, 1994).bin" size="524288" crc="49389319" sha1="0e408b4c9dfbb94bdf556b7aa920d4ac71d88c56"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dheadp1" cloneof="dhead">
+ <description>Dynamite Headdy (prototype, 19940705)</description>
+ <year>1994</year>
+ <publisher>Sega</publisher>
+ <part name="cart" interface="gamegear_cart">
+ <dataarea name="rom" size="524288">
+ <rom name="dynamite headdy (prototype - jul 05, 1994).bin" size="524288" crc="c7bea89a" sha1="59807e03d32837db34e2912d0e85db812edf823c"/>
</dataarea>
</part>
</software>
@@ -2738,6 +2839,20 @@ a certain item) -->
</part>
</software>
+ <software name="finalbb">
+ <description>Final Bubble Bobble (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-01"/>
+ <info name="alt_title" value="Bubble Dragon 超級泡泡龍 (Chāojí pào pào lóng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="final bubble bobble [hth] [sms-gg] (tw).bin" size="262144" crc="b948752e" sha1="3f4b02b6545a3ce0c8b69c4e6791da01a7d7f285"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="foreman">
<description>Foreman for Real (World)</description>
<year>1995</year>
@@ -2755,6 +2870,20 @@ a certain item) -->
</part>
</software>
+ <software name="forgottn">
+ <description>Forgotten Worlds (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-46"/>
+ <info name="alt_title" value="世界の末日 (Shìjièno mòrì)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="forgotten worlds [hth] [sms-gg] (tw).bin" size="262144" crc="44136a72" sha1="d5c8fc8d931b7fb3c4ff88bcf206a606bac3f98a"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bighurt">
<description>Frank Thomas Big Hurt Baseball (USA)</description>
<year>1995</year>
@@ -3166,6 +3295,20 @@ a certain item) -->
</part>
</software>
+ <software name="greatbsk">
+ <description>Great Basketball (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-17"/>
+ <info name="alt_title" value="’94年スパーバスケットボール" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="great basketball [hth] [sms-gg] (tw).bin" size="131072" crc="6fe448a5" sha1="3424fea350cde85a3840938a615906bb37769811"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="greendog">
<description>Greendog (Euro, USA)</description>
<year>1993</year>
@@ -3262,6 +3405,20 @@ a certain item) -->
</part>
</software>
+ <software name="hokuto" cloneof="blackblt">
+ <description>Hokuto no Ken (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-04"/>
+ <info name="alt_title" value="北斗の拳 (Běidǒuno quán) Northern Ken" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="hokuto no ken [hth] [sms-gg] (tw).bin" size="131072" crc="b6207f0d" sha1="5f7ddc93de74c9713bba2a6ff117efc851483a8d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="homea">
<description>Home Alone (Euro, USA)</description>
<year>1992</year>
@@ -3875,6 +4032,20 @@ a certain item) -->
</part>
</software>
+ <software name="kungfuk">
+ <description>Kung Fu Kid (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 401-21"/>
+ <info name="alt_title" value="魔界列傳 (Mójiè lièzhuàn)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="kung fu kid [hth] [sms-gg] (tw).bin" size="131072" crc="4762e022" sha1="e3bb68ce42be58fca1158568012570e5366cd647"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="kunichan">
<description>Kuni-chan no Game Tengoku (Jpn)</description>
<year>1991</year>
@@ -4200,6 +4371,20 @@ a certain item) -->
</part>
</software>
+ <software name="lordswrd">
+ <description>Lord of Sword (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-05"/>
+ <info name="alt_title" value="月風魔傳 (Yuè fēngmó chuán)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="lord of sword [hth] [sms-gg] (tw).bin" size="262144" crc="7eaed675" sha1="cb36be9b9f67966ffcc6c322a37b3936297e1461"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="lostwrld">
<description>The Lost World - Jurassic Park (USA)</description>
<year>1997</year>
@@ -4784,6 +4969,17 @@ a certain item) -->
</part>
</software>
+ <software name="mkp" cloneof="mk">
+ <description>Mortal Kombat (prototype)</description>
+ <year>1993</year>
+ <publisher>Arena</publisher>
+ <part name="cart" interface="gamegear_cart">
+ <dataarea name="rom" size="524288">
+ <rom name="mortal kombat [proto].bin" size="524288" crc="16db4f6a" sha1="0d2ca2de933993ed45b20ef736237bc774dd3914"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="mk3">
<description>Mortal Kombat 3 (Euro)</description>
<year>1995</year>
@@ -5992,6 +6188,20 @@ a certain item) -->
</part>
</software>
+ <software name="paperboytw">
+ <description>Paperboy (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-23"/>
+ <info name="alt_title" value="銀色先鋒 (Yínsè xiānfēng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="paperboy [v1] [hth] [sms-gg] (tw).bin" size="131072" crc="354bee78" sha1="14b19ee7f6ef398474fe56beac2327ee14ce6157"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="paperbo2">
<description>Paperboy II (Euro, USA)</description>
<year>1992</year>
@@ -6336,6 +6546,20 @@ a certain item) -->
</part>
</software>
+ <software name="ppersiatw" cloneof="ppersia">
+ <description>Prince of Persia (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-15"/>
+ <info name="alt_title" value="アリパパ伝説" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="prince of persia [hth] [sms-gg] (tw).bin" size="262144" crc="cafd2d83" sha1="80a5bdc835ed63a0cb19d46aae99dfb78719e091"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ppersiau" cloneof="ppersia">
<description>Prince of Persia (USA, SMS mode)</description>
<year>1992</year>
@@ -6514,6 +6738,20 @@ a certain item) -->
</part>
</software>
+ <software name="quartet">
+ <description>Quartet (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-28"/>
+ <info name="alt_title" value="䧳雄雙俠 (Cí xióng shuāng xiá)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="quartet [hth] [sms-gg] (tw).bin" size="131072" crc="cacdf759" sha1="7c32614ef0fb330fff0934ef16a6eca8369743da"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="shavnyak">
<description>Quest for the Shaven Yak Starring Ren Hoëk &amp; Stimpy (Euro, USA)</description>
<year>1993</year>
@@ -6777,6 +7015,20 @@ a certain item) -->
</part>
</software>
+ <software name="rtype">
+ <description>R-Type (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 401-01"/>
+ <info name="alt_title" value="異形 (Yìxíng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="524288">
+ <rom name="r-type [hth] [sms-gg] (tw).bin" size="524288" crc="e532716f" sha1="908b532564c67014bf881a524ac9ad186f9013c9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ryukyu" cloneof="solitarp">
<description>Ryuukyuu (Jpn)</description>
<year>1991</year>
@@ -6833,6 +7085,20 @@ a certain item) -->
</part>
</software>
+ <software name="sspirits">
+ <description>Scramble Spirits (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-09"/>
+ <info name="alt_title" value="虎胆妙算 (Hǔ dǎn miào suàn)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="scramble spirits [hth] [sms-gg] (tw).bin" size="262144" crc="7d59283b" sha1="b21b5ce444e483cbca79c709eea6a902d53af1d7"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="scratchg">
<description>Scratch Golf (USA)</description>
<year>1994</year>
@@ -6878,6 +7144,20 @@ a certain item) -->
</part>
</software>
+ <software name="secret">
+ <description>Secret Command (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 101-07"/>
+ <info name="alt_title" value="上尉命令 (Shàngwèi mìnglìng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="131072">
+ <rom name="secret command [hth] [sms-gg] (tw).bin" size="131072" crc="89efcc22" sha1="3b699b84b7ebaa3a2cc7443b34909771e6518c55"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sega4in1">
<description>Sega Game Pack 4 in 1 (Euro)</description>
<year>1991</year>
@@ -6907,6 +7187,20 @@ a certain item) -->
</part>
</software>
+ <software name="seishun">
+ <description>Seishun Scandal (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 256-06"/>
+ <info name="alt_title" value="快打小子 (Kuài dǎ xiǎozi) Action Boy" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="32768">
+ <rom name="seishun scandal [hth] [sms-gg] (tw).bin" size="32768" crc="d0263024" sha1="11cb726c497482895f4f6f6b424615fe52f18a18"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sensible">
<description>Sensible Soccer (Euro)</description>
<year>1994</year>
@@ -6936,6 +7230,34 @@ a certain item) -->
</part>
</software>
+ <software name="shdancer">
+ <description>Shadow Dancer (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 401-06"/>
+ <info name="alt_title" value="影舞者 (Yǐng wǔ zhě)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="524288">
+ <rom name="shadow dancer - the secret of shinobi [hth] [sms-gg] (tw).bin" size="524288" crc="ab67c6bd" sha1="b5fabb4a9a43f7496f2ca40979348b59fde5d14f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="beast">
+ <description>Shadow of the Beast (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-47"/>
+ <info name="alt_title" value="鬼影獸の王 (Guǐ yǐng shòuno wáng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="shadow of the beast [hth] [sms-gg] (tw).bin" size="262144" crc="ac2ea669" sha1="a63bdab47d3f648537cad25e4161ac55a23c8137"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="shangh2a" cloneof="shangh2">
<description>Shanghai II (Jpn, v0)</description>
<year>1990</year>
@@ -8477,6 +8799,20 @@ a certain item) -->
</part>
</software>
+ <software name="strider">
+ <description>Strider (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 401-02"/>
+ <info name="alt_title" value="突撃飛龍 (Tūjī fēilóng)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="524288">
+ <rom name="strider [hth] [sms-gg] (tw).bin" size="524288" crc="63a7f906" sha1="43b822bbccdc666e5bfb7f86f690516ac251b0b3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="striker">
<description>Striker (Euro)</description>
<year>1995</year>
@@ -8489,6 +8825,20 @@ a certain item) -->
</part>
</software>
+ <software name="submarin">
+ <description>Submarine Attack (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-31"/>
+ <info name="alt_title" value="紅色十月大反擊 (Hóngsè shí yuè dà fǎnjí)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="submarine attack [hth] [sms-gg] (tw).bin" size="262144" crc="d282ef71" sha1="e4e3464aa4b9378761663ae69037308a5e3411f0"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sbtank">
<description>Super Battletank (USA)</description>
<year>1992</year>
@@ -9393,6 +9743,20 @@ a certain item) -->
</part>
</software>
+ <software name="tblade">
+ <description>Thunder Blade (Tw, SMS mode)</description>
+ <year>199?</year>
+ <publisher>Hung Tao Hsin</publisher>
+ <info name="serial" value="HG 201-03"/>
+ <info name="alt_title" value="藍色霹靂號 (Lán sè pīlì hào)" />
+ <part name="cart" interface="gamegear_cart">
+ <feature name="pin_42" value="sms_mode" />
+ <dataarea name="rom" size="262144">
+ <rom name="thunder blade [hth] [sms-gg] (tw).bin" size="262144" crc="98cf1254" sha1="93d93e3f79b7e206c0c58187e3ed047222999af6"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="tintin">
<description>Tintin in Tibet (Euro)</description>
<year>1996</year>
diff --git a/hash/ibm5150.xml b/hash/ibm5150.xml
index 36856b94c78..16a4f7b3fb5 100644
--- a/hash/ibm5150.xml
+++ b/hash/ibm5150.xml
@@ -303,7 +303,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
<software name="black">
<description>The Black Cauldron (v1.1m)</description>
<year>1986</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="usage" value="PC Booter" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="368640">
@@ -320,7 +320,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
<software name="blackk" cloneof="black">
<description>The Black Cauldron (v1.1k)</description>
<year>1986</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="usage" value="PC Booter" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="368640">
@@ -337,7 +337,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
<software name="blackj" cloneof="black">
<description>The Black Cauldron (v1.1)</description>
<year>1986</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="usage" value="PC Booter" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="368640">
@@ -1263,7 +1263,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
<software name="kingqst2">
<description>King's Quest II: Romancing the Throne (v1.1h) [cr]</description>
<year>1985</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="usage" value="PC Booter" />
<info name="cracked" value="demonlord" />
<part name="flop1" interface="floppy_5_25">
@@ -1281,7 +1281,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
<software name="kingqst2a" cloneof="kingqst2">
<description>King's Quest II: Romancing the Throne (v1.0w)</description>
<year>1985</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="usage" value="PC Booter" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="368640">
@@ -7912,6 +7912,34 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="asterog">
+ <description>Astérix: Operation Getafix (UK)</description>
+ <year>1990</year>
+ <publisher>Coktel Vision</publisher>
+ <info name="developer" value="Coktel Vision" />
+ <info name="distributor" value="System 4" />
+ <!--Bad dump - floppy disk with saved game file [ASTERIX.INF] -->
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Asterix Operation Getafix (UK) [Coktel Vision] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="c946effa" sha1="4498732a6b5077b791ad7f4cdb998a938fda3e67" status="baddump"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="asteroges" cloneof="asterog">
+ <description>Astérix: El Golpe del Menhir (Astérix y Operacion Menhir) (Spain, System 4 release)</description>
+ <year>1990</year>
+ <publisher>Coktel Vision</publisher>
+ <info name="developer" value="Coktel Vision" />
+ <info name="distributor" value="System 4" />
+ <!--Bad dump - floppy disk with saved game file [ASTERIX.INF] -->
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Asterix El Golpe del Menhir (Spain) [Coktel Vision] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="9ababc1e" sha1="e202017f9ad9bd6e38e1c2c312fd926dcd94ae2c" status="baddump"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bat">
<description>B.A.T. (VGA Version)</description>
<year>1990</year>
@@ -8213,6 +8241,18 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="btlchesses" cloneof="btlchess">
+ <description>Battle Chess (3.5", EGA version, Spain, Dro Soft release)</description>
+ <year>1988</year>
+ <publisher>Electronic Arts / Interplay</publisher>
+ <info name="distributor" value="Dro Soft" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Battle Chess (EGA version) (Spain) [Electronic Arts] [1988] [3.5DD] [Disk 1 of 1].img" size="737280" crc="b3602eff" sha1="7c689014dd939a0b2666cc0b8963cd56befbb819"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="btlches2">
<description>Battle Chess II: Chinese Chess</description>
<year>1991</year>
@@ -8253,7 +8293,7 @@ has been replaced with an all-zero block. -->
</software>
<software name="bcauldrn">
- <description>The Black Cauldron</description>
+ <description>The Black Cauldron (v2.10)</description>
<year>1988</year>
<publisher>Sierra On-Line</publisher>
<info name="developer" value="Sierra On-Line" />
@@ -9592,6 +9632,53 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="elvira">
+ <description>Elvira: Mistress of the Dark</description>
+ <year>1990</year>
+ <publisher>Accolade</publisher>
+ <info name="developer" value="Horror Soft" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 1 of 8].img" size="368640" crc="c67ff537" sha1="748d9ac1cc29b2f8d3585940652c312a2537744a"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 2 of 8].img" size="368640" crc="be133b9c" sha1="5b353ac1e24a3f654b3f965c5c420d9ab5d728fd"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 3 of 8].img" size="368640" crc="a9d55138" sha1="c46ef88e0153e6d8a07976ee30d82f76d9f1fad9"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 4 of 8].img" size="368640" crc="c292ac9b" sha1="3d78838af256282991c63df11f84e94163edf067"/>
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 5 of 8].img" size="368640" crc="b7d95398" sha1="c18660fda183da359d12ed39cd9b8745f7d50319"/>
+ </dataarea>
+ </part>
+ <part name="flop6" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 6 of 8].img" size="368640" crc="fa7c9546" sha1="46bf7511dd4b5432f07fe48b65c6ea665ea16a03"/>
+ </dataarea>
+ </part>
+ <part name="flop7" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 7 of 8].img" size="368640" crc="f455d6e5" sha1="dda946482d00edd1a99c4ad03b191c7b30b3d516"/>
+ </dataarea>
+ </part>
+ <part name="flop8" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Elvira [Accolade] [1990] [5.25DD] [Disk 8 of 8].img" size="368640" crc="897e735a" sha1="c2b36ea08e493a845e9d66c6fa636b61426b07dd"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- dumped from an Olivetti Prodest PC1 branded release -->
<software name="empire">
<description>Empire - Wargame of the Century</description>
@@ -10347,6 +10434,33 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="ishar">
+ <description>Ishar: Legend of the Fortress</description>
+ <year>1992</year>
+ <publisher>Silmarils</publisher>
+ <info name="developer" value="Silmarils" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Ishar [Silmarils] [1992] [5.25DD] [Disk 1 of 4] [Disk A].img" size="368640" crc="c3d9dd94" sha1="6cbd07973e1b63597a8571858ed3835de651ffe3"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Ishar [Silmarils] [1992] [5.25DD] [Disk 2 of 4] [Disk B].img" size="368640" crc="b104a509" sha1="37094cd30b41da66e4f7de4b5daae88cb66d1c64"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Ishar [Silmarils] [1992] [5.25DD] [Disk 3 of 4] [Disk C].img" size="368640" crc="6b756b72" sha1="ec4993e83247148f7b33ae9b5a92f42d1e939c16"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Ishar [Silmarils] [1992] [5.25DD] [Disk 4 of 4] [Disk D].img" size="368640" crc="e5b4da48" sha1="d53fd8662d25cef392a2650732de8ab25c11d7c9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="italy90">
<description>Italy '90 Soccer</description>
<year>1989</year>
@@ -10476,6 +10590,37 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="jonesfst">
+ <description>Jones in the Fast Lane (VGA release)</description>
+ <year>1990</year>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Sierra On-Line" />
+ <info name="version" value="version 1.000.060" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Jones in the Fast Lane [Sierra] [1990] [3.5DD] [Disk 1 of 2].img" size="737280" crc="e9822366" sha1="af164eaf2a9449ad65af2db48d9e7aa20db9ddb6"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Jones in the Fast Lane [Sierra] [1990] [3.5DD] [Disk 2 of 2].img" size="737280" crc="27f1d973" sha1="275fb00fcd724c9ddab06c4b0e39a7e81361eb84"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jonesfsta" cloneof="jonesfst">
+ <description>Jones in the Fast Lane (EGA release)</description>
+ <year>1990</year>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Sierra On-Line" />
+ <info name="version" value="version 1.000.060" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Jones in the Fast Lane (EGA) [Sierra] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="b0d78e6f" sha1="6b09ce1e30940039fdbe23407ed13a0dd8cc2e56"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="jordbird">
<description>Jordan vs. Bird: One on One</description>
<year>1988</year>
@@ -10527,11 +10672,34 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="kingqst1">
+ <description>King's Quest I: Quest for the Crown</description>
+ <year>1990</year>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Sierra On-Line" />
+ <info name="version" value="1.000.051" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="King's Quest - Quest for the Crown [1987] [Sierra] [3.5DD] [Disk 1 of 3].img" size="737280" crc="6da26788" sha1="ed076a4243c2f77d615702abf0bbb40f4d98b4bf"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="King's Quest - Quest for the Crown [1987] [Sierra] [3.5DD] [Disk 2 of 3].img" size="737280" crc="1953bfc8" sha1="b5fc0fcc9708e6738d4e5bc5907cd9ae0804979d"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="King's Quest - Quest for the Crown [1987] [Sierra] [3.5DD] [Disk 3 of 3].img" size="737280" crc="12b572db" sha1="b1d97476d1d545a040697acb0d74a70ffd9c3d0e"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="kingqst4_35" cloneof="kingqst4">
<!-- Dumped via Kryoflux, shows as good and unmodified -->
<description>King's Quest IV: The Perils of Rosella (Version #2.2, 3.5")</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 of 3" />
<dataarea name="flop" size="737280">
@@ -10556,7 +10724,7 @@ has been replaced with an all-zero block. -->
<!-- Dumped via Kryoflux, shows as good and unmodified -->
<description>King's Quest IV: The Perils of Rosella (Version #2.2, 5.25")</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1 of 6" />
<dataarea name="flop" size="368640">
@@ -10785,7 +10953,7 @@ has been replaced with an all-zero block. -->
<software name="lsl3">
<description>Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals (5.25")</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
<rom name="Leisure Suit Larry 3 - Passionate Patti in Pursuit of the Pulsating Pectorals (USA) (v1.003) (5.25'') (Disk 1).img" size="368640" crc="c0f08381" sha1="292adabdab7a1d4fe85177663349a2ca0a1ed38f"/>
@@ -10831,7 +10999,7 @@ has been replaced with an all-zero block. -->
<software name="lsl3_35" cloneof="lsl3">
<description>Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals (3.5")</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
<rom name="Leisure Suit Larry 3 - Passionate Patti in Pursuit of the Pulsating Pectorals (USA) (v1.003) (3.5'') (Disk 1).img" size="737280" crc="bc63e897" sha1="0c2814635151b69017ba7e62341295bc3500cd0d"/>
@@ -10858,7 +11026,7 @@ has been replaced with an all-zero block. -->
<!-- Dumped from copied disks -->
<description>Leisure Suit Larry 3: Patti la Passion à la Poursuite des Pectoraux Puissants (3.5", French)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
<rom name="[PC] Leisure Suit Larry III [3.5DD] [Disk 1 of 4].img" size="737280" crc="24cf75ad" sha1="c5493da42f73aac83009def3c55f9a96d38c29ec"/>
@@ -11771,7 +11939,7 @@ has been replaced with an all-zero block. -->
<software name="nova9">
<description>Nova 9: The Return of Gir Draxon (version 1.1)</description>
<year>1991</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="developer" value="Dynamix" />
<info name="version" value="1.1" />
<part name="flop1" interface="floppy_3_5">
@@ -11810,7 +11978,7 @@ has been replaced with an all-zero block. -->
<software name="nova9a" cloneof="nova9">
<description>Nova 9: The Return of Gir Draxon (version 1.0)</description>
<year>1991</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="developer" value="Dynamix" />
<info name="version" value="1.0" />
<info name="usage" value="Install from DOS with: INSTALL" />
@@ -11846,6 +12014,29 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="obitus">
+ <description>Obitus</description>
+ <year>1991</year>
+ <publisher>Psygnosis</publisher>
+ <info name="developer" value="Scenario Developments" />
+ <info name="version" value="011091" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Obitus [Psygnosis] [1991] [3.5DD] [Disk 1 of 3] [Disk 1 and 2].img" size="737280" crc="eb09116e" sha1="6424c18fff0669ead288faa01339241ddae08b9b"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Obitus [Psygnosis] [1991] [3.5DD] [Disk 2 of 3] [Disk 3 and 4].img" size="737280" crc="aca45fdf" sha1="f6742180a7def1d616496e1e49cc438fbf8041b2"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Obitus [Psygnosis] [1991] [3.5DD] [Disk 3 of 3] [Disk 5 and 6].img" size="737280" crc="3450165d" sha1="958eb8dc9166dbc019f8d7eb63b8999bbe324c8f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="oliverco">
<description>Oliver &amp; Company</description>
<year>1989</year>
@@ -12104,7 +12295,7 @@ has been replaced with an all-zero block. -->
<software name="pquest2">
<description>Police Quest II - The Vengeance (5.25", 1.002.011, Sierra's Value Pack)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="Ver.#1.002.011/Int.#0.000.490" />
<info name="serial" value="3124789072340023" />
<part name="flop1" interface="floppy_5_25">
@@ -12148,7 +12339,7 @@ has been replaced with an all-zero block. -->
<software name="pquest2a" cloneof="pquest2">
<description>Police Quest II - The Vengeance (5.25", 1.001.006)</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="1.001.006" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
@@ -12185,7 +12376,7 @@ has been replaced with an all-zero block. -->
<software name="pquest2_35" cloneof="pquest2">
<description>Police Quest II - The Vengeance (3.5", 1.002.011, Sierra's Value Pack)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="Ver#1.002.011 Int#0.000.490" />
<info name="serial" value="3124789072103380" />
<part name="flop1" interface="floppy_3_5">
@@ -12211,7 +12402,7 @@ has been replaced with an all-zero block. -->
<software name="pquest2_35a" cloneof="pquest2">
<description>Police Quest II - The Vengeance (3.5", 1.001.006)</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="1.001.006" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
@@ -12738,7 +12929,8 @@ has been replaced with an all-zero block. -->
<software name="silpheed">
<description>Silpheed (5.25", 2.3, Sierra's Value Pack)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Game Arts" />
<info name="version" value="Version #2.3/Interp.#7-18-89" />
<info name="serial" value="3156589072403353" />
<part name="flop1" interface="floppy_5_25">
@@ -12770,7 +12962,8 @@ has been replaced with an all-zero block. -->
<software name="silpheeda" cloneof="silpheed">
<description>Silpheed (5.25", 1.0)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Game Arts" />
<info name="version" value="1.0 / March 20, 1989" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
@@ -12799,7 +12992,8 @@ has been replaced with an all-zero block. -->
<!-- This version was only distributed with the IBM PS/1 Sound/Joystick Card and is newer than the boxed retail version of the game. -->
<description>Silpheed (3.5", 3.21, IBM Special Pak)</description>
<year>1990</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Game Arts" />
<info name="version" value="Ver#3.21 / 5.7.90" />
<info name="serial" value="315670071007554" />
<part name="flop1" interface="floppy_3_5">
@@ -12818,7 +13012,8 @@ has been replaced with an all-zero block. -->
<!-- Dumped via Kryoflux, all tracks show as good and unmodified -->
<description>Silpheed (3.5", 2.3, Sierra's Value Pack)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Game Arts" />
<info name="version" value="Version #2.3 Int. #7-18-89" />
<info name="serial" value="3156589072400467" />
<part name="flop1" interface="floppy_3_5">
@@ -12836,7 +13031,8 @@ has been replaced with an all-zero block. -->
<software name="silpheed35b" cloneof="silpheed">
<description>Silpheed (3.5", 1.0)</description>
<year>1989</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
+ <info name="developer" value="Game Arts" />
<info name="version" value="1.0 / March 20, 1989" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
@@ -13176,7 +13372,7 @@ has been replaced with an all-zero block. -->
<!-- Dumped via Kryoflux, all tracks show as good and unmodified -->
<description>Space Quest II - Vohaul's Revenge (5.25")</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="2.0F" />
<part name="flop1" interface="floppy_5_25">
<!-- Copy-protected key disk -->
@@ -13199,7 +13395,7 @@ has been replaced with an all-zero block. -->
<software name="sq2_35" cloneof="sq2">
<description>Space Quest II - Vohaul's Revenge (3.5")</description>
<year>1988</year>
- <publisher>Sierra</publisher>
+ <publisher>Sierra On-Line</publisher>
<info name="version" value="2.0F" />
<part name="flop1" interface="floppy_3_5">
<!-- Dumped via Kryoflux, track 0 shows as modified -->
diff --git a/hash/ibm5170.xml b/hash/ibm5170.xml
index f016676d463..9b10c778a9b 100644
--- a/hash/ibm5170.xml
+++ b/hash/ibm5170.xml
@@ -9073,6 +9073,34 @@ license:CC0
</part>
</software>
+ <software name="aitdes" cloneof="aitd">
+ <description>Alone in the Dark (Spain, Top Games/Altaya release)</description>
+ <year>1993</year>
+ <publisher>Infogrames</publisher>
+ <info name="developer" value="Infogrames" />
+ <info name="distributor" value="Erbe Software" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Alone in the Dark (Spain) [Erbe] [1993] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="a8d09bad" sha1="bdbd4e99b49a1f9f34ff3eaf0f3301d8d2a86c40"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Alone in the Dark (Spain) [Erbe] [1993] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="6c0c7c05" sha1="2d183a8a1197f9117038a601679f1a9719beccc5"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Alone in the Dark (Spain) [Erbe] [1993] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="dc17ab32" sha1="8f912f5df0be0eb57eef18d0d081bf62cd09a867"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Alone in the Dark (Spain) [Erbe] [1993] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="eb5de154" sha1="9ac3e6b2a148a0d9f9fcc84628f2b0484fc5d8bd"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="aitd2">
<description>Alone in the Dark 2 (UK)</description>
<year>1993</year>
@@ -11100,6 +11128,50 @@ license:CC0
</part>
</software>
+ <software name="elvira2_525">
+ <description>Elvira II: Jaws of Cerberus (5.25" HD)</description>
+ <year>1991</year>
+ <publisher>Accolade</publisher>
+ <info name="developer" value="Horror Soft" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size = "1228800">
+ <rom name="Elvira 2 [Accolade] [1991] [5.25HD] [Disk 1 of 3].img" size="1228800" crc="362023e3" sha1="a2494b47ef732dc1f50a1d4a009a355e64d1b0d7"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size = "1228800">
+ <rom name="Elvira 2 [Accolade] [1991] [5.25HD] [Disk 2 of 3].img" size="1228800" crc="da6d97f5" sha1="95c54b267ef8bc909fdb005b759a11ff1ce81991"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size = "1228800">
+ <rom name="Elvira 2 [Accolade] [1991] [5.25HD] [Disk 3 of 3].img" size="1228800" crc="f84f1271" sha1="d6da3b9360ce1b49f4bd375a0fef53aad2cc041f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="elvira2it" cloneof="elvira2_525">
+ <description>Elvira II: Jaws of Cerberus (Italy)</description>
+ <year>1992</year>
+ <publisher>Accolade</publisher>
+ <info name="developer" value="Horror Soft" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Elvira 2 (Italy) [Accolade] [1992] [3.5HD] [Disk 1 of 3].img" size="1474560" crc="3dd97ff0" sha1="348da2bfbbf3a19581be8b1d9249fe556ce6a60d"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Elvira 2 (Italy) [Accolade] [1992] [3.5HD] [Disk 2 of 3].img" size="1474560" crc="52ccd466" sha1="3c3e63f5c2d42375dd42cd575d933fbbd5b86f1d"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Elvira 2 (Italy) [Accolade] [1992] [3.5HD] [Disk 3 of 3].img" size="1474560" crc="585c7964" sha1="27a3374476988f4d75a1d7b56c84ab6636a995a9"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="epcrashb">
<description>Epic Pinball: Crash and Burn</description>
<year>1994</year>
@@ -11941,6 +12013,45 @@ license:CC0
</part>
</software>
+ <software name="hoces" cloneof="hoc">
+ <description>Heart of China (Spain, MCM release)</description>
+ <year>1991</year>
+ <publisher>Dynamix</publisher>
+ <info name="developer" value="Dynamix" />
+ <info name="distributor" value="MCM Software" />
+ <info name="version" value="0.100" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 1 of 6].img" size="1474560" crc="bce9a6e0" sha1="05cc67da0493c083bcbf196e286caad9cad7e237"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 2 of 6].img" size="1474560" crc="728dadb3" sha1="5474672dbb1d936cabb8f021972f05dded7061ef"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 3 of 6].img" size="1474560" crc="7bb68ce2" sha1="71575d514e62963f50d19cce5a95feabd771278d"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 4 of 6].img" size="1474560" crc="6c219d65" sha1="cc2cb73260056bbc95346439512eeb57ef17dcdf"/>
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 5 of 6].img" size="1474560" crc="9a85a4c3" sha1="e3e6c51ffef3135cbfd50ea935231cb53814716d"/>
+ </dataarea>
+ </part>
+ <part name="flop6" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Heart of China (Spain) [MCM] [1991] [3.5HD] [Disk 6 of 6].img" size="1474560" crc="4e3d4503" sha1="d8c555ae7e00a3553c0995350e4d11426942aa14"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="heimdall">
<description>Heimdall</description>
<year>1992</year>
@@ -12456,6 +12567,40 @@ license:CC0
</part>
</software>
+ <software name="indyfatees" cloneof="indyfate">
+ <description>Indiana Jones and the Fate of Atlantis (3.5", Spain, Erbe release)</description>
+ <year>1992</year>
+ <publisher>LucasArts</publisher>
+ <info name="developer" value="LucasArts" />
+ <info name="distributor" value="Erbe Software" />
+ <info name="version" value="V1.0 30-4-92 H410 M32 V10 J19" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Fate of Atlantis (Spain) [Erbe] [1992] [3.5HD] [Disk 1 of 5].img" size="1474560" crc="9b2f4f44" sha1="b8e4681e33c53ee04b8ffa8b8c0b7f9e49df1ecc"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Fate of Atlantis (Spain) [Erbe] [1992] [3.5HD] [Disk 2 of 5].img" size="1474560" crc="14455aa9" sha1="66c0f5ca1dc79b21eba75ed38930319d1bf80193"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Fate of Atlantis (Spain) [Erbe] [1992] [3.5HD] [Disk 3 of 5].img" size="1474560" crc="3a506b55" sha1="a67bd8d0a29f4676a7da387fe005e1b7c96252a2"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Fate of Atlantis (Spain) [Erbe] [1992] [3.5HD] [Disk 4 of 5].img" size="1474560" crc="47540d13" sha1="49cc327ba348d8c882c0cd8b9ff51dae6cf38399"/>
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Fate of Atlantis (Spain) [Erbe] [1992] [3.5HD] [Disk 5 of 5].img" size="1474560" crc="93e9decf" sha1="a0b21b91f881286b8fcccece742f75de7f29d8fd"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="indy4act">
<description>Indiana Jones and the Fate of Atlantis - The Action Game</description>
<year>1992</year>
@@ -12525,6 +12670,20 @@ license:CC0
</part>
</software>
+ <software name="indy3adves" cloneof="indy3adv">
+ <description>Indiana Jones and the Last Crusade - The Graphic Adventure (3.5", EGA version, Spain, Maxi Juegos/Erbe release)</description>
+ <year>1993</year>
+ <publisher>Lucasfilm</publisher>
+ <info name="developer" value="Lucasfilm" />
+ <info name="distributor" value="Erbe Software" />
+ <info name="version" value="Version Spanish PC 1.4b 7.May.1990" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Indiana Jones and the Last Crusade - Adventure (Spain) [US Gold] [1993] [3.5HD] [Disk 1 of 1].img" size="1474560" crc="6da985fd" sha1="44d09bcd35512915555b4c39c2099ed2864b4905"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="indycar">
<description>IndyCar Racing</description>
<year>1993</year>
@@ -12626,6 +12785,24 @@ license:CC0
</part>
</software>
+ <software name="ishar2es">
+ <description>Ishar 2: Messengers of Doom (Spain, Proein release)</description>
+ <year>1995</year>
+ <publisher>Silmarils</publisher>
+ <info name="developer" value="Silmarils" />
+ <info name="distributor" value="Proein" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Ishar 2 (Spain) [Silmarils] [1995] [3.5HD] [Disk 1 of 2] [Disk A].img" size="1474560" crc="27d7b1d9" sha1="d0d263d17f4bae45dd9e9f0a28195c68151aae07"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Ishar 2 (Spain) [Silmarils] [1995] [3.5HD] [Disk 2 of 2] [Disk B].img" size="1474560" crc="3ea14189" sha1="be8895194524656fbf5956e417cd54630bd83d83"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="jazz">
<description>Jazz Jackrabbit</description>
<year>1994</year>
@@ -12675,6 +12852,24 @@ license:CC0
</part>
</software>
+ <software name="joemac">
+ <description>Joe &amp; Mac: Caveman Ninja</description>
+ <year>1994</year>
+ <publisher>New World Computing</publisher>
+ <info name="developer" value="Data East" />
+ <info name="version" value="version 1.000.060" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="Joe and Mac [New World Computing] [1994] [3.5HD] [Disk 1 of 2].img" size="1474560" crc="75eb415b" sha1="c882f8a6cb9b616b15e3fcf1de46124f735a067b"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "737280">
+ <rom name="Joe and Mac [New World Computing] [1994] [3.5DD] [Disk 2 of 2].img" size="737280" crc="bf703a53" sha1="edd25e6505774e34cde6d3d6e20ef60c44fbc277"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="jstrike">
<description>Jungle Strike</description>
<year>1995</year>
@@ -16466,6 +16661,33 @@ license:CC0
</part>
</software>
+ <software name="waxworks">
+ <description>WaxWorks</description>
+ <year>1992</year>
+ <publisher>Accolade</publisher>
+ <info name="developer" value="Horror Soft" />
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="WaxWorks [Accolade] [1992] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="c9ad3e52" sha1="8d03b1d4614fc7c17f8353f1d12e6c4e4d251200"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="WaxWorks [Accolade] [1992] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="c34c7c70" sha1="5a0c66f17ba80d9fc58400090131794ce0fe01b4"/>
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="WaxWorks [Accolade] [1992] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="51341c68" sha1="2f58bc66d52ddfe2bb66beb49dee7094aaf7e640"/>
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_3_5">
+ <dataarea name="flop" size = "1474560">
+ <rom name="WaxWorks [Accolade] [1992] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="09d0c4c4" sha1="d936e2cd7ae0cab668d5bf7d62ee6e843061d699"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wingcom">
<description>Wing Commander</description>
<year>1990</year>
@@ -16814,6 +17036,23 @@ license:CC0
</part>
</software>
+ <software name="wolf3dswa" cloneof="wolf3d">
+ <description>Wolfenstein 3-D (shareware, 5.25" DD, CWI Information Services release)</description>
+ <year>1993</year>
+ <publisher>CWI Information Services</publisher>
+ <info name="developer" value="id Software" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Wolfenstein 3D (shareware) [CWI Information Services] [1993] [3.5DD] [Disk 1 of 2].img" size="368640" crc="5e073ffe" sha1="7b5a43fdd162a89d2697e8ab840520a5f2c73c6f"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="Wolfenstein 3D (shareware) [CWI Information Services] [1993] [3.5DD] [Disk 2 of 2].img" size="368640" crc="1f0e273a" sha1="a7d822d67742e25fdc56ba1346f13d2faa7a7a64"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wolf3dsu">
<description>Wolfenstein 3-D Super Upgrades!</description>
<year>1994</year>
diff --git a/hash/jakks_gamekey_sw.xml b/hash/jakks_gamekey_sw.xml
index 9c8f5661c05..5c51a70cb03 100644
--- a/hash/jakks_gamekey_sw.xml
+++ b/hash/jakks_gamekey_sw.xml
@@ -25,4 +25,43 @@ license:CC0
</part>
</software>
+ <software name="tdyodap" cloneof="tdyoda">
+ <description>Turret Defense &amp; Yoda's Escape (prototype)</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="turretdefense_yodasescape_prototype.bin" size="0x400000" crc="f87cb070" sha1="570ab1eb37a6b6d9ab8c49b86f335389167c3697" offset="0" />
+ <rom size="0x400000" offset="0x400000" loadflag="reload" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="igefcc">
+ <description>Imperial Gunner &amp; Escape From Cloud City (Dec 22 2005, prototype)</description>
+ <year>2005</year>
+ <publisher>JAKKS Pacific / Amaze Entertainment</publisher>
+ <part name="cart" interface="jakks_gamekey">
+ <feature name="slot" value="rom_24lc04"/>
+ <dataarea name="rom" size="0x800000">
+ <rom name="imerialgunner_escapefromcloudcity_prototype.bin" size="0x400000" crc="93b20a57" sha1="85c53930907d5b2ddaba32dd01e060054ab62c9b" offset="0" />
+ <rom size="0x400000" offset="0x400000" loadflag="reload" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cscfp">
+ <description>Catamaran Strike &amp; Coruscant Fire Patrol (Jun 2 2005, prototype)</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="catamaranstrike_coruscantfirepatrol_prototype.bin" size="0x400000" crc="9204cb1b" sha1="f94ac47faf5fcc98fc4b5166e51a61c9f890f375" offset="0" />
+ <rom size="0x400000" offset="0x400000" loadflag="reload" />
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/juicebox.xml b/hash/juicebox.xml
index 6d8f9784999..dac6c95c6df 100644
--- a/hash/juicebox.xml
+++ b/hash/juicebox.xml
@@ -5,25 +5,45 @@ license:CC0
-->
<softwarelist name="juicebox" description="Mattel Juice Box SmartMedia Flash ROM">
-<!-- Undumped items
-
-* H???? - Juice Box Music Video
-* H2682 - Juiceware Animated Assortment
-* H2684 - Ed, Edd n Eddy vol.1
-* H2686 - Winx Club
-* H2687 - The Grim Adventures of Billy and Mandy vol.1
-* H2688 - Vans Triple Crown vol.1
-* H2689 - Vans Triple Crown vol.2
-* H2690 - Vans Pipeline Masters
-* H2692 - Teenage Mutant Ninja Turtles vol.1
-* H2694 - Trading Spaces vol.1
-* H2698 - WWE Rey Mysterio vol.1
-* H2701 - Dexter's Laboratory vol.1
-* H2702 - WWE Chris Benoit vol.1
-* H2706 - MyScene Jammin in Jamaica vol.1
-* H2707 - MyScene Masquerade Madness
-* H2708 - WWE Eugene vol.1
-* H2709 - Music Video Liz Phair Skye Bnip Stacie
+<!-- known items (* = dumped)
+ (many still missing from this list)
+
+ H2679 - Ed, Edd n Eddy Episode #39
+ H2682 - Juiceware Animated Assortment
+* H2683 - Codename: Kids Next Door vol.1
+ H2684 - Ed, Edd n Eddy vol.1
+* H2685 - Yu-Gi-Oh! vol.1
+ H2686 - Winx Club
+ H2687 - The Grim Adventures of Billy and Mandy vol.1
+ H2688 - Vans Triple Crown vol.1
+ H2689 - Vans Triple Crown vol.2
+ H2690 - Vans Pipeline Masters
+ H2692 - Teenage Mutant Ninja Turtles vol.1
+ H2694 - Trading Spaces vol.1
+ H2697 - Megas XLR Vol. 1
+ H2698 - WWE Rey Mysterio vol.1
+ H2699 - Motocycle Mania 1 vol.1
+ H2701 - Dexter's Laboratory vol.1
+ H2702 - WWE Chris Benoit vol.1
+ H2706 - MyScene Jammin in Jamaica vol.1
+ H2707 - MyScene Masquerade Madness
+ H2708 - WWE Eugene vol.1
+ H2709 - Music Video Liz Phair Skye Bnip Stacie
+
+ H6225 - Juice Box Music Video (Ashlee Simpson, The Cure, Vanessa Carlton, Fan_3)
+ H6228 - Juice Box Music Video (Avril Lavine, The Calling, Clay Miken, Ruben Studdard)
+ H6232 - Juice Box Music Video (Zoegirl, Jumps, Baha Men, Atomic Kitten)
+ H6248 - Codename: Kids Next Door - Episode #19
+ H6254 - Juice Box Music Video (Liz Flair, Stacie Orrico, Skye Sweetnam, Zoegirl) (full part # H6254-0971G1)
+ H6259 - SonicX Episode 3: Missile Wrist Rampage
+ H6260 - Teenage Mutant Ninja Turtles Episode 36
+
+ H7416 - Streetball Classics Vol.1
+
+ H8084 - Yu-Gi-Oh! Episode 175
+ H8085 - Good Times with Carey Hart
+ H8143 - Yu-Gi-Oh! Episode 176
+
-->
<software name="kidsnedo">
diff --git a/hash/leapfrog_leapster_explorer_cart.xml b/hash/leapfrog_leapster_explorer_cart.xml
new file mode 100644
index 00000000000..306e7274575
--- /dev/null
+++ b/hash/leapfrog_leapster_explorer_cart.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!-- license:CC0 -->
+
+<softwarelist name="leapfrog_leapster_explorer_cart" description="LeapFrog Leapster Explorer Cartridges">
+
+ <software name="tblt" supported="no">
+ <description>TinkerBell and the Lost Treasure (USA)</description>
+ <year>2010</year>
+ <publisher>LeapFrog</publisher>
+ <info name="serial" value="500-14226-A"/>
+ <part name="cart" interface="leapfrog_leapster_explorer_cart">
+ <dataarea name="rom" size="0x4200000" width="32" endianness="big">
+ <rom loadflag="load16_word_swap" name="leapster_explorer_tinker_bell_lost_treasure_mxic_c276.bin" size="0x4200000" crc="1d88cffa" sha1="50941cf44bcbec559f0110f9151ee98b82d755ca" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mrpencil" supported="no">
+ <description>Mr. Pencil Saves Doodleburg (USA)</description>
+ <year>2010</year>
+ <publisher>LeapFrog</publisher>
+ <info name="serial" value="500-14221-A"/>
+ <part name="cart" interface="leapfrog_leapster_explorer_cart">
+ <dataarea name="rom" size="0x4200000" width="32" endianness="big">
+ <rom loadflag="load16_word_swap" name="leapster_explorer_mr_pencil_saves_doodleburg_mxic_c276.bin" size="0x4200000" crc="e30fdc01" sha1="fe58616c7d61c1651380bb71c11ad639e22d00da" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- this has the same form factor as a Leapster Explorer cart, and is the same colour, but is marked 'Creativity Learning Game' instead, is it the same system? -->
+ <software name="advsktch" supported="no">
+ <description>Adventure Sketchers (USA) (Creativity Learning Game)</description>
+ <year>2013</year>
+ <publisher>LeapFrog</publisher>
+ <info name="serial" value="500-15340-A"/>
+ <part name="cart" interface="leapfrog_leapster_explorer_cart">
+ <dataarea name="rom" size="0x4200000" width="32" endianness="big">
+ <rom loadflag="load16_word_swap" name="leapster_explorer_adventure_sketchers_mxic_c276.bin" size="0x4200000" crc="ecf7a832" sha1="98dda23b39c9f66e0d9783e7c9ce7b703235526d" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/hash/leapfrog_zippity_cart.xml b/hash/leapfrog_zippity_cart.xml
index 4bb398526df..8c978684672 100644
--- a/hash/leapfrog_zippity_cart.xml
+++ b/hash/leapfrog_zippity_cart.xml
@@ -7,7 +7,6 @@ license:CC0
<!--
Not dumped:
- The Princess and the Frog
Toy Story 3
(it also needs confirming if US / UK cartridges are different, dumps are all from UK cartridges)
@@ -15,6 +14,17 @@ license:CC0
-->
<softwarelist name="leapfrog_zippity_cart" description="LeapFrog Zippity Cartridges">
+ <software name="prinfrog" supported="no">
+ <description>The Princess and the Frog - Magical Bayou Adventure (500-13779-A) (UK)</description>
+ <year>2009</year>
+ <publisher>LeapFrog</publisher>
+ <part name="cart" interface="leapfrog_zippity_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="500-13779-A - The Princess and the Frog - Magical Bayou Adventure.bin" size="0x4200000" crc="f41715d0" sha1="c6654f021ac0b12fecb056f1d21058957a6e1e30" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="cars" supported="no">
<description>The World of Cars - Driven to Learn (500-13589-B) (UK)</description>
<year>2009</year>
diff --git a/hash/leapster.xml b/hash/leapster.xml
index b4feaca02cb..d02243386e6 100644
--- a/hash/leapster.xml
+++ b/hash/leapster.xml
@@ -591,7 +591,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="dorawr">
+ <software name="dorawr" supported="no">
<description>Nick Jr. Dora the Explorer - Wildlife Rescue (USA)</description>
<year>2003</year>
<publisher>LeapFrog</publisher>
@@ -603,7 +603,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="dorawra" cloneof="dorawr">
+ <software name="dorawra" cloneof="dorawr" supported="no">
<description>Nick Jr. Dora the Explorer - Wildlife Rescue (USA, alt)</description>
<year>2003</year>
<publisher>LeapFrog</publisher>
@@ -1432,7 +1432,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</software>
<software name="penguins" supported="no">
- <description>Nickelodeon The Penguins of Madagascar - Race for the 1sr Place! (USA)</description>
+ <description>Nickelodeon The Penguins of Madagascar - Race for 1st Place! (USA)</description>
<year>2010</year>
<publisher>LeapFrog</publisher>
<info name="serial" value="500-14007-B" />
@@ -1626,7 +1626,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
<!-- L-MAX carts, ordered by title -->
- <software name="dorawrlmx">
+ <software name="dorawrlmx" supported="no">
<description>Nick Jr. Dora the Explorer - Wildlife Rescue (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
@@ -1638,7 +1638,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="lettontllmx">
+ <software name="lettontllmx" supported="no">
<description>Letters on the Loose (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
@@ -1650,7 +1650,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="madagasclmx">
+ <software name="madagasclmx" supported="no">
<description>Madagascar (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
@@ -1662,7 +1662,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="nascarlmx">
+ <software name="nascarlmx" supported="no">
<description>NASCAR (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
@@ -1674,7 +1674,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="numbrunlmx">
+ <software name="numbrunlmx" supported="no">
<description>Numbers on the Run - Counting on Zero (USA, L-MAX)</description>
<year>2005?</year>
<publisher>LeapFrog</publisher>
@@ -1686,7 +1686,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="spongeblmx" cloneof="spongeb">
+ <software name="spongeblmx" cloneof="spongeb" supported="no">
<description>Spongebob Squarepants - Saves the Day (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
@@ -1698,7 +1698,7 @@ Entries are ordered by title of the parent, clones are list after the parent, Le
</part>
</software>
- <software name="spidermnlmx" cloneof="spidermn">
+ <software name="spidermnlmx" cloneof="spidermn" supported="no">
<description>Spider-Man - The Case of the Sinister Speller (USA, L-MAX)</description>
<year>2005</year>
<publisher>LeapFrog</publisher>
diff --git a/hash/mbee_cart.xml b/hash/mbee_cart.xml
new file mode 100644
index 00000000000..f4b02cd8f80
--- /dev/null
+++ b/hash/mbee_cart.xml
@@ -0,0 +1,279 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0
+
+PAK and NET roms for the Microbee non-disk models. These extensions are supported: MBP, MBN, ROM.
+
+Compatibility flags:
+1 = mbee
+2 = mbeeic, mbeepc, mbeepc85
+
+If no flag is specified, it's assumed it works on all of them.
+
+Most roms can be mounted in any slot, although there's sometimes one is recommended.
+The usage will state any recommended slot, although we don't enforce it.
+
+If you choose -rom1, use pak0 to run it. This follows up to -rom8, which is run by pak7.
+
+If you are using the 'mbee' machine, there's only one slot (-rom), use edasm to run it.
+
+-->
+<softwarelist name="mbee_cart" description="Microbee PAK roms">
+
+ <software name="edasm">
+ <description>EDASM</description>
+ <year>1982</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="edasm.mbp" size="0x2000" crc="1af1b3a9" sha1="d035a997c2dbbb3918b3395a3a5a1076aa203ee5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="forth10">
+ <description>FORTH v1.0</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="forth.mbp" size="0x2000" crc="c0795c2b" sha1="8faa0a46fbbdb8a1019d706a40cd4431a5063f8c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="forth11">
+ <description>FORTH v1.1</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="forth11.mbp" size="0x2000" crc="f0fc2358" sha1="b7303b94abe647d5a6ffb2fba5d205412f970c16" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ozlogo">
+ <description>OZLOGO</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="ozlogo.mbp" size="0x2000" crc="47c3ef69" sha1="8274d27c323ca4a6cc9e7d24946ae9c0531c3112" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chess">
+ <description>CHESS</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="chess.mbp" size="0x2000" crc="fe9ee9d0" sha1="a316559414e68c0101af5f00755db551e7c5788e" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="help1">
+ <description>HELP (set 1)</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom2 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="help1.mbp" size="0x2000" crc="d34fae54" sha1="5ed30636f48e9d208ce2da367ba4425782a5bce3" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="help2">
+ <description>HELP (set 2)</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom2 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="help2.mbp" size="0x2000" crc="a4f1fa90" sha1="1456abc6ed0501a3b15a99b4302750843293ae5f" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mdisas">
+ <description>Mydas Dissassembler</description>
+ <year>198?</year>
+ <publisher>Mytek</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="mdisas.mbp" size="0x2000" crc="a14c1747" sha1="0ef2e27ecac659c4050b1e43dd183a0809263014" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sdisas">
+ <description>Super Disassembler 3.0</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="sdisas.mbp" size="0x2000" crc="613f2212" sha1="967f7516354911a1278a8d5e09ac2d2c74c76594" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mwordp">
+ <description>Mytek Word Processor</description>
+ <year>198?</year>
+ <publisher>Mytek</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="mwordp.mbp" size="0x2000" crc="1bbec49f" sha1="12e0f78ec5550076c5f63bc8aaf28930c6c3ad09" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="msinv">
+ <description>Microspace Invaders</description>
+ <year>1983</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="invaders.mbp" size="0x2000" crc="ad84132d" sha1="d4eeecc548ed61f29a9ab157b003b9a8ce0713eb" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="survivor">
+ <description>Survivor</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="survivor.mbp" size="0x2000" crc="75d6d01e" sha1="81f8163774eccd5e000a206f08cb842c6b0d8c88" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="typtut">
+ <description>Typing Tutor</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="typtut.mbp" size="0x2000" crc="3e1c790c" sha1="9b4b1822fb64d9cd12a7347af23916bc36be5314" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee10">
+ <description>Wordbee 1.0</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee10.mbp" size="0x2000" crc="2ed7e739" sha1="fec174caa6f9534c3ef93feb491b31a5642f9d2b" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee12">
+ <description>Wordbee 1.2</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee12.mbp" size="0x2000" crc="0fc21cb5" sha1="33b3995988fc51ddef1568e160dfe699867adbd5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee12s">
+ <description>Wordbee 1.2 (Swedish)</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee12s.mbp" size="0x2000" crc="2ae22525" sha1="893f2fc1511f4b2c55741365faaf00a478491383" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee13">
+ <description>Wordbee 1.3</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee13.mbp" size="0x2000" crc="85f0e581" sha1="fea7bf261ce268097c6db662300dce091887b807" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee13r3">
+ <description>Wordbee 1.3 Rel 3</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee13r3.mbp" size="0x2000" crc="d7c58b7b" sha1="5af1b8d21a0f21534ed1833ae919dbbc6ca973e2" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wbee20s">
+ <description>Wordbee 2.0 (Swedish)</description>
+ <year>1982</year>
+ <publisher>Microworld</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1) [-rom1 recommended]"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="rom" size="0x2000">
+ <rom name="wbee20s.mbp" size="0x2000" crc="6a0fe57f" sha1="a101b588b1872e19382b9e9ea50fabb0fd060aa6" />
+ </dataarea>
+ </part>
+ </software>
+
+<!--
+ <software name="chip8">
+ <description>CHIP8 V1.0</description>
+ <year>198?</year>
+ <publisher>Dreamcards</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="net" size="0x1000">
+ <rom name="chip8_1.mbn" size="0x1000" crc="1c4a4cd2" sha1="dcac3ef89889b9e03aca4f64f258ffdb026bf800" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chip8a">
+ <description>CHIP8 V2.2</description>
+ <year>198?</year>
+ <publisher>Dreamcards</publisher>
+ <info name="usage" value="edasm (mbee) or pak(slot-1)"/>
+ <part name="cart" interface="mbee_cart">
+ <dataarea name="net" size="0x1000">
+ <rom name="chip8_2.mbn" size="0x1000" crc="11fbb547" sha1="7bd9dc4b67b33b8e1be99beb6a0ddff25bdbd3f7" />
+ </dataarea>
+ </part>
+ </software>
+-->
+
+
+</softwarelist>
diff --git a/hash/mbee_cass.xml b/hash/mbee_cass.xml
index 99235c23d67..76ab00e793e 100644
--- a/hash/mbee_cass.xml
+++ b/hash/mbee_cass.xml
@@ -11,10 +11,15 @@ Compatibility flags:
If no flag is specified, it's assumed it works on all of them.
-The tapes in this list are here because they do not exist as quickloads.
-
They do not work on disk-based microbees, or on premium models.
+Cassette File Types:
+- This is a single letter that displays after the 6-character filename, while loading.
+- B = Basic, loaded by Basic. If it doesn't self-start type RUN.
+- M = Machine-code, loaded by Basic. If it doesn't self-start type EXEC.
+- W = Wordbee, loaded by Wordbee only.
+- T = Teleterm, loaded by Teleterm machine (mbeett) only.
+
-->
<softwarelist name="mbee_cass" description="Microbee cassettes">
diff --git a/hash/megadriv.xml b/hash/megadriv.xml
index 2542c9f5b89..48570be42ae 100644
--- a/hash/megadriv.xml
+++ b/hash/megadriv.xml
@@ -324,6 +324,27 @@ Info on Sega chip labels (from Sunbeam / Digital Corruption)
</software>
+ <software name="akira">
+ <description>Akira (prototype)</description>
+ <year>1994?</year>
+ <publisher>Black Pearl</publisher>
+ <info name="alt_title" value="アキラ"/>
+ <part name="cart" interface="megadriv_cart">
+ <feature name="u1" value="M27C4001-12F1"/>
+ <feature name="u2" value="M27C4001-12F1"/>
+ <feature name="u3" value="74HC139N"/>
+ <feature name="u4" value="M27C4001-12F1"/>
+ <feature name="u5" value="M27C4001-12F1"/>
+ <dataarea name="rom" width="16" endianness="big" size="2097152">
+ <rom name="u4.bin" size="524288" crc="7617d73d" sha1="422570b5d849539fc223125065bdaf8207b06fbc" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="u5.bin" size="524288" crc="7aa45fbb" sha1="9020c130f9f1956d751c0e655d9f5b9295caa2f3" offset="0x000000" loadflag="load16_byte"/>
+ <rom name="u1.bin" size="524288" crc="2536f355" sha1="c8ac7b9b3a6cb621497502ba9369ae01a8194550" offset="0x100001" loadflag="load16_byte"/>
+ <rom name="u2.bin" size="524288" crc="0400e82d" sha1="17fec05d77d37bfb9715f2d8347c630d953aa3cb" offset="0x100000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
+
<software name="aladdin">
<description>Disney's Aladdin (Euro)</description>
<year>1993</year>
@@ -14742,6 +14763,24 @@ but dumps still have to be confirmed.
</part>
</software>
+ <software name="eccop" cloneof="ecco">
+ <description>Ecco the Dolphin (prototype)</description>
+ <year>1993</year>
+ <publisher>Sega</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="1048576">
+ <rom name="md ecco 0 21-4.eprom" size="131072" crc="654acfe4" sha1="2c3e281f6839a5f6cbddeb41825171da7ce167ff" offset="0x000001" loadflag="load16_byte"/> <!-- MD ECCO 0 21/4 -->
+ <rom name="md ecco 1 21-4.eprom" size="131072" crc="1f83045b" sha1="62c2a5c3b7cde3919ac1e8543799c138957592f5" offset="0x000000" loadflag="load16_byte"/> <!-- MD ECCO 1 21/4 -->
+ <rom name="md ecco 2 21-4.eprom" size="131072" crc="d6b6cabd" sha1="b219cf78bd581e62b242e1c708dd58ab0ec9efac" offset="0x040001" loadflag="load16_byte"/> <!-- MD ECCO 2 21/4 -->
+ <rom name="md ecco 3 21-4.eprom" size="131072" crc="06f57bc8" sha1="cfbb872e421f14f3ca2f006b3e3bf761a8e18eb2" offset="0x040000" loadflag="load16_byte"/> <!-- MD ECCO 3 21/4 -->
+ <rom name="md ecco 4 21-4.eprom" size="131072" crc="6b31631b" sha1="4d3596b19be6e02b5b84a73d150fd60d8d7d2f43" offset="0x080001" loadflag="load16_byte"/> <!-- MD ECCO 4 21/4 -->
+ <rom name="md ecco 5 21-4.eprom" size="131072" crc="80e0f15c" sha1="1336d003c4f133ca2eb6e4b1aabff5933632480e" offset="0x080000" loadflag="load16_byte"/> <!-- MD ECCO 5 21/4 -->
+ <rom name="md ecco 6 21-4.eprom" size="131072" crc="b205e41b" sha1="42632d26bee864583e4b32ed39d563d2eb1a6566" offset="0x0c0001" loadflag="load16_byte"/> <!-- MD ECCO 6 21/4 -->
+ <rom name="md ecco 7 21-4.eprom" size="131072" crc="5e90ce91" sha1="fd8af083e3963c8274b224c0034e30f8d0b45a43" offset="0x0c0000" loadflag="load16_byte"/> <!-- MD ECCO 7 21/4 -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="ecco2p" cloneof="ecco2">
<description>Ecco - The Tides of Time (USA, Prototype)</description>
<year>1994</year>
@@ -15902,6 +15941,20 @@ but dumps still have to be confirmed.
</part>
</software>
+ <software name="flintp" cloneof="flint">
+ <description>The Flintstones (prototype)</description>
+ <year>1992</year>
+ <publisher>Taito</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="524288">
+ <rom name="flint0 stones genesis odd-0 a081h 1992.11.5.eprom" size="131072" crc="df222147" sha1="d9ea35d7d4c81fcff0093d26e72e01ae306a8551" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="flint1 stones genesis even-0 f00eh 1992.11.5.eprom" size="131072" crc="6a4b2996" sha1="e7227a53a872173541cddeb875b9505633dc27ab" offset="0x000000" loadflag="load16_byte"/>
+ <rom name="flint2 stones genesis odd-1 54c9h 1992.11.5.eprom" size="131072" crc="498b7a6c" sha1="0f17e8ae5f93e05673ec598a427584c4c9878032" offset="0x040001" loadflag="load16_byte"/>
+ <rom name="flint3 stones genesis even-1 ae14h 1992.11.5.eprom" size="131072" crc="57c7b47a" sha1="c3a2bc68bd0333ca193556d546a2904eaa33dbbf" offset="0x040000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="foreman">
<description>Foreman for Real (World)</description>
<year>1995</year>
@@ -24926,8 +24979,8 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
- <software name="sspinp1" cloneof="sspin">
- <description>Sonic Spinball (Prototype, Alt)</description>
+ <software name="sspinp3" cloneof="sspin">
+ <description>Sonic Spinball (Aug 1993 prototype)</description>
<year>1993</year>
<publisher>Sega</publisher>
<part name="cart" interface="megadriv_cart">
@@ -24938,12 +24991,24 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</software>
<software name="sspinp2" cloneof="sspin">
- <description>Sonic Spinball (Prototype 19930922)</description>
+ <description>Sonic Spinball (Euro, prototype 19930917)</description>
<year>1993</year>
<publisher>Sega</publisher>
<part name="cart" interface="megadriv_cart">
<dataarea name="rom" width="16" endianness="big" size="1048576">
- <rom name="sonic the hedgehog spinball (sep 22, 1993 build).bin" size="1048576" crc="82c55a36" sha1="dffa4d4a996c9bf757c48584b933e16944eff86c" />
+ <rom name="sonic spinball 0 md 17-9 4m.eprom" size="524288" crc="2e0e6929" sha1="d54f89dea19a1489f0297405f5a0d245f55e9e86" offset="0x000001" loadflag="load16_byte"/> <!-- Sonic Spinball 0 MD 17/9 4M -->
+ <rom name="sonic spinball 1 md 17-9 4m.eprom" size="524288" crc="d62dfdfc" sha1="679af842ce2ef4dde2ec669b1f6ce97f64bfa43d" offset="0x000000" loadflag="load16_byte"/> <!-- Sonic Spinball 1 MD 17/9 4M -->
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sspinp1" cloneof="sspin">
+ <description>Sonic Spinball (prototype 19930922)</description>
+ <year>1993</year>
+ <publisher>Sega</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="1048576">
+ <rom name="sonic the hedgehog spinball (sep 22, 1993 build).bin" size="1048576" crc="82c55a36" sha1="dffa4d4a996c9bf757c48584b933e16944eff86c"/>
</dataarea>
</part>
</software>
@@ -24985,7 +25050,7 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</software>
<software name="sonicp" cloneof="sonic">
- <description>Sonic the Hedgehog (Prototype)</description>
+ <description>Sonic the Hedgehog (prototype)</description>
<year>1991</year>
<publisher>Sega</publisher>
<part name="cart" interface="megadriv_cart">
@@ -25760,6 +25825,24 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
+ <software name="starwarsp">
+ <description>Star Wars (prototype 19930125)</description>
+ <year>1993</year>
+ <publisher>Sega</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="1048576">
+ <rom name="md star wars 0 25-1.eprom" size="131072" crc="c6ee5485" sha1="89fefa5cfcbd86f4ce60ae65f3e29846ba0cd8a7" offset="0x000001" loadflag="load16_byte"/> <!-- MD Star Wars 0 25/1 -->
+ <rom name="md star wars 1 25-1.eprom" size="131072" crc="492b3af9" sha1="600bb6b167a533d4e55a2368453f4ea3c8ca4bd8" offset="0x000000" loadflag="load16_byte"/> <!-- MD Star Wars 1 25/1 -->
+ <rom name="md star wars 2 25-1.eprom" size="131072" crc="f1073d52" sha1="f1a236de50bf36cd1ba0fe3fe60e7a661a9518b9" offset="0x040001" loadflag="load16_byte"/> <!-- MD Star Wars 2 25/1 -->
+ <rom name="md star wars 3 25-1.eprom" size="131072" crc="3a64815d" sha1="4b59d4846bb58b2183716a17aae71e505ab5b02c" offset="0x040000" loadflag="load16_byte"/> <!-- MD Star Wars 3 25/1 -->
+ <rom name="md star wars 4 25-1.eprom" size="131072" crc="6554314e" sha1="065d83c43d82f162e1cb383aaed2e796cf93c07f" offset="0x080001" loadflag="load16_byte"/> <!-- MD Star Wars 4 25/1 -->
+ <rom name="md star wars 5 25-1.eprom" size="131072" crc="de4373cc" sha1="f02e9a9508afab89eff8f0c1b4f3a87d2b5034b7" offset="0x080000" loadflag="load16_byte"/> <!-- MD Star Wars 5 25/1 -->
+ <rom name="md star wars 6 25-1.eprom" size="131072" crc="bf4d9bbc" sha1="69cdb5272bd3e860cb5c0c2b62029f9cbbbb828d" offset="0x0c0001" loadflag="load16_byte"/> <!-- MD Star Wars 6 25/1 -->
+ <rom name="md star wars 7 25-1.eprom" size="131072" crc="3e7b6ca2" sha1="0eff9cbac1e119922c34a7bd218b5140db31a6fc" offset="0x0c0000" loadflag="load16_byte"/> <!-- MD Star Wars 7 25/1 -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="starfl">
<description>Starflight (Euro, USA, v1.1)</description>
<year>1991</year>
@@ -26039,6 +26122,38 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
+ <software name="sf2p2" cloneof="sf2">
+ <description>Street Fighter II' - Champion Edition (Euro, USA, prototype 19930325)</description>
+ <year>1993</year>
+ <publisher>Capcom</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="2097152">
+ <rom name="street fighter 2 md 0 25-3-93.eprom" size="262144" crc="af5cb9e7" sha1="da8941574d5fc737945b6a860c64e9ab41188977" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 1 25-3-93.eprom" size="262144" crc="f25ffe17" sha1="44d3f38e313a58c5537916c4f625b137beb470bd" offset="0x000000" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 2 25-3-93.eprom" size="262144" crc="96689fd6" sha1="0bfcc913cdae39fb716c581fa06feae970a9a2bf" offset="0x080001" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 3 25-3-93.eprom" size="262144" crc="071a7773" sha1="c5c3143fb97658bd1621131a980fe1e356a551a3" offset="0x080000" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 4 25-3-93.eprom" size="262144" crc="dd1282e2" sha1="a9b5475412c160811f08eee0b7225851bdf8c322" offset="0x100001" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 5 25-3-93.eprom" size="262144" crc="0e173317" sha1="968289b5a0dca1a9981a1e432fc28496113aa0d1" offset="0x100000" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 6 25-3-93.eprom" size="262144" crc="6b90052a" sha1="f0ad0cab584e95adeb7f5bc7849feec438204e79" offset="0x180001" loadflag="load16_byte"/>
+ <rom name="street fighter 2 md 7 25-3-93.eprom" size="262144" crc="a468fc82" sha1="5db31e8df3a89f6f48d627331f5bf087f85a49a1" offset="0x180000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sf2p1" cloneof="sf2">
+ <description>Street Fighter II' - Champion Edition (Euro, USA, prototype 19930730)</description>
+ <year>1993</year>
+ <publisher>Capcom</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="2097152">
+ <rom name="sf2 0 4 30-7.eprom" size="524288" crc="9200685e" sha1="3e7c807d701dab4189a712d08dc1c2b4483283e6" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="sf2 1 4 30-7.eprom" size="524288" crc="359b8510" sha1="b5aabd1c48f8733a4be5954b61ca7ff4cd93e73e" offset="0x000000" loadflag="load16_byte"/>
+ <rom name="sf2 2 4 30-7.eprom" size="524288" crc="32b11f89" sha1="72d72bbf1d1fc99ce45ffe523cafaf074b837a1a" offset="0x100001" loadflag="load16_byte"/>
+ <rom name="sf2 3 4 30-7.eprom" size="524288" crc="ce58e96f" sha1="cc9306642bbe0394f3fc8fdda0c517f6f2c6dc30" offset="0x100000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sf2pir" cloneof="sf2">
<description>Street Fighter II' Turbo (Pirate)</description>
<year>1993?</year>
@@ -29634,6 +29749,20 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
+ <software name="worldillp" cloneof="worldill">
+ <description>World of Illusion Starring Mickey Mouse and Donald Duck (prototype)</description>
+ <year>1992</year>
+ <publisher>Sega</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="1048576">
+ <rom name="epr-0 md m&amp;d 2m.eprom" size="262144" crc="e12fc307" sha1="69a9832c374819cfad85c5b3fe5d6cb5cdd91f96" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="epr-1 md m&amp;d 2m.eprom" size="262144" crc="a03f5c58" sha1="181adea8406b18747e7284fa27514f72ed78bcb7" offset="0x000000" loadflag="load16_byte"/>
+ <rom name="epr-2 md m&amp;d 2m.eprom" size="262144" crc="674027bb" sha1="79d179d9cb18570bb966d6d8638c870b5a47a885" offset="0x080001" loadflag="load16_byte"/>
+ <rom name="epr-3 md m&amp;d 2m.eprom" size="262144" crc="856c4d6a" sha1="1709911dbb7bad32a84c0aa060a18673a21e9246" offset="0x080000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wsb95">
<description>World Series Baseball '95 (USA)</description>
<year>1995</year>
@@ -32575,17 +32704,6 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
- <software name="starwarsp">
- <description>Starwars (Prototype 19930125)</description>
- <year>1993</year>
- <publisher>Sega</publisher>
- <part name="cart" interface="megadriv_cart">
- <dataarea name="rom" width="16" endianness="big" size="1048576">
- <rom name="Star Wars (Jan 25, 1993 prototype).md" size="1048576" crc="e1c32fec" sha1="46cd5c0380f09c93f4a53de14a65481037e4dba5"/>
- </dataarea>
- </part>
- </software>
-
<software name="starjedi" cloneof="wolfchld">
<description>Star Wars Jedi (Rus)</description>
<year>199?</year>
diff --git a/hash/mobigo_cart.xml b/hash/mobigo_cart.xml
index b9f0c4c7acf..cc83a287435 100644
--- a/hash/mobigo_cart.xml
+++ b/hash/mobigo_cart.xml
@@ -45,7 +45,20 @@ license:CC0
</part>
</software>
- <software name="cars2g" supported="no">
+ <!-- offset 0x12 is '0x02' is this a version number? cartridge was still only marked as 80-251900(US) -->
+ <software name="cars2" supported="no">
+ <description>Disney/Pixar Cars 2 (USA, rev 2?)</description>
+ <year>2011</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-251900(US)"/>
+ <part name="cart" interface="mobigo_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="mobigo_251900_2.bin" size="0x1000000" crc="9d0da1ef" sha1="2fc4e5e4251508b391067541fcca0230b6cf5b16"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cars2g" cloneof="cars2" supported="no">
<description>Disney/Pixar Cars 2 (Germany)</description>
<year>2011</year>
<publisher>VTech</publisher>
@@ -124,18 +137,6 @@ license:CC0
<info name="serial" value="80-251100(US)"/>
<part name="cart" interface="mobigo_cart">
<dataarea name="rom" size="0x1000000">
- <rom name="mobigo_251100.bin" size="0x1000000" crc="5d9d8f5f" sha1="359ba58fe4266b31aefa8397121069ce2ec33318"/>
- </dataarea>
- </part>
- </software>
-
- <software name="dprincesalt" cloneof="dprinces" supported="no">
- <description>Disney Princess (USA, alt)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-251100(US)"/>
- <part name="cart" interface="mobigo_cart">
- <dataarea name="rom" size="0x1000000">
<rom name="80-251100 - Disney Princess (US).bin" size="0x1000000" crc="fd9d04fc" sha1="af9ae160faf3087eb4d3a375c484e569465d4fc4"/>
</dataarea>
</part>
@@ -189,18 +190,6 @@ license:CC0
</part>
</software>
- <software name="jakenevalt" cloneof="jakenev" supported="no">
- <description>Disney Jake and the Neverland Pirates (USA, alt)</description>
- <year>2012</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-252800(US)"/>
- <part name="cart" interface="mobigo_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="80-252800 - Jake and the Neverland Pirates (US).bin" size="0x1000000" crc="eebe529e" sha1="7a8dc059e6713470937631b2b4d65cf87f9d3d20"/>
- </dataarea>
- </part>
- </software>
-
<software name="jakenevg" cloneof="jakenev" supported="no">
<description>Jake und die Nimmerland Piraten (Germany)</description>
<year>2012</year>
@@ -439,8 +428,9 @@ license:CC0
</part>
</software>
+ <!-- offset 0x12 is '0x01' is this a version number? cartridge was still only marked as 80-252700(US) -->
<software name="thomas" supported="no">
- <description>Thomas &amp; Friends - Really Useful Engines (USA)</description>
+ <description>Thomas &amp; Friends - Really Useful Engines (USA, rev 1?)</description>
<year>2012</year>
<publisher>VTech</publisher>
<info name="serial" value="80-252700(US)"/>
@@ -451,6 +441,19 @@ license:CC0
</part>
</software>
+ <!-- offset 0x12 is '0x02' is this a version number? cartridge was still only marked as 80-252700(US) -->
+ <software name="thomasa" cloneof="thomas" supported="no">
+ <description>Thomas &amp; Friends - Really Useful Engines (USA, rev 2?)</description>
+ <year>2012</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-252700(US)"/>
+ <part name="cart" interface="mobigo_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="mobigo_252700_2.bin" size="0x1000000" crc="a5515438" sha1="3a9896c28479aff95d43692da2562e97f974c44d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="thomasg" cloneof="thomas" supported="no">
<description>Thomas &amp; seine Freunde - Wirklich Nützliche Loks (Germany)</description>
<year>2012</year>
diff --git a/hash/neogeo.xml b/hash/neogeo.xml
index f4f2bf41419..883d69299f5 100644
--- a/hash/neogeo.xml
+++ b/hash/neogeo.xml
@@ -7710,8 +7710,9 @@ license:CC0
<description>Bang Bang Busters</description>
<year>2001</year>
<publisher>Visco</publisher>
- <sharedfeat name="release" value="MVS, AES" />
- <sharedfeat name="compatibility" value="MVS, AES" />
+ <info name="alt_title" value="バンバン バスターズ"/>
+ <sharedfeat name="release" value="MVS,AES" />
+ <sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
<dataarea name="maincpu" width="16" endianness="big" size="0x100000">
<rom loadflag="load16_word_swap" name="071.p1" offset="0x000000" size="0x080000" crc="7687197d" sha1="4bb9cb7819807f7a7e1f85f1c4faac4a2f8761e8" />
diff --git a/hash/nes.xml b/hash/nes.xml
index ed7e1308c41..59875f415ff 100644
--- a/hash/nes.xml
+++ b/hash/nes.xml
@@ -1022,6 +1022,26 @@ license:CC0
</part>
</software>
+ <software name="aburnerj1" cloneof="aburner">
+ <description>After Burner II (Jpn, alt PCB)</description>
+ <year>1989</year>
+ <publisher>Sunsoft</publisher>
+ <info name="serial" value="SUN-AFB-6200 (SS13)"/>
+ <info name="release" value="19890330"/>
+ <info name="alt_title" value="アフターバーナー ~ After Burner (Box)"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sunsoft4" />
+ <feature name="pcb" value="SUNSOFT-4" />
+ <feature name="pcb_model" value="SUNSOFT-6A" />
+ <dataarea name="prg" size="131072">
+ <rom name="mpr-12363" size="131072" crc="88f202f0" sha1="709e2744cf4f7ce43c41ed57ec858128e008f305" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="262144">
+ <rom name="sunsoft-c" size="262144" crc="a75cb06d" sha1="ae7c1c79280ddd95ee1934ac28d233d36ff01f05" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="aburner">
<description>After Burner (USA)</description>
<year>1989</year>
@@ -3023,6 +3043,29 @@ license:CC0
</part>
</software>
+ <software name="baseballj1" cloneof="baseball">
+ <description>Baseball (Jpn, STROM PCB)</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="serial" value="HVC-BA"/>
+ <info name="release" value="19831207"/>
+ <info name="alt_title" value="ベースボール"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="HVC-STROM" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="32768">
+ <rom name="hvc-ba-0 prg-a" size="8192" crc="16cfcbd4" sha1="928f781de6f62fce0072f581b38457a7cb4f1961" offset="00000" />
+ <rom size="8192" offset="0x4000" loadflag="reload" />
+ <rom name="hvc-ba-0 prg-b" size="8192" crc="3eae077b" sha1="865ba6d95cdbf365f031b287c47d072df0950a1a" offset="0x02000" />
+ <rom size="8192" offset="0x6000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="8192">
+ <rom name="hvc-ba-0 chr" size="8192" crc="c27eef20" sha1="d5bd643b3ba98846e520b4d3f38aae45a29cf250" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="baseball">
<description>Baseball (Euro, USA)</description>
<year>1985</year>
@@ -3388,6 +3431,33 @@ license:CC0
</part>
</software>
+<!-- This is on a Famicom PCB, but it already contains the US code... -->
+ <software name="batmanrjup" cloneof="batmanrj">
+ <description>Batman - Return of the Joker (USA, prototype)</description>
+ <year>1991</year>
+ <publisher>Sunsoft</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sunsoft5a" />
+ <feature name="pcb" value="SAP-E301" />
+ <feature name="ic1" value="SUNSOFT 5A" />
+ <feature name="ic2" value="74F04PC" />
+ <feature name="ic3" value="PRG" />
+ <feature name="ic4" value="CHR0" />
+ <feature name="ic5" value="HM6264ALP-12" />
+ <feature name="ic6" value="CHR1" />
+ <dataarea name="prg" size="131072">
+ <rom name="batman roj final ver 0.0 prg" size="131072" crc="42fd0ab5" sha1="8208d96c73a3198828a567855fa76f35331497f3" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="262144">
+ <rom name="batman roj final ver 0.0 c0" size="131072" crc="36862705" sha1="957a6b1475c1d81d26e6c2aa3b780d5e36c15334" offset="00000" />
+ <rom name="batman roj final ver 0.0 c1" size="131072" crc="53c6f23a" sha1="c5c68b8a2c94c4bab7a9d4396e204f6ce3684313" offset="0x020000" />
+ </dataarea>
+ <!-- 8k WRAM on cartridge -->
+ <dataarea name="wram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<!-- glitches on NTSC -->
<software name="batmanrj" supported="partial">
<description>Batman - Return of the Joker (Euro)</description>
@@ -4005,7 +4075,7 @@ license:CC0
</part>
</software>
- <software name="bibleadvd" cloneof="bibleadv">
+ <software name="bibleadve" cloneof="bibleadv">
<description>Bible Adventures (USA)</description>
<year>1991</year>
<publisher>Wisdom Tree</publisher>
@@ -4023,7 +4093,7 @@ license:CC0
</part>
</software>
- <software name="bibleadvc" cloneof="bibleadv">
+ <software name="bibleadvd" cloneof="bibleadv">
<description>Bible Adventures (USA, v1.1)</description>
<year>1991</year>
<publisher>Wisdom Tree</publisher>
@@ -4041,7 +4111,7 @@ license:CC0
</part>
</software>
- <software name="bibleadvb" cloneof="bibleadv">
+ <software name="bibleadvc" cloneof="bibleadv">
<description>Bible Adventures (USA, v1.2)</description>
<year>1991</year>
<publisher>Wisdom Tree</publisher>
@@ -4059,7 +4129,7 @@ license:CC0
</part>
</software>
- <software name="bibleadva" cloneof="bibleadv">
+ <software name="bibleadvb" cloneof="bibleadv">
<description>Bible Adventures (USA, v1.3)</description>
<year>1991</year>
<publisher>Wisdom Tree</publisher>
@@ -4077,7 +4147,7 @@ license:CC0
</part>
</software>
- <software name="bibleadv">
+ <software name="bibleadva" cloneof="bibleadv">
<description>Bible Adventures (USA, v1.4)</description>
<year>1991</year>
<publisher>Wisdom Tree</publisher>
@@ -4095,6 +4165,24 @@ license:CC0
</part>
</software>
+ <software name="bibleadv">
+ <description>Bible Adventures (USA, v5.0)</description>
+ <year>1991</year>
+ <publisher>Wisdom Tree</publisher>
+ <info name="serial" value="WT-BC-6"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="discrete_74x377" />
+ <feature name="pcb" value="COLORDREAMS-74*377" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="65536">
+ <rom name="5.prg" size="65536" crc="663a15a3" sha1="105530165ad19a0595c996cf6e7ab21ef497ace2" offset="00000" /> <!-- no custom label -->
+ </dataarea>
+ <dataarea name="chr" size="65536">
+ <rom name="d-adventures vid 512 14" size="65536" crc="1c05428a" sha1="c7901459d6b67a74a471c2ecb8280f744c0d5d35" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="biblebuf">
<description>Bible Buffet (USA, Rev. 6.0)</description>
<year>1993</year>
@@ -4486,7 +4574,7 @@ license:CC0
<feature name="pcb" value="NES-UNROM" />
<feature name="mirroring" value="vertical" />
<dataarea name="prg" size="131072">
- <rom name="nes-vs-0 prg" size="131072" crc="8ab52a24" sha1="6519882612ba8d69dc6f580c9db4dc0df7fd8c56" offset="00000" />
+ <rom name="nes-vs-0 prg" size="131072" crc="8ab52a24" sha1="6519882612ba8d69dc6f580c9db4dc0df7fd8c56" offset="00000" /> <!-- alt label: rd012nip -->
</dataarea>
<!-- 8k VRAM on cartridge -->
<dataarea name="vram" size="8192">
@@ -5147,6 +5235,26 @@ license:CC0
</part>
</software>
+ <software name="buckyj" cloneof="bucky">
+ <description>Bucky O'Hare (Jpn)</description>
+ <year>1992</year>
+ <publisher>Konami</publisher>
+ <info name="serial" value="KDS-1V"/>
+ <info name="release" value="19920131"/>
+ <info name="alt_title" value="バッキーオヘア"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="131072">
+ <rom name="kds-1v-0 prg" size="131072" crc="eafc4944" sha1="42f7428fde8e5bed2434eb9ed8b928ef10dc991f" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="kds-1v-0 chr" size="131072" crc="0fdaf4e3" sha1="8deb8c2528047d8aff6320a8403993f2f7302272" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="buckyu" cloneof="bucky">
<description>Bucky O'Hare (USA)</description>
<year>1992</year>
@@ -5409,6 +5517,26 @@ license:CC0
</part>
</software>
+ <software name="cadillac">
+ <description>Cadillac (Jpn)</description>
+ <year>1990</year>
+ <publisher>Hector</publisher>
+ <info name="serial" value="HCT-C5/007"/>
+ <info name="release" value="19900202"/>
+ <info name="alt_title" value="キャデラック"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="HVC-CNROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="32768">
+ <rom name="0.prg" size="32768" crc="03dcfddb" sha1="3ccb5565cbff22bc2e71e3d36c0ca3102a8de05a" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="0.chr" size="32768" crc="d971e09f" sha1="fe9abfa2641a5b471827e9e83993f4bdfc6fd3fb" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="caesars">
<description>Caesars Palace (USA)</description>
<year>1992</year>
@@ -6255,7 +6383,7 @@ license:CC0
</part>
</software>
- <software name="chessmstu" cloneof="chessmst">
+ <software name="chessmstu1" cloneof="chessmst">
<description>The Chessmaster (USA)</description>
<year>1990</year>
<publisher>Hi Tech Expressions</publisher>
@@ -6277,6 +6405,28 @@ license:CC0
</part>
</software>
+ <software name="chessmstu" cloneof="chessmst">
+ <description>The Chessmaster (USA, Rev. A)</description>
+ <year>1990</year>
+ <publisher>Hi Tech Expressions</publisher>
+ <info name="serial" value="NES-EM-USA"/>
+ <info name="release" value="199001xx"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="NES-SJROM" />
+ <feature name="mmc1_type" value="MMC1B2" />
+ <dataarea name="prg" size="131072">
+ <rom name="nes-em-1 prg" size="131072" crc="f512d742" sha1="5e5125adaaccc4b0ea87d9f16e4e5abc8735d4fe" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="nes-em-0 chr" size="32768" crc="ddcfe401" sha1="689df9ece70e581cfa26da2f784b088803ed435b" offset="00000" />
+ </dataarea>
+ <!-- 8k WRAM on cartridge -->
+ <dataarea name="wram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="chessmst">
<description>The Chessmaster (Euro)</description>
<year>1991</year>
@@ -9104,6 +9254,26 @@ license:CC0
</part>
</software>
+ <software name="ddragon2j" cloneof="ddragon2">
+ <description>Double Dragon II - The Revenge (Jpn)</description>
+ <year>1989</year>
+ <publisher>Technos Japan</publisher>
+ <info name="serial" value="TJC-W2"/>
+ <info name="release" value="19891222"/>
+ <info name="alt_title" value="双載龍II"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3A" />
+ <dataarea name="prg" size="131072">
+ <rom name="tjc-w2-0 prg" size="131072" crc="fc6201e7" sha1="486a1617fa438b0b8c37bb5aaf19b9e46cb7623d" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="tjc-w2-0 chr" size="131072" crc="8f84fe6d" sha1="47d4f9fcd1b05b592827875570d87775955b3911" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="ddragon2u1" cloneof="ddragon2">
<description>Double Dragon II - The Revenge (USA)</description>
<year>1990</year>
@@ -9375,6 +9545,26 @@ license:CC0
</part>
</software>
+ <software name="downtown">
+ <description>Downtown - Nekketsu Monogatari (Jpn)</description>
+ <year>1989</year>
+ <publisher>Technos Japan</publisher>
+ <info name="serial" value="TJC-DN"/>
+ <info name="release" value="19890425"/>
+ <info name="alt_title" value="ダウンタウン熱血物語"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3A" />
+ <dataarea name="prg" size="131072">
+ <rom name="tjc-dn-0 prg" size="131072" crc="728c3d98" sha1="dd6069c0827d60682bc97723750946ce89ab4630" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="tjc-dn-0 chr" size="131072" crc="1c851e71" sha1="1f37a2a8374efe4b41db99cfc38694b5c657e09f" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="downtspc">
<description>Downtown Special - Kunio-kun no Jidaigeki Dayo Zenin Shuugou! (Jpn)</description>
<year>1991</year>
@@ -9513,6 +9703,23 @@ license:CC0
</part>
</software>
+ <software name="drmariop1" cloneof="drmario">
+ <description>Dr. Mario (Apr 27, 1990 prototype)</description>
+ <year>1990</year>
+ <publisher>Nintendo</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="NES-SEROM" />
+ <feature name="mmc1_type" value="MMC1B1-H" />
+ <dataarea name="prg" size="32768">
+ <rom name="dr. mario 4-27-90 prg 1cfb" size="32768" crc="a1fb8e8a" sha1="cc310a5540391e5feaaf75d010f3afdeafc2d35a" offset="00000" /> <!-- Original label "DR. MARIO 4/27/90 PRG 1CFB" -->
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="dr. mario 4-27-90 chr 8c28" size="32768" crc="0059e2ab" sha1="f50e5ef5f55cfc04fe7afbb27c51e3e2e25d6290" offset="00000" /> <!-- Original label "DR. MARIO 4/27/90 CHR 8C28" -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="virus" cloneof="drmario">
<description>Virus (Prototype, 19900202)</description>
<year>1990</year>
@@ -10333,6 +10540,26 @@ license:CC0
</part>
</software>
+ <software name="ducktal2j" cloneof="ducktal2">
+ <description>Disney's DuckTales 2 (Jpn)</description>
+ <year>1993</year>
+ <publisher>Capcom</publisher>
+ <info name="serial" value="CAP-DW"/>
+ <info name="release" value="19930423"/>
+ <info name="alt_title" value="ダックテイルズ2"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="HVC-UNROM" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="131072">
+ <rom name="cap-dw-0 prg" size="131072" crc="eddcc468" sha1="9e94ea7d2fa790a61c064a4d31c89603aa1c9e49" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="ducktal2u" cloneof="ducktal2">
<description>Disney's DuckTales 2 (USA)</description>
<year>1993</year>
@@ -11042,7 +11269,7 @@ license:CC0
</software>
<software name="excitbikj1" cloneof="excitbik">
- <description>Excitebike (Jpn, RTROM pcb)</description>
+ <description>Excitebike (Jpn, RTROM PCB)</description>
<year>1984</year>
<publisher>Nintendo</publisher>
<info name="serial" value="HVC-EB"/>
@@ -11546,6 +11773,30 @@ license:CC0
</part>
</software>
+ <software name="topmanag">
+ <description>Famicom Top Management (Jpn)</description>
+ <year>1990</year>
+ <publisher>Koei</publisher>
+ <info name="serial" value="KOE-XQ"/>
+ <info name="release" value="19901212"/>
+ <info name="alt_title" value="ファミコントップマネジメント"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SNROM" />
+ <feature name="mmc1_type" value="MMC1B2" />
+ <dataarea name="prg" size="262144">
+ <rom name="koe-xq-0 prg" size="262144" crc="58507bc9" sha1="947e5f3d386d2f4631facec26ce9a25fdffc4889" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ <!-- 8k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="8192">
+ <rom value="0x00" size="8192" offset="0" loadflag="fill" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="famiwars">
<description>Famicom Wars (Jpn, Rev. 0B)</description>
<year>1988</year>
@@ -11670,6 +11921,26 @@ license:CC0
</part>
</software>
+ <software name="famiblck" cloneof="thndlght">
+ <description>Family Block (Jpn)</description>
+ <year>1991</year>
+ <publisher>Athena</publisher>
+ <info name="serial" value="ATH-4T"/>
+ <info name="release" value="19910412"/>
+ <info name="alt_title" value="ファミリーブロック"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="gxrom" />
+ <feature name="pcb" value="HVC-GNROM" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="131072">
+ <rom name="ath-4t-0 prg" size="131072" crc="a3a6184c" sha1="c31f1ec8220be48db60289ea90e8e7b475362b38" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="ath-4t-0 chr" size="32768" crc="22dbb006" sha1="60d43350cb370a79764a693723ed949d1d79d66c" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="famboxin" cloneof="ringking">
<description>Family Boxing (Jpn)</description>
<year>1987</year>
@@ -12409,6 +12680,26 @@ license:CC0
</part>
</software>
+ <software name="fcgenjin" cloneof="bonk">
+ <description>FC Genjin - Freakthoropus Computerus (Jpn)</description>
+ <year>1993</year>
+ <publisher>Hudson Soft</publisher>
+ <info name="serial" value="HFC-F3"/>
+ <info name="release" value="19930730"/>
+ <info name="alt_title" value="FC原人"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="262144">
+ <rom name="hfc-f3-0 prg" size="262144" crc="3272bc3c" sha1="6c6989f8db72556d309aa92b49479616d1eb4478" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="hfc-f3-0 chr" size="131072" crc="8ef87ba8" sha1="ca67d0b5e169a0938c40496a7ccbb34ba8acc184" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="felixu" cloneof="felix">
<description>Felix the Cat (USA)</description>
<year>1992</year>
@@ -14015,6 +14306,26 @@ license:CC0
</part>
</software>
+ <software name="gekikame" cloneof="tmnt">
+ <description>Gekikame Ninja Den (Jpn)</description>
+ <year>1989</year>
+ <publisher>Konami</publisher>
+ <info name="serial" value="KDS-GN"/>
+ <info name="release" value="19890512"/>
+ <info name="alt_title" value="激亀忍者伝"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SLROM" />
+ <feature name="mmc1_type" value="MMC1A" />
+ <dataarea name="prg" size="131072">
+ <rom name="kds-gn-0 prg" size="131072" crc="ff1412ea" sha1="079024b1f0f0c1fecb3e96ce09014a50354f19ae" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="kds-gn-0 chr" size="131072" crc="6901dceb" sha1="3ed11a9f406d399b8eb1ca815a56cc68f2cd35df" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="yonkubat">
<description>Gekitotsu Yonku Battle (Jpn)</description>
<year>1989</year>
@@ -15925,6 +16236,46 @@ license:CC0
</part>
</software>
+ <software name="helloko">
+ <description>Hello Kitty no Ohanabatake (Jpn)</description>
+ <year>1992</year>
+ <publisher>Character Soft</publisher>
+ <info name="serial" value="CTS-HL"/>
+ <info name="release" value="19921211"/>
+ <info name="alt_title" value="ハローキティのおはなばたけ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="HVC-CNROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="32768">
+ <rom name="0.prg" size="32768" crc="62a94f97" sha1="6c410499f64f5d69cb1b3bc17251a2551cc7e567" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="0.chr" size="32768" crc="ee82486b" sha1="f3dcff321b534e9cab5edb6e6f223be84bb7a1f4" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hellokw">
+ <description>Hello Kitty World (Jpn)</description>
+ <year>1992</year>
+ <publisher>Character Soft</publisher>
+ <info name="serial" value="CTS-HW"/>
+ <info name="release" value="19920327"/>
+ <info name="alt_title" value="ハローキティーワールド"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="HVC-UNROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="131072">
+ <rom name="cts-hw-0 prg" size="131072" crc="67d5c3f9" sha1="42e0afdd1e603c4f301aeb030b799f69eebe2e15" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="herakl2">
<description>Herakles no Eikou II - Titan no Metsubou (Jpn)</description>
<year>1989</year>
@@ -17282,11 +17633,16 @@ license:CC0
</software>
<software name="iceclimb">
- <description>Ice Climber (Euro, USA)</description>
+ <description>Ice Climber (Euro, USA, Kor)</description>
<year>1985</year>
<publisher>Nintendo</publisher>
- <info name="serial" value="NES-IC-USA, NES-IC-(EEC/ESP)"/>
- <info name="release" value="198510xx (USA), 19860901 (Euro)"/>
+ <info name="serial" value="NES-IC-USA"/>
+ <info name="serial" value="NES-IC-EEC"/>
+ <info name="serial" value="NES-IC-ESP"/>
+ <info name="serial" value="NES-IC-KOR"/>
+ <info name="release" value="198510xx (USA)"/>
+ <info name="release" value="19860901 (Euro)"/>
+ <info name="release" value="1989 (Kor)"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="nrom" />
<feature name="pcb" value="NES-NROM-128" />
@@ -17344,6 +17700,28 @@ license:CC0
</part>
</software>
+ <software name="ideyumj1" cloneof="ideyumj">
+ <description>Ide Yousuke Meijin no Jissen Mahjong (Jpn)</description>
+ <year>1987</year>
+ <publisher>Capcom</publisher>
+ <info name="serial" value="CAP-IM"/>
+ <info name="release" value="19870924"/>
+ <info name="alt_title" value="井出洋介名人の実戦麻雀"/>
+ <info name="usage" value="This only works on a Famicom with Mahjong Controller attached"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="HVC-UNROM" />
+ <feature name="mirroring" value="vertical" />
+ <feature name="peripheral" value="mjcontroller" />
+ <dataarea name="prg" size="131072">
+ <rom name="cap-im-0 prg" size="131072" crc="8e066ccb" sha1="e5409c317403e2c56deaced9551971ad3f9c9995" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="ideyumj">
<description>Ide Yousuke Meijin no Jissen Mahjong (Jpn, Rev. A)</description>
<year>1987</year>
@@ -19193,6 +19571,26 @@ license:CC0
</part>
</software>
+ <software name="kage" cloneof="blueshad">
+ <description>Kage (Jpn)</description>
+ <year>1990</year>
+ <publisher>Natsume</publisher>
+ <info name="serial" value="NAT-JL"/>
+ <info name="release" value="19900810"/>
+ <info name="alt_title" value="闇の仕事人KAGE"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="131072">
+ <rom name="nat-jl-0 prg" size="131072" crc="21490e20" sha1="e75390fb285222054c13b8bdcd0e4e44cf6171e3" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="nat-jl-0 chr" size="131072" crc="98944590" sha1="2c6e925d2de97a062f6c69f35dd833246c69cbe6" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="legkagej" cloneof="legkage">
<description>Kage no Densetsu - The Legend of Kage (Jpn)</description>
<year>1986</year>
@@ -20195,7 +20593,7 @@ license:CC0
<!-- this was found on a proto cart, but the program is the same as the final Rev. 0 -->
<software name="kirbyu2" cloneof="kirby">
- <description>Kirby's Adventure (USA, TKEPROM pcb)</description>
+ <description>Kirby's Adventure (USA, TKEPROM PCB)</description>
<year>1993</year>
<publisher>Nintendo</publisher>
<part name="cart" interface="nes_cart">
@@ -21208,6 +21606,26 @@ license:CC0
</part>
</software>
+ <software name="layla">
+ <description>Layla (Jpn)</description>
+ <year>1986</year>
+ <publisher>dB-SOFT</publisher>
+ <info name="serial" value="DBF-LY"/>
+ <info name="release" value="19861220"/>
+ <info name="alt_title" value="レイラ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="HVC-UNROM" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="131072">
+ <rom name="dbf-ly-0 prg" size="131072" crc="ea31ccd3" sha1="38cbb1a505fbcb02a1220471b7831f68c1261f1b" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="leetrevnu" cloneof="leetrevn">
<description>Lee Trevino's Fighting Golf (USA)</description>
<year>1988</year>
@@ -22591,11 +23009,11 @@ license:CC0
<feature name="pcb" value="HVC-NROM-128" />
<feature name="mirroring" value="vertical" />
<dataarea name="prg" size="32768">
- <rom name="1.prg" size="16384" crc="f86d8d8a" sha1="2904137a030ae2370a8cd3e068078a1d59a4f229" offset="00000" />
+ <rom name="hvc-mj-1 prg" size="16384" crc="f86d8d8a" sha1="2904137a030ae2370a8cd3e068078a1d59a4f229" offset="00000" />
<rom size="16384" offset="0x4000" loadflag="reload" />
</dataarea>
<dataarea name="chr" size="8192">
- <rom name="2.chr" size="8192" crc="6bb45576" sha1="5974787496dfa27a4b7fe6023473fae930ea41dc" offset="00000" />
+ <rom name="hvc-mj-1 chr" size="8192" crc="6bb45576" sha1="5974787496dfa27a4b7fe6023473fae930ea41dc" offset="00000" />
</dataarea>
</part>
</software>
@@ -23991,7 +24409,7 @@ license:CC0
<feature name="mirroring" value="vertical" />
<dataarea name="prg" size="131072">
<rom name="nes-me-0 prg" size="131072" crc="817431ec" sha1="2783bef3cc207e9bf57a65eea5ab9b68e2214af0" offset="00000" />
- </dataarea> <!-- al label: rd009n0p, rd009-1 -->
+ </dataarea> <!-- alt label: rd009n0p, rd009-1 -->
<!-- 8k VRAM on cartridge -->
<dataarea name="vram" size="8192">
</dataarea>
@@ -24061,6 +24479,31 @@ license:CC0
</part>
</software>
+ <software name="msladerg" supported="partial">
+ <description>Metal Slader Glory (Jpn)</description>
+ <year>1991</year>
+ <publisher>HAL Kenkyuujo</publisher>
+ <info name="serial" value="HAL-4J"/>
+ <info name="release" value="19910830"/>
+ <info name="alt_title" value="メタルスレイダーグローリー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="exrom" />
+ <feature name="pcb" value="HVC-ELROM" />
+ <dataarea name="prg" size="524288">
+ <rom name="hal-4j-0 prg" size="524288" crc="cd9acf43" sha1="0277e9e44e4d960e9c321a5da4cd3bb909b37af4" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="524288">
+ <rom name="hal-4j-0 chr" size="524288" crc="f596df2a" sha1="fcedc5ee6bf290ff92e89557e44b1401b6e862a3" offset="00000" />
+ </dataarea>
+ <!-- 8k WRAM on cartridge -->
+ <dataarea name="wram" size="8192">
+ </dataarea>
+ <!-- 1k Internal RAM in the MMC5 chip (ExRAM) -->
+ <dataarea name="mapper_ram" size="1024">
+ </dataarea>
+ </part>
+ </software>
+
<software name="metalstr">
<description>Metal Storm (USA)</description>
<year>1991</year>
@@ -24921,6 +25364,26 @@ license:CC0
</part>
</software>
+ <software name="mitsumgt">
+ <description>Mitsume ga Tooru (Jpn)</description>
+ <year>1992</year>
+ <publisher>Tomy</publisher>
+ <info name="serial" value="TOM-3M"/>
+ <info name="release" value="19920717"/>
+ <info name="alt_title" value="三つ目がとおる"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="131072">
+ <rom name="tom-3m-0 prg" size="131072" crc="390e0320" sha1="7c443fbd5ca0f8977ab8a4522eaf623fe1b92e51" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="tom-3m-0 chr" size="131072" crc="6e6ec906" sha1="debdffc8dfbd0ed5d0959830af98992847b4e0d0" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="mizushim">
<description>Mizushima Shinji no Dai Koushien (Jpn)</description>
<year>1990</year>
@@ -25246,6 +25709,26 @@ license:CC0
</part>
</software>
+ <software name="monopolyj" cloneof="monopoly">
+ <description>Monopoly (Jpn)</description>
+ <year>1991</year>
+ <publisher>Tomy</publisher>
+ <info name="serial" value="TOM-6B"/>
+ <info name="release" value="19911101"/>
+ <info name="alt_title" value="モノポリー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SGROM" />
+ <feature name="mmc1_type" value="MMC1B3" />
+ <dataarea name="prg" size="262144">
+ <rom name="tom-6b-0 prg" size="262144" crc="86759c0f" sha1="e065a0a51bc01a85dc96492501086a13bf803a3a" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="monopoly">
<description>Monopoly (USA)</description>
<year>1991</year>
@@ -25872,6 +26355,26 @@ license:CC0
</part>
</software>
+ <software name="f1hero2">
+ <description>Nakajima Satoru - F-1 Hero 2 (Jpn)</description>
+ <year>1991</year>
+ <publisher>Varie</publisher>
+ <info name="serial" value="VAR-4E"/>
+ <info name="release" value="19910927"/>
+ <info name="alt_title" value="中島悟 F-1ヒーロー2"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="131072">
+ <rom name="vre-4e-0 prg" size="131072" crc="b2ab361e" sha1="da468f587374ccbfe1e5470dc9b945fe3a8d99ff" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="vre-4e-0 chr" size="131072" crc="89aad993" sha1="e3682e32a39f5c6abb7cc0442d5100d057655494" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="namcocls">
<description>Namco Classic (Jpn)</description>
<year>1988</year>
@@ -26190,6 +26693,7 @@ license:CC0
<description>The New Zealand Story (Euro)</description>
<year>1991</year>
<publisher>Ocean</publisher>
+ <info name="serial" value="NES-38-ESP"/>
<info name="serial" value="NES-38-FRA"/>
<info name="release" value="19911227"/>
<part name="cart" interface="nes_cart">
@@ -26328,6 +26832,26 @@ license:CC0
</part>
</software>
+ <software name="deadfox" cloneof="cnviper">
+ <description>Ningen Heiki - Dead Fox (Jpn)</description>
+ <year>1990</year>
+ <publisher>Capcom</publisher>
+ <info name="serial" value="CAP-VP"/>
+ <info name="release" value="19900223"/>
+ <info name="alt_title" value="人間兵器デッドフォックス"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3A" />
+ <dataarea name="prg" size="131072">
+ <rom name="cap-vp-0 prg" size="131072" crc="5eb21035" sha1="bd33a86b4ebdb8008220ab0399079bfbde3d8925" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="cap-vp-0 chr" size="131072" crc="11b42818" sha1="9c678f9648c58e51530d8475bf6909332267c5e7" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="ninjacop" cloneof="blackmnt">
<description>Ninja Cop Saizou (Jpn)</description>
<year>1989</year>
@@ -26772,7 +27296,7 @@ license:CC0
</part>
</software>
- <software name="nobubufu">
+ <software name="nobubufua" cloneof="nobubufu">
<description>Nobunaga no Yabou - Bushou Fuuunroku (Jpn)</description>
<year>1991</year>
<publisher>Koei</publisher>
@@ -27464,7 +27988,7 @@ license:CC0
</part>
</software>
- <software name="pacmanj1" cloneof="pacman">
+ <software name="pacmanj2" cloneof="pacman">
<description>Pac-Man (Jpn)</description>
<year>1984</year>
<publisher>Namcot</publisher>
@@ -27485,7 +28009,7 @@ license:CC0
</part>
</software>
- <software name="pacmanj" cloneof="pacman">
+ <software name="pacmanj1" cloneof="pacman">
<description>Pac-Man (Jpn, Rev. A)</description>
<year>1984</year>
<publisher>Namcot</publisher>
@@ -27506,6 +28030,27 @@ license:CC0
</part>
</software>
+ <software name="pacmanj" cloneof="pacman">
+ <description>Pac-Man (Jpn, Rev. B)</description>
+ <year>1984</year>
+ <publisher>Namcot</publisher>
+ <info name="serial" value="NAM-NPM-4500-02"/>
+ <info name="release" value="19841102"/>
+ <info name="alt_title" value="パックマン"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="NAMCOT-NROM-128" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="32768">
+ <rom name="2.prg" size="16384" crc="b6214fa9" sha1="1b66f8ac67c1e72ca4ec97494fb06aaeb05cd68d" offset="00000" />
+ <rom size="16384" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="8192">
+ <rom name="2.chr" size="8192" crc="49abeee6" sha1="6255630a4d5634f1f03cbfb6266bf8c5f307205e" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="pacmanu" cloneof="pacman">
<description>Pac-Man (USA, Namco)</description>
<year>1993</year>
@@ -27702,7 +28247,7 @@ license:CC0
</part>
</software>
- <software name="pachikn3">
+ <software name="pachikn3a" cloneof="pachikn3">
<description>Pachio-kun 3 (Jpn)</description>
<year>1990</year>
<publisher>Coconuts Japan</publisher>
@@ -28287,8 +28832,8 @@ license:CC0
</part>
</software>
- <software name="pinball1j" cloneof="pinball">
- <description>Pinball (Jpn, STROM pcb)</description>
+ <software name="pinballj" cloneof="pinball">
+ <description>Pinball (Jpn, STROM PCB)</description>
<year>1984</year>
<publisher>Nintendo</publisher>
<info name="serial" value="HVC-PN"/>
@@ -29660,6 +30205,25 @@ license:CC0
</part>
</software>
+ <software name="rcproam">
+ <description>R.C. Pro-Am (Euro, Rev. A)</description>
+ <year>1988</year>
+ <publisher>Nintendo</publisher>
+ <info name="serial" value="NES-PM-ESP"/>
+ <info name="release" value="19880415"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="NES-SEROM" />
+ <feature name="mmc1_type" value="MMC1B2" />
+ <dataarea name="prg" size="32768">
+ <rom name="pal-pm-1 prg" size="32768" crc="2dbddd11" sha1="b619ecf43277af93b5a6c0d62fe6d956cb5a7548" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="pal-pm-0 chr" size="32768" crc="aa938ec3" sha1="92e111e08c413cfe2a7173362bf6aba745cd96e8" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="rcproam2u" cloneof="rcproam2">
<description>R.C. Pro-Am II (USA)</description>
<year>1992</year>
@@ -29859,6 +30423,25 @@ license:CC0
</part>
</software>
+ <software name="racketat">
+ <description>Racket Attack (Euro)</description>
+ <year>1994</year>
+ <publisher>Jaleco</publisher>
+ <info name="serial" value="NES-RE-ESP"/>
+ <info name="release" value="19940324"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="NES-SLROM" />
+ <feature name="mmc1_type" value="MMC1B3" />
+ <dataarea name="prg" size="262144">
+ <rom name="pal-re-0 prg" size="262144" crc="e3f40f20" sha1="81f0f4b2dd106efb134fcb1325ff0afd227fe63b" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="nes-re-0 chr" size="131072" crc="3374191d" sha1="f5dc0ba5bad714281d453b7010983178fb87e36e" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="radraceru" cloneof="radracer">
<description>Rad Racer (USA)</description>
<year>1987</year>
@@ -30491,6 +31074,7 @@ license:CC0
<year>1990</year>
<publisher>Mindscape</publisher>
<info name="serial" value="NES-VE-NOE"/>
+ <info name="serial" value="NES-VE-ESP"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="sxrom" />
<feature name="pcb" value="NES-SLROM" />
@@ -30656,6 +31240,26 @@ license:CC0
</part>
</software>
+ <software name="roboccow">
+ <description>Robocco Wars (Jpn)</description>
+ <year>1991</year>
+ <publisher>IGS</publisher>
+ <info name="serial" value="IGS-X9"/>
+ <info name="release" value="19910802"/>
+ <info name="alt_title" value="ロボッ子ウォーズ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="262144">
+ <rom name="igs-x9-0 prg" size="262144" crc="4ff64765" sha1="a340f5e92905466434149e82457b4b5e4447fd84" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="igs-x9-0 chr" size="131072" crc="8fde79a9" sha1="443f15f581c12d4c3204e1ab10637bb1f78f197b" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="robocopu" cloneof="robocop">
<description>RoboCop (USA)</description>
<year>1989</year>
@@ -30983,7 +31587,7 @@ license:CC0
</part>
</software>
- <software name="rockman4" cloneof="megaman4">
+ <software name="rockman4a" cloneof="megaman4">
<description>Rockman 4 - Aratanaru Yabou!! (Jpn)</description>
<year>1991</year>
<publisher>Capcom</publisher>
@@ -31780,8 +32384,8 @@ license:CC0
</part>
</software>
- <software name="sdsango">
- <description>SD Sangoku Bushou Retsuden (Jpn)</description>
+ <software name="sdsengo">
+ <description>SD Sengoku Bushou Retsuden (Jpn)</description>
<year>1990</year>
<publisher>Banpresto</publisher>
<info name="serial" value="BAP-X6"/>
@@ -36562,6 +37166,7 @@ license:CC0
<year>1990</year>
<publisher>Nintendo</publisher>
<info name="serial" value="NES-VJ-USA"/>
+ <info name="serial" value="NES-VJ-CAN"/>
<info name="release" value="199002xx"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="txrom" />
@@ -37835,7 +38440,7 @@ license:CC0
</part>
</software>
- <software name="tecmonba1" cloneof="tecmonba">
+ <software name="tecmonba2" cloneof="tecmonba">
<description>Tecmo NBA Basketball (USA)</description>
<year>1992</year>
<publisher>Tecmo</publisher>
@@ -37858,7 +38463,7 @@ license:CC0
</part>
</software>
- <software name="tecmonba">
+ <software name="tecmonba1" cloneof="tecmonba">
<description>Tecmo NBA Basketball (USA, Rev. A)</description>
<year>1992</year>
<publisher>Tecmo</publisher>
@@ -37929,7 +38534,7 @@ license:CC0
</software>
<software name="tecmosbwp" cloneof="tecmosbw">
- <description>Tecmo Super Bowl (USA, Prototype)</description>
+ <description>Tecmo Super Bowl (USA, prototype)</description>
<year>1991</year>
<publisher>Tecmo</publisher>
<part name="cart" interface="nes_cart">
@@ -37949,12 +38554,12 @@ license:CC0
<feature name="u10" value="74HC139AP" />
<feature name="batt?" value="BATTERY" />
<dataarea name="prg" size="262144">
- <!-- The PRG split ROMs have to be confirmed -->
- <rom name="8-27 0 5-20.u1" size="131072" crc="06074289" sha1="7c5b4a7f51eb79458cbe7cb7e77aae4df6eac4f3" offset="0x00000" status="baddump" /> <!-- Actual label: 8/27 0 5:20 -->
- <rom name="8-27 1 5-20.u2" size="131072" crc="937992d7" sha1="e335b4c2dc3fc21effaa8a12d47677090c8b30c4" offset="0x20000" status="baddump" /> <!-- Actual label: 8/27 1 5:20 -->
+ <!-- Combined CRC matches bootgod yet u1 does not. Error on their end or here? -->
+ <rom name="8-27 0 5-20.u1" size="131072" crc="06074289" sha1="7c5b4a7f51eb79458cbe7cb7e77aae4df6eac4f3" offset="0x00000" status="baddump" /> <!-- Actual label: 8/27 0 5:20 -->
+ <rom name="8-27 1 5-20.u2" size="131072" crc="937992d7" sha1="e335b4c2dc3fc21effaa8a12d47677090c8b30c4" offset="0x20000" /> <!-- Actual label: 8/27 1 5:20 -->
</dataarea>
<dataarea name="chr" size="131072">
- <rom name="t.s.b. chr 8-27.u5" size="131072" crc="e5f74c77" sha1="3657693f08c66d2db84bcf62fdd4c439603778f5" offset="00000" /> <!-- Actual label: T.S.B. CHR 8/27 -->
+ <rom name="t.s.b. chr 8-17.u5" size="131072" crc="e5f74c77" sha1="3657693f08c66d2db84bcf62fdd4c439603778f5" offset="00000" /> <!-- Actual label: T.S.B. CHR 8/17 -->
</dataarea>
<!-- 8k WRAM on cartridge, battery backed up -->
<dataarea name="bwram" size="8192">
@@ -38063,7 +38668,7 @@ license:CC0
<description>Teenage Mutant Hero Turtles II - The Arcade Game (Euro)</description>
<year>1991</year>
<publisher>Konami</publisher>
- <info name="serial" value="NES-89 (SCN/ESP)"/>
+ <info name="serial" value="NES-89 (FRA/SCN/ESP)"/>
<info name="release" value="19911114"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="txrom" />
@@ -38872,7 +39477,7 @@ license:CC0
</part>
</software>
- <software name="tigerhel">
+ <software name="tigerhela" cloneof="tigerhel">
<description>Tiger-Heli (Euro)</description>
<year>1990</year>
<publisher>Acclaim Entertainment</publisher>
@@ -39285,6 +39890,26 @@ license:CC0
</part>
</software>
+ <software name="solbrain" cloneof="shatterh">
+ <description>Tokkyuu Shirei - Solbrain (Jpn)</description>
+ <year>1991</year>
+ <publisher>Angel</publisher>
+ <info name="serial" value="ANG-OM"/>
+ <info name="release" value="19911026"/>
+ <info name="alt_title" value="特救指令 ソルブレイン"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="131072">
+ <rom name="ang-om-0 prg" size="131072" crc="0a7767eb" sha1="2ca3ea7da05c3fa6de8bb15fb8183e351013be70" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="ang-om-0 chr" size="131072" crc="14b2070c" sha1="d7fe77f771344d64ff45a623b2d1db3e6f6bc4c1" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="tokoro">
<description>Tokoro-san no Mamoru mo Semeru mo (Jpn)</description>
<year>1987</year>
@@ -39497,6 +40122,26 @@ license:CC0
</part>
</software>
+ <software name="topgun2j" cloneof="topgun2">
+ <description>Top Gun - Dual Fighters (Jpn)</description>
+ <year>1989</year>
+ <publisher>Konami</publisher>
+ <info name="serial" value="KDS-OG"/>
+ <info name="release" value="19891205"/>
+ <info name="alt_title" value="トップガン デュアルファイターズ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3A" />
+ <dataarea name="prg" size="131072">
+ <rom name="kds-og-0 prg" size="131072" crc="f6419d79" sha1="56222ba9d6bcfeafcb03bb8f3a8090846565d6c2" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="kds-og-0 chr" size="131072" crc="070ad757" sha1="e7908accea075b2464195155d9480ed9f128f3af" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="topgun2u" cloneof="topgun2">
<description>Top Gun - The Second Mission (USA)</description>
<year>1990</year>
@@ -39933,7 +40578,9 @@ license:CC0
<description>Trog! (Euro)</description>
<year>1991</year>
<publisher>Acclaim Entertainment</publisher>
- <info name="serial" value="NES-4A-(NOE/ESP)"/>
+ <info name="serial" value="NES-4A-AUS"/>
+ <info name="serial" value="NES-4A-NOE"/>
+ <info name="serial" value="NES-4A-ESP"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="uxrom" />
<feature name="pcb" value="NES-UNROM" />
@@ -40114,6 +40761,26 @@ license:CC0
</part>
</software>
+ <software name="revjoeb" cloneof="twineagl">
+ <description>Twin Eagle - Revenge Joe's Brother (Jpn)</description>
+ <year>1991</year>
+ <publisher>Visco</publisher>
+ <info name="serial" value="VIS-2E"/>
+ <info name="release" value="19910412"/>
+ <info name="alt_title" value="ツインイーグル"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="HVC-UNROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="131072">
+ <rom name="vis-2e-0 prg" size="131072" crc="3cf67aec" sha1="79322c45769008e40d01d83b15b9d872e160b40f" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="twineagl">
<description>Twin Eagle - Revenge Joe's Brother (USA)</description>
<year>1989</year>
@@ -40757,6 +41424,23 @@ license:CC0
</part>
</software>
+ <software name="uwc">
+ <description>UWC (USA, prototype)</description>
+ <year>1989</year>
+ <publisher>Seta</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="NES-UNEPROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="131072">
+ <rom name="uwc prg" size="131072" crc="55568f0d" sha1="9c993afcd1950d4574784a1dffa0d6edd3e4e773" offset="00000" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="valis">
<description>Valis - The Fantastic Soldier (Jpn)</description>
<year>1987</year>
@@ -41431,7 +42115,7 @@ license:CC0
<!-- this was found on a proto cart, but the program is the same as the final -->
<software name="wariowdu1" cloneof="wariowd">
- <description>Wario's Woods (USA, TKEPROM pcb)</description>
+ <description>Wario's Woods (USA, TKEPROM PCB)</description>
<year>1994</year>
<publisher>Nintendo</publisher>
<part name="cart" interface="nes_cart">
@@ -41698,7 +42382,7 @@ license:CC0
<!-- this was found on a proto cart, but the program is the same as the final -->
<software name="carmntim1" cloneof="carmntim">
- <description>Where in Time is Carmen Sandiego? (USA, TKEPROM pcb)</description>
+ <description>Where in Time is Carmen Sandiego? (USA, TKEPROM PCB)</description>
<year>1991</year>
<publisher>Konami</publisher>
<part name="cart" interface="nes_cart">
@@ -42423,6 +43107,26 @@ license:CC0
</part>
</software>
+ <software name="worldten" cloneof="4ptennis">
+ <description>World Super Tennis (Jpn)</description>
+ <year>1989</year>
+ <publisher>Asmik</publisher>
+ <info name="serial" value="ASM-W1"/>
+ <info name="release" value="19891013"/>
+ <info name="alt_title" value="ワールドスーパーテニス"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SLROM" />
+ <feature name="mmc1_type" value="MMC1B2" />
+ <dataarea name="prg" size="131072">
+ <rom name="asm-w1-0 prg" size="131072" crc="acd3e768" sha1="7470fabcf8b9c8fcc0253fbaff4ba6cf23401785" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="asm-w1-0 chr" size="131072" crc="0eb35658" sha1="3ee2211ce9f6e845503d5d3c2969cbba09fc375b" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="blackmntua" cloneof="blackmnt">
<description>Wrath of the Black Manta (USA)</description>
<year>1990</year>
@@ -42982,6 +43686,26 @@ license:CC0
</part>
</software>
+ <software name="yumepeng">
+ <description>Yume Penguin Monogatari (Jpn)</description>
+ <year>1991</year>
+ <publisher>Konami</publisher>
+ <info name="serial" value="KDS-U8"/>
+ <info name="release" value="19910125"/>
+ <info name="alt_title" value="夢ペンギン物語"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TLROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="131072">
+ <rom name="0.prg" size="131072" crc="14a77e98" sha1="45bcd98eadb7dd3a772e2141f8b611c1db5a1eb2" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="0.chr" size="131072" crc="22bae0b9" sha1="db68e53a87f495e1193b481577b57d923e24f3e9" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="zanac">
<description>Zanac (USA)</description>
<year>1987</year>
@@ -43154,6 +43878,26 @@ license:CC0
</part>
</software>
+ <software name="zenbei" cloneof="allprobb">
+ <description>Zenbei!! Pro Basket (Jpn)</description>
+ <year>1989</year>
+ <publisher>Vic Tokai</publisher>
+ <info name="serial" value="VIC-A2"/>
+ <info name="release" value="19890721"/>
+ <info name="alt_title" value="全米‼︎プロバスケット"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SLROM" />
+ <feature name="mmc1_type" value="MMC1A" />
+ <dataarea name="prg" size="131072">
+ <rom name="vic-a2-0 prg" size="131072" crc="e5d49424" sha1="e1da11b6d0cc2abaf4aa62db0409a4eb3b4176d6" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="vic-a2-0 chr" size="131072" crc="d1d2ecda" sha1="6ca29faf2616f095022250c49750164a44a7bafd" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="zippyrac">
<description>Zippy Race (Jpn)</description>
<year>1985</year>
@@ -43811,6 +44555,23 @@ Also notice that VRAM, WRAM & mirror are probably incorrect for some of these se
</part>
</software>
+ <software name="advisln3p" cloneof="advisln3">
+ <description>Adventure Island 3 (Euro, prototype)</description>
+ <year>1992</year>
+ <publisher>Hudson Soft</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="NES-TLROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="131072">
+ <rom name="ai3 prg" size="131072" crc="e20190de" sha1="1ea7d4ffa438d4cc186955d2cd51a01b0cdab948" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="ai3 chr" size="131072" crc="b107d9b0" sha1="0819aeaaf339dbf0b3d3238f5e896fd5ea05e3a4" offset="00000" status="baddump" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="magickdmup" cloneof="magickdm">
<description>Disney's Adventures In The Magic Kingdom (USA, Prototype)</description>
<year>1992</year>
@@ -44229,34 +44990,6 @@ Also notice that VRAM, WRAM & mirror are probably incorrect for some of these se
</part>
</software>
-<!-- This is was on a Famicom PCB, but it already contains the US code... -->
- <software name="batmanrjup" cloneof="batmanrj">
- <description>Batman - Return of the Joker (USA, Prototype)</description>
- <year>1991</year>
- <publisher>Sunsoft</publisher>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sunsoft5a" />
- <feature name="pcb" value="SAP-E301" />
- <feature name="ic1" value="SUNSOFT 5A" />
- <feature name="ic2" value="74F04PC" />
- <feature name="ic3" value="PRG" />
- <feature name="ic4" value="CHR0" />
- <feature name="ic5" value="HM6264ALP-12" />
- <feature name="ic6" value="CHR1" />
- <feature name="cart_back_label" value="REV-A" />
- <dataarea name="prg" size="131072">
- <rom name="batman roj final ver 0.0 prg" size="131072" crc="42fd0ab5" sha1="8208d96c73a3198828a567855fa76f35331497f3" offset="00000" />
- </dataarea>
- <dataarea name="chr" size="262144">
- <rom name="batman roj final ver 0.0 c0" size="131072" crc="36862705" sha1="957a6b1475c1d81d26e6c2aa3b780d5e36c15334" offset="00000" status="baddump" />
- <rom name="batman roj final ver 0.0 c1" size="131072" crc="53c6f23a" sha1="c5c68b8a2c94c4bab7a9d4396e204f6ce3684313" offset="0x020000" status="baddump" />
- </dataarea>
- <!-- 8k WRAM on cartridge -->
- <dataarea name="wram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="batmanrnp" cloneof="batmanrn">
<description>Batman Returns (Euro, Prototype)</description>
<year>1993</year>
@@ -44489,25 +45222,6 @@ Also notice that VRAM, WRAM & mirror are probably incorrect for some of these se
</part>
</software>
- <software name="buckyj" cloneof="bucky">
- <description>Bucky O'Hare (Jpn)</description>
- <year>1992</year>
- <publisher>Konami</publisher>
- <info name="serial" value="KDS-1V"/>
- <info name="release" value="19920131"/>
- <info name="alt_title" value="バッキーオヘア"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="prg" size="131072">
- <rom name="bucky o'hare (japan).prg" size="131072" crc="eafc4944" sha1="42f7428fde8e5bed2434eb9ed8b928ef10dc991f" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="chr" size="131072">
- <rom name="nes-56-0 chr" size="131072" crc="0fdaf4e3" sha1="8deb8c2528047d8aff6320a8403993f2f7302272" offset="00000" />
- </dataarea>
- </part>
- </software>
-
<software name="bugsbbup" cloneof="bugsbb" supported="no">
<description>Bugs Bunny Birthday Bash (USA, Prototype, Bad Dump)</description>
<year>19??</year>
@@ -44599,26 +45313,6 @@ Also notice that VRAM, WRAM & mirror are probably incorrect for some of these se
</part>
</software>
- <software name="cadillac">
- <description>Cadillac (Jpn)</description>
- <year>1990</year>
- <publisher>Hector</publisher>
- <info name="serial" value="HCT-C5/007"/>
- <info name="release" value="19900202"/>
- <info name="alt_title" value="キャデラック"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="cnrom" />
- <feature name="pcb" value="NES-CNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="chr" size="32768">
- <rom name="cadillac (japan).chr" size="32768" crc="d971e09f" sha1="fe9abfa2641a5b471827e9e83993f4bdfc6fd3fb" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="32768">
- <rom name="cadillac (japan).prg" size="32768" crc="03dcfddb" sha1="3ccb5565cbff22bc2e71e3d36c0ca3102a8de05a" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="caesarsp" cloneof="caesars">
<description>Caesars Palace (USA, Prototype)</description>
<year>1992</year>
@@ -45351,44 +46045,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="ddragon2j" cloneof="ddragon2">
- <description>Double Dragon II - The Revenge (Jpn)</description>
- <year>1989</year>
- <publisher>Technos Japan</publisher>
- <info name="serial" value="TJC-W2"/>
- <info name="release" value="19891222"/>
- <info name="alt_title" value="双載龍II"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="double dragon ii - the revenge (japan).chr" size="131072" crc="8f84fe6d" sha1="47d4f9fcd1b05b592827875570d87775955b3911" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="double dragon ii - the revenge (japan).prg" size="131072" crc="fc6201e7" sha1="486a1617fa438b0b8c37bb5aaf19b9e46cb7623d" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
- <software name="downtown">
- <description>Downtown - Nekketsu Monogatari (Jpn)</description>
- <year>1989</year>
- <publisher>Technos Japan</publisher>
- <info name="serial" value="TJC-DN"/>
- <info name="release" value="19890425"/>
- <info name="alt_title" value="ダウンタウン熱血物語"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="downtown - nekketsu monogatari (japan).chr" size="131072" crc="1c851e71" sha1="1f37a2a8374efe4b41db99cfc38694b5c657e09f" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="downtown - nekketsu monogatari (japan).prg" size="131072" crc="728c3d98" sha1="dd6069c0827d60682bc97723750946ce89ab4630" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="dracnigt">
<description>Drac's Night Out (USA, Prototype)</description>
<year>1991</year>
@@ -45558,26 +46214,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="ducktal2j" cloneof="ducktal2">
- <description>Disney's DuckTales 2 (Jpn)</description>
- <year>1993</year>
- <publisher>Capcom</publisher>
- <info name="serial" value="CAP-DW"/>
- <info name="release" value="19930423"/>
- <info name="alt_title" value="ダックテイルズ2"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="uxrom" />
- <feature name="pcb" value="NES-UNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="prg" size="131072">
- <rom name="duck tales 2 (japan).prg" size="131072" crc="eddcc468" sha1="9e94ea7d2fa790a61c064a4d31c89603aa1c9e49" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="dynabowla" cloneof="dynabowl">
<description>Dynamite Bowl (Jpn)</description>
<year>1987</year>
@@ -45707,7 +46343,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</software>
<software name="f1senstnj" cloneof="f1senstn">
- <description>F-1 Sensation (Jpn, Bad Dump)</description>
+ <description>F-1 Sensation (Jpn)</description>
<year>1993</year>
<publisher>Konami</publisher>
<info name="serial" value="KDS-FE"/>
@@ -45717,10 +46353,10 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="slot" value="txrom" />
<feature name="pcb" value="NES-TLROM" />
<dataarea name="chr" size="131072">
- <rom name="f-1 sensation (japan) [b].chr" size="131072" crc="a619cbf2" sha1="94f27858c002745b9666d36485526a6404b9db84" offset="00000" status="baddump" />
+ <rom name="f-1 sensation (japan).chr" size="131072" crc="67853884" sha1="4a170b3dcf365badd2bea6984d0be84651459348" offset="00000" status="baddump" />
</dataarea>
<dataarea name="prg" size="131072">
- <rom name="f-1 sensation (japan) [b].prg" size="131072" crc="cb106f49" sha1="f4c359b97b0df2aa2942b141ee9d0a9dd7d28e3d" offset="00000" status="baddump" />
+ <rom name="f-1 sensation (japan).prg" size="131072" crc="cb106f49" sha1="f4c359b97b0df2aa2942b141ee9d0a9dd7d28e3d" offset="00000" status="baddump" />
</dataarea>
<!-- 8k WRAM on cartridge -->
<dataarea name="wram" size="8192">
@@ -45810,44 +46446,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="topmanag">
- <description>Famicom Top Management (Jpn)</description>
- <year>1990</year>
- <publisher>Koei</publisher>
- <info name="serial" value="KOE-XQ"/>
- <info name="release" value="19901212"/>
- <info name="alt_title" value="ファミコントップマネジメント"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="prg" size="262144">
- <rom name="famicom top management (japan).prg" size="262144" crc="58507bc9" sha1="947e5f3d386d2f4631facec26ce9a25fdffc4889" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
- <software name="famiblck" cloneof="thndlght">
- <description>Family Block (Jpn)</description>
- <year>1991</year>
- <publisher>Athena</publisher>
- <info name="serial" value="ATH-4T"/>
- <info name="release" value="19910412"/>
- <info name="alt_title" value="ファミリーブロック"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="gxrom" />
- <feature name="pcb" value="BANDAI-GNROM" />
- <dataarea name="chr" size="32768">
- <rom name="family block (japan).chr" size="32768" crc="22dbb006" sha1="60d43350cb370a79764a693723ed949d1d79d66c" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="family block (japan).prg" size="131072" crc="a3a6184c" sha1="c31f1ec8220be48db60289ea90e8e7b475362b38" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="famischl">
<description>Family School (Jpn)</description>
<year>19??</year>
@@ -45923,21 +46521,24 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="fcgenjin" cloneof="bonk">
- <description>FC Genjin - Freakthoropus Computerus (Jpn)</description>
- <year>1993</year>
- <publisher>Hudson Soft</publisher>
- <info name="serial" value="HFC-F3"/>
- <info name="release" value="19930730"/>
- <info name="alt_title" value="FC原人"/>
+ <software name="ffantp" cloneof="ffant">
+ <description>Final Fantasy (USA, prototype)</description>
+ <year>1987</year>
+ <publisher>Nintendo</publisher>
<part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="fc genjin - freakthoropus computerus (japan).chr" size="131072" crc="8ef87ba8" sha1="ca67d0b5e169a0938c40496a7ccbb34ba8acc184" offset="00000" status="baddump" />
- </dataarea>
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="NES-SNWEPROM" />
+ <feature name="mmc1_type" value="MMC1A" />
<dataarea name="prg" size="262144">
- <rom name="fc genjin - freakthoropus computerus (japan).prg" size="262144" crc="3272bc3c" sha1="6c6989f8db72556d309aa92b49479616d1eb4478" offset="00000" status="baddump" />
+ <rom name="0.ic1" size="131072" crc="efd7cd61" sha1="2481c2533b0e59cab61aff1ef57ebb87ac3e2bb9" offset="0x00000" status="baddump" />
+ <rom name="0.ic2" size="131072" crc="3206a013" sha1="cafc2b61a5184dd930dbac16ec87b882070d24d6" offset="0x20000" status="baddump" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ <!-- 8k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="8192">
+ <rom value="0x00" size="8192" offset="0" loadflag="fill" />
</dataarea>
</part>
</software>
@@ -46168,25 +46769,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="gekikame" cloneof="tmnt">
- <description>Gekikame Ninja Den (Jpn)</description>
- <year>1989</year>
- <publisher>Konami</publisher>
- <info name="serial" value="KDS-GN"/>
- <info name="release" value="19890512"/>
- <info name="alt_title" value="激亀忍者伝"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="chr" size="131072">
- <rom name="gekikame ninja den (japan).chr" size="131072" crc="6901dceb" sha1="3ed11a9f406d399b8eb1ca815a56cc68f2cd35df" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="gekikame ninja den (japan).prg" size="131072" crc="ff1412ea" sha1="079024b1f0f0c1fecb3e96ce09014a50354f19ae" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="ghostbstjp" cloneof="ghostbst">
<description>Ghostbusters (Jpn, Prototype)</description>
<year>1986</year>
@@ -46405,46 +46987,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="helloko">
- <description>Hello Kitty no Ohanabatake (Jpn)</description>
- <year>1992</year>
- <publisher>Character Soft</publisher>
- <info name="serial" value="CTS-HL"/>
- <info name="release" value="19921211"/>
- <info name="alt_title" value="ハローキティのおはなばたけ"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="cnrom" />
- <feature name="pcb" value="NES-CNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="chr" size="32768">
- <rom name="hello kitty no ohanabatake (japan).chr" size="32768" crc="ee82486b" sha1="f3dcff321b534e9cab5edb6e6f223be84bb7a1f4" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="32768">
- <rom name="hello kitty no ohanabatake (japan).prg" size="32768" crc="62a94f97" sha1="6c410499f64f5d69cb1b3bc17251a2551cc7e567" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
- <software name="hellokw">
- <description>Hello Kitty World (Jpn)</description>
- <year>1992</year>
- <publisher>Character Soft</publisher>
- <info name="serial" value="CTS-HW"/>
- <info name="release" value="19920327"/>
- <info name="alt_title" value="ハローキティーワールド"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="uxrom" />
- <feature name="pcb" value="NES-UNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="prg" size="131072">
- <rom name="hello kitty world (japan).prg" size="131072" crc="67d5c3f9" sha1="42e0afdd1e603c4f301aeb030b799f69eebe2e15" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="heroqstu" cloneof="heroqst">
<description>Hero Quest (USA, Prototype)</description>
<year>1991</year>
@@ -46587,28 +47129,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="ideyumj1" cloneof="ideyumj">
- <description>Ide Yousuke Meijin no Jissen Mahjong (Jpn)</description>
- <year>1987</year>
- <publisher>Capcom</publisher>
- <info name="serial" value="CAP-IM"/>
- <info name="release" value="19870924"/>
- <info name="alt_title" value="井出洋介名人の実戦麻雀"/>
- <info name="usage" value="This only works on a Famicom with Mahjong Controller attached"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="uxrom" />
- <feature name="pcb" value="HVC-UNROM" />
- <feature name="mirroring" value="vertical" />
- <feature name="peripheral" value="mjcontroller" />
- <dataarea name="prg" size="131072">
- <rom name="ide yousuke meijin no jissen mahjong (japan).prg" size="131072" crc="8e066ccb" sha1="e5409c317403e2c56deaced9551971ad3f9c9995" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="igomeikn">
<description>Igo Meikan (Jpn)</description>
<year>1990</year>
@@ -46943,25 +47463,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="kage" cloneof="blueshad">
- <description>Kage (Jpn)</description>
- <year>1990</year>
- <publisher>Natsume</publisher>
- <info name="serial" value="NAT-JL"/>
- <info name="release" value="19900810"/>
- <info name="alt_title" value="闇の仕事人KAGE"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="kage (japan).chr" size="131072" crc="98944590" sha1="2c6e925d2de97a062f6c69f35dd833246c69cbe6" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="kage (japan).prg" size="131072" crc="21490e20" sha1="e75390fb285222054c13b8bdcd0e4e44cf6171e3" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="kamennh" cloneof="yonoid">
<description>Kamen no Ninja - Hanamaru (Jpn)</description>
<year>1990</year>
@@ -47254,26 +47755,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="layla">
- <description>Layla (Jpn)</description>
- <year>1986</year>
- <publisher>dB-SOFT</publisher>
- <info name="serial" value="DBF-LY"/>
- <info name="release" value="19861220"/>
- <info name="alt_title" value="レイラ"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="uxrom" />
- <feature name="pcb" value="NES-UNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="prg" size="131072">
- <rom name="layla (japan).prg" size="131072" crc="ea31ccd3" sha1="38cbb1a505fbcb02a1220471b7831f68c1261f1b" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="legrobin">
<description>The Legend of Robin Hood (USA, Prototype)</description>
<year>19??</year>
@@ -47434,6 +47915,27 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <software name="mahjongb" cloneof="mahjong">
+ <description>Mahjong (Jpn)</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="serial" value="HVC-MJ"/>
+ <info name="release" value="19830827"/>
+ <info name="alt_title" value="麻雀"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="HVC-RROM" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="32768">
+ <rom name="mahjong (japan).prg" size="16384" crc="32921d8c" sha1="897e8ba18769ce53852f33d9ad3fd349ba26c184" offset="00000" status="baddump" />
+ <rom size="16384" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="8192">
+ <rom name="mahjong (japan).chr" size="8192" crc="e1e96e97" sha1="1dd83c4f5971bde5d2ee33d1232312b1213184b2" offset="00000" status="baddump" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="majavent">
<description>Majaventure - Mahjong Senki (Jpn)</description>
<year>1990</year>
@@ -47709,31 +48211,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="msladerg" supported="partial">
- <description>Metal Slader Glory (Jpn)</description>
- <year>1991</year>
- <publisher>HAL Kenkyuujo</publisher>
- <info name="serial" value="HAL-4J"/>
- <info name="release" value="19910830"/>
- <info name="alt_title" value="メタルスレイダーグローリー"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="exrom" />
- <feature name="pcb" value="NES-EKROM" />
- <dataarea name="chr" size="524288">
- <rom name="metal slader glory (japan).chr" size="524288" crc="f596df2a" sha1="fcedc5ee6bf290ff92e89557e44b1401b6e862a3" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="524288">
- <rom name="metal slader glory (japan).prg" size="524288" crc="cd9acf43" sha1="0277e9e44e4d960e9c321a5da4cd3bb909b37af4" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k WRAM on cartridge -->
- <dataarea name="wram" size="8192">
- </dataarea>
- <!-- 1k Internal RAM in the MMC5 chip (ExRAM) -->
- <dataarea name="mapper_ram" size="1024">
- </dataarea>
- </part>
- </software>
-
<software name="pachikunp" cloneof="pachikun">
<description>Mezase Pachi Pro - Pachio-kun (Jpn, Prototype)</description>
<year>1987</year>
@@ -47844,25 +48321,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="mitsumgt">
- <description>Mitsume Ga Tooru (Jpn)</description>
- <year>1992</year>
- <publisher>Tomy</publisher>
- <info name="serial" value="TOM-3M"/>
- <info name="release" value="19920717"/>
- <info name="alt_title" value="三つ目がとおる"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="mitsume ga tooru (japan).chr" size="131072" crc="6e6ec906" sha1="debdffc8dfbd0ed5d0959830af98992847b4e0d0" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="mitsume ga tooru (japan).prg" size="131072" crc="390e0320" sha1="7c443fbd5ca0f8977ab8a4522eaf623fe1b92e51" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="moaikun">
<description>Moai-kun (Jpn)</description>
<year>1990</year>
@@ -47985,25 +48443,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="monopolyj" cloneof="monopoly">
- <description>Monopoly (Jpn)</description>
- <year>1991</year>
- <publisher>Tomy</publisher>
- <info name="serial" value="TOM-6B"/>
- <info name="release" value="19911101"/>
- <info name="alt_title" value="モノポリー"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="prg" size="262144">
- <rom name="monopoly (japan).prg" size="262144" crc="86759c0f" sha1="e065a0a51bc01a85dc96492501086a13bf803a3a" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="monstpokup" cloneof="monstpok">
<description>Monster In My Pocket (USA, Prototype)</description>
<year>1992</year>
@@ -48096,25 +48535,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="f1hero2">
- <description>Nakajima Satoru - F-1 Hero 2 (Jpn)</description>
- <year>1991</year>
- <publisher>Varie</publisher>
- <info name="serial" value="VAR-4E"/>
- <info name="release" value="19910927"/>
- <info name="alt_title" value="中島悟 F-1ヒーロー2"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="nakajima satoru - f-1 hero 2 (japan).chr" size="131072" crc="89aad993" sha1="e3682e32a39f5c6abb7cc0442d5100d057655494" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="nakajima satoru - f-1 hero 2 (japan).prg" size="131072" crc="b2ab361e" sha1="da468f587374ccbfe1e5470dc9b945fe3a8d99ff" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="nakayois">
<description>Nakayoshi to Issho (Jpn)</description>
<year>1993</year>
@@ -48208,25 +48628,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="deadfox" cloneof="cnviper">
- <description>Ningen Heiki - Dead Fox (Jpn)</description>
- <year>1990</year>
- <publisher>Capcom</publisher>
- <info name="serial" value="CAP-VP"/>
- <info name="release" value="19900223"/>
- <info name="alt_title" value="人間兵器デッドフォックス"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="ningen heiki - dead fox (japan).chr" size="131072" crc="11b42818" sha1="9c678f9648c58e51530d8475bf6909332267c5e7" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="ningen heiki - dead fox (japan).prg" size="131072" crc="5eb21035" sha1="bd33a86b4ebdb8008220ab0399079bfbde3d8925" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="ninjacrsj" cloneof="ninjacrs">
<description>Ninja Crusaders - Ryuuga (Jpn)</description>
<year>1990</year>
@@ -48330,6 +48731,32 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <software name="nobubufu">
+ <description>Nobunaga no Yabou - Bushou Fuuunroku (Jpn, Rev. A)</description>
+ <year>1991</year>
+ <publisher>Koei</publisher>
+ <info name="serial" value="KOE-IZ"/>
+ <info name="release" value="19911221"/>
+ <info name="alt_title" value="信長の野望 武将風雲録"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="exrom" />
+ <feature name="pcb" value="HVC-EWROM" />
+ <dataarea name="prg" size="524288">
+ <rom name="koe-iz-1 prg" size="524288" crc="02123025" sha1="dc830651fa796d824e91cc4f7f0da1cca05ff2b0" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="262144">
+ <rom name="koe-iz-0 chr" size="262144" crc="5bca457a" sha1="9577bd125828bb76aa70eb91b6d2cb0ca06ade7f" offset="00000" status="baddump" />
+ </dataarea>
+ <!-- 32k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="32768">
+ <rom value="0x00" size="32768" offset="0" loadflag="fill" />
+ </dataarea>
+ <!-- 1k Internal RAM in the MMC5 chip (ExRAM) -->
+ <dataarea name="mapper_ram" size="1024">
+ </dataarea>
+ </part>
+ </software>
+
<software name="nobuseng" cloneof="nobuamb2">
<description>Nobunaga no Yabou - Sengoku Gunyuuden (Jpn, rev. A)</description>
<year>1990</year>
@@ -48482,6 +48909,30 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <software name="pachikn3">
+ <description>Pachio-kun 3 (Jpn, Rev. A)</description>
+ <year>1990</year>
+ <publisher>Coconuts Japan</publisher>
+ <info name="serial" value="CDS-P3"/>
+ <info name="release" value="19901026"/>
+ <info name="alt_title" value="パチ夫くん3 帰ってきたパチ夫くん"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TKROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="262144">
+ <rom name="pachio-kun 3 (japan) (rev a).prg" size="262144" crc="0dc38898" sha1="f0506561aed8b9a0561cd69f2fa7e095996e7ab2" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="pachio-kun 3 (japan) (rev a).chr" size="131072" crc="4d63ddae" sha1="9f5182985046e172ebbe3d12d8979fe1398c95fb" offset="00000" status="baddump" />
+ </dataarea>
+ <!-- 8k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="8192">
+ <rom value="0x00" size="8192" offset="0" loadflag="fill" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="paralwld">
<description>Parallel World (Jpn)</description>
<year>1990</year>
@@ -48694,22 +49145,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="rcproam">
- <description>R.C. Pro-Am (Euro, Rev. A)</description>
- <year>1988</year>
- <publisher>Nintendo</publisher>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="chr" size="32768">
- <rom name="r.c. pro-am (europe) (rev a).chr" size="32768" crc="aa938ec3" sha1="92e111e08c413cfe2a7173362bf6aba745cd96e8" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="32768">
- <rom name="r.c. pro-am (europe) (rev a).prg" size="32768" crc="2dbddd11" sha1="b619ecf43277af93b5a6c0d62fe6d956cb5a7548" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<!-- from GoodNES, has CHR -->
<software name="racermt2a1" cloneof="racermt2" supported="no">
<description>Racermate Challenge 2 (USA, v6.02.002, w/CHR)</description>
@@ -48727,22 +49162,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="racketat">
- <description>Racket Attack (Euro)</description>
- <year>1988</year>
- <publisher>Jaleco</publisher>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="prg" size="262144">
- <rom name="racket attack (europe).prg" size="262144" crc="e3f40f20" sha1="81f0f4b2dd106efb134fcb1325ff0afd227fe63b" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="chr" size="131072">
- <rom name="nes-re-0 chr" size="131072" crc="3374191d" sha1="f5dc0ba5bad714281d453b7010983178fb87e36e" offset="00000" />
- </dataarea>
- </part>
- </software>
-
<software name="racktriv">
<description>Rackets &amp; Rivals (Euro)</description>
<year>1993</year>
@@ -48844,25 +49263,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="roboccow">
- <description>Robocco Wars (Jpn)</description>
- <year>1991</year>
- <publisher>IGS</publisher>
- <info name="serial" value="IGS-X9"/>
- <info name="release" value="19910802"/>
- <info name="alt_title" value="ロボッ子ウォーズ"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="robocco wars (japan).chr" size="131072" crc="8fde79a9" sha1="443f15f581c12d4c3204e1ab10637bb1f78f197b" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="262144">
- <rom name="robocco wars (japan).prg" size="262144" crc="4ff64765" sha1="a340f5e92905466434149e82457b4b5e4447fd84" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="robocopj" cloneof="robocop">
<description>RoboCop (Jpn)</description>
<year>1989</year>
@@ -48933,6 +49333,26 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <software name="rockman4" cloneof="megaman4">
+ <description>Rockman 4 - Aratanaru Yabou!! (Jpn, Rev. A)</description>
+ <year>1991</year>
+ <publisher>Capcom</publisher>
+ <info name="serial" value="CAP-4V"/>
+ <info name="release" value="19911206"/>
+ <info name="alt_title" value="ロックマン4 新たなる野望!!"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="HVC-TGROM" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="524288">
+ <rom name="rockman 4 - aratanaru yabou (japan) (rev a).prg" size="524288" crc="e0ffeccd" sha1="b6ed268d99655ff9963b054e16696a7a9246d247" offset="00000" status="baddump" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="rodlandj" cloneof="rodland">
<description>Rod Land (Jpn)</description>
<year>1992</year>
@@ -49635,11 +50055,11 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="slot" value="nrom" />
<feature name="pcb" value="NES-NROM-256" />
<feature name="mirroring" value="vertical" />
- <dataarea name="chr" size="8192">
- <rom name="super dyna'mix badminton (japan).chr" size="8192" crc="3e7f277f" sha1="6b26bcf28547dad3f60eb42f3443cef747278428" offset="00000" status="baddump" />
- </dataarea>
<dataarea name="prg" size="32768">
- <rom name="super dyna'mix badminton (japan).prg" size="32768" crc="d0eda7ba" sha1="7ae0bb48c4cdd8b634a77af2a486634ff8a1fac4" offset="00000" status="baddump" />
+ <rom name="0.prg" size="32768" crc="d0eda7ba" sha1="7ae0bb48c4cdd8b634a77af2a486634ff8a1fac4" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="16384">
+ <rom name="0.chr" size="16384" crc="d3481070" sha1="e4b699c287432a63e3c410c575ff9b92f970571d" offset="00000" status="baddump" />
</dataarea>
</part>
</software>
@@ -49905,6 +50325,30 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <!-- Same game as NES-BK-USA only it lost the license to use Michael Jordan -->
+ <software name="tecmonba">
+ <description>Tecmo NBA Basketball (USA) (NES-N7)</description>
+ <year>1992</year>
+ <publisher>Tecmo</publisher>
+ <info name="serial" value="NES-N7-USA"/>
+ <info name="release" value="199211xx"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="NES-TKROM" />
+ <feature name="mmc3_type" value="MMC3C" />
+ <dataarea name="prg" size="131072">
+ <rom name="nes-n7-0 prg" size="131072" crc="14dd8bee" sha1="f8f9656aa3d7f2ffbc0e67ac859f184ad17d69b9" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="262144">
+ <rom name="nes-n7-0 chr" size="262144" crc="fefb9179" sha1="8bdd2dc2709b815f505993b2467813260ba4b167" offset="00000" status="baddump" />
+ </dataarea>
+ <!-- 8k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="8192">
+ <rom value="0x00" size="8192" offset="0" loadflag="fill" />
+ </dataarea>
+ </part>
+ </software>
+
<!-- This came in a Famicom-shaped cart (an internal development cart from Ultra Games / Konami) -->
<software name="tmntup" cloneof="tmnt">
<description>Teenage Mutant Ninja Turtles (USA, Prototype)</description>
@@ -50048,9 +50492,8 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<part name="cart" interface="nes_cart">
<feature name="slot" value="cnrom" />
<feature name="pcb" value="HVC-CNROM" />
- <!-- CHECK CHR SIZE! -->
- <dataarea name="chr" size="32768">
- <rom name="tetris (bulletproof) (japan).chr" size="32768" crc="c046d6b4" sha1="d2e4ba1b15c055f0cd66b43eb150f5a63c9c1053" offset="00000" status="baddump" />
+ <dataarea name="chr" size="16384">
+ <rom name="tetris (bulletproof) (japan).chr" size="16384" crc="e201dd0e" sha1="b6743e40d3d56b314fcd2502f5eb4c30291bb270" offset="00000" status="baddump" />
</dataarea>
<dataarea name="prg" size="32768">
<rom name="tetris (bulletproof) (japan).prg" size="32768" crc="f5fe896f" sha1="269bd17cfb0b32c0db67922e9a6f03908a32b2da" offset="00000" status="baddump" />
@@ -50097,6 +50540,25 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
+ <software name="tigerhel">
+ <description>Tiger-Heli (Euro, Rev. A)</description>
+ <year>1990</year>
+ <publisher>Acclaim Entertainment</publisher>
+ <info name="serial" value="NES-TI-EEC"/>
+ <info name="release" value="19900117"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="NES-CNROM" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="32768">
+ <rom name="pal-ti-0 prg" size="32768" crc="7925ec62" sha1="7b8cf32cdd641e33c0adfbf8b93130e74be80205" offset="00000" />
+ </dataarea>
+ <dataarea name="chr" size="32768">
+ <rom name="nes-ti-1 chr" size="32768" crc="34b6b8c3" sha1="a5c4fb04329a1703051d2072c26734eb3d41b46a" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="timedivr">
<description>Time Diver Eon Man (USA, Prototype)</description>
<year>19??</year>
@@ -50113,21 +50575,22 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="solbrain" cloneof="shatterh">
- <description>Tokkyuu Shirei - Solbrain (Jpn)</description>
+ <software name="tokyopsa1" cloneof="tokyopsa">
+ <description>Tokyo Pachi Slot Adventure (Jpn)</description>
<year>1991</year>
- <publisher>Angel</publisher>
- <info name="serial" value="ANG-OM"/>
- <info name="release" value="19911026"/>
- <info name="alt_title" value="特救指令 ソルブレイン"/>
+ <publisher>C*Dream</publisher>
+ <info name="serial" value="CDS-83"/>
+ <info name="release" value="19911213"/>
+ <info name="alt_title" value="東京パチスロアドベンチャー"/>
<part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="tokkyuu shirei - solbrain (japan).chr" size="131072" crc="14b2070c" sha1="d7fe77f771344d64ff45a623b2d1db3e6f6bc4c1" offset="00000" status="baddump" />
- </dataarea>
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="HVC-SLROM" />
+ <feature name="mmc1_type" value="MMC1B3" />
<dataarea name="prg" size="131072">
- <rom name="tokkyuu shirei - solbrain (japan).prg" size="131072" crc="0a7767eb" sha1="2ca3ea7da05c3fa6de8bb15fb8183e351013be70" offset="00000" status="baddump" />
+ <rom name="tokyo pachi slot adventure (jpn).prg" size="131072" crc="19248981" sha1="5d02cf3f47671a51a0e8a4b57a16c6a31ad0950b" offset="00000" status="baddump" />
+ </dataarea>
+ <dataarea name="chr" size="131072">
+ <rom name="tokyo pachi slot adventure (jpn).chr" size="131072" crc="92f6ee7f" sha1="2ec29131c4193ba8e6930e55b97052ba313a2019" offset="00000" status="baddump" />
</dataarea>
</part>
</software>
@@ -50151,25 +50614,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="topgun2j" cloneof="topgun2">
- <description>Top Gun - Dual Fighters (Jpn)</description>
- <year>1989</year>
- <publisher>Konami</publisher>
- <info name="serial" value="KDS-OG"/>
- <info name="release" value="19891205"/>
- <info name="alt_title" value="トップガン デュアルファイターズ"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="top gun - dual fighters (japan).chr" size="131072" crc="070ad757" sha1="e7908accea075b2464195155d9480ed9f128f3af" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="top gun - dual fighters (japan).prg" size="131072" crc="f6419d79" sha1="56222ba9d6bcfeafcb03bb8f3a8090846565d6c2" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="macchomnp" cloneof="amagon">
<description>Totsuzen! Macchoman (Jpn, Prototype)</description>
<year>1988</year>
@@ -50263,26 +50707,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="revjoeb" cloneof="twineagl">
- <description>Twin Eagle - Revenge Joe's Brother (Jpn)</description>
- <year>1991</year>
- <publisher>Visco</publisher>
- <info name="serial" value="VIS-2E"/>
- <info name="release" value="19910412"/>
- <info name="alt_title" value="ツインイーグル"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="uxrom" />
- <feature name="pcb" value="NES-UNROM" />
- <feature name="mirroring" value="vertical" />
- <dataarea name="prg" size="131072">
- <rom name="twin eagle - revenge joe's brother (japan).prg" size="131072" crc="3cf67aec" sha1="79322c45769008e40d01d83b15b9d872e160b40f" offset="00000" status="baddump" />
- </dataarea>
- <!-- 8k VRAM on cartridge -->
- <dataarea name="vram" size="8192">
- </dataarea>
- </part>
- </software>
-
<software name="twinbee3p" cloneof="twinbee3">
<description>TwinBee 3 - Poko Poko Dai Maou (Jpn, Prototype)</description>
<year>1989</year>
@@ -50587,25 +51011,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="worldten" cloneof="4ptennis">
- <description>World Super Tennis (Jpn)</description>
- <year>1989</year>
- <publisher>Asmik</publisher>
- <info name="serial" value="ASM-W1"/>
- <info name="release" value="19891013"/>
- <info name="alt_title" value="ワールドスーパーテニス"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="chr" size="131072">
- <rom name="world super tennis (japan).chr" size="131072" crc="0eb35658" sha1="3ee2211ce9f6e845503d5d3c2969cbba09fc375b" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="world super tennis (japan).prg" size="131072" crc="acd3e768" sha1="7470fabcf8b9c8fcc0253fbaff4ba6cf23401785" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="wmaniachj" cloneof="wmaniach">
<description>WWF WrestleMania Challenge (Jpn)</description>
<year>1992</year>
@@ -50658,44 +51063,6 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
- <software name="yumepeng">
- <description>Yume Penguin Monogatari (Jpn)</description>
- <year>1991</year>
- <publisher>Konami</publisher>
- <info name="serial" value="KDS-U8"/>
- <info name="release" value="19910125"/>
- <info name="alt_title" value="夢ペンギン物語"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="txrom" />
- <feature name="pcb" value="NES-TLROM" />
- <dataarea name="chr" size="131072">
- <rom name="yume penguin monogatari (japan).chr" size="131072" crc="22bae0b9" sha1="db68e53a87f495e1193b481577b57d923e24f3e9" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="yume penguin monogatari (japan).prg" size="131072" crc="14a77e98" sha1="45bcd98eadb7dd3a772e2141f8b611c1db5a1eb2" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
- <software name="zenbei" cloneof="allprobb">
- <description>Zenbei!! Pro Basket (Jpn)</description>
- <year>1989</year>
- <publisher>Vic Tokai</publisher>
- <info name="serial" value="VIC-A2"/>
- <info name="release" value="19890721"/>
- <info name="alt_title" value="全米プロバスケット"/>
- <part name="cart" interface="nes_cart">
- <feature name="slot" value="sxrom" />
- <feature name="pcb" value="NES-SLROM" />
- <dataarea name="chr" size="131072">
- <rom name="zenbei pro basket (japan).chr" size="131072" crc="d1d2ecda" sha1="6ca29faf2616f095022250c49750164a44a7bafd" offset="00000" status="baddump" />
- </dataarea>
- <dataarea name="prg" size="131072">
- <rom name="zenbei pro basket (japan).prg" size="131072" crc="e5d49424" sha1="e1da11b6d0cc2abaf4aa62db0409a4eb3b4176d6" offset="00000" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<software name="galgp" cloneof="galg">
<description>Zunou Senkan Galg (Jpn, Prototype)</description>
<year>1985</year>
@@ -68478,10 +68845,10 @@ Also notice that VRAM & WRAM are probably incorrect for some of these sets, at t
<feature name="pcb" value="NES-NROM-256" />
<feature name="mirroring" value="vertical" />
<dataarea name="prg" size="32768">
- <rom name="obake no q tarou - wanwan panic (1987)(fmgi)(jp)[p].prg" size="32768" crc="b5f17be0" sha1="a1078f70f56cb6a4f2197592aa961587d2c952c9" offset="00000" status="baddump" />
+ <rom name="obake no q tarou - wanwan panic (1987)(fmg)(jp)[p].prg" size="32768" crc="b5f17be0" sha1="a1078f70f56cb6a4f2197592aa961587d2c952c9" offset="00000" status="baddump" />
</dataarea>
<dataarea name="chr" size="8192">
- <rom name="obake no q tarou - wanwan panic (1987)(fmgi)(jp)[p].chr" size="8192" crc="7bcf6de9" sha1="7c7798569f517f8a2ba5329919311e15e673c51e" offset="00000" status="baddump" />
+ <rom name="obake no q tarou - wanwan panic (1987)(fmg)(jp)[p].chr" size="8192" crc="7bcf6de9" sha1="7c7798569f517f8a2ba5329919311e15e673c51e" offset="00000" status="baddump" />
</dataarea>
</part>
</software>
@@ -71387,7 +71754,7 @@ Other
<feature name="pcb" value="RCM-GS2015" />
<feature name="mirroring" value="vertical" />
<dataarea name="chr" size="32768">
- <rom name="mathematics 2x2 (a training program complex nitas, early version).chr" size="32768" crc="1dff5a56" sha1="a26949c3171879a8d4c398e88ee73780b28a8293" offset="00000" status="baddump" />
+ <rom name="mathematics 2x2 (a training program complex nitas, early version).chr" size="32768" crc="1dff5a56" sha1="a26949c3171879a8d4c398e88ee73780b28a8293" offset="00000" status="baddump" />
</dataarea>
<dataarea name="prg" size="32768">
<rom name="mathematics 2x2 class (a training program complex nitas, early version).prg" size="32768" crc="5debd2fa" sha1="61e461c70e3131eb15f522494aa1d273ee2e8b0a" offset="00000" status="baddump" />
@@ -72282,7 +72649,7 @@ resulting in tons of glitches? -->
<rom name="kid 333 (unl).chr" size="131072" crc="5e1284cb" sha1="0ec3686493dcfb7aec5e1b1163909775bc75174f" offset="00000" status="baddump" />
</dataarea>
<dataarea name="prg" size="131072">
- <rom name="kid 333 (unl).prg" size="131072" crc="9be9378e" sha1="04cb32ba35699f10f2637001047eb1e0bb100c29" offset="00000" status="baddump" />
+ <rom name="kid 333 (unl).prg" size="131072" crc="9be9378e" sha1="04cb32ba35699f10f2637001047eb1e0bb100c29" offset="00000" status="baddump" />
</dataarea>
</part>
</software>
@@ -72726,7 +73093,7 @@ resulting in tons of glitches? -->
</software>
<software name="poke2k" cloneof="mitsumgt">
- <description>Pokemon 2000 (Mitsume Ga Tooru pirate)</description>
+ <description>Pokemon 2000 (Mitsume ga Tooru pirate)</description>
<year>19??</year>
<publisher>&lt;pirate&gt;</publisher>
<part name="cart" interface="nes_cart">
diff --git a/hash/pc98.xml b/hash/pc98.xml
index 178faa189d2..9b8c947e46f 100644
--- a/hash/pc98.xml
+++ b/hash/pc98.xml
@@ -5474,8 +5474,8 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- This game plays sampled voices through the beeper, but it doesn't work in MAME - it just outputs a constant beep -->
- <!-- (has a DAC1BIT tester at boot, may be useful) -->
+ <!-- boot OK -->
+ <!-- Has a DAC1BIT sampling tester on boot, needs +18 [tempo]/low [volume] on RS class to match 3 secs as claimed (confirm via real HW). -->
<software name="arquelph" supported="partial">
<description>Arquelphos</description>
<year>1993</year>
@@ -7286,7 +7286,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- boot OK on RS class, on intro uses DAC1BIT and some text doesn't seem to be drawn? -->
+ <!-- boot OK on RS class, on intro some text doesn't seem to be drawn given the DAC1BIT clicks. -->
<!-- black screen after Cocktail Soft logo on VM class (btanb?) -->
<software name="bishotsu" supported="partial">
<description>Bishoujo Tsuushin - Chat no Susume</description>
@@ -7603,7 +7603,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- This game is supposed to play sound effects through the beeper, but in MAME it just outputs a constant beep (DAC1BIT) -->
+ <!-- boot OK, DAC1BIT sounds awful on anything, cfr. title screen (tested VM class, RS class and 9821 class) -->
<software name="blockouta" cloneof="blockout" supported="partial">
<description>Block Out (Patched?)</description>
<year>1991</year>
@@ -20933,7 +20933,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<!-- boot OK, has heavy GFX issues if EGC is detected. -->
- <!-- Uses DAC1BIT for speech -->
+ <!-- Uses DAC1BIT for speech, sounds too slow for VM class -->
<!-- Has extensive system check, NESA bus for instance -->
<software name="hypbingo" supported="partial">
<description>Gals Talk Hyper Bingo</description>
@@ -23399,7 +23399,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- boot OK, beeps out when it's supposed to play samples (DAC1BIT) -->
+ <!-- boot OK, DAC1BIT sounds very aliased on RS class (btanb?) -->
<software name="hercequa" supported="partial">
<description>Hercequary</description>
<year>1994</year>
@@ -28339,8 +28339,8 @@ only have some part of Windows file and a Video driver(CLGD?).
<!-- all three Madou Monogatari sports a "Madou Monogatari 1-2-3" title screen -->
<!-- verify if these were really released as stand alone. -->
- <!-- boot OK, uses DAC1BIT samples -->
- <software name="madoum1" supported="partial">
+ <!-- boot OK -->
+ <software name="madoum1" supported="yes">
<description>Madou Monogatari 1</description>
<year>1991</year>
<publisher>コンパイル (Compile)</publisher>
@@ -28360,8 +28360,8 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- boot OK, uses DAC1BIT samples -->
- <software name="madoum2" supported="partial">
+ <!-- boot OK -->
+ <software name="madoum2" supported="yes">
<description>Madou Monogatari 2</description>
<year>1991</year>
<publisher>コンパイル (Compile)</publisher>
@@ -28381,8 +28381,8 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- boot OK, uses DAC1BIT samples -->
- <software name="madoum3" supported="partial">
+ <!-- boot OK -->
+ <software name="madoum3" supported="yes">
<description>Madou Monogatari 3</description>
<year>1991</year>
<publisher>コンパイル (Compile)</publisher>
@@ -36345,8 +36345,9 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <!-- boot OK, beeps out when it's supposed to play samples (DAC1BIT) -->
- <software name="puyopuyo" supported="partial">
+ <!-- boot OK -->
+ <!-- Has DAC1BIT Note class switch option, has Epson class mixing option -->
+ <software name="puyopuyo" supported="yes">
<description>Puyo Puyo</description>
<year>1993</year>
<publisher>コンパイル (Compile)</publisher>
@@ -49368,12 +49369,15 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <software name="zeta">
+ <!-- boot OK -->
+ <software name="zeta" supported="yes">
<description>Zeta</description>
<year>1991</year>
<publisher>トンキンハウス (Tonkin House)</publisher>
<info name="alt_title" value="ゼータ" />
+ <info name="developer" value="Will" />
<info name="release" value="19911010" />
+ <!-- boot order is trusted, would otherwise moan that file is missing after new game intro (without chance of a disk swap) -->
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk S1"/>
<dataarea name="flop" size="1281968">
@@ -49381,15 +49385,15 @@ 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="Disk S2"/>
+ <feature name="part_id" value="Disk D1"/>
<dataarea name="flop" size="1281968">
- <rom name="zeta_s2.d88" size="1281968" crc="c1de4377" sha1="e409d06f16a787650ba39974616e0d03957825b1" offset="0" />
+ <rom name="zeta_d1.d88" size="1281968" crc="1501f5cc" sha1="6dafbc36800b2ad36ab6b9f8dff37679fed23c1a" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk D1"/>
+ <feature name="part_id" value="Disk S2"/>
<dataarea name="flop" size="1281968">
- <rom name="zeta_d1.d88" size="1281968" crc="1501f5cc" sha1="6dafbc36800b2ad36ab6b9f8dff37679fed23c1a" offset="0" />
+ <rom name="zeta_s2.d88" size="1281968" crc="c1de4377" sha1="e409d06f16a787650ba39974616e0d03957825b1" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
@@ -69101,8 +69105,8 @@ Same as Police Quest 2 - Quest for Glory stand-alone disks
</part>
</software>
- <!-- boot OK, beeps on intro/start of stages (DAC1BIT) -->
- <software name="transbor" supported="partial">
+ <!-- boot OK -->
+ <software name="transbor" supported="yes">
<description>TransbOrder</description>
<year>1993</year>
<publisher>コンパイル (Compile)</publisher>
diff --git a/hash/pce.xml b/hash/pce.xml
index cc403c56776..12c6398b16f 100644
--- a/hash/pce.xml
+++ b/hash/pce.xml
@@ -926,7 +926,7 @@ license:CC0
</part>
</software>
- <software name="dragnegg" supported="no">
+ <software name="dragnegg">
<description>Dragon Egg!</description>
<year>1991</year>
<publisher>Masiya</publisher>
diff --git a/hash/pce_tourvision.xml b/hash/pce_tourvision.xml
index 8be44dbd51e..3ba7738ff35 100644
--- a/hash/pce_tourvision.xml
+++ b/hash/pce_tourvision.xml
@@ -208,16 +208,15 @@ Parasol Stars
</part>
</software>
- <software name="beballa">
- <description>Be Ball (alt) (TourVision PCE bootleg)</description>
+ <software name="beball">
+ <description>Be Ball (TourVision PCE bootleg)</description>
<year>1990</year>
<publisher>bootleg (TourVision) / Hudson</publisher>
<info name="alt_title" value="ビーボール"/>
<part name="cart" interface="tourvision_cart">
<feature name="id" value="0x5d"/>
<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" />
+ <rom name="be ball (japan).pce" size="262144" crc="261f1013" sha1="55d8815a4a432e587fc7483b63b73114fe40e710" />
</dataarea>
</part>
</software>
@@ -470,7 +469,7 @@ Parasol Stars
</part>
</software>
- <software name="dragnegg" supported="no">
+ <software name="dragnegg">
<description>Dragon Egg! (TourVision PCE bootleg)</description>
<year>1991</year>
<publisher>bootleg (TourVision) / Masiya</publisher>
@@ -640,16 +639,15 @@ Parasol Stars
</part>
</software>
- <software name="gomolaa">
- <description>Gomola Speed (alt) (TourVision PCE bootleg)</description>
+ <software name="gomola">
+ <description>Gomola Speed (TourVision PCE bootleg)</description>
<year>1990</year>
<publisher>bootleg (TourVision) / UPL</publisher>
<info name="alt_title" value="ゴモラスピード"/>
<part name="cart" interface="tourvision_cart">
<feature name="id" value="0x1b"/>
<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" />
+ <rom name="gomola speed (japan).pce" size="393216" crc="4bd38f17" sha1="fe4b08fb0cd9d0a53726c2709db3e31fbeae1213" />
</dataarea>
</part>
</software>
diff --git a/hash/pmd85_cass.xml b/hash/pmd85_cass.xml
index 827ba417ba6..efa00325e3c 100644
--- a/hash/pmd85_cass.xml
+++ b/hash/pmd85_cass.xml
@@ -851,7 +851,7 @@ If the Usage shows a filename of xx, it's because it hasn't been possible to ide
12 - ZOFKA 2 - korytnaèka Žofka v BASICu (staršia verzia) (v2/v2A/v3)
11 - ZOFKA2T - korytnaèka Žofka v BASICu s prikazom pre tlac (v2/v2A/v3)
42 - Zofka 3 - korytnaèka Žofka v strojovom kóde (v2/v2A/v3). Po nahratí sa spúšta JUMP 0003
- (pri PMD 85-3 je treba najprv prejs do režimu kompatibility zadanim JUMP FFF0 v monitore).
+ (pri PMD 85-3 je treba najprv prejsť do režimu kompatibility zadanim JUMP FFF0 v monitore).
34 - MRAVEC - jednoduchý logický jazyk Mravec (v2/v2A/v3)
52 - T.MRAVEC - jednoduchý logický jazyk Toèi-Mravec (v2/v2A/v3)
-->
diff --git a/hash/rx78_cart.xml b/hash/rx78_cart.xml
index 9405a86b22c..c9bc6922f2b 100644
--- a/hash/rx78_cart.xml
+++ b/hash/rx78_cart.xml
@@ -6,8 +6,8 @@ license:CC0
The Bandai RX-78 Gundam has two slots where you can plug in a ROM cart or an additional device, like a
printer interface. The system was capable of loading software from these ROM carts, or from a cassette
tape through audio line-in ports to use with tape recorders; these ports were present in the BS Basic,
-Animation Graphics, Creative Graphics, Japanese Word Processor and Z80 Assembler carts. The system could
-use up to two carts or devices at the same time.
+Animation Graphics, Creative Graphics, Japanese Word Processor, Music Master and Z80 Assembler carts.
+The system could use up to two carts or devices at the same time.
There were a total of 20 games released for the system, plus educational and productivity software, and peripheral
devices. One additional game and three expansion cards were announced but never released. The official translations
@@ -18,11 +18,12 @@ printed in the game carts or tapes are used below where available. Names in brac
|========+=========+=======+========================================================================================+
| N/A | 0201001 | Other | No | RX-78 Base Unit
| N/A | 0201003 | Other | No | Joystick Controller
-| Cart | 0201004 | Game | Yes | Mobile Suit ガンダム ルナ・ツーの戦い [Mobile Suit Gundam: Battle of Luna II] (says Mobil on the screen)
+| Cart | 0201004 | Game | Yes | Mobile Suit ガンダム ルナ・ツーの戦い [Mobile Suit Gundam: Battle of Luna II]
| Cart | 0201005 | Game | Yes | チャンピオン レーサー / Champion Racer
| Cart | 0201006 | Game | Yes | チャレンジ ゴルフ / Challenge Golf
| Cart | 0201007 | Game | No | エキサイト ベースボール / Excite Baseball
| Cart | 0201008 | Game | Yes | パーフェクト マージャン / Perfect Mah-Jongg
+| Cart | 0201009 | Tool | Unknown | クリエイティブ グラフィックス / Creative Graphics
| Cart | 0201010 | Tool | Yes | ミュージック マスター / Music Master
| Cart | 0201011 | Game | No | ハンバーガー ショップ / Hamburger Shop
| Cart | 0201012 | Game | Yes | 戦え!ウルトラマン / Tatakae! Ultraman
@@ -31,6 +32,7 @@ printed in the game carts or tapes are used below where available. Names in brac
| Cart | 0201018 | Game | Yes | 連合艦隊 / Rengo Kantai
| Cart | 0201019 | Game | Yes | スペースエネミー / Space Enemy
| Cart | 0201020 | Tool | Unknown | アニメーション グラフィックス / Animation Graphics
+| Cart | 0201022 | Tool | Unknown | 3Dグラフィックス / 3-Dimension Graphics
| Cart | 0201023 | Game | Yes | エキサイト テニス / Excite Tennis
| Cart | 0201024 | Game | No | スーパー モトクロス / Super Motocross
| Cart | 0201026 | Game | Yes | 零戦 (ぜろせん) / Reisen (Zerosen) [Zero Fighter]
@@ -39,7 +41,7 @@ printed in the game carts or tapes are used below where available. Names in brac
| Tape | 0201029 | Game | Unknown | スペース カプセル / Space Capsule
| Tape | 0201030 | Tool | Yes | ヘルシーライフ / Healthy Life Plan
| Tape | 0201033 | Tool | Yes | 計算演習ドリル / Keisan Ensyu Drill
-| Tape | 0201035 | Learn | No | グラフィック数学 / Graphics Mathematics
+| Tape | 0201035 | Learn | No | グラフィック数学 / Graphics Mathematics [Graphic Sūgaku]
| Tape | 0201038 | Game | Unknown | イエローキャブ / Yellow Cab
| Tape | 0201041 | Game | Unknown | ドンジャラ [Donjara] (**)
| Cart | 02010?? | Game | Yes | カード・ワールド / Card World
@@ -49,8 +51,6 @@ printed in the game carts or tapes are used below where available. Names in brac
| Cart | 02010?? | Tool | Yes | BS-BASIC Version 1.0
| Cart | 02010?? | Tool | Yes | 漢字ワープロ / Japanese Word Processor
| ? | 02010?? | Tool | Unknown | Z-80 アセンブラー (RX-78 Z-80 用アセンブラー)
-| Cart | 02010?? | Tool | Unknown | クリエイティブ グラフィックス / Creative Graphics
-| ? | 02010?? | Tool | Unknown | 3Dグラフィックス [3D Graphics]
| Cart | ??????? | Tool | Unknown | バッテリーバックアップ RAM [Battery Backup RAM] (Announced)
| Cart | ??????? | Tool | Unknown | ミュージック・インターフェイス [Music Interface] (Announced)
| Cart | ??????? | Tool | Unknown | 専用フロッピイ・ヂイスクドライブ [Floppy Disk Drive] (Announced)
@@ -146,9 +146,11 @@ The monitor will expect you to load a program from cassette.
</software>
<software name="gundam">
- <description>Mobile Suit Gundam</description>
+ <description>Mobile Suit Gundam: Lunar 2 no Tatakai</description>
<year>1983</year>
<publisher>Bandai</publisher>
+ <info name="alt_title" value="Mobile Suit ガンダム ルナ・ツーの戦い" /><!-- used on box art -->
+ <info name="alt_title" value="Mobil Suit ガンダム ルナ・ツーのタタカイ" /><!-- title screen really spells it "MOBIL SUIT" -->
<info name="usage" value="Use either Z,X,Space; or Left,Right,Alt" />
<part name="cart" interface="rx78_cart">
<dataarea name="rom" size="16384">
diff --git a/hash/saitek_kso.xml b/hash/saitek_kso.xml
index 1dea4ad2bcd..2ce7799db65 100644
--- a/hash/saitek_kso.xml
+++ b/hash/saitek_kso.xml
@@ -7,7 +7,7 @@ license:CC0
<softwarelist name="saitek_kso" description="Saitek KSO ROM">
<!-- Extension ROM, sold separately, placed in ROM socket through hatch on top-right -->
-<!-- Used in: Superstar 36K, Turbostar chess computers -->
+<!-- Used in: Superstar 36K, Turbostar chess computers, also in Maestro A module -->
<software name="kso">
<description>Kasparov Selected Openings</description>
diff --git a/hash/sms.xml b/hash/sms.xml
index acf04e3f446..d892061310c 100644
--- a/hash/sms.xml
+++ b/hash/sms.xml
@@ -381,7 +381,7 @@ license:CC0
</part>
</software>
- <!-- Notes: fan made release, which runs in original system and was also released and distributed as physical copy. More info: https://youtu.be/6ntwR94J6iM https://goo.gl/9efrGv-->
+ <!-- Notes: fan made release, which runs in original system and was also released and distributed as physical copy. More info: https://youtu.be/6ntwR94J6iM https://goo.gl/9efrGv -->
<software name="alexkidd2">
<description>Alex Kidd in Miracle World 2 (World, hack)</description>
<year>2017</year>
@@ -863,6 +863,19 @@ license:CC0
</part>
</software>
+ <!-- Notes: rom freely available at https://www.smspower.org and physical cartridges sold at https://www.2minds.fr -->
+ <software name="baraburu">
+ <description>Bara Buru</description>
+ <year>2016</year> <!-- 2Minds cart published 2020 -->
+ <publisher>2Minds</publisher>
+ <info name="alt_title" value="バラブルー" />
+ <part name="cart" interface="sms_cart">
+ <dataarea name="rom" size="131072">
+ <rom name="baraburuu-sms-1.00.bin" size="131072" crc="43e39aa4" sha1="5a56ce4ae9ec21b158f5c6bfead15a9f0057e2cd" offset="000000" /> <!-- this digital release not verified against physical cart -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="bartvssm">
<description>The Simpsons - Bart vs. The Space Mutants (Euro, Bra)</description>
<year>1992</year>
@@ -1167,7 +1180,7 @@ license:CC0
<info name="alt_title" value="ボンバーレイド" />
<part name="cart" interface="sms_cart">
<dataarea name="rom" size="262144">
- <rom name="battle wings (prototye).bin" size="262144" crc="fae0ade7" sha1="99fef1cca416df8586d3aaf76d147e86e69dbdad" offset="000000" />
+ <rom name="battle wings (prototype).bin" size="262144" crc="fae0ade7" sha1="99fef1cca416df8586d3aaf76d147e86e69dbdad" offset="000000" />
</dataarea>
</part>
</software>
@@ -1235,6 +1248,18 @@ license:CC0
</part>
</software>
+ <!-- Notes: rom freely available at https://www.smspower.org, physical cartridge produced by Ichigo of 2Minds but not available commercially -->
+ <software name="brucelee">
+ <description>Bruce Lee</description>
+ <year>2015</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <part name="cart" interface="sms_cart">
+ <dataarea name="rom" size="131072">
+ <rom name="brucelee-sms-1.00.bin" size="131072" crc="37e27a38" sha1="48c41270493302d51da773ba938ffae5264ceb28" offset="000000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="bublbokc">
<description>Bubble Bobble (Kor, Clover)</description>
<year>1990</year>
@@ -2624,6 +2649,56 @@ license:CC0
</part>
</software>
+ <!-- Notes: rom freely available at https://www.smspower.org and physical cartridges sold at https://www.2minds.fr -->
+ <software name="pigarus">
+ <description>Flight of Pigarus (v1.11)</description>
+ <year>2018</year> <!-- 2Minds cart published 2020 -->
+ <publisher>2Minds</publisher>
+ <info name="usage" value="Replay mode fully supported only on PAL/50Hz drivers, e.g. smspal" />
+ <info name="alt_title" value="ピガロスの飛行" />
+ <part name="cart" interface="sms_cart">
+ <feature name="battery" value="yes" />
+ <dataarea name="rom" size="262144">
+ <rom name="flightofpigarus-sms-1.11.bin" size="262144" crc="60b86f18" sha1="46941b6ca4c38b07fa55987d3f30c249d5674e2a" offset="000000" /> <!-- this digital release not verified against physical cart -->
+ </dataarea>
+ <!-- 32K is what game can actually use? According to maker the pcb part is a 256K Lapis MR48V256 -->
+ <dataarea name="ram" size="32768">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pigarus110" cloneof="pigarus">
+ <description>Flight of Pigarus (v1.10)</description>
+ <year>2018</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="usage" value="Replay mode fully supported only on PAL/50Hz drivers, e.g. smspal" />
+ <info name="alt_title" value="ピガロスの飛行" />
+ <part name="cart" interface="sms_cart">
+ <feature name="battery" value="yes" />
+ <dataarea name="rom" size="262144">
+ <rom name="flightofpigarus-sms-1.10.bin" size="262144" crc="1950005d" sha1="3bd03c3be402b90e61e6be5b67216c0c6d8056e6" offset="000000" />
+ </dataarea>
+ <dataarea name="ram" size="32768">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pigarus100" cloneof="pigarus">
+ <description>Flight of Pigarus (v1.00)</description>
+ <year>2018</year>
+ <publisher>&lt;homebrew&gt;</publisher>
+ <info name="usage" value="Replay mode fully supported only on PAL/50Hz drivers, e.g. smspal" />
+ <info name="alt_title" value="ピガロスの飛行" />
+ <part name="cart" interface="sms_cart">
+ <feature name="battery" value="yes" />
+ <dataarea name="rom" size="262144">
+ <rom name="flightofpigarus-sms-1.00.bin" size="262144" crc="838574d1" sha1="e53a16f5bf4a2d804b26c359cf3a727c06379e6d" offset="000000" />
+ </dataarea>
+ <dataarea name="ram" size="32768">
+ </dataarea>
+ </part>
+ </software>
+
<software name="flint">
<description>The Flintstones (Euro, Bra)</description>
<year>1991</year>
@@ -3208,7 +3283,7 @@ license:CC0
</part>
</software>
- <!-- Notes: FM support, in Japan only 1000 copies were manufactured as a prize for a contest-->
+ <!-- Notes: FM support, in Japan only 1000 copies were manufactured as a prize for a contest -->
<software name="greatice">
<description>Great Ice Hockey (Jpn, USA)</description>
<year>1987</year>
@@ -3386,6 +3461,19 @@ license:CC0
</part>
</software>
+ <!-- Notes: rom freely available at https://www.smspower.org and physical cartridges sold at https://www.2minds.fr -->
+ <software name="heroesad">
+ <description>Heroes Against Demons</description>
+ <year>2020</year>
+ <publisher>2Minds</publisher>
+ <info name="usage" value="Only runs with certain drivers, e.g. smsj - others show SOFTWARE ERROR" />
+ <part name="cart" interface="sms_cart">
+ <dataarea name="rom" size="262144">
+ <rom name="heroesagainstdemons_v1.04b [retail rom].bin" size="262144" crc="8c77f8bf" sha1="95bec2ea672024162653fa8657e6f3344b7260cc" offset="000000" /> <!-- this digital release not verified against physical cart -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="herolanc">
<description>Advanced Dungeons &amp; Dragons - Heroes of the Lance (Euro, Bra)</description>
<year>1991</year>
@@ -3398,6 +3486,17 @@ license:CC0
</part>
</software>
+ <software name="herolancp" cloneof="herolanc">
+ <description>Advanced Dungeons &amp; Dragons - Heroes of the Lance (prototype)</description>
+ <year>1991</year>
+ <publisher>U.S. Gold</publisher>
+ <part name="cart" interface="sms_cart">
+ <dataarea name="rom" size="524288">
+ <rom name="heroes of the lance [proto].bin" size="524288" crc="9611bebd" sha1="b1a49fddc39fa2a964ae6792ded858cf85d1d663" offset="000000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="highsc">
<description>High School! Kimengumi (Jpn)</description>
<year>1986</year>
@@ -6148,7 +6247,7 @@ license:CC0
<info name="alt_title" value="ソロモンの鍵 -王女リヒタの涙-" />
<part name="cart" interface="sms_cart">
<dataarea name="rom" size="131072">
- <!-- cartridge contains 2 eproms, labels on the chips: 6301 CHR and 6302 P-->
+ <!-- cartridge contains 2 eproms, labels on the chips: 6301 CHR and 6302 P -->
<rom name="solomon no kagi - oujo rihita no namida (prototype).bin" size="131072" crc="92dc4cd6" sha1="4587743e156bddf59e268f89bc08a9450eabe5ea" offset="000000" />
</dataarea>
</part>
@@ -7286,6 +7385,19 @@ license:CC0
</part>
</software>
+ <!-- Notes: Hack of alexkidd v1.1. IPS patch freely available at https://www.smspower.org and physical cartridges sold at https://www.2minds.fr -->
+ <software name="voyagesv">
+ <description>Voyage - A Sorceress' Vacation</description>
+ <year>2020</year> <!-- 2Minds cart published 2021 -->
+ <publisher>2Minds</publisher>
+ <info name="usage" value="Only runs with certain drivers, e.g. smsj - others show SOFTWARE ERROR" />
+ <part name="cart" interface="sms_cart">
+ <dataarea name="rom" size="524288">
+ <rom name="voyage - a sorceress vacation v1.04 (build 704).bin" size="524288" crc="f56940f8" sha1="e7f3477aec7292d10d5956b14c2881ac5bf7e87b" offset="000000" /> <!-- this digital release not verified against physical cart -->
+ </dataarea>
+ </part>
+ </software>
+
<software name="wpayton" cloneof="ameripf">
<description>Walter Payton Football (USA)</description>
<year>1989</year>
diff --git a/hash/spectrum_cass.xml b/hash/spectrum_cass.xml
index 10ae5952557..0e02e9bbd34 100644
--- a/hash/spectrum_cass.xml
+++ b/hash/spectrum_cass.xml
@@ -520,7 +520,7 @@ license:CC0
<software name="altbeast">
<description>Altered Beast (set 1)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="51918">
<rom name="altered beast - side 1.tzx" size="51918" crc="14ace5ed" sha1="6ce4aca116101b5b385214b7b33c257e3c25e475"/>
@@ -536,7 +536,7 @@ license:CC0
<software name="altbeastm" cloneof="altbeast">
<description>Altered Beast (set 2, MCM)</description>
<year>1989</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="46970">
<rom name="altered beast - alternate - side 1 (mcm).tzx" size="46970" crc="1d13d6ad" sha1="5f15b8034d838dfe7daf30c728cb34a4d05cc307"/>
@@ -552,7 +552,7 @@ license:CC0
<software name="altbeasths" cloneof="altbeast">
<description>Altered Beast (set 3, The Hit Squad)</description>
<year>1989</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="52049">
<rom name="altered beast - side 1 (the hit squad).tzx" size="52049" crc="0d2190b8" sha1="293f5bd33cbc1ba5a63ce00c891967c215429fe4"/>
@@ -989,7 +989,7 @@ license:CC0
<software name="aburner">
<description>Afterburner</description>
<year>1988</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="108928">
<rom name="afterburner - 128k.tzx" size="108928" crc="bba36351" sha1="0b14ab50e007105fc6dccd6ee93ae92f33eab512"/>
@@ -1010,7 +1010,7 @@ license:CC0
<software name="aburnerm" cloneof="aburner">
<description>Afterburner (MCM)</description>
<year>1988</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49560">
<rom name="afterburner - side 1 (mcm).tzx" size="49560" crc="be7113ce" sha1="0dc5b5b48687e8a0a892a89e1ef29a13c1ca9f49"/>
@@ -1026,7 +1026,7 @@ license:CC0
<software name="aburnerhs" cloneof="aburner">
<description>Afterburner (The Hit Squad)</description>
<year>1988</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="108315">
<rom name="afterburner (the hit squad).tzx" size="108315" crc="36abf45f" sha1="c9bfabd0879bf320eb34411b4f2e0ea8759d2553"/>
@@ -2585,8 +2585,8 @@ license:CC0
<software name="bruceleea" cloneof="brucelee">
<description>Bruce Lee (set 2, Americana)</description>
- <year>1984</year>
- <publisher>U.S. Gold / Americana</publisher>
+ <year>1988</year>
+ <publisher>Americana</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="42604">
<rom name="bruce lee (americana).tzx" size="42604" crc="3a2b7421" sha1="0a4a759fa09a356c27014bb5a320cfa40615a582"/>
@@ -2596,8 +2596,8 @@ license:CC0
<software name="bruceleed" cloneof="brucelee">
<description>Bruce Lee (set 3, Dro Soft)</description>
- <year>1984</year>
- <publisher>U.S. Gold / Dro Soft</publisher>
+ <year>1988</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="42607">
<rom name="bruce lee (dro soft).tzx" size="42607" crc="ff93d0a7" sha1="bcd0db2383ebf5cb150ec17292f8ae934c316c09"/>
@@ -2608,7 +2608,7 @@ license:CC0
<software name="bruceleee" cloneof="brucelee">
<description>Bruce Lee (set 4, Erbe, Small Case)</description>
<year>1984</year>
- <publisher>U.S. Gold / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="43865">
<rom name="bruce lee - small case (erbe).tzx" size="43865" crc="a77386c1" sha1="ed5692b9cebbd71efc3416d1f171bb2c62323804"/>
@@ -2671,11 +2671,33 @@ license:CC0
</part>
</software>
+ <software name="bruceleek" cloneof="brucelee">
+ <description>Bruce Lee (set 10, Erbe)</description>
+ <year>1988</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="44827">
+ <rom name="Bruce Lee (Erbe).tzx" size="44827" crc="4161b758" sha1="7692d2142e12b8e3852f6d05ab072eb2aa7d5d3b"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bruceleel" cloneof="brucelee">
+ <description>Bruce Lee (set 11, Disprosoft)</description>
+ <year>1986</year>
+ <publisher>Disprosoft</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="43133">
+ <rom name="BruceLee(Disprosoft).tzx" size="43133" crc="dc8c2bc5" sha1="0928218950d2ee76b73c9e7f445ea94ae987959b"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- corrupt bubble gfx in 48k mode?! (apparently an AY detection thing, does it work in 48k mode on real 128k systems?)-->
<software name="bublbobl" supported="partial">
<description>Bubble Bobble</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1987</year>
+ <publisher>Firebird Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="55769">
<rom name="bubble bobble.tzx" size="55769" crc="81e21559" sha1="3018566f3af3db4914a1a3bb4c8cf9240e48d5f0"/>
@@ -2683,10 +2705,32 @@ license:CC0
</part>
</software>
+ <software name="bublbobla" cloneof="bublbobl">
+ <description>Bubble Bobble (Dro Soft)</description>
+ <year>1987</year>
+ <publisher>Dro Soft</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="55819">
+ <rom name="Bubble Bobble (Dro Soft).tzx" size="55819" crc="0c7bdcb1" sha1="e4a3102342831b6c4f946efe48eeb91d70c23a5c"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bublboblb" cloneof="bublbobl">
+ <description>Bubble Bobble (Musical 1)</description>
+ <year>1992</year>
+ <publisher>Musical 1</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="47874">
+ <rom name="Bubble Bobble (Musical 1).tzx" size="47874" crc="11444344" sha1="2265394443c0e4a2aca14264f8e0f5b48fb174d3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bublboblhs" cloneof="bublbobl"> <!-- needs extra last block in tzx decoding to run -->
<description>Bubble Bobble (The Hit Squad)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1991</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56655">
<rom name="bubble bobble (the hit squad).tzx" size="56655" crc="dd724bf5" sha1="ecbd2fb959a1adb4b088c20ae3cc5525c5c74f5b"/>
@@ -2705,7 +2749,6 @@ license:CC0
</part>
</software>
-
<software name="besiegsb">
<description>Besieged (Spellbound series)</description>
<year>1983</year>
@@ -2992,12 +3035,10 @@ license:CC0
</part>
</software>
-
-
<software name="btlc">
<description>Big Trouble In Little China (set 1)</description>
<year>1987</year>
- <publisher>Electric Dreams Software</publisher>
+ <publisher>Electric Dreams</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51736">
<rom name="big trouble in little china.tzx" size="51736" crc="06e1e782" sha1="eea7d1530d837df10c1089c06701f29c51c07b95"/>
@@ -3008,7 +3049,7 @@ license:CC0
<software name="btlca" cloneof="btlc">
<description>Big Trouble In Little China (set 2, Alternative)</description>
<year>1987</year>
- <publisher>Electric Dreams Software / Alternative</publisher>
+ <publisher>Alternative</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51766">
<rom name="big trouble in little china (alternative).tzx" size="51766" crc="ac0b5aaf" sha1="d41d49fe5b623a96abbde43c9fbb5a8319b6ad5b"/>
@@ -3019,7 +3060,7 @@ license:CC0
<software name="btlcb" cloneof="btlc">
<description>Big Trouble In Little China (set 3, Alternative)</description>
<year>1987</year>
- <publisher>Electric Dreams Software / Alternative</publisher>
+ <publisher>Alternative</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51766">
<rom name="big trouble in little china (alternative, alt).tzx" size="51766" crc="9b17895c" sha1="c73ba75141b646195ca002f80beaf12da57dc141"/>
@@ -3027,11 +3068,10 @@ license:CC0
</part>
</software>
-
<software name="bttf">
- <description>Back To The Future (set 1)</description>
+ <description>Back to the Future (set 1)</description>
<year>1985</year>
- <publisher>Electric Dreams Software</publisher>
+ <publisher>Electric Dreams</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="57611">
<rom name="back to the future.tzx" size="57611" crc="f18d5256" sha1="e49a5352326c3c4f25b187e052a832c1efd1d80e"/>
@@ -3040,9 +3080,9 @@ license:CC0
</software>
<software name="bttfp" cloneof="bttf">
- <description>Back To The Future (set 2, Proein)</description>
+ <description>Back to the Future (set 2, Proein)</description>
<year>1985</year>
- <publisher>Electric Dreams Software / Proein</publisher>
+ <publisher>Proein</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="57726">
<rom name="back to the future (proein).tzx" size="57726" crc="d425c5e2" sha1="47552735b21f540834bbf96df620fda81771e338"/>
@@ -3051,9 +3091,9 @@ license:CC0
</software>
<software name="bttff" cloneof="bttf">
- <description>Back To The Future (set 3, Firebird)</description>
+ <description>Back to the Future (set 3, Firebird)</description>
<year>1985</year>
- <publisher>Electric Dreams Software / Firebird</publisher>
+ <publisher>Firebird</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="63170">
<rom name="back to the future (firebird).tzx" size="63170" crc="de7c5b76" sha1="393042b3860f68cb5eefe32e103d2dbd01d4657c"/>
@@ -3062,9 +3102,9 @@ license:CC0
</software>
<software name="bttfpa" cloneof="bttf">
- <description>Back To The Future (Proein)</description>
+ <description>Back to the Future (Proein)</description>
<year>1985</year>
- <publisher>Electric Dreams Software / Proein</publisher>
+ <publisher>Proein</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="58060">
<rom name="back to the future (proein)_tzx120.tzx" size="58060" crc="51c9a792" sha1="6790a3cf17f1684d633c71d40e3056eccd72aee0"/>
@@ -3072,9 +3112,8 @@ license:CC0
</part>
</software>
-
<software name="bttf2">
- <description>Back To The Future - Part II</description>
+ <description>Back to the Future - Part II</description>
<year>1990</year>
<publisher>Image Works</publisher>
<part name="cass1" interface="spectrum_cass">
@@ -3090,9 +3129,9 @@ license:CC0
</software>
<software name="bttf2s" cloneof="bttf2">
- <description>Regreso Al Futuro - Parte II (MCM)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Regreso al Futuro - Parte II (MCM)</description>
+ <year>1990</year>
+ <publisher>MCM Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="46382">
<rom name="regreso al futuro - parte ii - side 1 (mcm).tzx" size="46382" crc="e6533a8e" sha1="cca6e60658e73a4909db8db26700e2956d9d9603"/>
@@ -3106,7 +3145,7 @@ license:CC0
</software>
<software name="bttf3">
- <description>Back To The Future - Part III</description>
+ <description>Back to the Future - Part III</description>
<year>1991</year>
<publisher>Image Works</publisher>
<part name="cass1" interface="spectrum_cass">
@@ -3121,10 +3160,26 @@ license:CC0
</part>
</software>
+ <software name="bttf3a" cloneof="bttf3">
+ <description>Regreso al Futuro - Parte III (MCM)</description>
+ <year>1991</year>
+ <publisher>MCM Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="28322">
+ <rom name="Regreso Al Futuro - Parte III (MCM) - Side 1.tzx" size="28322" crc="174d4af4" sha1="bc21a928a3e63c414858e06bea77c734c8836102"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="194794">
+ <rom name="Regreso Al Futuro - Parte III (MCM) - Side 2.tzx" size="194794" crc="e91360b1" sha1="3e22567d1e955df68e6ee92cb673df439d90a29a"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="beamride">
<description>Beamrider</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="36277">
<rom name="beamrider.tzx" size="36277" crc="d493743e" sha1="eaea80b155a451b07ff0518815ec713a2742779b"/>
@@ -3190,7 +3245,7 @@ license:CC0
<software name="ballblzr"> <!-- were 128k and 48k versions on the same tape? -->
<description>Ballblazer (set 1)</description>
<year>1986</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49844">
<rom name="ballblazer - 128k.tzx" size="49844" crc="548c5b2f" sha1="63805ec1837a68c688cec971fbb307f5eb31710c"/>
@@ -3206,7 +3261,7 @@ license:CC0
<software name="ballblzrr" cloneof="ballblzr">
<description>Ballblazer (set 2, Ricochet)</description>
<year>1986</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47686">
<rom name="ballblazer (ricochet).tzx" size="47686" crc="7f69df2c" sha1="f217646a32c2e92f01fe57ec24e993882afbc32a"/>
@@ -3217,7 +3272,7 @@ license:CC0
<software name="ballblaz">
<description>Ballblazer (set 3)</description>
<year>1986</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50196">
<rom name="ballblazer_tzx120.tzx" size="50196" crc="a263aa8d" sha1="9614e3ae1ac5663eab0b84f0bfbae1392b55e4d9"/>
@@ -3765,7 +3820,7 @@ license:CC0
</software>
<software name="beachhd">
- <description>Beach Head (set 1)</description>
+ <description>Beach-Head (set 1)</description>
<year>1984</year>
<publisher>U.S. Gold</publisher>
<part name="cass" interface="spectrum_cass">
@@ -3775,8 +3830,8 @@ license:CC0
</part>
</software>
- <software name="beachhda">
- <description>Beach Head (set 2, Americana)</description>
+ <software name="beachhda" cloneof="beachhd">
+ <description>Beach-Head (set 2, Americana)</description>
<year>1984</year>
<publisher>Americana</publisher>
<part name="cass" interface="spectrum_cass">
@@ -3787,9 +3842,9 @@ license:CC0
</software>
<software name="beachhdb" cloneof="beachhd">
- <description>Beach Head (set 3, Dro Soft)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Beach-Head (set 3, Dro Soft)</description>
+ <year>1988</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48518">
<rom name="beach head (dro soft).tzx" size="48518" crc="4c05f151" sha1="da026fcadc463d37d2d432703270a320af1b159e"/>
@@ -3798,7 +3853,7 @@ license:CC0
</software>
<software name="beachhdc" cloneof="beachhd">
- <description>Beach Head (set 4)</description>
+ <description>Beach-Head (set 4)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -3809,9 +3864,9 @@ license:CC0
</software>
<software name="beachhdd" cloneof="beachhd">
- <description>Beach Head (set 5, Americana)</description>
+ <description>Beach-Head (set 5, Americana)</description>
<year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <publisher>Americana</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49349">
<rom name="beach head (americana)_tzx120.tzx" size="49349" crc="c3263f1a" sha1="5939c88975e7100b29caa24226bd538b730d35cb"/>
@@ -3820,9 +3875,9 @@ license:CC0
</software>
<software name="beachhde" cloneof="beachhd">
- <description>Beach Head (set 6, Dro Soft)</description>
+ <description>Beach-Head (set 6, Dro Soft)</description>
<year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49239">
<rom name="beach head (dro soft)_tzx120.tzx" size="49239" crc="42b32acc" sha1="b45f667b71f2ddf376586c5341167a1a13b72e1e"/>
@@ -3831,7 +3886,7 @@ license:CC0
</software>
<software name="beachhd2">
- <description>Beach Head II (set 1)</description>
+ <description>Beach-Head II (set 1)</description>
<year>1985</year>
<publisher>U.S. Gold</publisher>
<part name="cass" interface="spectrum_cass">
@@ -3842,9 +3897,9 @@ license:CC0
</software>
<software name="beachhd2b" cloneof="beachhd2">
- <description>Beach Head II (set 2, Dro Soft)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Beach-Head II (Dro Soft)</description>
+ <year>1988</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="46134">
<rom name="beach head ii (dro soft).tzx" size="46134" crc="c128e5e0" sha1="93c8a646b4073beb74cdcd5ef63f7f9c9672b18c"/>
@@ -3853,9 +3908,9 @@ license:CC0
</software>
<software name="beachhd2a" cloneof="beachhd2">
- <description>Beach Head II (set 3, Americana)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Beach-Head II (Americana)</description>
+ <year>1987</year>
+ <publisher>Americana</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="46570">
<rom name="beach head ii - side a (americana).tzx" size="46570" crc="a1413480" sha1="1ea68b3729eab1862c7e04419abca5422cd68ee9"/>
@@ -3869,7 +3924,7 @@ license:CC0
</software>
<software name="beachhd2c" cloneof="beachhd2">
- <description>Beach Head II (set 4)</description>
+ <description>Beach-Head II (unknown)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -3879,6 +3934,17 @@ license:CC0
</part>
</software>
+ <software name="beachhd2d" cloneof="beachhd2">
+ <description>Beach-Head II (Erbe)</description>
+ <year>1985</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="50784">
+ <rom name="Beach Head II (Erbe).tzx" size="50784" crc="afc4a78a" sha1="bf4316ce4e59ea8161057d7ff308317a0a3742a3"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bobsleig">
<description>Bobsleigh (set 1)</description>
<year>1987</year>
@@ -5643,7 +5709,7 @@ license:CC0
</software>
<software name="commandoed" cloneof="commando">
- <description>Commando (set 3, EDOS)</description>
+ <description>Commando (EDOS)</description>
<year>1985</year>
<publisher>Elite Systems / EDOS</publisher>
<part name="cass" interface="spectrum_cass">
@@ -5654,8 +5720,8 @@ license:CC0
</software>
<software name="commandoen" cloneof="commando">
- <description>Commando (set 4, Encore)</description>
- <year>1985</year>
+ <description>Commando (Encore)</description>
+ <year>1988</year>
<publisher>Elite Systems / Encore</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49227">
@@ -5836,7 +5902,7 @@ license:CC0
<software name="chasehq">
<description>Chase HQ (set 1)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="121419">
<rom name="chase hq - side 1.tzx" size="121419" crc="448b75a0" sha1="9aec23de8ba019c2d5835bad746d236358f3403c"/>
@@ -5852,7 +5918,7 @@ license:CC0
<software name="chasehqe" cloneof="chasehq">
<description>Chase HQ (set 2, Erbe - Serie 5 Estrellas)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="117157">
<rom name="chase hq (erbe - serie 5 estrellas) - side a.tzx" size="117157" crc="b55f73f7" sha1="2e3ca60e68c9fe8cb67712b563cd98dcfb5dcebc"/>
@@ -5868,7 +5934,7 @@ license:CC0
<software name="chasehqhs" cloneof="chasehq">
<description>Chase HQ (set 3, The Hit Squad)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="117159">
<rom name="chase hq - side 1 (the hit squad).tzx" size="117159" crc="d61b78a4" sha1="cb0319fe97b932a12a9fa506536ee7e2c8147c37"/>
@@ -5884,7 +5950,7 @@ license:CC0
<software name="chasehqp" cloneof="chasehq">
<description>Chase HQ (set 4, Portugal)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="88080">
<rom name="chase hq - side 1 {portuguese}.tzx" size="88080" crc="c5e8bcbe" sha1="3e5ab05e7fbb236f09b66d3d00077b8bdbe000ad"/>
@@ -5900,7 +5966,7 @@ license:CC0
<software name="chasehqa" cloneof="chasehq">
<description>Chase HQ (set 5)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="121170">
<rom name="chase hq - side 1_tzx120.tzx" size="121170" crc="6d9a501d" sha1="836e7b545fd5002ae5cefb975712dbbf3b84bd2a"/>
@@ -5918,7 +5984,7 @@ license:CC0
<software name="sci">
<description>Special Criminal Investigation - Chase HQ 2</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="120141">
<rom name="chase hq 2.tzx" size="120141" crc="4440385c" sha1="1a54b3194e46e388d3dc0b52d9b3dce19f0ec385"/>
@@ -5929,7 +5995,7 @@ license:CC0
<software name="scia" cloneof="sci">
<description>Special Criminal Investigation - Chase HQ 2 (Erbe)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="120141">
<rom name="chase hq 2 (erbe).tzx" size="120141" crc="73a875d3" sha1="19bdc80282fdcf9f386612b7830ac0c09e6999a4"/>
@@ -5995,7 +6061,7 @@ license:CC0
<software name="cobra">
<description>Cobra</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48571">
<rom name="cobra.tzx" size="48571" crc="91374af1" sha1="2e91747fcd14b37a9ddda92e5f94f4ad5d7ad17e"/>
@@ -6006,7 +6072,7 @@ license:CC0
<software name="cobrahs" cloneof="cobra">
<description>Cobra (The Hit Squad)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49514">
<rom name="cobra (the hit squad).tzx" size="49514" crc="45c9f9db" sha1="89899dea937ed1a545d7885700ef81bd20d5df27"/>
@@ -6017,7 +6083,7 @@ license:CC0
<software name="cobraa" cloneof="cobra">
<description>Cobra (set 2)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48746">
<rom name="cobra - alternate.tzx" size="48746" crc="fdf76f3b" sha1="5da55a5e766df884d7dd5bf6462a916f4bd201e7"/>
@@ -7301,7 +7367,7 @@ license:CC0
<software name="deflektr">
<description>Deflektor</description>
<year>1987</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="58760">
<rom name="deflektor.tzx" size="58760" crc="45a49ade" sha1="ee96f6142c0f05ed7a65bc2db02befd0357b727b"/>
@@ -7400,7 +7466,7 @@ license:CC0
<software name="dbreed">
<description>Dragon Breed</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="37091">
<rom name="dragon breed - side 1.tzx" size="37091" crc="f8cc7469" sha1="d4f46801779b7d335c6dc60c4dec534284a9a6eb"/>
@@ -7416,7 +7482,7 @@ license:CC0
<software name="ddux">
<description>Dynamite Dux</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="60073">
<rom name="dynamite dux - side 1.tzx" size="60073" crc="d8e85c6c" sha1="0a5d453f5eb4bf3d19851e100d0ed23fdf9151ce"/>
@@ -7432,7 +7498,7 @@ license:CC0
<software name="dduxm" cloneof="ddux">
<description>Dynamite Dux (MCM)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="72445">
<rom name="dynamite dux - side 1 (mcm).tzx" size="72445" crc="5f456fd5" sha1="8252165c6e231f6650060be0e1ddf0c4d195ff76"/>
@@ -7448,7 +7514,7 @@ license:CC0
<software name="desgpenc">
<description>The Designer's Pencil</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="43145">
<rom name="the designer_s pencil.tzx" size="43145" crc="10d66dad" sha1="c6efd0b8a11e0fb23cba115cb44831b75c6ba795"/>
@@ -7666,7 +7732,7 @@ license:CC0
<software name="daleydec">
<description>Daley Thompson's Decathlon (set 1, large case)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49918">
<rom name="daley thompson_s decathlon - day 1 - large case.tzx" size="49918" crc="da38b28e" sha1="9a23a1d68274f688e6b26426cc90c9a4fc53f1c7"/>
@@ -7682,7 +7748,7 @@ license:CC0
<software name="daleydeca" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 2, small case)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49938">
<rom name="daley thompson_s decathlon - day 1 - small case.tzx" size="49938" crc="520ac64a" sha1="60eb4bd7820574bfc48641332328f177ff5690ac"/>
@@ -7698,7 +7764,7 @@ license:CC0
<software name="daleydechs" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 3, The Hit Squad)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="54722">
<rom name="daley thompson_s decathlon - day 1 (the hit squad).tzx" size="54722" crc="fcfce1f2" sha1="840c436a79a9492adcdc620aea35cb17a8ce6300"/>
@@ -7714,7 +7780,7 @@ license:CC0
<software name="daleydecz" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 4, Zafiro)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd / Zafiro</publisher>
+ <publisher>Zafiro</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49933">
<rom name="daley thompson_s decathlon - side a (zafiro).tzx" size="49933" crc="1ba40592" sha1="7e544e2e95468cbbebbff01ec1ec65f7c1a4a374"/>
@@ -7730,7 +7796,7 @@ license:CC0
<software name="daleydecl" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 6, large case)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50302">
<rom name="daley thompson_s decathlon - day 1 - large case_tzx120.tzx" size="50302" crc="f5d34fe7" sha1="fa43fe052345abeb1a2cd7747a7bb6bc4c51650a"/>
@@ -7746,7 +7812,7 @@ license:CC0
<software name="daleydecs" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 7, small case)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50334">
<rom name="daley thompson_s decathlon - day 1 - small case_tzx120.tzx" size="50334" crc="59d6bc9f" sha1="cc45332dfe6ae93fd33b00142cfc7188771e353b"/>
@@ -7762,7 +7828,7 @@ license:CC0
<software name="daleydecza" cloneof="daleydec">
<description>Daley Thompson's Decathlon (set 8, Zafiro)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd / Zafiro</publisher>
+ <publisher>Zafiro</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50313">
<rom name="daley thompson_s decathlon - side a (zafiro)_tzx120.tzx" size="50313" crc="c62a276f" sha1="dd3047f6b6810ecc226d7ad38074f55914b6bccc"/>
@@ -7778,7 +7844,7 @@ license:CC0
<software name="daleyoc">
<description>Daley Thompson's Olympic Challenge</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="128265">
<rom name="daley thompson_s olympic challenge - side 1.tzx" size="128265" crc="ccf88da7" sha1="f28bbadd0a05611f81a1d1ac72041a4be65154f8"/>
@@ -7794,7 +7860,7 @@ license:CC0
<software name="daleyochs" cloneof="daleyoc">
<description>Daley Thompson's Olympic Challenge (The Hit Squad)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="125986">
<rom name="daley thompson_s olympic challenge (the hit squad).tzx" size="125986" crc="d5f00878" sha1="85be1c32d016cee1f77a92b1777437cfe9cce75c"/>
@@ -7806,7 +7872,7 @@ license:CC0
<software name="daleyst">
<description>Daley Thompson's Supertest (set 1, 128k)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="128316">
<rom name="daley thompson_s supertest - 128k.tzx" size="128316" crc="79b1bed7" sha1="305e7fe3e653584de858739af2767d49bf33f61f"/>
@@ -7817,7 +7883,7 @@ license:CC0
<software name="daleysta" cloneof="daleyst">
<description>Daley Thompson's Supertest (set 2, 48k)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50646">
<rom name="daley thompson_s supertest - day 1 - 48k.tzx" size="50646" crc="5a5a6894" sha1="7b50c3c2cdbc746276c9e63cc9cd2b5af8e385fd"/>
@@ -7833,7 +7899,7 @@ license:CC0
<software name="daleysths" cloneof="daleyst">
<description>Daley Thompson's Supertest (set 3, 128k/48k, The Hit Squad)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="130140">
<rom name="daley thompson_s supertest - 128k (the hit squad).tzx" size="130140" crc="be64db49" sha1="935ba6c55c29c39661a4d5104b47448f0bc1e666"/>
@@ -7860,7 +7926,7 @@ license:CC0
<software name="daleystb" cloneof="daleyst">
<description>Daley Thompson's Supertest (set 5, 48k)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50368">
<rom name="daley thompson_s supertest - day 1 - 48k_tzx120.tzx" size="50368" crc="5674604d" sha1="c0ea81c9904ce547a68928d6e57a8ced83b9e5ab"/>
@@ -7974,7 +8040,7 @@ license:CC0
<software name="theduct">
<description>The Duct</description>
<year>1988</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47152">
<rom name="the duct.tzx" size="47152" crc="3fec12ab" sha1="3d56f585aa108b141566557d2f541b364b80636e"/>
@@ -8023,7 +8089,7 @@ license:CC0
<software name="dspirit">
<description>Dragon Spirit</description>
<year>1989</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="164413">
<rom name="dragon spirit.tzx" size="164413" crc="892add91" sha1="c579e0b6932cbaf324001a1f29da6e0b8bbd164e"/>
@@ -8034,7 +8100,7 @@ license:CC0
<software name="dspiriths" cloneof="dspirit">
<description>Dragon Spirit (The Hit Squad)</description>
<year>1989</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="164952">
<rom name="dragon spirit (the hit squad).tzx" size="164952" crc="cc18d6d1" sha1="73b376e03b156a8d9dfa556adbedfe95a3c25dc5"/>
@@ -8719,7 +8785,6 @@ license:CC0
</part>
</software>
-
<software name="exolon">
<description>Exolon</description>
<year>1987</year>
@@ -8742,8 +8807,19 @@ license:CC0
</part>
</software>
- <software name="eddduck" supported="no"> <!-- fails to load, last block issue? -->
- <description>Edd The Duck!</description>
+ <software name="eddduck">
+ <description>Edd the Duck! (bug fix)</description>
+ <year>1990</year>
+ <publisher>Impulze</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="44167">
+ <rom name="edd the duck (bugfix).tzx" size="44167" crc="dfc4785e" sha1="2be555fd806e9c9b47c20d099376ea0051428f57"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="eddducka" cloneof="eddduck" supported="no"> <!-- fails to load, last block issue? -->
+ <description>Edd the Duck!</description>
<year>1990</year>
<publisher>Impulze</publisher>
<part name="cass" interface="spectrum_cass">
@@ -8753,10 +8829,10 @@ license:CC0
</part>
</software>
- <software name="eddduckz" cloneof="eddduck" supported="no"> <!-- fails to load, last block issue? -->
- <description>Edd The Duck! (Zeppelin)</description>
+ <software name="eddduckb" cloneof="eddduck" supported="no"> <!-- fails to load, last block issue? -->
+ <description>Edd the Duck! (Zeppelin)</description>
<year>1990</year>
- <publisher>Impulze / Zeppelin Games</publisher>
+ <publisher>Zeppelin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="42959">
<rom name="edd the duck (zeppelin).tzx" size="42959" crc="7798008f" sha1="7795f01c2fdb2a9df18b86dce4bafd406b248682"/>
@@ -8767,7 +8843,7 @@ license:CC0
<software name="enduro">
<description>Enduro</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="14437">
<rom name="enduro.tzx" size="14437" crc="1d5f1906" sha1="4bcd9ce56165cabd56d5653fbace061cec9a8a00"/>
@@ -8789,7 +8865,7 @@ license:CC0
<software name="eidolon">
<description>The Eidolon (Ricochet)</description>
<year>1986</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="108001">
<rom name="the eidolon - side 1 (ricochet).tzx" size="108001" crc="2ee8d352" sha1="eff6c64bbed3fb3b142f538594fd09c32798f5eb"/>
@@ -8805,7 +8881,7 @@ license:CC0
<software name="enduror">
<description>Enduro Racer (set 1)</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50202">
<rom name="enduro racer.tzx" size="50202" crc="910b898b" sha1="1e52a9aaf9d75f525a0a5e4e84073b967b006bfe"/>
@@ -8816,7 +8892,7 @@ license:CC0
<software name="endurorp" cloneof="enduror">
<description>Enduro Racer (set 2, Proein)</description>
<year>1987</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50292">
<rom name="enduro racer (proein).tzx" size="50292" crc="4302bde7" sha1="c235754a2ff3209cb520411fe8b89d5032f6337b"/>
@@ -8827,7 +8903,7 @@ license:CC0
<software name="endurorhq" cloneof="enduror">
<description>Enduro Racer (set 3, The Hit Squad)</description>
<year>1987</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="52044">
<rom name="enduro racer (the hit squad).tzx" size="52044" crc="7e1b0acd" sha1="32549837747ae6494332a9d71929276f4c35f5b8"/>
@@ -8904,7 +8980,7 @@ license:CC0
<software name="esb">
<description>The Empire Strikes Back</description>
<year>1988</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="54541">
<rom name="the empire strikes back.tzx" size="54541" crc="5db9c840" sha1="63632ab59e98f7d792ce0c5ddccade6369af3de2"/>
@@ -8915,7 +8991,7 @@ license:CC0
<software name="esbhs" cloneof="esb">
<description>The Empire Strikes Back (The Hit Squad)</description>
<year>1988</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="54187">
<rom name="the empire strikes back (the hit squad).tzx" size="54187" crc="fbb62a16" sha1="5370bef4f34ca38104631011fffbf90b16738fc4"/>
@@ -9482,7 +9558,7 @@ license:CC0
<software name="fbomber"> <!-- all data on single side? -->
<description>Fighter Bomber</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="167502">
<rom name="fighter bomber.tzx" size="167502" crc="9d37b016" sha1="5629aca2ae6db98707afd68fb4657779596776a3"/>
@@ -9493,7 +9569,7 @@ license:CC0
<software name="fbomberm" cloneof="fbomber">
<description>Fighter Bomber (MCM)</description>
<year>1990</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50412">
<rom name="fighter bomber - side 1 (mcm).tzx" size="50412" crc="f4758c50" sha1="c7f97a348465cdfd27f9b1b51aef320b0e882836"/>
@@ -9509,7 +9585,7 @@ license:CC0
<software name="fgtsocr">
<description>Fighting Soccer</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="110962">
<rom name="fighting soccer.tzx" size="110962" crc="ff9c5ecf" sha1="77219a6e29864e2e4f187af52bede18799ec90e5"/>
@@ -9544,7 +9620,7 @@ license:CC0
<software name="friday13">
<description>Friday The 13th</description>
<year>1986</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="44038">
<rom name="friday the 13th.tzx" size="44038" crc="ef7fddae" sha1="d3791c6b7393ae8aceac2775e0405459abaf997b"/>
@@ -9632,7 +9708,7 @@ license:CC0
<software name="frankie">
<description>Frankie Goes to Hollywood - The Computer Game (set 1)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51115">
<rom name="frankie.tzx" size="51115" crc="eced0ddb" sha1="367472bc6b8bba9b96ca12c999ff12c70fdf3039"/>
@@ -9643,7 +9719,7 @@ license:CC0
<software name="frankiea" cloneof="frankie">
<description>Frankie Goes to Hollywood - The Computer Game (set 2)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50837">
<rom name="frankie goes to hollywood_tzx120.tzx" size="50837" crc="e1fea946" sha1="94e648f8be911e9da28206db88ce721cf5660b79"/>
@@ -10608,7 +10684,7 @@ license:CC0
<software name="ghobust">
<description>Ghostbusters (set 1, 128k)</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="70309">
<rom name="ghostbusters - 128k.tzx" size="70309" crc="b12cc173" sha1="f26240af9b18f6c1d0be8cc9c8770334055d2135"/>
@@ -10616,10 +10692,21 @@ license:CC0
</part>
</software>
+ <software name="ghobusta" cloneof="ghobust">
+ <description>Ghostbusters (set 2, 128k)</description>
+ <year>1984</year>
+ <publisher>Activision</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="70710">
+ <rom name="ghostbusters - 128k_tzx120.tzx" size="70710" crc="0cb2d310" sha1="4bd278b31f86e70959bd01c1c22272e1dec388b7"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ghobust48" cloneof="ghobust">
- <description>Ghostbusters (set 2, 48k)</description>
+ <description>Ghostbusters (set 1, 48k)</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass2" interface="spectrum_cass">
<dataarea name="cass" size="41601">
<rom name="ghostbusters - 48k.tzx" size="41601" crc="277a58c3" sha1="5534f6ef8be0bf099ec913fa89adf89d90f52e68"/>
@@ -10627,20 +10714,19 @@ license:CC0
</part>
</software>
- <!-- NC128 -->
- <software name="ghobustp" cloneof="ghobust">
- <description>Ghostbusters (set 3, Proein)</description>
+ <software name="ghobust48a" cloneof="ghobust">
+ <description>Ghostbusters (set 2, 48k)</description>
<year>1984</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="40819">
- <rom name="ghostbusters (proein).tzx" size="40819" crc="b61fec4b" sha1="8a84818ab407f10a26b691658febf900b0fa2515"/>
+ <dataarea name="cass" size="41314">
+ <rom name="ghostbusters_tzx120.tzx" size="41314" crc="3606fb43" sha1="5242fc02c6a99ee34724b3ae3a103e9e742535f0"/>
</dataarea>
</part>
</software>
<software name="ghobusts" cloneof="ghobust">
- <description>Ghostbusters (set 4, Spectrum Vision)</description>
+ <description>Ghostbusters (Spectrum Vision)</description>
<year>1984</year>
<publisher>Activision Inc / Spectrum Vision</publisher>
<part name="cass" interface="spectrum_cass">
@@ -10651,9 +10737,9 @@ license:CC0
</software>
<software name="ghobustr" cloneof="ghobust">
- <description>Ghostbusters (set 5, Ricochet)</description>
+ <description>Ghostbusters (Ricochet)</description>
<year>1984</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="38601">
<rom name="ghostbusters (ricochet).tzx" size="38601" crc="696394cc" sha1="a38315bc3eae06a6e9437f249681732aea34c006"/>
@@ -10661,41 +10747,31 @@ license:CC0
</part>
</software>
- <software name="ghobustpa" cloneof="ghobust">
- <description>Ghostbusters (set 6, Proein)</description>
- <year>1984</year>
- <publisher>Activision Inc / Proein</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="41199">
- <rom name="ghostbusters (proein)_tzx120.tzx" size="41199" crc="aa61a813" sha1="f74fd70d17ef5e19f5164b29710842229c5640dd"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ghobusta" cloneof="ghobust">
- <description>Ghostbusters (set 7, 128k)</description>
- <year>1984</year>
- <publisher>Activision Inc</publisher>
+ <!-- NC128 -->
+ <software name="ghobustp" cloneof="ghobust">
+ <description>Ghostbusters (set 1, Proein)</description>
+ <year>1985</year>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="70710">
- <rom name="ghostbusters - 128k_tzx120.tzx" size="70710" crc="0cb2d310" sha1="4bd278b31f86e70959bd01c1c22272e1dec388b7"/>
+ <dataarea name="cass" size="40819">
+ <rom name="ghostbusters (proein).tzx" size="40819" crc="b61fec4b" sha1="8a84818ab407f10a26b691658febf900b0fa2515"/>
</dataarea>
</part>
</software>
- <software name="ghobust48a" cloneof="ghobust">
- <description>Ghostbusters (set 8, 48k)</description>
+ <software name="ghobustpa" cloneof="ghobust">
+ <description>Ghostbusters (set 2, Proein)</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="41314">
- <rom name="ghostbusters_tzx120.tzx" size="41314" crc="3606fb43" sha1="5242fc02c6a99ee34724b3ae3a103e9e742535f0"/>
+ <dataarea name="cass" size="41199">
+ <rom name="ghostbusters (proein)_tzx120.tzx" size="41199" crc="aa61a813" sha1="f74fd70d17ef5e19f5164b29710842229c5640dd"/>
</dataarea>
</part>
</software>
<software name="ghobustlsh" cloneof="ghobust">
- <description>Ghostbusters (set 9, 128k, loading screen hack)</description>
+ <description>Ghostbusters (128k, loading screen hack)</description>
<year>19??</year>
<publisher>hack</publisher>
<part name="cass" interface="spectrum_cass">
@@ -10706,7 +10782,7 @@ license:CC0
</software>
<software name="ghobust48alsh" cloneof="ghobust">
- <description>Ghostbusters (set 10, 48k, loading screen hack)</description>
+ <description>Ghostbusters (48k, loading screen hack)</description>
<year>19??</year>
<publisher>hack</publisher>
<part name="cass" interface="spectrum_cass">
@@ -10718,9 +10794,9 @@ license:CC0
<software name="ghobust2">
- <description>Ghostbusters II (set 1)</description>
+ <description>Ghostbusters II</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="140373">
<rom name="ghostbusters ii.tzx" size="140373" crc="071370c3" sha1="fe57569699f00133ac55bb672b6cafb2a6f5e91e"/>
@@ -10729,9 +10805,9 @@ license:CC0
</software>
<software name="ghobust2h" cloneof="ghobust2">
- <description>Ghostbusters II (set 2, The Hit Squad)</description>
+ <description>Ghostbusters II (The Hit Squad)</description>
<year>1989</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="140467">
<rom name="ghostbusters ii (the hit squad).tzx" size="140467" crc="aad34a31" sha1="60d6d82f8802eb169c798224c91d74bbb6377a3c"/>
@@ -10740,9 +10816,9 @@ license:CC0
</software>
<software name="cazafan2" cloneof="ghobust2">
- <description>Ghostbusters II (set 3, Cazafantasmas II, MCM)</description>
+ <description>Ghostbusters II (set 1, Cazafantasmas II, MCM)</description>
<year>1989</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="139744">
<rom name="cazafantasmas ii (mcm).tzx" size="139744" crc="a767e682" sha1="bc9a102911090a865f5fc660b99c384773a423e7"/>
@@ -10751,9 +10827,9 @@ license:CC0
</software>
<software name="cazafan2a" cloneof="ghobust2">
- <description>Ghostbusters II (set 4, Cazafantasmas II, MCM)</description>
+ <description>Ghostbusters II (set 2, Cazafantasmas II, MCM)</description>
<year>1989</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="139748">
<rom name="cazafantasmas ii (mcm) (alt).tzx" size="139748" crc="0558909a" sha1="143866f9bf70cb747ad7e67a745986684130ae60"/>
@@ -10777,7 +10853,7 @@ license:CC0
<software name="grumpy">
<description>Grumpy Gumphrey Supersleuth</description>
<year>1985</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49815">
<rom name="grumpy gumphrey super sleuth.tzx" size="49815" crc="ee6ce707" sha1="d01e2bd43433ef92dfdcc9f2d5b070b0fded0190"/>
@@ -10938,7 +11014,7 @@ license:CC0
<software name="realgb"> <!-- all data on single side -->
<description>The Real Ghostbusters</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="232847">
<rom name="the real ghostbusters.tzx" size="232847" crc="f73747d9" sha1="e3d78ea4a5fbf5edc4a03036943de48241f8fe13"/>
@@ -10949,7 +11025,7 @@ license:CC0
<software name="realgbm" cloneof="realgb">
<description>The Real Ghostbusters (MCM)</description>
<year>1989</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="39819">
<rom name="the real ghostbusters - side 1 (mcm).tzx" size="39819" crc="0830a816" sha1="44373e45860347b09a6b8b8d4cecb5f6688b5749"/>
@@ -10965,7 +11041,7 @@ license:CC0
<software name="realgbmhs" cloneof="realgb">
<description>The Real Ghostbusters (The Hit Squad)</description>
<year>1989</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="44836">
<rom name="the real ghostbusters - side 1 (the hit squad).tzx" size="44836" crc="da7e64c7" sha1="3952a862b967890b5798df37ce3570f3dcc25b74"/>
@@ -10981,7 +11057,7 @@ license:CC0
<software name="galgames">
<description>Galactic Games</description>
<year>1988</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="104179">
<rom name="galactic games - side a.tzx" size="104179" crc="d626ac03" sha1="ddb0e7da8275712be1e818b7ce3c83a7a9bb5632"/>
@@ -11000,7 +11076,7 @@ license:CC0
<software name="gforce">
<description>Galaxy Force</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="45826">
<rom name="galaxy force - side a.tzx" size="45826" crc="aeb58a81" sha1="8a37f5e282d4e5b10b51c243cc9250c2621b0123"/>
@@ -11016,7 +11092,7 @@ license:CC0
<software name="gforcem" cloneof="gforce">
<description>Galaxy Force (MCM)</description>
<year>1989</year>
- <publisher>Activision Inc / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="40669">
<rom name="galaxy force - side 1 (mcm).tzx" size="40669" crc="d723f7c7" sha1="83221e203483a051802ed493ba7c60bea63a62bd"/>
@@ -11054,7 +11130,7 @@ license:CC0
<software name="guadalca">
<description>Guadalcanal</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="46570">
<rom name="guadalcanal.tzx" size="46570" crc="bb477a2c" sha1="6ef50cc04e77cfb6b28d76bfca587c4a144f637c"/>
@@ -11305,7 +11381,7 @@ license:CC0
<software name="greatesc">
<description>The Great Escape (set 1)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51646">
<rom name="the great escape.tzx" size="51646" crc="da487485" sha1="0183c32e3e8edc14254caca71a6226c7b09f4bb1"/>
@@ -11316,7 +11392,7 @@ license:CC0
<software name="greatesce" cloneof="greatesc">
<description>The Great Escape (set 2, Erbe)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51327">
<rom name="the great escape (erbe).tzx" size="51327" crc="42f881de" sha1="e564741d8e18ad9bc25b279a8b00ecf6309369ae"/>
@@ -11327,7 +11403,7 @@ license:CC0
<software name="greatescera" cloneof="greatesc">
<description>The Great Escape (set 3, Erbe, Small Cassette)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51304">
<rom name="the great escape - small cassette (erbe).tzx" size="51304" crc="cb34c207" sha1="4d4ed2d3d33bf77b2b852e0cd774d9c3a63ccc0c"/>
@@ -11338,7 +11414,7 @@ license:CC0
<software name="greateschs" cloneof="greatesc">
<description>The Great Escape (set 4, The Hit Squad)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51646">
<rom name="the great escape (the hit squad).tzx" size="51646" crc="2c9401de" sha1="00e78af6b1d8b429f3f9d9d0694aa45659e33509"/>
@@ -11349,7 +11425,7 @@ license:CC0
<software name="greatescp" cloneof="greatesc">
<description>The Great Escape (set 5, Portugal)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="44939">
<rom name="the great escape {portuguese}.tzx" size="44939" crc="5c0d7ad5" sha1="d4d3bc254186426cddc3b2bfc2e209a9070fe329"/>
@@ -11360,7 +11436,7 @@ license:CC0
<software name="greatesca" cloneof="greatesc">
<description>The Great Escape (set 6)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51325">
<rom name="the great escape_tzx120.tzx" size="51325" crc="251fe86f" sha1="1b183ddefbfc2a0cfbcb6da8b11f2436f3f1e48e"/>
@@ -11830,7 +11906,7 @@ license:CC0
<software name="headheel">
<description>Head Over Heels (set 1)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50595">
<rom name="head over heels.tzx" size="50595" crc="ade4881f" sha1="5eefaea7907f1ab84fb5be62b62072147ee3a3ff"/>
@@ -11841,7 +11917,7 @@ license:CC0
<software name="headheelhs" cloneof="headheel">
<description>Head Over Heels (set 2, The Hit Squad)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51739">
<rom name="head over heels (the hit squad).tzx" size="51739" crc="0b21205e" sha1="6d8b166043d8a818ea9efb6411fc8ac6da3b5236"/>
@@ -11852,7 +11928,7 @@ license:CC0
<software name="headheela" cloneof="headheel">
<description>Head Over Heels (set 3)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51082">
<rom name="head over heels_tzx120.tzx" size="51082" crc="d52969f8" sha1="6e09d351dc32872f84c2a714b880e4217f6e784a"/>
@@ -11908,7 +11984,7 @@ license:CC0
<software name="howrduck">
<description>Howard The Duck</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41763">
<rom name="howard the duck.tzx" size="41763" crc="a2d63595" sha1="483d472e84253b5ea8c9da93568c664e3f18e02e"/>
@@ -11919,7 +11995,7 @@ license:CC0
<software name="howrduckp" cloneof="howrduck">
<description>Howard The Duck (Proein)</description>
<year>1987</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41852">
<rom name="howard the duck (proein).tzx" size="41852" crc="0d62e4be" sha1="af7eacf04c9a8f52afce63e653774a528fb99008"/>
@@ -11952,7 +12028,7 @@ license:CC0
<software name="hudhawk">
<description>Hudson Hawk</description>
<year>1991</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="115842">
<rom name="hudson hawk.tzx" size="115842" crc="7aee8426" sha1="cde6983f522e6476a42186c67340119ff557afc4"/>
@@ -11963,7 +12039,7 @@ license:CC0
<software name="hudhawkhs" cloneof="hudhawk">
<description>Hudson Hawk (The Hit Squad)</description>
<year>1991</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="114735">
<rom name="hudson hawk (the hit squad).tzx" size="114735" crc="fa9a3ef0" sha1="13f5c7aae4cc97d35eb7671cdb30881e600f60e2"/>
@@ -12147,7 +12223,7 @@ license:CC0
<software name="hacker">
<description>Hacker (set 1, 128k)</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="42311">
<rom name="hacker - 128k.tzx" size="42311" crc="6b6432ae" sha1="9aeb865a4b473119f9ad77b94ee8c67bac855b4e"/>
@@ -12158,7 +12234,7 @@ license:CC0
<software name="hacker48" cloneof="hacker">
<description>Hacker (set 2, 48k)</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass2" interface="spectrum_cass">
<dataarea name="cass" size="42966">
<rom name="hacker - 48k.tzx" size="42966" crc="b047071f" sha1="41b8d92d3510a0d2d749f07393edfc8089cd0d9e"/>
@@ -12169,7 +12245,7 @@ license:CC0
<software name="hackerp" cloneof="hacker">
<description>Hacker (set 3, Proein)</description>
<year>1985</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50278">
<rom name="hacker (proein).tzx" size="50278" crc="63c26304" sha1="a462eca01ab18a576be83931877f4501726eb6db"/>
@@ -12180,7 +12256,7 @@ license:CC0
<software name="hackerr" cloneof="hacker">
<description>Hacker (set 4, Ricochet)</description>
<year>1985</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="40247">
<rom name="hacker (ricochet).tzx" size="40247" crc="63d9d66d" sha1="6b7447bdc3a7110775c714bd039836dceb48279c"/>
@@ -12226,7 +12302,7 @@ license:CC0
<software name="hacker2">
<description>Hacker 2</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39186">
<rom name="hacker 2.tzx" size="39186" crc="9e50dbbf" sha1="d63609ca4fd692a1eb68d202ef1f2962323a15a5"/>
@@ -12248,7 +12324,7 @@ license:CC0
<software name="hero">
<description>H.E.R.O</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="38131">
<rom name="h.e.r.o.tzx" size="38131" crc="8c36c95c" sha1="2d902843bd2ad94662335083c19eb1c03198dc92"/>
@@ -12259,7 +12335,7 @@ license:CC0
<software name="highfron">
<description>High Frontier</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="30781">
<rom name="high frontier.tzx" size="30781" crc="b40a90fe" sha1="1a0ebdf6afeb4cf787d6e726953f5b0af3a3821b"/>
@@ -12270,7 +12346,7 @@ license:CC0
<software name="hotrod">
<description>Hot Rod</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="51980">
<rom name="hot rod - side 1.tzx" size="51980" crc="2e14af56" sha1="bd5622e353feb8400c97e87d94805c8c77ad19af"/>
@@ -12401,7 +12477,7 @@ license:CC0
<software name="hunchbak">
<description>Hunchback (set 1)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="43507">
<rom name="hunchback.tzx" size="43507" crc="96725da2" sha1="6f26c42e3e83ebbf65e9271d3cd9908ac9f111f3"/>
@@ -12412,7 +12488,7 @@ license:CC0
<software name="hunchbaka" cloneof="hunchbak">
<description>Hunchback (set 2)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="43501">
<rom name="hunchback - alternate.tzx" size="43501" crc="9b931232" sha1="eb8463e93a514d3696d330e2174b0bb8b0e4323a"/>
@@ -12423,7 +12499,7 @@ license:CC0
<software name="hunchadv">
<description>Hunchback - The Adventure</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="32154">
<rom name="hunchback - the adventure - game.tzx" size="32154" crc="62daf0a8" sha1="a50b68388185a4be5c18c8ebf3f512ef4f29db51"/>
@@ -12449,7 +12525,7 @@ license:CC0
<software name="hunchbk2">
<description>Hunchback II (set 1)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50505">
<rom name="hunchback ii.tzx" size="50505" crc="000dc065" sha1="41bfc4c7a5440d657b7eb8e1a2a47d4b6b4996dd"/>
@@ -12460,7 +12536,7 @@ license:CC0
<software name="hunchbk2a" cloneof="hunchbk2">
<description>Hunchback II (set 2)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50624">
<rom name="hunchback ii - alternate - side a.tzx" size="50624" crc="1d8bafe6" sha1="29d18cc15de3ab0109f51f1e8035c7e5079478d9"/>
@@ -12476,7 +12552,7 @@ license:CC0
<software name="hunchbk2z" cloneof="hunchbk2">
<description>Hunchback II (set 3, Zafi Chip)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd / Zafi Chip</publisher>
+ <publisher>Zafi Chip</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50505">
<rom name="hunchback ii (zafi chip).tzx" size="50505" crc="34122573" sha1="efc2052e582a116790129bef3a3851381ae621c3"/>
@@ -12487,7 +12563,7 @@ license:CC0
<software name="hunchbk2b" cloneof="hunchbk2">
<description>Hunchback II (set 4)</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50735">
<rom name="hunchback ii_tzx120.tzx" size="50735" crc="2f1e26a7" sha1="5ca2c330a1ac7a6058f9bcacf193d53194d7bbdd"/>
@@ -13124,7 +13200,7 @@ license:CC0
<software name="offroad">
<description>Ivan 'Ironman' Stewart's Super Off Road Racer</description>
<year>1990</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50294">
<rom name="ivan _ironman_ stewart_s super off road racer.tzx" size="50294" crc="a45b6465" sha1="d28df99313c61adb12364793c098fe879228f597"/>
@@ -13135,7 +13211,7 @@ license:CC0
<software name="offroada" cloneof="offroad">
<description>Ivan 'Ironman' Stewart's Super Off Road Racer (Tronix)</description>
<year>1990</year>
- <publisher>Virgin Games Ltd / Tronix</publisher>
+ <publisher>Tronix</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50294">
<rom name="ivan _ironman_ stewart_s super off road racer (tronix).tzx" size="50294" crc="c5e7e31e" sha1="480408eae6026e781b03990b8367bb23a760e685"/>
@@ -13287,7 +13363,7 @@ license:CC0
</software>
<software name="imatchdy">
- <description>International Match Day (set 1)</description>
+ <description>International Match Day</description>
<year>1985</year>
<publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
@@ -13298,9 +13374,9 @@ license:CC0
</software>
<software name="imatchdyer" cloneof="imatchdy">
- <description>International Match Day (set 2, Erbe / Investronica)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>International Match Day (Investronica)</description>
+ <year>1985</year>
+ <publisher>Investronica</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="100428">
<rom name="international match day (erbe).tzx" size="100428" crc="842e7de4" sha1="e6c4ae4d232fdb475623c58df17b1326bf6b2d30"/>
@@ -13309,7 +13385,7 @@ license:CC0
</software>
<software name="imatchdya" cloneof="imatchdy">
- <description>International Match Day (Set 3)</description>
+ <description>International Match Day (alternate)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -14435,7 +14511,7 @@ license:CC0
<software name="knightmr">
<description>Knightmare</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="46680">
<rom name="knightmare.tzx" size="46680" crc="6e7944de" sha1="04480af2147ff16f01ea2e504ec88ba4134b9f1a"/>
@@ -14446,7 +14522,7 @@ license:CC0
<software name="knightmrp" cloneof="knightmr">
<description>Knightmare (Proein)</description>
<year>1987</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="46762">
<rom name="knightmare (proein).tzx" size="46762" crc="6bb61e4f" sha1="5afe78f512cd6edf3fe4b9af77a18605def64679"/>
@@ -14457,7 +14533,7 @@ license:CC0
<software name="knightmrr" cloneof="knightmr">
<description>Knightmare (Ricochet)</description>
<year>1987</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="46312">
<rom name="knightmare (ricochet).tzx" size="46312" crc="713b08fd" sha1="b5e53e90f1162745320b05ea3e7559d7815b659c"/>
@@ -14479,7 +14555,7 @@ license:CC0
<software name="koronis">
<description>Koronis Rift (set 1)</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="59041">
<rom name="koronis rift - alternate - side a.tzx" size="59041" crc="6dbf7ed1" sha1="d156a414aa99c045ef43530d416a6409f89e73d8"/>
@@ -14495,7 +14571,7 @@ license:CC0
<software name="koronisa" cloneof="koronis"> <!-- all data on one side? -->
<description>Koronis Rift (Set 2)</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="98057">
<rom name="koronis rift.tzx" size="98057" crc="dfc2eb28" sha1="09d5c2598710b3bbdcfcc9feef2560c3076db7a0"/>
@@ -14657,7 +14733,7 @@ license:CC0
<software name="klax">
<description>Klax</description>
<year>1990</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="131532">
<rom name="klax.tzx" size="131532" crc="5abcf9fd" sha1="3fc1a2cb39f8df7697bd0b159bdb44df6e239cba"/>
@@ -14668,7 +14744,7 @@ license:CC0
<software name="klaxhs" cloneof="klax">
<description>Klax (The Hit Squad)</description>
<year>1990</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="131520">
<rom name="klax (the hit squad).tzx" size="131520" crc="70232f58" sha1="8a4f81aeedf55a78a05f0d6cfb43a2d5b2d67bd1"/>
@@ -14679,7 +14755,7 @@ license:CC0
<software name="klaxe" cloneof="klax">
<description>Klax (Erbe)</description>
<year>1990</year>
- <publisher>Domark Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="134675">
<rom name="klax (erbe).tzx" size="134675" crc="74299454" sha1="2a3c574d674a8d1ea4f7adcd9b055ee8f0588bf9"/>
@@ -15385,7 +15461,7 @@ license:CC0
<software name="lcp">
<description>Little Computer People</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="139025">
<rom name="little computer people.tzx" size="139025" crc="5031ccbd" sha1="1c910d4264738f5a7609eaf6fde144556b5279b8"/>
@@ -15651,7 +15727,7 @@ license:CC0
<software name="lotus">
<description>Lotus Esprit Turbo Challenge</description>
<year>1990</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="94151">
<rom name="lotus esprit turbo challenge - side 1.tzx" size="94151" crc="304c9224" sha1="851c682ad55014981c8bb227569f3af0c06596df"/>
@@ -16554,7 +16630,7 @@ license:CC0
<software name="mndshadw">
<description>Mind Shadow (set 1)</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="124128">
<rom name="mind shadow - side a.tzx" size="124128" crc="25a0317f" sha1="fd60910743c8b31894a35163ceea0fdff9487691"/>
@@ -16837,7 +16913,7 @@ license:CC0
<software name="mario">
<description>Mario Bros (set 1)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45160">
<rom name="mario bros.tzx" size="45160" crc="e631869e" sha1="fe808995d64d76bf07d0697848a14406afe172f6"/>
@@ -16848,7 +16924,7 @@ license:CC0
<software name="marioa" cloneof="mario">
<description>Mario Bros (set 2, Spectrum +2)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="57685">
<rom name="mario bros +2.tzx" size="57685" crc="bbf825a9" sha1="38478575ab9f6bca8bbd7dd09e22fa90a9e46a46"/>
@@ -16859,7 +16935,7 @@ license:CC0
<software name="mariob" cloneof="mario">
<description>Mario Bros (Erbe)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="42512">
<rom name="mario bros (erbe).tzx" size="42512" crc="726e5003" sha1="a53f8ab7a6b6c9155e0e2c18e721a4b8beba88e4"/>
@@ -16881,7 +16957,7 @@ license:CC0
<software name="marioc" cloneof="mario">
<description>Mario Bros (set 4)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45913">
<rom name="mario bros_tzx120.tzx" size="45913" crc="48a91698" sha1="d44d8c71e288727ba8e13d41596ab81bbd650fc0"/>
@@ -16893,7 +16969,7 @@ license:CC0
<software name="midres">
<description>Midnight Resistance</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="131656">
<rom name="midnight resistance - 128k.tzx" size="131656" crc="626562b4" sha1="2ffc267f9b8d9ff236de7384043f674ae6140b4e"/>
@@ -16909,7 +16985,7 @@ license:CC0
<software name="midreshs" cloneof="midres">
<description>Midnight Resistance (The Hit Squad)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="131971">
<rom name="midnight resistance - 128k (the hit squad).tzx" size="131971" crc="db438300" sha1="a3e610281d883af7adf1a6af4c333d1253331c1d"/>
@@ -16925,7 +17001,7 @@ license:CC0
<software name="midrese" cloneof="midres">
<description>Midnight Resistance (Erbe)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="127159">
<rom name="midnight resistance - side 1 (erbe).tzx" size="127159" crc="709bd1f8" sha1="adf8078bd452c8477677d6d646a984d18c7fa936"/>
@@ -17049,7 +17125,7 @@ license:CC0
<software name="mrwimpy">
<description>Mr Wimpy</description>
<year>1984</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="34941">
<rom name="mr wimpy.tzx" size="34941" crc="1353dba1" sha1="24bba0cdb1e6ea41131b75ef5a3cfcd2ac21b580"/>
@@ -17137,7 +17213,7 @@ license:CC0
<software name="miamiv">
<description>Miami Vice</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50155">
<rom name="miami vice.tzx" size="50155" crc="05ef644e" sha1="e6b1d3280591c297b61fd89a25d6cd09291f2649"/>
@@ -17148,7 +17224,7 @@ license:CC0
<software name="miamivhs" cloneof="miamiv">
<description>Miami Vice (The Hit Squad)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="55982">
<rom name="miami vice (the hit squad).tzx" size="55982" crc="b82b5364" sha1="0e434062c646a93364cb2ac077316571af582059"/>
@@ -17159,7 +17235,7 @@ license:CC0
<software name="miamiver" cloneof="miamiv">
<description>Miami Vice (Erbe)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51232">
<rom name="miami vice (erbe).tzx" size="51232" crc="4879b517" sha1="a90f1866963d96c10f6fdf32c48c30b2869fa9fb"/>
@@ -17179,7 +17255,7 @@ license:CC0
</software>
<software name="matchday">
- <description>Match Day (set 1)</description>
+ <description>Match Day</description>
<year>1984</year>
<publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
@@ -17189,10 +17265,21 @@ license:CC0
</part>
</software>
- <software name="matchdayhs" cloneof="matchday">
- <description>Match Day (set 2, The Hit Squad)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdaya" cloneof="matchday">
+ <description>Match Day (IBSA)</description>
+ <year>1990</year>
+ <publisher>IBSA</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="47999">
+ <rom name="Match Day (IBSA - The Hit Squad).tzx" size="47999" crc="97097d89" sha1="3c2d8d88447e5a358d0ee5eca80ac8a7d5835624"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="matchdayb" cloneof="matchday">
+ <description>Match Day (The Hit Squad)</description>
+ <year>1990</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49979">
<rom name="match day (the hit squad).tzx" size="49979" crc="55812a53" sha1="c5dd7a55c5087363c9ad87db51c9e81d0bd8bafe"/>
@@ -17200,10 +17287,10 @@ license:CC0
</part>
</software>
- <software name="matchdayza" cloneof="matchday">
- <description>Match Day (set 3, Zafiro)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdayc" cloneof="matchday">
+ <description>Match Day (Zafiro)</description>
+ <year>1985</year>
+ <publisher>Zafiro</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50113">
<rom name="match day (zafiro).tzx" size="50113" crc="f6f18874" sha1="e7b6501f541c9f1b647462bf148ce5636a57ec96"/>
@@ -17211,8 +17298,8 @@ license:CC0
</part>
</software>
- <software name="matchdayhsa" cloneof="matchday">
- <description>Match Day (set 4, The Hit Squad)</description>
+ <software name="matchdayd" cloneof="matchday">
+ <description>Match Day (The Hit Squad, alternate)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -17222,10 +17309,10 @@ license:CC0
</part>
</software>
- <software name="matchdayzaa" cloneof="matchday">
- <description>Match Day (set 5, Zafiro)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdaye" cloneof="matchday">
+ <description>Match Day (Zafiro, alternate)</description>
+ <year>1985</year>
+ <publisher>Zafiro</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50590">
<rom name="match day (zafiro)_tzx120.tzx" size="50590" crc="948e774a" sha1="6d62a25b0df068ab2918c5d9c79d80222d2a5af8"/>
@@ -17233,8 +17320,8 @@ license:CC0
</part>
</software>
- <software name="matchdaya" cloneof="matchday">
- <description>Match Day (set 6)</description>
+ <software name="matchdayf" cloneof="matchday">
+ <description>Match Day (alternate)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -17867,7 +17954,7 @@ license:CC0
<software name="norstar">
<description>North Star</description>
<year>1988</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49698">
<rom name="northstar.tzx" size="49698" crc="04f03cc8" sha1="7eadc832d0fd3446e5e2aea5a259dd9805a157ac"/>
@@ -17988,7 +18075,7 @@ license:CC0
<software name="tnzs">
<description>The New Zealand Story</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="200590">
<rom name="the new zealand story - side 1.tzx" size="200590" crc="643231a6" sha1="5db9846c6ea762c497acee3b5c97540c7f97f580"/>
@@ -18004,7 +18091,7 @@ license:CC0
<software name="tnzse" cloneof="tnzs">
<description>The New Zealand Story (Erbe)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="52491">
<rom name="the new zealand story - side 1 (erbe).tzx" size="52491" crc="6315ce35" sha1="2112468ccb9d50cd28986ccfe9926262ed4cd0bc"/>
@@ -18020,7 +18107,7 @@ license:CC0
<software name="tnzshs" cloneof="tnzs"> <!-- all data on one side -->
<description>The New Zealand Story (The Hit Squad)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="200855">
<rom name="the new zealand story (the hit squad).tzx" size="200855" crc="fa56116b" sha1="1fe5c8553239cb6f7785608b614ef26530b0caee"/>
@@ -18031,7 +18118,7 @@ license:CC0
<software name="nspirit">
<description>Ninja Spirit</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="52604">
<rom name="ninja spirit - side a.tzx" size="52604" crc="8881723d" sha1="d728b56eeff5e043cc7012d7a0ee05ee2841c5d1"/>
@@ -18047,7 +18134,7 @@ license:CC0
<software name="nspiritm" cloneof="nspirit">
<description>Ninja Spirit (MCM)</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="52508">
<rom name="ninja spirit - side 1 (mcm).tzx" size="52508" crc="6c64f033" sha1="8e58719f7bf9e887598f8e6e262d62e18c9440fc"/>
@@ -18104,7 +18191,7 @@ license:CC0
<software name="ninjaw">
<description>Ninja Warriors</description>
<year>1989</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="65480">
<rom name="ninja warriors - side a.tzx" size="65480" crc="eae6c4aa" sha1="f379f7254412c73aa3ac43847269f15fe7075cd8"/>
@@ -18120,7 +18207,7 @@ license:CC0
<software name="ninjawt" cloneof="ninjaw">
<description>Ninja Warriors (Tronix)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd / Tronix</publisher>
+ <publisher>Tronix</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="65473">
<rom name="ninja warriors - side a (tronix).tzx" size="65473" crc="ecb21338" sha1="71739859d73fb163f75a7edf519f8521918345c8"/>
@@ -18804,7 +18891,7 @@ license:CC0
<software name="opwolf">
<description>Operation Wolf</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="135695">
<rom name="operation wolf - 128k.tzx" size="135695" crc="30ebe14c" sha1="b436e95d98d0cbc3824e3962758261f59a4ac537"/>
@@ -18820,7 +18907,7 @@ license:CC0
<software name="opwolfhs" cloneof="opwolf">
<description>Operation Wolf (The Hit Squad)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="136451">
<rom name="operation wolf - 128k (the hit squad).tzx" size="136451" crc="50d0966f" sha1="e55f1dc70523d8ea27398a3f0752b5b195e6f6e7"/>
@@ -18836,7 +18923,7 @@ license:CC0
<software name="opwolfer" cloneof="opwolf">
<description>Operation Wolf (Erbe) (set 1)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="131475">
<rom name="operation wolf - side 1 (erbe).tzx" size="131475" crc="068f4712" sha1="0b76411bf9ea145fb01431141b4e8682715a56db"/>
@@ -18852,7 +18939,7 @@ license:CC0
<software name="opwolfera" cloneof="opwolf"> <!-- was this a single format release, or just missing a side in the dump? -->
<description>Operation Wolf (Erbe) (set 2)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="131256">
<rom name="operation wolf (erbe).tzx" size="131256" crc="2910d4ac" sha1="3af20b717bfece5d44977c73d3e4c83b749d119c"/>
@@ -19551,7 +19638,7 @@ license:CC0
<software name="pang">
<description>Pang</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<feature name="part_id" value="Side 1 - Game"/>
<dataarea name="cass" size="64525">
@@ -19566,6 +19653,24 @@ license:CC0
</part>
</software>
+ <software name="panga" cloneof="pang">
+ <description>Pang (Erbe)</description>
+ <year>1990</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <feature name="part_id" value="Side 1 - Game"/>
+ <dataarea name="cass" size="67987">
+ <rom name="Pang - Side 1 (Erbe).tzx" size="67987" crc="c49eefd5" sha1="6b4b0c37d9fdd3cacb2d79532affb21209068d00"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <feature name="part_id" value="Side 1 - Levels"/>
+ <dataarea name="cass" size="39916">
+ <rom name="Pang - Side 2 (Erbe).tzx" size="39916" crc="f57b4d14" sha1="62ed9310fd65a563eb3e95a146080b1e5b57390d"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- on tape twice -->
<software name="pssst">
<description>Pssst</description>
@@ -19716,11 +19821,21 @@ license:CC0
</part>
</software>
+ <software name="pitfall">
+ <description>Pitfall</description>
+ <year>1983</year>
+ <publisher>Infinite Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="67654">
+ <rom name="pitfall (infinite software).tzx" size="67654" crc="72bfe48b" sha1="f83ee33b110c1b5e6253299dcac7c482908bb648"/>
+ </dataarea>
+ </part>
+ </software>
<software name="pitfall2">
<description>Pitfall II - Lost Caverns</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="27352">
<rom name="pitfall ii.tzx" size="27352" crc="224f96a0" sha1="57dcb71b948d907a45f1fdc98fe820bcd0817e1f"/>
@@ -19796,7 +19911,7 @@ license:CC0
<software name="pdrift">
<description>Power Drift</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="137760">
<rom name="power drift - side 1.tzx" size="137760" crc="3c537f8c" sha1="3ae3aea138af2d18b6f75c3955e73d700dadab3b"/>
@@ -19812,7 +19927,7 @@ license:CC0
<software name="pdrifta" cloneof="pdrift">
<description>Power Drift (set 2)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="137998">
<rom name="power drift - alternate - side 1.tzx" size="137998" crc="7456e743" sha1="9e02cb0ac8f520f84b135d15c8891f96e6fc2561"/>
@@ -19828,7 +19943,7 @@ license:CC0
<software name="pdrifths" cloneof="pdrift"> <!-- all data on a single side -->
<description>Power Drift (set 3, The Hit Squad)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="179684">
<rom name="power drift (the hit squad).tzx" size="179684" crc="c07d8fb2" sha1="708ac04d98ad8d4b58d5b938a614447ed62c18fa"/>
@@ -19836,12 +19951,10 @@ license:CC0
</part>
</software>
-
-
<software name="pred">
- <description>Predator (Set 1)</description>
+ <description>Predator</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="197732">
<rom name="predator.tzx" size="197732" crc="55ae019d" sha1="181615acc16670f420fcc3dae651189459c06c68"/>
@@ -19849,10 +19962,10 @@ license:CC0
</part>
</software>
- <software name="prede">
- <description>Predator (set 2, Erbe / The Hit Squad)</description>
- <year>1987</year>
- <publisher>Activision Inc / Erbe / The Hit Squad</publisher>
+ <software name="prede" cloneof="pred">
+ <description>Predator (IBSA)</description>
+ <year>1989</year>
+ <publisher>IBSA</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="197562">
<rom name="predator (erbe - the hit squad).tzx" size="197562" crc="1a4012e1" sha1="5fb434ae72ac517b090a0b3d2c46e5dc02f06489"/>
@@ -19861,9 +19974,9 @@ license:CC0
</software>
<software name="predp" cloneof="pred">
- <description>Predator (set 3, Proein)</description>
- <year>1987</year>
- <publisher>Activision Inc / Proein</publisher>
+ <description>Predator (Proein)</description>
+ <year>1988</year>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="197700">
<rom name="predator (proein).tzx" size="197700" crc="8c5e8816" sha1="3c0d83d535b1a6c500913e56b7b2704e10d74363"/>
@@ -19872,9 +19985,9 @@ license:CC0
</software>
<software name="predhs" cloneof="pred">
- <description>Predator (set 4, The Hit Squad)</description>
- <year>1987</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <description>Predator (The Hit Squad)</description>
+ <year>1990</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="202670">
<rom name="predator - side 1 (the hit squad).tzx" size="202670" crc="42076f63" sha1="718919e77e2079ac9812a4b7fa5b3aca66756550"/>
@@ -19906,7 +20019,7 @@ license:CC0
<software name="pred2m" cloneof="pred2">
<description>Predator 2 (MCM)</description>
<year>1991</year>
- <publisher>Image Works / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="25020">
<rom name="predator 2 - side 1 (mcm).tzx" size="25020" crc="bb99e7a5" sha1="bbb6ff31dd3608b66f654f10476f0ad8d4e88bbc"/>
@@ -20020,7 +20133,7 @@ license:CC0
<software name="puzznic">
<description>Puzznic</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39252">
<rom name="puzznic.tzx" size="39252" crc="fada4e2c" sha1="765a2a4adfb0dc33b0120516d6dd963cb451dc00"/>
@@ -20031,7 +20144,7 @@ license:CC0
<software name="puzznice" cloneof="puzznic">
<description>Puzznic (Erbe)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="40816">
<rom name="puzznic (erbe).tzx" size="40816" crc="0e442755" sha1="28059355e318ef5aa2fdb4ae00cf492378252c68"/>
@@ -20042,7 +20155,7 @@ license:CC0
<software name="puzznichs" cloneof="puzznic">
<description>Puzznic (The Hit Squad)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39288">
<rom name="puzznic (the hit squad).tzx" size="39288" crc="d6ae3351" sha1="3dcbbf7e2af0a0d23395892d0521c4f01c71f0c8"/>
@@ -20054,7 +20167,7 @@ license:CC0
<software name="plotting">
<description>Plotting</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="53772">
<rom name="plotting.tzx" size="53772" crc="13c03985" sha1="d818b99567ceb5891377340c38d947cf2b20733d"/>
@@ -20065,7 +20178,7 @@ license:CC0
<software name="plottinge" cloneof="plotting">
<description>Plotting (Erbe)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="55525">
<rom name="plotting (erbe).tzx" size="55525" crc="6710f00e" sha1="05703a2c9fb36ae96b4a6405ce2c1af8db6d380e"/>
@@ -20963,7 +21076,7 @@ license:CC0
<software name="quartet">
<description>Quartet (set 1)</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49952">
<rom name="quartet.tzx" size="49952" crc="8146fef8" sha1="11abd08d52b9488b56181b3183b51a4027ce1d96"/>
@@ -20974,7 +21087,7 @@ license:CC0
<software name="quarteths" cloneof="quartet">
<description>Quartet (set 2, The Hit Squad)</description>
<year>1987</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50113">
<rom name="quartet (the hit squad).tzx" size="50113" crc="c4f36b27" sha1="0717d897a3ef3f0c853d043dbdc93f93abe6a52d"/>
@@ -20985,7 +21098,7 @@ license:CC0
<software name="quarteta" cloneof="quartet">
<description>Quartet (set 3)</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50502">
<rom name="quartet_tzx120.tzx" size="50502" crc="b442077b" sha1="3635042e984f1be492bb8224b5e873880b702506"/>
@@ -21305,7 +21418,7 @@ license:CC0
<software name="rbisland">
<description>Rainbow Islands (set 1)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<feature name="part_id" value="Side 1"/>
<dataarea name="cass" size="94678">
@@ -21320,10 +21433,10 @@ license:CC0
</part>
</software>
- <software name="rbislander" cloneof="rbisland">
- <description>Rainbow Islands (set 2, Erbe)</description>
+ <software name="rbislanda" cloneof="rbisland">
+ <description>Rainbow Islands (Erbe)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<feature name="part_id" value="Side 1"/>
<dataarea name="cass" size="97295">
@@ -21338,10 +21451,40 @@ license:CC0
</part>
</software>
- <software name="rbislandhs" cloneof="rbisland">
- <description>Rainbow Islands (set 3, The Hit Squad)</description>
+ <software name="rbislandb" cloneof="rbisland">
+ <description>Rainbow Islands (Erbe, small case)</description>
+ <year>1990</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <feature name="part_id" value="Side 1"/>
+ <dataarea name="cass" size="97319">
+ <rom name="Rainbow Islands - Small Case - Side 1 (Erbe).tzx" size="97319" crc="b9e9c9e1" sha1="154a59d6844be72359f3f508f964efaab63ed780"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <feature name="part_id" value="Side 2"/>
+ <dataarea name="cass" size="59236">
+ <rom name="Rainbow Islands - Small Case - Side 2 (Erbe).tzx" size="59236" crc="eca52095" sha1="7c26bd6ebf3ac9c88c0a3d5f8aa48f4ea08ca83d"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rbislandc" cloneof="rbisland">
+ <description>Rainbow Islands (Musical 1)</description>
+ <year>1990</year>
+ <publisher>Musical 1</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <feature name="part_id" value="Side 1"/>
+ <dataarea name="cass" size="97222">
+ <rom name="Rainbow Islands (Musical 1 - The Hit Squad).tzx" size="97222" crc="9d715df4" sha1="05d5fd76fb1a9f4c5f7cce8844d630c56f824e6f"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rbislandd" cloneof="rbisland">
+ <description>Rainbow Islands (The Hit Squad)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<feature name="part_id" value="Side 1"/>
<dataarea name="cass" size="94710">
@@ -21356,10 +21499,10 @@ license:CC0
</part>
</software>
- <software name="rbislanda" cloneof="rbisland">
- <description>Rainbow Islands (set 4)</description>
+ <software name="rbislande" cloneof="rbisland">
+ <description>Rainbow Islands (alternative)</description>
<year>1990</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="94689">
<rom name="rainbow islands - side 1_tzx120.tzx" size="94689" crc="22cc606a" sha1="f3cee64c92ea00fb5a2dfefd5fdd1fa93a553c15"/>
@@ -21654,7 +21797,7 @@ license:CC0
<software name="rivraid">
<description>River Raid</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47342">
<rom name="river raid.tzx" size="47342" crc="7f720cb3" sha1="b5362e58a6f3a8801f98baaa1df80eeca06b3eb1"/>
@@ -21676,7 +21819,7 @@ license:CC0
<software name="rfractal">
<description>Rescue On Fractalus (set 1)</description>
<year>1986</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="42816">
<rom name="rescue on fractalus.tzx" size="42816" crc="3b7feac3" sha1="84938a3f4c3ac3c411ec24c96be0d0cc00dea181"/>
@@ -21710,7 +21853,7 @@ license:CC0
<software name="rampage">
<description>Rampage</description>
<year>1988</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45850">
<rom name="rampage.tzx" size="45850" crc="6dfe9a52" sha1="3301f7659b74d9159f6b4a91bce397f134f0559a"/>
@@ -21721,7 +21864,7 @@ license:CC0
<software name="rampagehs" cloneof="rampage">
<description>Rampage (The Hit Squad)</description>
<year>1988</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49729">
<rom name="rampage (the hit squad).tzx" size="49729" crc="6ab52fb4" sha1="d8d098c4a5f5042687e49bc91564809de692f0d6"/>
@@ -21836,7 +21979,7 @@ license:CC0
<software name="jedi">
<description>Return Of The Jedi</description>
<year>1989</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="40755">
<rom name="return of the jedi.tzx" size="40755" crc="b6c903b1" sha1="eb1996365a90d81ad7518a68ab0db8f4a5e57f55"/>
@@ -21858,7 +22001,7 @@ license:CC0
<software name="jedihs" cloneof="jedi">
<description>Return Of The Jedi (The Hit Squad)</description>
<year>1989</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="40761">
<rom name="return of the jedi (the hit squad).tzx" size="40761" crc="77be464d" sha1="1c6abf7fdd7407b0105333ea820f6093e09257f5"/>
@@ -22200,7 +22343,7 @@ license:CC0
<software name="rambo">
<description>Rambo (set 1)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45769">
<rom name="rambo.tzx" size="45769" crc="2c669567" sha1="b972307b7ee5fb0786ac354e605beca34ac19b99"/>
@@ -22211,7 +22354,7 @@ license:CC0
<software name="rambohs" cloneof="rambo">
<description>Rambo (set 2, The Hit Squad)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="52533">
<rom name="rambo (the hit squad).tzx" size="52533" crc="af8e7562" sha1="40391854eb1298fa7094e663a71ea74533744d5d"/>
@@ -22222,7 +22365,7 @@ license:CC0
<software name="ramboer" cloneof="rambo">
<description>Rambo (set 3, Erbe)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50517">
<rom name="rambo (erbe).tzx" size="50517" crc="dc2434c5" sha1="7c408d45f8b5c9100a7820e669e70f7c52da9a84"/>
@@ -22233,7 +22376,7 @@ license:CC0
<software name="ramboera" cloneof="rambo">
<description>Rambo (set 4, Erbe - Serie Leyenda)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50667">
<rom name="rambo (erbe - serie leyenda).tzx" size="50667" crc="0e99b603" sha1="1ec3407f1897855b1a3d8e09784e359cff4572dc"/>
@@ -22244,7 +22387,7 @@ license:CC0
<software name="rambob" cloneof="rambo">
<description>Rambo (set 5)</description>
<year>1985</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45376">
<rom name="rambo_tzx120.tzx" size="45376" crc="ab477acc" sha1="80daf5622abc257272669cc321adc24308d2c762"/>
@@ -23336,7 +23479,7 @@ license:CC0
<software name="silkworm">
<description>Silkworm</description>
<year>1989</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56227">
<rom name="silk worm.tzx" size="56227" crc="034b3643" sha1="fab832f66fb5d3a466e4a55eba9fc9d5f7792440"/>
@@ -23347,7 +23490,7 @@ license:CC0
<software name="silkworme" cloneof="silkworm">
<description>Silkworm (Erbe)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56977">
<rom name="silk worm (erbe).tzx" size="56977" crc="fd5e309e" sha1="9a7785b078fff49ba70b6f10fb8878b2dccac1ef"/>
@@ -23358,7 +23501,7 @@ license:CC0
<software name="silkwormm" cloneof="silkworm">
<description>Silkworm (Mastertronic Plus)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd / Mastertronic Plus</publisher>
+ <publisher>Mastertronic Plus</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56227">
<rom name="silk worm (mastertronic plus).tzx" size="56227" crc="723dcd55" sha1="0e07f99aad9f89667f850dd9eae74db07455fda6"/>
@@ -23369,7 +23512,7 @@ license:CC0
<software name="silkwormt" cloneof="silkworm">
<description>Silkworm (Tronix)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd / Tronix</publisher>
+ <publisher>Tronix</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56393">
<rom name="silk worm (tronix).tzx" size="56393" crc="15141093" sha1="b977450d9c9ef5d139706603c1a47a3ea7b578bb"/>
@@ -23467,7 +23610,7 @@ license:CC0
<software name="splitimg">
<description>Splitting Images</description>
<year>1986</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50130">
<rom name="splitting images.tzx" size="50130" crc="d970901c" sha1="a0cbef114b3ac20092f9806eb976a3df3b07ab77"/>
@@ -23479,7 +23622,7 @@ license:CC0
<software name="splitper" cloneof="splitimg">
<description>Split Personalities</description>
<year>1986</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50213">
<rom name="split personalities - side 1.tzx" size="50213" crc="e069e0dc" sha1="002281ad9d4d708368bc57174c1eade888ab0690"/>
@@ -23892,7 +24035,7 @@ license:CC0
<software name="spcshut">
<description>Space Shuttle - A Journey into Space (Activision)</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="28605">
<rom name="space shuttle (activision).tzx" size="28605" crc="4f0438db" sha1="2a751e6a1d19eeecad35c43c9e5c93bd90b0d525"/>
@@ -23955,7 +24098,7 @@ license:CC0
<software name="sailing">
<description>Sailing</description>
<year>1987</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39702">
<rom name="sailing.tzx" size="39702" crc="59ee15b5" sha1="79cc240e70b80bd9b94ecc076ced701011f44458"/>
@@ -23966,7 +24109,7 @@ license:CC0
<software name="sailingp" cloneof="sailing">
<description>Sailing (Proein)</description>
<year>1987</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39981">
<rom name="sailing (proein).tzx" size="39981" crc="a2ed335d" sha1="9d97a405e1f009f9b27b3bd4d5565941edf6392d"/>
@@ -23988,7 +24131,7 @@ license:CC0
<software name="sdi">
<description>SDI - Strategic Defence Initiative</description>
<year>1988</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48081">
<rom name="sdi - strategic defence initiative.tzx" size="48081" crc="9dd91929" sha1="18f5c0ff80ae6cf05915c9a97fe691c7651a277f"/>
@@ -23999,7 +24142,7 @@ license:CC0
<software name="sdihs" cloneof="sdi">
<description>SDI - Strategic Defence Initiative (The Hit Squad)</description>
<year>1988</year>
- <publisher>Activision Inc / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41284">
<rom name="sdi - strategic defence initiative (the hit squad).tzx" size="41284" crc="e8237d2e" sha1="5b4a093463c5ec473d184cce7474d31e30bb091d"/>
@@ -24100,7 +24243,7 @@ license:CC0
<software name="sonicbom">
<description>Sonic Boom</description>
<year>1990</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="36744">
<rom name="sonic boom - game.tzx" size="36744" crc="017c9c88" sha1="23cc04344b1f290591c61a7ee33810b1995e3443"/>
@@ -24116,7 +24259,7 @@ license:CC0
<software name="wbml">
<description>Super Wonder Boy (Wonder Boy in Monster Land)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="59199">
<rom name="super wonder boy - side 1.tzx" size="59199" crc="fe699ce8" sha1="63aba0e7aac695865e2ab649b87455aef3f32b5a"/>
@@ -24132,7 +24275,7 @@ license:CC0
<software name="wbmlm" cloneof="wbml">
<description>Super Wonder Boy (Wonder Boy in Monster Land) (MCM)</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="53963">
<rom name="super wonder boy - side 1 (mcm).tzx" size="53963" crc="52bed27a" sha1="d03037257bcd8337e3ae88c62e62053351c00548"/>
@@ -24460,7 +24603,7 @@ license:CC0
<software name="scircuit">
<description>Short Circuit (set 1)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="95033">
<rom name="short circuit - 48k.tzx" size="95033" crc="e8e3af46" sha1="c0a4ba8759b7a51a0c5dfff5d9c731c428c8c561"/>
@@ -24476,7 +24619,7 @@ license:CC0
<software name="scircuiths" cloneof="scircuit">
<description>Short Circuit (set 2, The Hit Squad)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="100869">
<rom name="short circuit - 48k (the hit squad).tzx" size="100869" crc="d8c114ae" sha1="8a814f1aa93cebd83cb1bb402343ed7e737a5bbb"/>
@@ -24492,7 +24635,7 @@ license:CC0
<software name="scircuite" cloneof="scircuit">
<description>Short Circuit (set 3, Erbe)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="91298">
<rom name="short circuit - side 1 (erbe).tzx" size="91298" crc="71088e57" sha1="4b564601c82d317d90f5f5e382c9f2573c6c02f0"/>
@@ -24508,7 +24651,7 @@ license:CC0
<software name="scircuita" cloneof="scircuit">
<description>Short Circuit (set 4)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="96271">
<rom name="short circuit - 48k_tzx120.tzx" size="96271" crc="a6956372" sha1="0f9671cf66a90ac49a082e53bb942c56872183ab"/>
@@ -24705,7 +24848,7 @@ license:CC0
<software name="starwars">
<description>Star Wars (release 2)</description>
<year>1987</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="71501">
<rom name="star wars - release 2.tzx" size="71501" crc="7b57764c" sha1="044d0fc7391d26a24c74e30808687f138d4d5b67"/>
@@ -24716,7 +24859,7 @@ license:CC0
<software name="starwarsa" cloneof="starwars">
<description>Star Wars (release 1)</description>
<year>1987</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="69258">
<rom name="star wars - release 1 - side 1.tzx" size="69258" crc="14554159" sha1="2048a0b256dd5c562df24f8694bf2dfa62bc36c0"/>
@@ -24732,7 +24875,7 @@ license:CC0
<software name="starwarshs" cloneof="starwars">
<description>Star Wars (The Hit Squad)</description>
<year>1987</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="58269">
<rom name="star wars (the hit squad).tzx" size="58269" crc="cd98a1cb" sha1="97059fb0ba731d7eeb3179224cd4ae139692988f"/>
@@ -25033,9 +25176,9 @@ license:CC0
</software>
<software name="bartvssm">
- <description>The Simpsons - Bart Vs The Space Mutants</description>
+ <description>The Simpsons: Bart vs. the Space Mutants</description>
<year>1991</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="172169">
<rom name="simpsons - bart vs the space mutants - side 1.tzx" size="172169" crc="5ffbe934" sha1="54cc020b72656b03663b34d66e475b901868131d"/>
@@ -25049,9 +25192,9 @@ license:CC0
</software>
<software name="bartvssmer" cloneof="bartvssm">
- <description>The Simpsons - Bart Vs The Space Mutants (Erbe)</description>
+ <description>The Simpsons: Bart vs. the Space Mutants (Erbe)</description>
<year>1991</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="167192">
<rom name="simpsons - bart vs the space mutants - side 1 (erbe).tzx" size="167192" crc="640ed1ca" sha1="ba079b88449d62d3ba21beae3ed595653a3cfce9"/>
@@ -25065,9 +25208,9 @@ license:CC0
</software>
<software name="bartvssmhs" cloneof="bartvssm">
- <description>The Simpsons - Bart Vs The Space Mutants (The Hit Squad)</description>
+ <description>The Simpsons: Bart vs. the Space Mutants (The Hit Squad)</description>
<year>1991</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="172046">
<rom name="simpsons - bart vs the space mutants - side 1 (the hit squad).tzx" size="172046" crc="9149db99" sha1="01389a9ece5a21a70f8c26b957163ba6a0e2c8e4"/>
@@ -25483,8 +25626,8 @@ license:CC0
<software name="samfox48" cloneof="samfox">
<description>Samantha Fox Strip Poker (set 2, 48k, with 7 Card Stud)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1986</year>
+ <publisher>Martech Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49406">
<rom name="samantha fox strip poker - 48k - side a.tzx" size="49406" crc="b5cebe66" sha1="ddb8b2006d44b902ab04b6a10bcde7797fd19140"/>
@@ -25499,8 +25642,8 @@ license:CC0
<software name="samfoxmp" cloneof="samfox" supported="no"> <!-- main game doesn't load -->
<description>Samantha Fox Strip Poker (set 3, 48k, Micropool, with 7 Card Stud)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1986</year>
+ <publisher>Micropool</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49375">
<rom name="samantha fox strip poker (micropool) - side a.tzx" size="49375" crc="bf1a0a60" sha1="d86d389a6e50d37a5a20ac2be52cb74928b4136e"/>
@@ -25515,8 +25658,8 @@ license:CC0
<software name="samfoxre" cloneof="samfox">
<description>Samantha Fox Strip Poker (set 4, 48k, React)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1986</year>
+ <publisher>React</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47088">
<rom name="samantha fox strip poker (react).tzx" size="47088" crc="2aec6357" sha1="299b8735c525b071bbb4eb067418789a43e10af1"/>
@@ -25526,8 +25669,8 @@ license:CC0
<software name="samfoxed" cloneof="samfox">
<description>Samantha Fox Strip Poker (set 5, 48k, EDOS)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1986</year>
+ <publisher>EDOS</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47154">
<rom name="samantha fox strip poker (edos).tzx" size="47154" crc="da8f98af" sha1="348810dbaa92cc7c00306603b9640e6885e70cb1"/>
@@ -26498,7 +26641,7 @@ license:CC0
<software name="tbizarre">
<description>Toy Bizarre (set 1)</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48021">
<rom name="toy bizarre.tzx" size="48021" crc="8971f4b7" sha1="248a5e5a83679b28352e030e743bbaadc3a2e1d5"/>
@@ -26509,7 +26652,7 @@ license:CC0
<software name="tbizarrep" cloneof="tbizarre">
<description>Toy Bizarre (set 2, Proein)</description>
<year>1985</year>
- <publisher>Activision Inc / Proein</publisher>
+ <publisher>Proein Soft Line</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47829">
<rom name="toy bizarre (proein).tzx" size="47829" crc="4315e0f5" sha1="d14f733a9b97d81d24d4689d64eb765cc69a903f"/>
@@ -26520,7 +26663,7 @@ license:CC0
<software name="tbizarrer" cloneof="tbizarre">
<description>Toy Bizarre (set 3, Ricochet)</description>
<year>1985</year>
- <publisher>Activision Inc / Ricochet</publisher>
+ <publisher>Ricochet</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="39327">
<rom name="toy bizarre (ricochet).tzx" size="39327" crc="89c7e36f" sha1="90800324c4f87ea3ef1652d117b4bc73942bac31"/>
@@ -26531,7 +26674,7 @@ license:CC0
<software name="tbizarrea" cloneof="tbizarre">
<description>Toy Bizarre (set 4)</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48248">
<rom name="toy bizarre_tzx120.tzx" size="48248" crc="4d4c7964" sha1="101bc29e48a15afedfb5596d75d3befbd04b1e55"/>
@@ -26791,7 +26934,7 @@ license:CC0
<software name="timescan">
<description>Time Scanner</description>
<year>1989</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="107498">
<rom name="time scanner.tzx" size="107498" crc="14917a25" sha1="70c6d292ea461b9cef21c22d59d3b0efceadbdac"/>
@@ -27729,7 +27872,7 @@ license:CC0
<software name="vgame">
<description>V (set 1)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49805">
<rom name="v.tzx" size="49805" crc="31222368" sha1="558a096954e46095b2417a16ea55b7f73f62ce1a"/>
@@ -27740,7 +27883,7 @@ license:CC0
<software name="vgameer" cloneof="vgame">
<description>V (set 2, Erbe)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50424">
<rom name="v (erbe).tzx" size="50424" crc="3fa59050" sha1="93d20a9b9606caeca7d6d1e0698088077664daa6"/>
@@ -27751,7 +27894,7 @@ license:CC0
<software name="vgamea" cloneof="vgame">
<description>V (set 3)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50232">
<rom name="v_tzx120.tzx" size="50232" crc="e48831bd" sha1="d61d33f5a9033a8890a008afdf35c3de0c0b0fc4"/>
@@ -28005,7 +28148,7 @@ license:CC0
<software name="montymol">
<description>Wanted - Monty Mole (set 1)</description>
<year>1984</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49616">
<rom name="wanted - monty mole.tzx" size="49616" crc="d44d933c" sha1="3630807bc6d466a1196954df059141a9ca2ea177"/>
@@ -28016,7 +28159,7 @@ license:CC0
<software name="montymola" cloneof="montymol">
<description>Wanted - Monty Mole (set 2)</description>
<year>1984</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="49624">
<rom name="wanted - monty mole - alternate - side 1.tzx" size="49624" crc="daf460cf" sha1="29a0cdcdb573af093b1984d0fb51a819470e5366"/>
@@ -28184,7 +28327,7 @@ license:CC0
<software name="wtss">
<description>Where Time Stood Still</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="125128">
<rom name="where time stood still.tzx" size="125128" crc="71c9911c" sha1="009dc04f255564c1bda2905554388bb8e6b45c85"/>
@@ -28240,7 +28383,7 @@ license:CC0
<software name="wtsse" cloneof="wtss">
<description>Where Time Stood Still (Erbe)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="121314">
<rom name="where time stood still (erbe).tzx" size="121314" crc="b4abc5a0" sha1="1bf8178c53013812613a63dffd90ae12a4679326"/>
@@ -28608,7 +28751,7 @@ license:CC0
<software name="xcel">
<description>Xcel</description>
<year>1985</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="52709">
<rom name="xcel.tzx" size="52709" crc="289645f6" sha1="6bb9b2818bb3884f3a3beee73792aa34c6602d32"/>
@@ -28968,7 +29111,7 @@ license:CC0
<software name="zenji">
<description>Zenji</description>
<year>1984</year>
- <publisher>Activision Inc</publisher>
+ <publisher>Activision</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="23290">
<rom name="zenji.tzx" size="23290" crc="1b605673" sha1="60a6351f15f56d6632cd9efdeef95b49f3a5d473"/>
@@ -29721,7 +29864,7 @@ license:CC0
<software name="incrowd">
<description>The In Crowd (compilation)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="112214">
<rom name="the in crowd - tape 1 - side 1.tzx" size="112214" crc="496d769f" sha1="5382cae206d70b584c73d523acb743f1f5397016"/>
@@ -29787,7 +29930,7 @@ license:CC0
<software name="megamix">
<description>Mega Mix (set 1)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="116020">
<rom name="mega mix - alternate - tape 1 - side 1.tzx" size="116020" crc="7e773fac" sha1="7ab97a66213b36b68321cbef5ec601f2338589da"/>
@@ -29833,7 +29976,7 @@ license:CC0
<software name="megamixa" cloneof="megamix">
<description>Mega Mix (set 2)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="115879">
<rom name="mega mix - tape 1 - side a.tzx" size="115879" crc="dbe76a5a" sha1="5d4e59390c0ed1d8873eb3f2a71e200f5431f52d"/>
@@ -30203,7 +30346,7 @@ license:CC0
<software name="fstfury">
<description>Fists Of Fury (compilation)</description>
<year>1991</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="134262">
<rom name="fists of fury - tape 1 - side a.tzx" size="134262" crc="14d322ca" sha1="d88166bfea252b459f4d04ea32070b056e487f8c"/>
@@ -30240,7 +30383,7 @@ license:CC0
<software name="now4">
<description>Now Games 4 (Dan Dare - Pilot of the Future, Back to the Future, Hacker, Mission Omega, Jonah Barrington's Squash)</description>
<year>1987</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="105574">
<rom name="now games 4 - side a.tzx" size="105574" crc="c5ae6a5a" sha1="fd407572bdd8da91a8855ab2b7eb00094a70d7ab"/>
@@ -37164,31 +37307,31 @@ license:CC0
</software>
<software name="3dstockc">
- <description>3D Stock Car Championship (MCM)</description>
+ <description>3D Stock Car Championship</description>
<year>1988</year>
- <publisher>MCM Software</publisher>
+ <publisher>Firebird Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="57919">
- <rom name="3d stock car championship (mcm).tzx" size="57919" crc="e99fa6c7" sha1="1a9064e5eb9eb07b44310bda4fc8269268c5460a"/>
+ <dataarea name="cass" size="57813">
+ <rom name="3d stock car championship.tzx" size="57813" crc="beaea44b" sha1="4823629b6ec8a583387e248548bd4cb9bf84d9e1"/>
</dataarea>
</part>
</software>
<software name="3dstockc_a" cloneof="3dstockc">
- <description>3D Stock Car Championship</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>3D Stock Car Championship (MCM)</description>
+ <year>1988</year>
+ <publisher>MCM Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="57813">
- <rom name="3d stock car championship.tzx" size="57813" crc="beaea44b" sha1="4823629b6ec8a583387e248548bd4cb9bf84d9e1"/>
+ <dataarea name="cass" size="57919">
+ <rom name="3d stock car championship (mcm).tzx" size="57919" crc="e99fa6c7" sha1="1a9064e5eb9eb07b44310bda4fc8269268c5460a"/>
</dataarea>
</part>
</software>
- <software name="3dstockc_b" cloneof="3dstockc">
+ <software name="3dstockc2">
<description>3D Stock Cars 2</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1992</year>
+ <publisher>Challenge Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41529">
<rom name="3d stock cars 2.tzx" size="41529" crc="7bd15776" sha1="25a1622fc03a3fba471e6bd9f0973a7d98d41a6d"/>
@@ -40479,7 +40622,7 @@ license:CC0
</software>
<software name="amazonia">
- <description>Amazonia - Bugfix</description>
+ <description>Amazônia (bugfix release)</description>
<year>1985</year>
<publisher>Ciberne</publisher>
<part name="cass" interface="spectrum_cass">
@@ -40490,9 +40633,9 @@ license:CC0
</software>
<software name="amazonia_a" cloneof="amazonia">
- <description>Amazonia</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Amazônia</description>
+ <year>1985</year>
+ <publisher>Ciberne</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="27422">
<rom name="amazonia.tzx" size="27422" crc="f4773a6e" sha1="ec3bce0aad8880da2a1a792b117ebf87949137ce"/>
@@ -41295,18 +41438,7 @@ license:CC0
</part>
</software>
- <software name="apbthehi">
- <description>APB (The Hit Squad)</description>
- <year>1991</year>
- <publisher>The Hit Squad</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="81957">
- <rom name="apb (the hit squad).tzx" size="81957" crc="d1cdbeb4" sha1="c33ebefc8fc46558f42457ce496d02e4b6352ca5"/>
- </dataarea>
- </part>
- </software>
-
- <software name="apbside1">
+ <software name="apb">
<description>APB</description>
<year>1989</year>
<publisher>Domark</publisher>
@@ -41322,6 +41454,33 @@ license:CC0
</part>
</software>
+ <software name="apba" cloneof="apb">
+ <description>APB (Erbe)</description>
+ <year>1989</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="44618">
+ <rom name="APB - Side 1 (Erbe).tzx" size="37335" crc="6c1af8b0" sha1="c6daf30cb056da51896cb50b297ece904e6bdd23"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="44618">
+ <rom name="APB - Side 2 (Erbe).tzx" size="44618" crc="9d04ad5f" sha1="7bb149f4805488072fccad7794e32fa6b0ecab75"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="apbb" cloneof="apb">
+ <description>APB (The Hit Squad)</description>
+ <year>1991</year>
+ <publisher>The Hit Squad</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="81957">
+ <rom name="apb (the hit squad).tzx" size="81957" crc="d1cdbeb4" sha1="c33ebefc8fc46558f42457ce496d02e4b6352ca5"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="apfelkob">
<description>Apfelkobold</description>
<year>1983</year>
@@ -41847,7 +42006,7 @@ license:CC0
<software name="armagedo">
<description>Armageddon (1983 Ocean) (set 1)</description>
<year>1983</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="13827">
<rom name="armageddon.tzx" size="13827" crc="3f86015f" sha1="1123e8f7e7ad2edcafd93e4172186494f4620efc"/>
@@ -42156,12 +42315,34 @@ license:CC0
</software>
<software name="aspargpm">
- <description>Aspar - GP Master</description>
+ <description>Aspar - GP Master (set 1)</description>
<year>1988</year>
<publisher>Dinamic Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="44176">
- <rom name="aspar - gp master.tzx" size="44176" crc="c77e0fea" sha1="53883891627cbe94881caa527584aafcff3f7701"/>
+ <dataarea name="cass" size="43878">
+ <rom name="Aspar - GP Master.tzx" size="43878" crc="f44037eb" sha1="cea29e4d46e4481b45409c5779312e7c97841c70"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="aspargpma" cloneof="aspargpm">
+ <description>Aspar - GP Master (set 2)</description>
+ <year>1989</year>
+ <publisher>Dinamic Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="57623">
+ <rom name="grand prix master.tzx" size="57623" crc="e0d2f1ce" sha1="a6612b840129c4c22adbbc99552d3edf58f27941"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="aspargpmb" cloneof="aspargpm">
+ <description>Aspar - GP Master (IBSA)</description>
+ <year>1988</year>
+ <publisher>IBSA</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="43913">
+ <rom name="Aspar - GP Master (IBSA).tzx" size="43913" crc="bbd5f464" sha1="76576f878fd6a35b32843e2229fa92264655edb9"/>
</dataarea>
</part>
</software>
@@ -43408,7 +43589,7 @@ license:CC0
</software>
<software name="theateam">
- <description>The A Team</description>
+ <description>The A-Team</description>
<year>1988</year>
<publisher>Zafiro Software Division</publisher>
<part name="cass1" interface="spectrum_cass">
@@ -43423,6 +43604,22 @@ license:CC0
</part>
</software>
+ <software name="elequipo" cloneof="theateam">
+ <description>El Equipo A</description>
+ <year>1988</year>
+ <publisher>Zafiro Software Division</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="48336">
+ <rom name="el equipo a - side 1.tzx" size="48336" crc="2c570821" sha1="8e95e5b1df68e428229ead1a1254d29c0fdb7dd2"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="49267">
+ <rom name="el equipo a - side 2.tzx" size="49267" crc="435e4d6e" sha1="54bd816675a07b93886a23700d63409ac84115ae"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="theaddam">
<description>The Addams Family (The Hit Squad)</description>
<year>1991</year>
@@ -45548,6 +45745,17 @@ license:CC0
</part>
</software>
+ <software name="beverlyha" cloneof="beverlyh">
+ <description>Beverly Hills Cop (IBSA)</description>
+ <year>1990</year>
+ <publisher>IBSA</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="112148">
+ <rom name="Beverly Hills Cop (IBSA).tzx" size="112148" crc="b0b794bd" sha1="dc5411c1972aabcded6e487930c374a959b14081"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="bewareco">
<description>Beware Collaborators</description>
<year>19??</year>
@@ -48094,10 +48302,21 @@ license:CC0
<software name="brumbrum">
<description>Brum Brum</description>
<year>1984</year>
- <publisher>Astor</publisher>
+ <publisher>Astor Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="26101">
+ <rom name="brum brum.tzx" size="26101" crc="1e940a29" sha1="1b2ed966b8f3803481bbe3d020614758a9c93fe5"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="brumbruma" cloneof="brumbrum">
+ <description>Brum Brum (Master)</description>
+ <year>1984</year>
+ <publisher>Astor Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="15356">
- <rom name="brum brum.tzx" size="15356" crc="aef0bf0c" sha1="dbce4ad97fac8ba9a12d0637ecee084d2acb494c"/>
+ <dataarea name="cass" size="15510">
+ <rom name="brum brum (master).tzx" size="15510" crc="40278c89" sha1="72d35576f5beac6ff31239c679563bfe4646f3a2"/>
</dataarea>
</part>
</software>
@@ -49712,21 +49931,21 @@ license:CC0
</part>
</software>
- <software name="cannibal_a" cloneof="cannibal">
- <description>Cannibals (System 4)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="canoutsp">
+ <description>Cannibals From Outer Space (set 1)</description>
+ <year>1987</year>
+ <publisher>Summit Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50041">
- <rom name="cannibals (system 4).tzx" size="50041" crc="016e518c" sha1="b64cb8bb1b668ba7b2d4dbb05b0b4cac806caa04"/>
+ <rom name="cannibals.tzx" size="50041" crc="f747bdd6" sha1="7700695303e086070597ab7a5e9ac832922d1838"/>
</dataarea>
</part>
</software>
- <software name="cannibal_b" cloneof="cannibal">
- <description>Cannibals From Outer Space</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="canoutspa" cloneof="canoutsp">
+ <description>Cannibals From Outer Space (set 2)</description>
+ <year>1987</year>
+ <publisher>Summit Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="50041">
<rom name="cannibals from outer space.tzx" size="50041" crc="a7aaa2a6" sha1="6c4021675f73ad3ea8015086409375d63d92bd1e"/>
@@ -49734,13 +49953,13 @@ license:CC0
</part>
</software>
- <software name="cannibal_c" cloneof="cannibal">
- <description>Cannibals</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="canoutspb" cloneof="canoutsp">
+ <description>Cannibals From Outer Space (System 4)</description>
+ <year>1988</year>
+ <publisher>System 4</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="50041">
- <rom name="cannibals.tzx" size="50041" crc="f747bdd6" sha1="7700695303e086070597ab7a5e9ac832922d1838"/>
+ <dataarea name="cass" size="50165">
+ <rom name="Cannibals From Outer Space (System 4).tzx" size="50165" crc="6f9a4953" sha1="b7ea7d141e11fdb06f090caf950814d2dc51a53f"/>
</dataarea>
</part>
</software>
@@ -52049,6 +52268,28 @@ license:CC0
</part>
</software>
+ <software name="scacchi" cloneof="chess">
+ <description>Scacchi</description>
+ <year>1983</year>
+ <publisher>Rebit Computer</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="18342">
+ <rom name="scacchi.tzx" size="18342" crc="d49f81d7" sha1="16acd5a6b16dcf20a9b131231e6475b425a016dc"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="xadrez" cloneof="chess">
+ <description>Xadrez</description>
+ <year>1983</year>
+ <publisher>Timex Portugal</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="27028">
+ <rom name="xadrez.tzx" size="27028" crc="cc7f6535" sha1="dd332fa59c862d2310a6d57d6cfcadb07b0e3561"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="chicago3">
<description>Chicago 30's (US Gold)</description>
<year>1988</year>
@@ -53243,7 +53484,7 @@ license:CC0
<software name="codemat2">
<description>Codename MAT II (set 1)</description>
<year>1984</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48048">
<rom name="codename mat 2.tzx" size="48048" crc="b350a533" sha1="d5259c948776e8a63d0e624a8496b706003824d0"/>
@@ -54302,20 +54543,20 @@ license:CC0
</software>
<software name="continen">
- <description>Continental Circus (Mastertronic Plus)</description>
+ <description>Continental Circus</description>
<year>1989</year>
- <publisher>Mastertronic Plus</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="128065">
- <rom name="continental circus (mastertronic plus).tzx" size="128065" crc="553ac6b1" sha1="bc18152f67fbd2a12e4e8a41c16a52b11e0558c3"/>
+ <dataarea name="cass" size="127725">
+ <rom name="continental circus.tzx" size="127725" crc="36ea70fc" sha1="2f78be15d40a5adcb739b0ffadad833f47214fd9"/>
</dataarea>
</part>
</software>
<software name="continen_a" cloneof="continen">
<description>Continental Circus (Tronix)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1989</year>
+ <publisher>Tronix</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="127755">
<rom name="continental circus (tronix).tzx" size="127755" crc="ccf69569" sha1="e9e088b62f59f32142d96c0b57e4d286b13fddc0"/>
@@ -54325,8 +54566,8 @@ license:CC0
<software name="continen_b" cloneof="continen">
<description>Continental Circus (Dro Soft)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1989</year>
+ <publisher>Dro Soft</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="81774">
<rom name="continental circus - side a (dro soft).tzx" size="81774" crc="7a8c9e57" sha1="3bd7a7f60fc5406117fade17a18c27953b996ed0"/>
@@ -54339,21 +54580,21 @@ license:CC0
</part>
</software>
- <software name="continen_d" cloneof="continen">
- <description>Continental Circus</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="continen_c" cloneof="continen">
+ <description>Continental Circus (Mastertronic Plus)</description>
+ <year>1989</year>
+ <publisher>Mastertronic Plus</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="127725">
- <rom name="continental circus.tzx" size="127725" crc="36ea70fc" sha1="2f78be15d40a5adcb739b0ffadad833f47214fd9"/>
+ <dataarea name="cass" size="128065">
+ <rom name="continental circus (mastertronic plus).tzx" size="128065" crc="553ac6b1" sha1="bc18152f67fbd2a12e4e8a41c16a52b11e0558c3"/>
</dataarea>
</part>
</software>
<software name="contract">
<description>Contract Bridge</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1984</year>
+ <publisher>Highlight Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48945">
<rom name="contract bridge.tzx" size="48945" crc="10c218ba" sha1="9a6c3c5ee88cb5c742f69cc153716f3a1ad17762"/>
@@ -61737,7 +61978,7 @@ license:CC0
<software name="dkong">
<description>Donkey Kong</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="52000">
<rom name="donkey kong.tzx" size="52000" crc="b1a1a4ba" sha1="1fa66a1011e459a18265f5a73d615aa2327c8f39"/>
@@ -61748,7 +61989,7 @@ license:CC0
<software name="dkonger" cloneof="dkong">
<description>Donkey Kong (Erbe)</description>
<year>1986</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="51328">
<rom name="donkey kong (erbe).tzx" size="51328" crc="02b0faa5" sha1="c5530df62a0614d7a2a8e3652f0905d5d8484708"/>
@@ -61759,7 +62000,7 @@ license:CC0
<software name="dkongpl2" cloneof="dkong">
<description>Donkey Kong +2</description>
<year>1986</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="52000">
<rom name="donkey kong +2.tzx" size="52000" crc="d29613b3" sha1="d62c9d06d2f2a04f5586634fd56031f4ca7083f2"/>
@@ -64036,7 +64277,23 @@ license:CC0
</part>
</software>
- <software name="emotion1">
+ <software name="emotions">
+ <description>E-Motion</description>
+ <year>1990</year>
+ <publisher>U.S. Gold</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="43580">
+ <rom name="e-motion - side a.tzx" size="43580" crc="65597c97" sha1="cf318e782e7fdff110422d81b0c8c08fed7515e2"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="53034">
+ <rom name="e-motion - side b.tzx" size="53034" crc="d335d40b" sha1="9aeb17e055fa5b505917bc4e34022ab94a3782c6"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="emotions_a" cloneof="emotions">
<description>E-Motion (Erbe - Serie 5 Estrellas) (set 1)</description>
<year>1990</year>
<publisher>Erbe Software</publisher>
@@ -64052,7 +64309,7 @@ license:CC0
</part>
</software>
- <software name="emotions">
+ <software name="emotions_b" cloneof="emotions">
<description>E-Motion (Erbe - Serie 5 Estrellas) (set 2)</description>
<year>1990</year>
<publisher>Erbe Software</publisher>
@@ -64068,18 +64325,18 @@ license:CC0
</part>
</software>
- <software name="emotions_b" cloneof="emotions">
- <description>E-Motion</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="emotions_c" cloneof="emotions">
+ <description>E-Motion (Musical 1)</description>
+ <year>1991</year>
+ <publisher>Musical 1</publisher>
<part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="43580">
- <rom name="e-motion - side a.tzx" size="43580" crc="65597c97" sha1="cf318e782e7fdff110422d81b0c8c08fed7515e2"/>
+ <dataarea name="cass" size="46210">
+ <rom name="e-motion - side 1 (musical 1).tzx" size="46210" crc="ddb2ebda" sha1="4e663c816be5d7f456c6df5ef275b81620cf6cf1"/>
</dataarea>
</part>
<part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="53034">
- <rom name="e-motion - side b.tzx" size="53034" crc="d335d40b" sha1="9aeb17e055fa5b505917bc4e34022ab94a3782c6"/>
+ <dataarea name="cass" size="54606">
+ <rom name="e-motion - side 2 (musical 1).tzx" size="54606" crc="10c0e62b" sha1="d4dea38b32a14e536b56371f16f14fc27821ec56"/>
</dataarea>
</part>
</software>
@@ -64607,22 +64864,6 @@ license:CC0
</part>
</software>
- <software name="elequipo">
- <description>El Equipo A</description>
- <year>1988</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="48336">
- <rom name="el equipo a - side 1.tzx" size="48336" crc="2c570821" sha1="8e95e5b1df68e428229ead1a1254d29c0fdb7dd2"/>
- </dataarea>
- </part>
- <part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="49267">
- <rom name="el equipo a - side 2.tzx" size="49267" crc="435e4d6e" sha1="54bd816675a07b93886a23700d63409ac84115ae"/>
- </dataarea>
- </part>
- </software>
-
<software name="elexplor">
<description>El Explorador</description>
<year>1984</year>
@@ -64645,8 +64886,6 @@ license:CC0
</part>
</software>
-
-
<software name="elmundop">
<description>El Mundo Perdido (Set 1)</description>
<year>1988</year>
@@ -69736,7 +69975,7 @@ license:CC0
<software name="fboty">
<description>Footballer Of The Year (set 1)</description>
<year>1986</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="49273">
<rom name="footballer of the year.tzx" size="49273" crc="e0a2bd72" sha1="1e38ba8dbe151e7dd45de62a578c76ef57f34f91"/>
@@ -69758,7 +69997,7 @@ license:CC0
<software name="fboty2">
<description>Footballer Of The Year 2 (set 1)</description>
<year>1989</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48039">
<rom name="footballer of the year 2.tzx" size="48039" crc="b9657a35" sha1="6dbada3f79e97859f29fe24ef55d75a56b6a3e47"/>
@@ -70024,7 +70263,6 @@ license:CC0
</part>
</software>
-
<software name="form1ss">
<description>Formula One (1984, Spirit Software)</description>
<year>1984</year>
@@ -70037,9 +70275,9 @@ license:CC0
</software>
<software name="f1simul" cloneof="form1ss">
- <description>Formula 1 Simulator (set 1, Mastertronic)</description>
+ <description>Formula 1 Simulator (Mastertronic)</description>
<year>1986</year>
- <publisher>Spirit Software / Mastertronic Ltd</publisher>
+ <publisher>Mastertronic</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41156">
<rom name="formula 1 simulator.tzx" size="41156" crc="92cbbae5" sha1="de486c1fc86cdc30abf9c145edaa98b593ca6cf2"/>
@@ -70048,9 +70286,9 @@ license:CC0
</software>
<software name="f1simula" cloneof="form1ss">
- <description>Formula 1 Simulator (set 2, Dro Soft)</description>
+ <description>Formula 1 Simulator (Dro Soft)</description>
<year>1987</year>
- <publisher>Spirit Software / Mastertronic Ltd / Dro Soft</publisher>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41233">
<rom name="formula 1 simulator (dro soft).tzx" size="41233" crc="e44fc871" sha1="288d2a6171874a2cd4599c3be925b890a1550d9d"/>
@@ -70375,20 +70613,20 @@ license:CC0
</software>
<software name="fred">
- <description>Fred (set 1)</description>
+ <description>Fred</description>
<year>1984</year>
- <publisher>Investronica S.A.</publisher>
+ <publisher>Investronica</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="30877">
- <rom name="fred.tzx" size="30877" crc="4c8dc7f1" sha1="a7f749e4f1a38bbe9e56d13afc030c2c7fb92b93"/>
+ <dataarea name="cass" size="30974">
+ <rom name="fred.tzx" size="30974" crc="5a624921" sha1="3b8d0db471a16c287a7b09e93137d5deefa3778f"/>
</dataarea>
</part>
</software>
<software name="freda" cloneof="fred">
- <description>Fred (set 2, Quicksilva)</description>
+ <description>Fred (Quicksilva)</description>
<year>1984</year>
- <publisher>Investronica S.A. / Quicksilva</publisher>
+ <publisher>Quicksilva</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="31294">
<rom name="fred (quicksilva).tzx" size="31294" crc="29330416" sha1="c5b411a9e26b84ab0a61065fb198d3f6d2ed8867"/>
@@ -70396,6 +70634,17 @@ license:CC0
</part>
</software>
+ <software name="fredb" cloneof="fred">
+ <description>Fred (Microbyte)</description>
+ <year>1987</year>
+ <publisher>Microbyte</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="30913">
+ <rom name="Fred (Microbyte).tzx" size="30913" crc="f2a0712f" sha1="3542c036e4a60db705f43be203f54ebd799a6c5d"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="freddy">
<description>Freddy Hardest (set 1)</description>
<year>1987</year>
@@ -71778,7 +72027,7 @@ license:CC0
<software name="finmtrix">
<description>The Final Matrix</description>
<year>1987</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="58479">
<rom name="the final matrix.tzx" size="58479" crc="02a5cd88" sha1="39e25ad00830696bc9be41683303da381075bcf2"/>
@@ -72709,7 +72958,7 @@ license:CC0
<software name="garylhot">
<description>Gary Lineker's Hot Shot! (set 1)</description>
<year>1988</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48098">
<rom name="gary lineker_s hot shot.tzx" size="48098" crc="35305d89" sha1="796ff6f73d8f1e038b71517529c7ecd712cfb309"/>
@@ -72731,7 +72980,7 @@ license:CC0
<software name="garylstr">
<description>Gary Lineker's Super Star Soccer</description>
<year>1987</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47956">
<rom name="gary lineker_s super star soccer.tzx" size="47956" crc="c32aaf6a" sha1="036d00a0ec8acf87fab443494353288182a7d7e8"/>
@@ -72753,7 +73002,7 @@ license:CC0
<software name="garylskl">
<description>Gary Lineker's Superskills</description>
<year>1988</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="110534">
<rom name="gary lineker_s superskills.tzx" size="110534" crc="7c888643" sha1="265ac631ebf4b5783de4c6a70fa2038b7d6a5373"/>
@@ -73505,7 +73754,7 @@ license:CC0
<software name="gladiatr">
<description>Gladiator (set 1)</description>
<year>1986</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="45307">
<rom name="gladiator - 48k.tzx" size="45307" crc="970ccb56" sha1="6e3c4f5b84d0dead85222bb039e5220db814f806"/>
@@ -74617,32 +74866,43 @@ license:CC0
</part>
</software>
- <software name="grandpri_a" cloneof="grandpri">
- <description>Grand Prix Challenge</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="gpcirc">
+ <description>Grand Prix Circuit</description>
+ <year>1990</year>
+ <publisher>Accolade</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="39722">
- <rom name="grand prix challenge.tzx" size="39722" crc="54f54eaf" sha1="5d9b7c26bbc77fc6583ba2bca5195fb90edb0624"/>
+ <dataarea name="cass" size="101394">
+ <rom name="grand prix circuit.tzx" size="101394" crc="106296ba" sha1="f8771245b9170b15e0427fd015733ec5a3dd791b"/>
</dataarea>
</part>
</software>
- <software name="grandpri_b" cloneof="grandpri">
- <description>Grand Prix Circuit</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="gpcirca" cloneof="gpcirc">
+ <description>Grand Prix Circuit (Dro Soft)</description>
+ <year>1990</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="101394">
- <rom name="grand prix circuit.tzx" size="101394" crc="106296ba" sha1="f8771245b9170b15e0427fd015733ec5a3dd791b"/>
+ <dataarea name="cass" size="101426">
+ <rom name="Grand Prix Circuit (Dro Soft).tzx" size="101426" crc="dcffae99" sha1="fcc1a79126b5335d036400004448c425690e0abc"/>
</dataarea>
</part>
</software>
- <software name="grandpri_c" cloneof="grandpri">
+ <software name="gprixchal">
+ <description>Grand Prix Challenge</description>
+ <year>1992</year>
+ <publisher>Challenge Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="39722">
+ <rom name="grand prix challenge.tzx" size="39722" crc="54f54eaf" sha1="5d9b7c26bbc77fc6583ba2bca5195fb90edb0624"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gprixdriv">
<description>Grand Prix Driver</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1983</year>
+ <publisher>Britannia Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="40955">
<rom name="grand prix driver.tzx" size="40955" crc="0a3c184a" sha1="8268a9628a067cd54996cb8c08608f3641fe021e"/>
@@ -74650,10 +74910,10 @@ license:CC0
</part>
</software>
- <software name="grandpri_d" cloneof="grandpri">
+ <software name="gpmanager">
<description>Grand Prix Manager</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1984</year>
+ <publisher>Silicon Joy</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="41441">
<rom name="grand prix manager.tzx" size="41441" crc="c77f5da0" sha1="795a6a5e06d32555c23949dd4e86662343abbca8"/>
@@ -74661,21 +74921,10 @@ license:CC0
</part>
</software>
- <software name="grandpri_e" cloneof="grandpri">
- <description>Grand Prix Master</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="57623">
- <rom name="grand prix master.tzx" size="57623" crc="e0d2f1ce" sha1="a6612b840129c4c22adbbc99552d3edf58f27941"/>
- </dataarea>
- </part>
- </software>
-
- <software name="grandpri_f" cloneof="grandpri">
+ <software name="gptennis">
<description>Grand Prix Tennis</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1988</year>
+ <publisher>Mastertronic Added Dimension</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="28636">
<rom name="grand prix tennis.tzx" size="28636" crc="c5ce473e" sha1="5eba4cbfe4b77633a38dbf8b4a2641272247fe34"/>
@@ -74683,10 +74932,10 @@ license:CC0
</part>
</software>
- <software name="grandpri_g" cloneof="grandpri">
+ <software name="grandprix">
<description>Grand Prix</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1989</year>
+ <publisher>D&amp;H Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47675">
<rom name="grand prix.tzx" size="47675" crc="7cd2fd0b" sha1="472889cde4d17ac39e64d85c19e6aeaa416bdb3b"/>
@@ -75384,7 +75633,7 @@ license:CC0
<software name="gryzor">
<description>Gryzor (set 1)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="124232">
<rom name="gryzor - side 1.tzx" size="124232" crc="7dfb0343" sha1="0829f4c99cca1f4ad73d3f1447fe77acc8a08be7"/>
@@ -75400,7 +75649,7 @@ license:CC0
<software name="gryzora" cloneof="gryzor">
<description>Gryzor (set 2, Erbe)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="115286">
<rom name="gryzor (erbe) - 128k.tzx" size="115286" crc="2a015772" sha1="e57732c3aaaa468c60265e207e2150e8877f9627"/>
@@ -75416,7 +75665,7 @@ license:CC0
<software name="gryzorhs" cloneof="gryzor">
<description>Gryzor (set 3, The Hit Squad)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="120983">
<rom name="gryzor - 128k (the hit squad).tzx" size="120983" crc="bfd2e458" sha1="6cd89c0260168bf34dda31e0b2913b0c91d76156"/>
@@ -77072,7 +77321,7 @@ license:CC0
<software name="harddriv">
<description>Hard Drivin' (set 1)</description>
<year>1989</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="47435">
<rom name="hard drivin_ - 128k.tzx" size="47435" crc="3b14a8fd" sha1="bfa89eb1096222fdfe596100a167779bc7490fec"/>
@@ -77088,7 +77337,7 @@ license:CC0
<software name="harddrivhs" cloneof="harddriv">
<description>Hard Drivin' (The Hit Squad)</description>
<year>1989</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="47287">
<rom name="hard drivin_ - 128k (the hit squad).tzx" size="47287" crc="0bd44791" sha1="a96729dfe0fd3803f5fed038d960ebe3ebf9016b"/>
@@ -77183,7 +77432,7 @@ license:CC0
<software name="hate">
<description>H.A.T.E. - Hostile All Terrain Encounter</description>
<year>1989</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="44500">
<rom name="hate.tzx" size="44500" crc="3bc4940e" sha1="f87ad5723cf6192e140be2b430d8d491bf544ef0"/>
@@ -77224,6 +77473,17 @@ license:CC0
</part>
</software>
+ <software name="hhouse">
+ <description>Haunted House</description>
+ <year>1983</year>
+ <publisher>C&amp;VG</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="6755">
+ <rom name="Haunted House.tzx" size="6755" crc="2e639d4a" sha1="95d2e778633b273de02f1f865954a239b87fed22"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- written in BASIC, needs RUN after loading -->
<software name="hhousead">
<description>Haunted House Adventure</description>
@@ -77838,7 +78098,7 @@ license:CC0
<software name="hercslay">
<description>Hercules Slayer Of The Damned (set 1)</description>
<year>1988</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="108910">
<rom name="hercules slayer of the damned.tzx" size="108910" crc="367230df" sha1="8f6870627c8bf7dc4833fbe2e7287a2299ef157f"/>
@@ -77912,7 +78172,29 @@ license:CC0
</part>
</software>
- <software name="heroques">
+ <software name="heroqst">
+ <description>Hero Quest (128k)</description>
+ <year>1991</year>
+ <publisher>Gremlin Graphics Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="112032">
+ <rom name="hero quest - 128k.tzx" size="112032" crc="33c59a10" sha1="31c2432a223ce3458329ef1c50864297dea5fb23"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="heroqsta" cloneof="heroqst">
+ <description>Hero Quest (48k)</description>
+ <year>1991</year>
+ <publisher>Gremlin Graphics Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="137704">
+ <rom name="hero quest - 48k.tzx" size="137704" crc="c3077599" sha1="a319342ba9cd1e89ceb59dc21a2b8270e2d93d7b"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="heroqstb" cloneof="heroqst">
<description>Hero Quest (GBH)</description>
<year>1991</year>
<publisher>GBH Gold</publisher>
@@ -77923,24 +78205,66 @@ license:CC0
</part>
</software>
- <software name="heroques_a" cloneof="heroques">
- <description>Hero Quest - 128k</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="heroqstc" cloneof="heroqst">
+ <description>Hero Quest (Dro Soft)</description>
+ <year>1991</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="112032">
- <rom name="hero quest - 128k.tzx" size="112032" crc="33c59a10" sha1="31c2432a223ce3458329ef1c50864297dea5fb23"/>
+ <dataarea name="cass" size="111913">
+ <rom name="Hero Quest (Dro Soft).tzx" size="111913" crc="071116c8" sha1="f2e8934d1dacde7f18c268b998b25735d6544756"/>
</dataarea>
</part>
</software>
- <software name="heroques_b" cloneof="heroques">
- <description>Hero Quest - 48k</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="rwitchl">
+ <description>Hero Quest: Return of the Witch Lord</description>
+ <year>1991</year>
+ <publisher>Gremlin Graphics Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="105971">
+ <rom name="return of the witch lord - side 1.tzx" size="105971" crc="ce90c8ab" sha1="81df97e582eb921a321a6c15b5d9ecefcbdc6460"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="105754">
+ <rom name="return of the witch lord - side 2.tzx" size="105754" crc="7d994180" sha1="932068f1b26339d699537c12c714253ce83c9097"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rwitchld" cloneof="rwitchl">
+ <description>Hero Quest: Return of the Witch Lord (Dro Soft re-release)</description>
+ <year>1991</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="137704">
- <rom name="hero quest - 48k.tzx" size="137704" crc="c3077599" sha1="a319342ba9cd1e89ceb59dc21a2b8270e2d93d7b"/>
+ <dataarea name="cass" size="106012">
+ <rom name="return of the witch lord (dro soft).tzx" size="106012" crc="56f2cf41" sha1="1ea72d0fa33c3aa8a4a110cf171286c3eb5db76a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hqtwin">
+ <description>Hero Quest Twin Pack</description>
+ <year>1991</year>
+ <publisher>Gremlin Graphics Software</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="111943">
+ <rom name="hero quest twin pack - tape 1 - side 1.tzx" size="111943" crc="89e050d1" sha1="e526e77b5a4f9b930616cbcc46f5694faeb8d8a1"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="137616">
+ <rom name="hero quest twin pack - tape 1 - side 2.tzx" size="137616" crc="b14cb6f5" sha1="754feba0a213d858b8782066f0bb1edd0eff476f"/>
+ </dataarea>
+ </part>
+ <part name="cass3" interface="spectrum_cass">
+ <dataarea name="cass" size="105871">
+ <rom name="hero quest twin pack - tape 2 - side 1.tzx" size="105871" crc="9769c43b" sha1="b3a53e2835c142f250c83dde524419ecd1ff6cf4"/>
+ </dataarea>
+ </part>
+ <part name="cass4" interface="spectrum_cass">
+ <dataarea name="cass" size="105655">
+ <rom name="hero quest twin pack - tape 2 - side 2.tzx" size="105655" crc="fd2dfa0d" sha1="ce6dc2da99456453d54c3e712553b99120ae8a35"/>
</dataarea>
</part>
</software>
@@ -79399,7 +79723,7 @@ license:CC0
<software name="htbcbast">
<description>How To Be A Complete Bastard (set 1)</description>
<year>1987</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="57364">
<rom name="how to be a complete bastard.tzx" size="57364" crc="4f06caa3" sha1="21c582928d74e32175bdccb1ae227c611fdadf05"/>
@@ -82536,7 +82860,7 @@ license:CC0
<software name="italia90">
<description>Italia '90 - World Cup Soccer (set 1)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="54833">
<rom name="italia _90 - world cup soccer.tzx" size="54833" crc="a4224a58" sha1="3b86c7ae94ae5a5f02c5fd9ed87d69b39681a1c6"/>
@@ -82569,7 +82893,7 @@ license:CC0
<software name="italia90c" cloneof="italia90">
<description>Italia '90 - World Cup Soccer (set 4, Tronix)</description>
<year>1989</year>
- <publisher>Virgin Games Ltd / Tronix</publisher>
+ <publisher>Tronix</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="54833">
<rom name="italia _90 - world cup soccer (tronix).tzx" size="54833" crc="86b57861" sha1="45524ded135b034bd99067e16402ed3969297dbb"/>
@@ -82855,7 +83179,7 @@ license:CC0
<software name="islndvir">
<description>The Island (1983, Virgin)</description>
<year>1983</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="48987">
<rom name="the island (virgin).tzx" size="48987" crc="88320a83" sha1="b582762166dbb5fccd08e6fa7d88abb2b544db45"/>
@@ -85423,6 +85747,17 @@ license:CC0
</part>
</software>
+ <software name="perigosn" cloneof="jungletr">
+ <description>Perigos na Selva</description>
+ <year>1983</year>
+ <publisher>TMX Portugal</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="23070">
+ <rom name="perigos na selva.tzx" size="23070" crc="61c78a5f" sha1="c5b5c0a590164db3f7f4f6d35c8d5327a804580e"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="juniorar">
<description>Junior Arithmetic (Accord Data)</description>
<year>19??</year>
@@ -85833,9 +86168,9 @@ license:CC0
</software>
<software name="karyssia_a" cloneof="karyssia">
- <description>Karyssia - Queen Of Diamonds</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Karyssia - Queen Of Diamonds (set 1)</description>
+ <year>1987</year>
+ <publisher>Incentive</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="134318">
<rom name="karyssia - queen of diamonds.tzx" size="134318" crc="81a2dd24" sha1="50206f8557c97167bdb9e82cf9ee38473ddb55ff"/>
@@ -86080,7 +86415,7 @@ license:CC0
</software>
<software name="kickoff">
- <description>Kick Off (set 1)</description>
+ <description>Kick Off</description>
<year>1989</year>
<publisher>Anco</publisher>
<part name="cass" interface="spectrum_cass">
@@ -86090,8 +86425,19 @@ license:CC0
</part>
</software>
+ <software name="kickoffa" cloneof="kickoff">
+ <description>Kick Off (IBSA)</description>
+ <year>1989</year>
+ <publisher>IBSA</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="47114">
+ <rom name="Kick Off (IBSA).tzx" size="47114" crc="69de47e9" sha1="6f2a65aeec993e6bcf18037da30d305d4bdec29b"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="kickoffs" cloneof="kickoff">
- <description>Kick Off (set 2, System 4)</description>
+ <description>Kick Off (System 4)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cass" interface="spectrum_cass">
@@ -86102,9 +86448,9 @@ license:CC0
</software>
<software name="kickofft" cloneof="kickoff">
- <description>Kick Off (set 3, Top Shots)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Kick Off (Top Shots)</description>
+ <year>1989</year>
+ <publisher>Top Shots</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47099">
<rom name="kick off (top shots).tzx" size="47099" crc="37a0e70d" sha1="48f71b4a521c9195ecb9abc715ccc055265cf37b"/>
@@ -94109,6 +94455,17 @@ license:CC0
</software>
<software name="matchdy2">
+ <description>Match Day II</description>
+ <year>1987</year>
+ <publisher>Ocean</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="51188">
+ <rom name="match day ii.tzx" size="51188" crc="7f5e61e0" sha1="8646d00b48144236a92ebd6c7319252bbcbb75e5"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="matchdy2a" cloneof="matchdy2">
<description>Match Day 2 (Erbe)</description>
<year>1987</year>
<publisher>Erbe Software</publisher>
@@ -94119,35 +94476,35 @@ license:CC0
</part>
</software>
- <software name="matchdy2hs" cloneof="matchdy2">
- <description>Match Day 2 (The Hit Squad)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdy2b" cloneof="matchdy2">
+ <description>Match Day 2 (Erbe, alternate)</description>
+ <year>1987</year>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="46578">
- <rom name="match day 2 (the hit squad).tzx" size="46578" crc="2534e375" sha1="8788fe185c8dc33102cff603cc07c4a713e29020"/>
+ <dataarea name="cass" size="41956">
+ <rom name="match day 2 - alternate (erbe).tzx" size="41956" crc="93c5132e" sha1="df42de953f6cfbce601eb241a262ec50316b117b"/>
</dataarea>
</part>
</software>
- <software name="matchdy2er" cloneof="matchdy2">
- <description>Match Day 2 (set 2) (Erbe)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdyc" cloneof="matchdy2">
+ <description>Match Day 2 (The Hit Squad)</description>
+ <year>1990</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="41874">
- <rom name="match day 2 - alternate (erbe).tzx" size="41874" crc="7d97ca66" sha1="769eb2a855e9693b5fd1a8375ac22a20aaa59fe1"/>
+ <dataarea name="cass" size="46578">
+ <rom name="match day 2 (the hit squad).tzx" size="46578" crc="2534e375" sha1="8788fe185c8dc33102cff603cc07c4a713e29020"/>
</dataarea>
</part>
</software>
- <software name="matchdy2a" cloneof="matchdy2">
- <description>Match Day II</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="matchdyd" cloneof="matchdy2">
+ <description>Match Day 2 (IBSA)</description>
+ <year>1987</year>
+ <publisher>IBSA</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="51188">
- <rom name="match day ii.tzx" size="51188" crc="7f5e61e0" sha1="8646d00b48144236a92ebd6c7319252bbcbb75e5"/>
+ <dataarea name="cass" size="41951">
+ <rom name="Match Day 2 (IBSA - The Hit Squad).tzx" size="41951" crc="9c1e7d9a" sha1="6c9a54343be6e59d9806f1905489028f8735e7b1"/>
</dataarea>
</part>
</software>
@@ -97575,12 +97932,12 @@ license:CC0
</software>
<software name="moonwalk">
- <description>Moonwalker (Kixx)</description>
+ <description>Moonwalker</description>
<year>1989</year>
- <publisher>Kixx</publisher>
+ <publisher>U.S. Gold</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="172122">
- <rom name="moonwalker (kixx).tzx" size="172122" crc="be146157" sha1="84a48c866ba7302e3ea35b70c92d25ae5d42c912"/>
+ <dataarea name="cass" size="172288">
+ <rom name="moonwalker.tzx" size="172288" crc="983698ef" sha1="71e093a346fef29383bde16faaf1d0c3ad99fc97"/>
</dataarea>
</part>
</software>
@@ -97597,12 +97954,23 @@ license:CC0
</software>
<software name="moonwalk_b" cloneof="moonwalk">
- <description>Moonwalker</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Moonwalker (Kixx)</description>
+ <year>1989</year>
+ <publisher>Kixx</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="172288">
- <rom name="moonwalker.tzx" size="172288" crc="983698ef" sha1="71e093a346fef29383bde16faaf1d0c3ad99fc97"/>
+ <dataarea name="cass" size="172122">
+ <rom name="moonwalker (kixx).tzx" size="172122" crc="be146157" sha1="84a48c866ba7302e3ea35b70c92d25ae5d42c912"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="moonwalk_c" cloneof="moonwalk">
+ <description>Moonwalker (Erbe)</description>
+ <year>1989</year>
+ <publisher>Erbe Software</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="171324">
+ <rom name="Moonwalker (Erbe).tzx" size="171324" crc="963667e2" sha1="b6f75d0508843e5288f61113074c9087158c22f0"/>
</dataarea>
</part>
</software>
@@ -97684,9 +98052,20 @@ license:CC0
</software>
<software name="morrisme">
+ <description>Morris Meets The Bikers</description>
+ <year>1983</year>
+ <publisher>Automata UK</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="23568">
+ <rom name="morris meets the bikers.tzx" size="23568" crc="587f7942" sha1="83f334ae491dc4388b44faac41e3a0f8012a5895"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="morrisme_a" cloneof="morrisme">
<description>Morris Meets The Bikers (ZX Data)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1983</year>
+ <publisher>ZX Data</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="7833">
<rom name="morris meets the bikers (zx data) - side 1.tzx" size="7833" crc="5a405113" sha1="776feffdd02c68572a03cdb701dedc0a4385272d"/>
@@ -97699,17 +98078,6 @@ license:CC0
</part>
</software>
- <software name="morrisme_a" cloneof="morrisme">
- <description>Morris Meets The Bikers</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="23568">
- <rom name="morris meets the bikers.tzx" size="23568" crc="587f7942" sha1="83f334ae491dc4388b44faac41e3a0f8012a5895"/>
- </dataarea>
- </part>
- </software>
-
<software name="morsecod">
<description>Morse Code Tutor (Technical Software)</description>
<year>1987</year>
@@ -97920,12 +98288,10 @@ license:CC0
</part>
</software>
-
-
<software name="motormas">
<description>Motor Massacre</description>
<year>1989</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="95871">
<rom name="motor massacre - side a.tzx" size="95871" crc="d07bf385" sha1="b76e307254ce0261b4ff630d3ad9e35e0127238b"/>
@@ -99388,7 +99754,7 @@ license:CC0
<software name="mutants">
<description>Mutants (set 1)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="54979">
<rom name="mutants - side 1.tzx" size="54979" crc="5f7e35a2" sha1="0e4336b9406942390058dae1313dd260689fb902"/>
@@ -99404,7 +99770,7 @@ license:CC0
<software name="mutantser" cloneof="mutants">
<description>Mutants (set 2, Erbe)</description>
<year>1987</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50677">
<rom name="mutants - side 1 (erbe).tzx" size="50677" crc="c613af15" sha1="bdea1a850ccb1169032b14f2f72237e4f8e0ba7b"/>
@@ -99625,9 +99991,9 @@ license:CC0
<software name="myth">
- <description>Myth - History In The Making (set 1)</description>
+ <description>Myth - History in the Making</description>
<year>1989</year>
- <publisher>System 3 Software Ltd</publisher>
+ <publisher>System 3 Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="201203">
<rom name="myth - history in the making.tzx" size="201203" crc="697f0108" sha1="7bdfbeeea03db0c4a6d908f14f9ba6b63e2d30d7"/>
@@ -99636,9 +100002,9 @@ license:CC0
</software>
<software name="mythk" cloneof="myth">
- <description>Myth - History In The Making (set 2, Kixx)</description>
+ <description>Myth - History in the Making (Kixx)</description>
<year>1989</year>
- <publisher>System 3 Software Ltd / Kixx</publisher>
+ <publisher>Kixx</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="200892">
<rom name="myth - history in the making (kixx).tzx" size="200892" crc="9be463f5" sha1="5bc52f29c9f377074bef1e1c075baa7ab8a64b36"/>
@@ -99647,9 +100013,9 @@ license:CC0
</software>
<software name="mythm" cloneof="myth">
- <description>Myth - History In The Making (set 3, MCM)</description>
+ <description>Myth - History in the Making (MCM)</description>
<year>1989</year>
- <publisher>System 3 Software Ltd / MCM</publisher>
+ <publisher>MCM</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="195782">
<rom name="myth - side 1 (mcm).tzx" size="195782" crc="1089e515" sha1="226ddd98ba365901341aaa564f9241a614a075ae"/>
@@ -100789,7 +101155,7 @@ license:CC0
<software name="nywarr">
<description>New York Warriors</description>
<year>1990</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="31412">
<rom name="new york warriors - side a.tzx" size="31412" crc="f1bddb3f" sha1="a55038927e139459bc48b09b3451b9c980d20409"/>
@@ -102295,6 +102661,17 @@ license:CC0
</part>
</software>
+ <software name="objelysee">
+ <description>Objectif Élysée</description>
+ <year>1984</year>
+ <publisher>ERE Informatique</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="55041">
+ <rom name="Objectif Elysee - ERE.tzx" size="55041" crc="a47337f0" sha1="3c339120df5ff278233c73e33156914206a8beaf"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="oblitera">
<description>Obliterator (Dro Soft)</description>
<year>1989</year>
@@ -103633,13 +104010,13 @@ license:CC0
</part>
</software>
- <software name="orfeussi">
- <description>Orfeus (Sintech)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="ordlek">
+ <description>Ordlek</description>
+ <year>1984</year>
+ <publisher>Aschehoug</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="36130">
- <rom name="orfeus (sintech).tzx" size="36130" crc="1bd3f509" sha1="dfe2dc0db6c8cb64d1fd1ce51cb76f4d6d35187f"/>
+ <dataarea name="cass" size="30962">
+ <rom name="Ordlek - Aschehoug.tzx" size="30962" crc="9807dc29" sha1="934bbf151bb2a8352102da6c198c33656b9db5f9"/>
</dataarea>
</part>
</software>
@@ -103655,6 +104032,17 @@ license:CC0
</part>
</software>
+ <software name="orfeussi">
+ <description>Orfeus (Sintech)</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="36130">
+ <rom name="orfeus (sintech).tzx" size="36130" crc="1bd3f509" sha1="dfe2dc0db6c8cb64d1fd1ce51cb76f4d6d35187f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="organmas">
<description>Organ Master</description>
<year>1986</year>
@@ -105443,6 +105831,17 @@ license:CC0
</software>
<software name="penetrat">
+ <description>Penetrator</description>
+ <year>1983</year>
+ <publisher>Melbourne House</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="40068">
+ <rom name="penetrator.tzx" size="40068" crc="a099a7a3" sha1="eeee7c2f5f41447e1cee5f583994e4d4a1dec869"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="penetrata" cloneof="penetrat">
<description>Penetrator (Microbyte)</description>
<year>1987</year>
<publisher>Microbyte</publisher>
@@ -105453,13 +105852,13 @@ license:CC0
</part>
</software>
- <software name="penetrat_a" cloneof="penetrat">
- <description>Penetrator</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="penetratb" cloneof="penetrat">
+ <description>Penetrator (Investronica)</description>
+ <year>1983</year>
+ <publisher>Investronica</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="40068">
- <rom name="penetrator.tzx" size="40068" crc="a099a7a3" sha1="eeee7c2f5f41447e1cee5f583994e4d4a1dec869"/>
+ <dataarea name="cass" size="40088">
+ <rom name="Penetrator (Investronica).tzx" size="40088" crc="fb581287" sha1="972a4fca04d6da4a21aa2669cf6e36e323764266"/>
</dataarea>
</part>
</software>
@@ -105529,17 +105928,6 @@ license:CC0
</part>
</software>
- <software name="perigosn">
- <description>Perigos Na Selva</description>
- <year>1983</year>
- <publisher>TMX Portugal</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="23070">
- <rom name="perigos na selva.tzx" size="23070" crc="61c78a5f" sha1="c5b5c0a590164db3f7f4f6d35c8d5327a804580e"/>
- </dataarea>
- </part>
- </software>
-
<software name="perilsof">
<description>Perils Of Bear George (MCI)</description>
<year>1984</year>
@@ -106045,8 +106433,8 @@ license:CC0
<software name="phoenixz_a" cloneof="phoenixz">
<description>Phoenix (Zenobi)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1991</year>
+ <publisher>Zenobi Software</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="37763">
<rom name="phoenix (zenobi).tzx" size="37763" crc="ebb6244c" sha1="68b5880ba4ac67c72253708ecdfcd1d83cb6f825"/>
@@ -106054,6 +106442,17 @@ license:CC0
</part>
</software>
+ <software name="phonex">
+ <description>Phonex</description>
+ <year>19??</year>
+ <publisher>Rebit Computer</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="31748">
+ <rom name="Phonex - Rebit Computer.tzx" size="31748" crc="90ee4267" sha1="74111d94eec7237e30c2cf046fbc4dd98277e851"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="photofin">
<description>Photo Finish</description>
<year>1984</year>
@@ -106745,9 +107144,9 @@ license:CC0
</software>
<software name="pitfight">
- <description>Pit-Fighter (set 1)</description>
+ <description>Pit-Fighter</description>
<year>1991</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="97094">
<rom name="pit-fighter - side a.tzx" size="97094" crc="7d533749" sha1="a461d088f50d44e3ebcf13f602c9bed941738895"/>
@@ -106760,10 +107159,10 @@ license:CC0
</part>
</software>
- <software name="pitfighths" cloneof="pitfight">
- <description>Pit-Fighter (set 2, The Hit Squad)</description>
+ <software name="pitfighta" cloneof="pitfight">
+ <description>Pit-Fighter (The Hit Squad)</description>
<year>1991</year>
- <publisher>Domark Ltd / The Hit Squad</publisher>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="96950">
<rom name="pit-fighter - side 1 (the hit squad).tzx" size="96950" crc="cf178b22" sha1="f01d05f98559628e4798ad1cdeeec8ab34537aad"/>
@@ -106893,25 +107292,20 @@ license:CC0
</software>
<software name="platoon">
- <description>Platoon (set 1, release 2)</description>
+ <description>Platoon (128K)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
- <part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="112889">
- <rom name="platoon - release 2 - side a.tzx" size="112889" crc="f9727bd5" sha1="4069c747ff58f5e1243889801ef92e9ecdd75fd9"/>
- </dataarea>
- </part>
- <part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="90426">
- <rom name="platoon - release 2 - side b.tzx" size="90426" crc="fe36101b" sha1="099d831f83cca9a2f578e805560586940340c21a"/>
+ <publisher>Ocean</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="112781">
+ <rom name="Platoon - 128k.tzx" size="112781" crc="ff62eeff" sha1="b9c0499559330609c6e7c6ce009092e275f6e55a"/>
</dataarea>
</part>
</software>
<software name="platoona" cloneof="platoon">
- <description>Platoon (set 2, release 1)</description>
+ <description>Platoon (48K, release 1)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="118167">
<rom name="platoon - release 1 - side a.tzx" size="118167" crc="ce253896" sha1="aa56c7842831a5f43a84995ab60aac54f0925dc0"/>
@@ -106924,10 +107318,26 @@ license:CC0
</part>
</software>
- <software name="platoonhs" cloneof="platoon">
- <description>Platoon (set 3, The Hit Squad)</description>
+ <software name="platoonb" cloneof="platoon">
+ <description>Platoon (48K, release 2)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / The Hit Squad</publisher>
+ <publisher>Ocean</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="112889">
+ <rom name="platoon - release 2 - side a.tzx" size="112889" crc="f9727bd5" sha1="4069c747ff58f5e1243889801ef92e9ecdd75fd9"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="90426">
+ <rom name="platoon - release 2 - side b.tzx" size="90426" crc="fe36101b" sha1="099d831f83cca9a2f578e805560586940340c21a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="platoonhs" cloneof="platoon">
+ <description>Platoon (The Hit Squad)</description>
+ <year>1990</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="112412">
<rom name="platoon (the hit squad) - side 1.tzx" size="112412" crc="58095a22" sha1="88bec41b5713a957af20ee8822c9e9ea187ec753"/>
@@ -106941,9 +107351,9 @@ license:CC0
</software>
<software name="platoonhse" cloneof="platoon">
- <description>Platoon (set 4, The Hit Squad, Erbe)</description>
+ <description>Platoon (IBSA)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / The Hit Squad / Erbe</publisher>
+ <publisher>IBSA</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="108780">
<rom name="platoon (erbe - the hit squad).tzx" size="108780" crc="6d186fb2" sha1="9b1278b1079aa59dafde3a8bb1b9723460801a95"/>
@@ -106952,9 +107362,9 @@ license:CC0
</software>
<software name="platoone" cloneof="platoon">
- <description>Platoon (set 5, Erbe)</description>
+ <description>Platoon (Erbe)</description>
<year>1988</year>
- <publisher>Ocean Software Ltd / Erbe</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="108821">
<rom name="platoon - side 1 (erbe).tzx" size="108821" crc="206863a5" sha1="780eb87fc1fba1559fce55263a705bab74fc053c"/>
@@ -111216,7 +111626,7 @@ license:CC0
<software name="racingma">
<description>Racing Manager</description>
<year>1983</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="38905">
<rom name="racing manager.tzx" size="38905" crc="42b19596" sha1="1c44d755abc4ede204048d3de53b32a15cdfbed1"/>
@@ -112355,7 +112765,7 @@ license:CC0
<software name="rebel">
<description>Rebel (set 1)</description>
<year>1987</year>
- <publisher>Virgin Games Ltd</publisher>
+ <publisher>Virgin Games</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="56855">
<rom name="rebel.tzx" size="56855" crc="d42ee24d" sha1="bd1a229b89c2b70aff5bea6f3d9598cbd59feeed"/>
@@ -112926,33 +113336,6 @@ license:CC0
</part>
</software>
- <software name="rwitchl">
- <description>Return Of The Witch Lord</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="105971">
- <rom name="return of the witch lord - side 1.tzx" size="105971" crc="ce90c8ab" sha1="81df97e582eb921a321a6c15b5d9ecefcbdc6460"/>
- </dataarea>
- </part>
- <part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="105754">
- <rom name="return of the witch lord - side 2.tzx" size="105754" crc="7d994180" sha1="932068f1b26339d699537c12c714253ce83c9097"/>
- </dataarea>
- </part>
- </software>
-
- <software name="rwitchld" cloneof="rwitchl">
- <description>Return Of The Witch Lord (Dro Soft re-release)</description>
- <year>1991</year>
- <publisher>Dro Soft</publisher>
- <part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="106012">
- <rom name="return of the witch lord (dro soft).tzx" size="106012" crc="56f2cf41" sha1="1ea72d0fa33c3aa8a4a110cf171286c3eb5db76a"/>
- </dataarea>
- </part>
- </software>
-
<software name="reteartha" cloneof="retearth">
<description>Return To Earth (set 2)</description>
<year>1982</year>
@@ -115978,20 +116361,20 @@ license:CC0
</software>
<software name="salamand">
- <description>Salamander (Erbe)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
+ <description>Salamander</description>
+ <year>1987</year>
+ <publisher>Konami</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="55134">
- <rom name="salamander (erbe).tzx" size="55134" crc="91994396" sha1="11a305d3cc3855102c359ad8a8f493147a942d40"/>
+ <dataarea name="cass" size="60001">
+ <rom name="salamander.tzx" size="60001" crc="bbdf4c05" sha1="5089671a3561753f39002c8519350528fca28fc6"/>
</dataarea>
</part>
</software>
<software name="salamand_a" cloneof="salamand">
<description>Salamander (Imagine)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1987</year>
+ <publisher>Imagine</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="45860">
<rom name="salamander (imagine).tzx" size="45860" crc="5d4b0391" sha1="d902b7ccf819d049bff80539e3ba5a0af9ab1ce0"/>
@@ -116001,8 +116384,8 @@ license:CC0
<software name="salamand_b" cloneof="salamand">
<description>Salamander (The Hit Squad)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1990</year>
+ <publisher>The Hit Squad</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47880">
<rom name="salamander (the hit squad).tzx" size="47880" crc="d8ab4613" sha1="9fcd4df7633b816bc6a02262f50e34fd627835a7"/>
@@ -116011,12 +116394,12 @@ license:CC0
</software>
<software name="salamand_c" cloneof="salamand">
- <description>Salamander</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <description>Salamander (Erbe)</description>
+ <year>1988</year>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="60001">
- <rom name="salamander.tzx" size="60001" crc="bbdf4c05" sha1="5089671a3561753f39002c8519350528fca28fc6"/>
+ <dataarea name="cass" size="55134">
+ <rom name="salamander (erbe).tzx" size="55134" crc="91994396" sha1="11a305d3cc3855102c359ad8a8f493147a942d40"/>
</dataarea>
</part>
</software>
@@ -116133,6 +116516,22 @@ license:CC0
</software>
<software name="samurait">
+ <description>Samurai Trilogy</description>
+ <year>1987</year>
+ <publisher>Gremlin Graphics</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="28411">
+ <rom name="samurai trilogy - side a.tzx" size="28411" crc="212ffe40" sha1="ea7687aba4264bf147a22d5b9d92b5b38666c3a2"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="120174">
+ <rom name="samurai trilogy - side b.tzx" size="120174" crc="ba71c659" sha1="59dc24dfd7c830bc2626579a51d8731d7f139ce8"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="samuraita" cloneof="samurait">
<description>Samurai Trilogy (Kixx)</description>
<year>1987</year>
<publisher>Kixx</publisher>
@@ -116148,10 +116547,10 @@ license:CC0
</part>
</software>
- <software name="samurait_b" cloneof="samurait">
+ <software name="samuraitb" cloneof="samurait">
<description>Samurai Trilogy (Erbe)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1987</year>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="28342">
<rom name="samurai trilogy - side 1 (erbe).tzx" size="28342" crc="bc6a7dae" sha1="bf67f48278bd9bc9b0d1a18699c8438ad9602457"/>
@@ -116164,22 +116563,6 @@ license:CC0
</part>
</software>
- <software name="samurait_d" cloneof="samurait">
- <description>Samurai Trilogy</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="28411">
- <rom name="samurai trilogy - side a.tzx" size="28411" crc="212ffe40" sha1="ea7687aba4264bf147a22d5b9d92b5b38666c3a2"/>
- </dataarea>
- </part>
- <part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="120174">
- <rom name="samurai trilogy - side b.tzx" size="120174" crc="ba71c659" sha1="59dc24dfd7c830bc2626579a51d8731d7f139ce8"/>
- </dataarea>
- </part>
- </software>
-
<software name="samuraiw">
<description>Samurai Warrior (MC Lothlorien)</description>
<year>1982</year>
@@ -117864,7 +118247,7 @@ license:CC0
<software name="shadbeas">
<description>Shadow Of The Beast (set 1)</description>
<year>1990</year>
- <publisher>Gremlin Graphics Software Ltd</publisher>
+ <publisher>Gremlin Graphics Software</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="31222">
<rom name="shadow of the beast - side 1.tzx" size="31222" crc="4294186a" sha1="c9539e25593545f258fa90ed0b1f546613c7691f"/>
@@ -124360,7 +124743,7 @@ license:CC0
<software name="spitting">
<description>Spitting Image</description>
<year>1988</year>
- <publisher>Domark Ltd</publisher>
+ <publisher>Domark</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="37955">
<rom name="spitting image - side 1.tzx" size="37955" crc="2105ddcc" sha1="81b87b00007e10d6785244ac579fdebe5afac07a"/>
@@ -127228,6 +127611,22 @@ license:CC0
</software>
<software name="supercar">
+ <description>Super Cars</description>
+ <year>1990</year>
+ <publisher>Gremlin Graphics</publisher>
+ <part name="cass1" interface="spectrum_cass">
+ <dataarea name="cass" size="74336">
+ <rom name="super cars - side 1.tzx" size="74336" crc="7c0c9e0d" sha1="15bc5b374aa5b98c06c3b59b4cfd95d1d88ae5c2"/>
+ </dataarea>
+ </part>
+ <part name="cass2" interface="spectrum_cass">
+ <dataarea name="cass" size="64462">
+ <rom name="super cars - side 2.tzx" size="64462" crc="135a9a33" sha1="599aa96c91a92435607b506ac1c74c7d936e8172"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="supercara" cloneof="supercar">
<description>Super Cars (GBH)</description>
<year>1990</year>
<publisher>GBH</publisher>
@@ -127243,18 +127642,18 @@ license:CC0
</part>
</software>
- <software name="supercar_a" cloneof="supercar">
- <description>Super Cars</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="supercarb" cloneof="supercar">
+ <description>Super Cars (Erbe)</description>
+ <year>1990</year>
+ <publisher>Erbe Software</publisher>
<part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="74336">
- <rom name="super cars - side 1.tzx" size="74336" crc="7c0c9e0d" sha1="15bc5b374aa5b98c06c3b59b4cfd95d1d88ae5c2"/>
+ <dataarea name="cass" size="52025">
+ <rom name="super cars - side 1 (erbe).tzx" size="52025" crc="77ff22ba" sha1="8fa39ddffb9dbc4fbb6973f0d2149cb76218d541"/>
</dataarea>
</part>
<part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="64462">
- <rom name="super cars - side 2.tzx" size="64462" crc="135a9a33" sha1="599aa96c91a92435607b506ac1c74c7d936e8172"/>
+ <dataarea name="cass" size="81198">
+ <rom name="super cars - side 2 (erbe).tzx" size="81198" crc="aac6f850" sha1="70e4a724ceda6712d56b8c1403b6de5ac4ee86b4"/>
</dataarea>
</part>
</software>
@@ -131390,8 +131789,8 @@ license:CC0
</part>
</software>
- <software name="testdriv">
- <description>Test Drive 2 - The Duel</description>
+ <software name="td2">
+ <description>Test Drive II: The Duel</description>
<year>1989</year>
<publisher>Accolade</publisher>
<part name="cass" interface="spectrum_cass">
@@ -131401,10 +131800,10 @@ license:CC0
</part>
</software>
- <software name="testdriv_a" cloneof="testdriv">
- <description>Test Drive II - The Duel (Dro Soft)</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <software name="td2a" cloneof="td2">
+ <description>Test Drive II: The Duel (Dro Soft)</description>
+ <year>1990</year>
+ <publisher>Dro Soft</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="47057">
<rom name="test drive ii - the duel (dro soft).tzx" size="47057" crc="7bc9d285" sha1="757a632e1f65bfff1773072067a438cdeec5e965"/>
@@ -136760,31 +137159,31 @@ license:CC0
</part>
</software>
- <software name="uridiume">
- <description>Uridium (Erbe)</description>
- <year>1986</year>
- <publisher>Erbe Software</publisher>
+ <software name="uridiump">
+ <description>Uridium Plus</description>
+ <year>1987</year>
+ <publisher>Hewson Consultants</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="51012">
- <rom name="uridium (erbe).tzx" size="51012" crc="9ed30fe2" sha1="299a052996b2c9f24f0b11d412a99b9aed0b2f39"/>
+ <dataarea name="cass" size="49837">
+ <rom name="uridium plus.tzx" size="49837" crc="09d9e37e" sha1="7d9db8097d2ca64e28f432f02eac0f69ec58bab3"/>
</dataarea>
</part>
</software>
- <software name="uridiumr">
- <description>Uridium (Rack-It)</description>
- <year>1988</year>
- <publisher>Rack-It</publisher>
+ <software name="uridium">
+ <description>Uridium (set 1)</description>
+ <year>1986</year>
+ <publisher>Hewson Consultants</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="50016">
- <rom name="uridium (rack-it).tzx" size="50016" crc="d9062c6e" sha1="0fa866541909f50303348db1f1013e4990ed0a0d"/>
+ <dataarea name="cass" size="49867">
+ <rom name="uridium.tzx" size="49867" crc="cee5122e" sha1="06a470d54036764c937293d3c4927a7303e46213"/>
</dataarea>
</part>
</software>
- <software name="uridiuma">
- <description>Uridium (set 2)</description>
- <year>1986</year>
+ <software name="uridiuma" cloneof="uridium">
+ <description>Uridium (set 2 - alternative)</description>
+ <year>1987</year>
<publisher>Hewson Consultants</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="50019">
@@ -136798,24 +137197,35 @@ license:CC0
</part>
</software>
- <software name="uridiump">
- <description>Uridium Plus</description>
- <year>1987</year>
- <publisher>Hewson Consultants</publisher>
+ <software name="uridiumb" cloneof="uridium">
+ <description>Uridium (Erbe - medium case)</description>
+ <year>1986</year>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="49837">
- <rom name="uridium plus.tzx" size="49837" crc="09d9e37e" sha1="7d9db8097d2ca64e28f432f02eac0f69ec58bab3"/>
+ <dataarea name="cass" size="51012">
+ <rom name="uridium (erbe).tzx" size="51012" crc="9ed30fe2" sha1="299a052996b2c9f24f0b11d412a99b9aed0b2f39"/>
</dataarea>
</part>
</software>
- <software name="uridium">
- <description>Uridium</description>
+ <software name="uridiumc" cloneof="uridium">
+ <description>Uridium (Erbe - small case)</description>
<year>1986</year>
- <publisher>Hewson Consultants</publisher>
+ <publisher>Erbe Software</publisher>
<part name="cass" interface="spectrum_cass">
- <dataarea name="cass" size="49867">
- <rom name="uridium.tzx" size="49867" crc="cee5122e" sha1="06a470d54036764c937293d3c4927a7303e46213"/>
+ <dataarea name="cass" size="51172">
+ <rom name="Uridium - Small Case (Erbe).tzx" size="51172" crc="e0706356" sha1="44b31486f7edaea9cbcb71674c6e2fcbae456106"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="uridiumd">
+ <description>Uridium (Rack-It)</description>
+ <year>1988</year>
+ <publisher>Rack-It</publisher>
+ <part name="cass" interface="spectrum_cass">
+ <dataarea name="cass" size="50016">
+ <rom name="uridium (rack-it).tzx" size="50016" crc="d9062c6e" sha1="0fa866541909f50303348db1f1013e4990ed0a0d"/>
</dataarea>
</part>
</software>
@@ -138935,7 +139345,7 @@ license:CC0
<software name="wizardtal">
<description>The Wizard of Tallyron</description>
<year>1986</year>
- <publisher>C &amp; VG</publisher>
+ <publisher>C&amp;VG</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="36911">
<rom name="the wizard of tallyron.tzx" size="36911" crc="9e5b2dd2" sha1="c95729658f9d1c9e46951f7a2de8894fc69766fe"/>
@@ -147451,7 +147861,7 @@ license:CC0
<software name="arcadiao">
<description>Arcadia (Ocean Software, compilation)</description>
<year>1989</year>
- <publisher>Ocean Software Ltd</publisher>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="162739">
<rom name="arcadia - chase hq.tzx" size="162739" crc="c25e6031" sha1="6a988d6b8a4e948e8b8ccd9b3ccdcbedfd3d4e10"/>
@@ -151780,32 +152190,6 @@ license:CC0
</part>
</software>
- <software name="hqtwin">
- <description>Hero Quest Twin Pack</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="cass1" interface="spectrum_cass">
- <dataarea name="cass" size="111943">
- <rom name="hero quest twin pack - tape 1 - side 1.tzx" size="111943" crc="89e050d1" sha1="e526e77b5a4f9b930616cbcc46f5694faeb8d8a1"/>
- </dataarea>
- </part>
- <part name="cass2" interface="spectrum_cass">
- <dataarea name="cass" size="137616">
- <rom name="hero quest twin pack - tape 1 - side 2.tzx" size="137616" crc="b14cb6f5" sha1="754feba0a213d858b8782066f0bb1edd0eff476f"/>
- </dataarea>
- </part>
- <part name="cass3" interface="spectrum_cass">
- <dataarea name="cass" size="105871">
- <rom name="hero quest twin pack - tape 2 - side 1.tzx" size="105871" crc="9769c43b" sha1="b3a53e2835c142f250c83dde524419ecd1ff6cf4"/>
- </dataarea>
- </part>
- <part name="cass4" interface="spectrum_cass">
- <dataarea name="cass" size="105655">
- <rom name="hero quest twin pack - tape 2 - side 2.tzx" size="105655" crc="fd2dfa0d" sha1="ce6dc2da99456453d54c3e712553b99120ae8a35"/>
- </dataarea>
- </part>
- </software>
-
<software name="heroesta">
<description>Heroes (compilation)</description>
<year>1990</year>
@@ -159255,8 +159639,8 @@ license:CC0
<software name="dreamtap">
<description>The Dream Team</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <year>1993</year>
+ <publisher>Ocean</publisher>
<part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="172374">
<rom name="the dream team - tape 1 - the simpsons - side 1.tzx" size="172374" crc="2c78dfbd" sha1="57a002e57a3d24e70c963554c785e1158da47818"/>
diff --git a/hash/trs80_cass.xml b/hash/trs80_cass.xml
index eeba037744b..0af7a3c15f4 100644
--- a/hash/trs80_cass.xml
+++ b/hash/trs80_cass.xml
@@ -11,7 +11,7 @@ Compatibility flags:
3 = trs80m3
4 = trs80m4
H = HT series
-M = meritum
+
If no flag is specified, it's assumed it works on all of them.
@@ -25,39 +25,13 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
-->
<softwarelist name="trs80_cass" description="Radio Shack TRS-80 cassettes">
- <software name="android">
- <description>Android Nim</description>
- <year>1978</year>
- <publisher>80-NW Publishing Co</publisher>
- <info name="author" value="Leo Christopherson" />
- <info name="usage" value="(Model 3/4: Answer L at Cass? prompt) CLOAD then RUN" />
- <sharedfeat name="compatibility" value="1,3,4,H" />
- <part name="cass1" interface="trs80_cass">
- <dataarea name="cass" size="0x3785">
- <rom name="android1.cas" size="0x3785" crc="4f72e456" sha1="d53a619c8f3d734f08db6ade979cdb267097e2cf"/>
- </dataarea>
- </part>
- </software>
- <software name="meteor2">
- <description>Meteor Mission 2</description>
- <year>1982</year>
- <publisher>Big Five Software</publisher>
- <info name="author" value="Bill Hogue and Jeff Konyu" />
- <info name="usage" value="(Model 3/4: Answer L at Cass? prompt) SYSTEM then METEOR then /" />
- <sharedfeat name="compatibility" value="1,3,4,H" /><!-- Graphics are better on 3,4 -->
- <part name="cass1" interface="trs80_cass">
- <dataarea name="cass" size="0x2ff8">
- <rom name="meteor2.cas" size="0x2ff8" crc="144417c0" sha1="26b441bd494ddbce478239c1727087e64a95e447"/>
- </dataarea>
- </part>
- </software>
<software name="chess0">
<description>MicroChess 1.5 (L1)</description>
<year>1978</year>
<publisher>Micro-ware Limited</publisher>
- <info name="usage" value="CLOAD then RUN" />
+ <info name="usage" value="Enter, CLOAD then RUN" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
+ <part name="cass" interface="trs80_cass">
<dataarea name="cass" size="0x148b">
<rom name="chess0.cas" size="0x148b" crc="b8a1a3ae" sha1="937c25f5295edd00a90bfe828615ba5e2470b9dd"/>
</dataarea>
@@ -67,9 +41,9 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
<description>Haunted House (L1)</description>
<year>1980</year>
<publisher>Tandy Corporation</publisher>
- <info name="usage" value="CLOAD then when it says HAUNTED HOUSE hit Enter" />
+ <info name="usage" value="Enter, CLOAD then when it says HAUNTED HOUSE hit Enter" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
+ <part name="cass" interface="trs80_cass">
<dataarea name="cass" size="0x1ae3">
<rom name="haunt0.cas" size="0x1ae3" crc="40554978" sha1="d8d6c8a2f482bc1f7c6e6c49a510979f9f9139d9"/>
</dataarea>
@@ -79,9 +53,9 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
<description>Invasion Force (L1)</description>
<year>1979</year>
<publisher>Tandy Corporation</publisher>
- <info name="usage" value="CLOAD" />
+ <info name="usage" value="Enter, CLOAD" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
+ <part name="cass" interface="trs80_cass">
<dataarea name="cass" size="0x2287">
<rom name="invasion0.cas" size="0x2287" crc="d40c1134" sha1="aea9a587d9040cff153c8be219ed4591a794524c"/>
</dataarea>
@@ -91,9 +65,9 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
<description>TRS-80 Marquee (L1)</description>
<year>1979</year>
<publisher>Tandy Corporation</publisher>
- <info name="usage" value="CLOAD" />
+ <info name="usage" value="Enter, CLOAD" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
+ <part name="cass" interface="trs80_cass">
<dataarea name="cass" size="0x069f">
<rom name="marquee0.cas" size="0x069f" crc="46c8ba18" sha1="a1edef26cfb996d8f150e0ca9e5212a8de6c4aef"/>
</dataarea>
@@ -103,9 +77,9 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
<description>Quick Watson (L1)</description>
<year>1978</year>
<publisher>Radio Shack</publisher>
- <info name="usage" value="CLOAD then RUN" />
+ <info name="usage" value="Enter, CLOAD then RUN" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
+ <part name="cass" interface="trs80_cass">
<dataarea name="cass" size="0x0c5b">
<rom name="qwatson0.cas" size="0x0c5b" crc="196e5e75" sha1="a65fb3144b71d377632240548cdeb875e6537d8d"/>
</dataarea>
@@ -116,13 +90,667 @@ Note that trs80m4p doesn't physically have a cassette interface, so no tapes can
<year>1979</year>
<publisher>Radio Shack</publisher>
<info name="author" value="Robert Arnstein" />
- <info name="usage" value="CLOAD then RUN" />
+ <info name="usage" value="Enter, CLOAD then RUN" />
<sharedfeat name="compatibility" value="0" />
- <part name="cass1" interface="trs80_cass">
- <dataarea name="cass" size="0e8b">
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0e8b">
<rom name="saucer0.cas" size="0x0e8b" crc="257f8f52" sha1="5c46fc89edab7f5a55706ab18c9315aa7b2f3d28"/>
</dataarea>
</part>
</software>
+ <software name="android">
+ <description>Android Nim</description>
+ <year>1978</year>
+ <publisher>80-NW Publishing Co</publisher>
+ <info name="author" value="Leo Christopherson" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3785">
+ <rom name="android1.cas" size="0x3785" crc="4f72e456" sha1="d53a619c8f3d734f08db6ade979cdb267097e2cf"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="colliss">
+ <description>Collission</description>
+ <year>1979</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="David Bohlke" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0ac3">
+ <rom name="autozas.cas" size="0x0ac3" crc="2ce1c3ca" sha1="5172fd0540e1a0c21530682f87ef21abdd73f169"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="baccarat">
+ <description>Baccarat</description>
+ <year>1979</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2b53">
+ <rom name="baccarat.cas" size="0x2b53" crc="f7c12e3a" sha1="022e9df94542ae9012e5903c5eceeaba554600b4"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="backgamm">
+ <description>Backgammon</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0c6d">
+ <rom name="backgamm.cas" size="0x0c6d" crc="f191518b" sha1="771ce3df3cb48bf7ebea79a3f3ec2beb104a12af"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="blakjack">
+ <description>Blackjack</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0ba2">
+ <rom name="blackjack.cas" size="0x0ba2" crc="c16621c1" sha1="e75e527fcbfa1131e1c0eb618686bd13facd787d"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="craps">
+ <description>Reno Casino Craps</description>
+ <year>1979</year>
+ <publisher>Tandy Corp</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2278">
+ <rom name="craps.cas" size="0x2278" crc="9e7ac665" sha1="4f26aa561b1c90c3074963a9c1fc526224ca9702"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="dslogo">
+ <description>System-80 Demo</description>
+ <year>19??</year>
+ <publisher>Dick Smith Electronics</publisher>
+ <info name="usage" value="Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0d65">
+ <rom name="dslogo.cas" size="0x0d65" crc="77cbbbf3" sha1="e901be378d78ac286fd9f4e37bdb912f795432c7"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="dtrap">
+ <description>Death Trap</description>
+ <year>19??</year>
+ <publisher>Dick Smith Electronics</publisher>
+ <info name="author" value="Michael Fackerell" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), 32640, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x12e9">
+ <rom name="dtrap.cas" size="0x12e9" crc="a5f283e2" sha1="ac4406c8469bf6fe54560a4273d678275fc7dd4e"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="keno">
+ <description>Reno Keno</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1427">
+ <rom name="keno.cas" size="0x1427" crc="0db78e54" sha1="fed04ea2f4a63ceb651fb6fbc5ba19584583f85f"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="meteor2">
+ <description>Meteor Mission 2</description>
+ <year>1982</year>
+ <publisher>Big Five Software</publisher>
+ <info name="author" value="Bill Hogue and Jeff Konyu" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then METEOR then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" /><!-- Graphics are better on 3,4 -->
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2ff8">
+ <rom name="meteor2.cas" size="0x2ff8" crc="144417c0" sha1="26b441bd494ddbce478239c1727087e64a95e447"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="microply">
+ <description>Micro-opoly</description>
+ <year>1979</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Douglas Perrin" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x32f1">
+ <rom name="microply.cas" size="0x32f1" crc="c9da3313" sha1="cfb8f1312de710f297c09f5e188a3ea6bf78895b"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="qwatson">
+ <description>Quick Watson</description>
+ <year>1978</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0bb4">
+ <rom name="qwatson.cas" size="0x0bb4" crc="f185d97a" sha1="332dec055c615cf5aea92f093bf3fb0767cf8ec5"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="roulette">
+ <description>Reno Casino Roulette</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2353">
+ <rom name="roulette.cas" size="0x2353" crc="87efc863" sha1="8eb3b5fffe3169591848aba58b01e2a6591ce6fa"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="pinball">
+ <description>Micro-80 Pinball Machine</description>
+ <year>1980</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="G.R.Jensen" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x21e5">
+ <rom name="pinball.cas" size="0x21e5" crc="86a16262" sha1="e2f84cc05a675a82a360091cf5c53f53c9f0accf"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="slot">
+ <description>Reno Casino Slot Machine</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x15fe">
+ <rom name="slot.cas" size="0x15fe" crc="1b0d4944" sha1="abf542b2bb8690c1878b9a4a27fc35145d72efa0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="startrek">
+ <description>Star Trek (The Computer Game)</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x360f">
+ <rom name="startrek.cas" size="0x360f" crc="6e3f370f" sha1="61ce2862e66d5be93d8ad4416f14ef74d65a1c70"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="starwar">
+ <description>Star War</description>
+ <year>19??</year>
+ <publisher>EACA International</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x20fa">
+ <rom name="starwar.cas" size="0x20fa" crc="0f5d20f3" sha1="343a5551b297d8959f4a4b7a34c717a576a46dc5"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="taipan">
+ <description>Taipan</description>
+ <year>1979</year>
+ <publisher>Cybernautics</publisher>
+ <info name="author" value="Art Canfil" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3566">
+ <rom name="taipan.cas" size="0x3566" crc="08ab89f7" sha1="e427a18099ab2362df186403539d3a4ad8dc45df"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="trollcru">
+ <description>Troll Crusher</description>
+ <year>1981</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Simon Goodwin" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x396a">
+ <rom name="trollcrusher.cas" size="0x396a" crc="40409fdd" sha1="1dcf4e8d69c930aac9e49241bc915b019cef9464"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="vglogo">
+ <description>Video Genie Demo</description>
+ <year>1979</year>
+ <publisher>EACA International</publisher>
+ <info name="usage" value="Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x05cd">
+ <rom name="vglogo.cas" size="0x05cd" crc="0176a408" sha1="3a258cfaad530b18fba079744985c44e7eef5cc4"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="wheel">
+ <description>Wheel of Fortune</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, CLOAD then RUN" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1616">
+ <rom name="wheel.cas" size="0x1616" crc="f259ef4d" sha1="5291a7ef54a2718ffac0db2ad989821541d657b2"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="cosmic">
+ <description>Cosmic</description><!-- Game has no title, used name of file -->
+ <year>1980</year>
+ <publisher>Instant Software</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then COSMIC then / then G. Arrows to alter viewpoint, Space to fire." />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1f20">
+ <rom name="cosmic.cas" size="0x1f20" crc="8a0844bc" sha1="a402b0b110d57817debe54d6c5b581cb8279d217"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="defense">
+ <description>Defense Command</description>
+ <year>1982</year>
+ <publisher>Big Five Software</publisher>
+ <info name="author" value="Bill Hogue and Jeff Konyu" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then DEFENS then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x395c">
+ <rom name="defense.cas" size="0x395c" crc="cd25580c" sha1="d067676b33ed6d84642a77bba89bd91a8963ec5b"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="eliza">
+ <description>Eliza</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then ELIZA then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x292c">
+ <rom name="eliza.cas" size="0x292c" crc="5cf60e78" sha1="550ccd97d33219203d877e9ea70c0e4d81080101"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="env">
+ <description>Les Invasiou des Extras-terrestres</description>
+ <year>19??</year>
+ <publisher>Sivea</publisher>
+ <info name="author" value="Xavier Ackaouy" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then ENV then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1015">
+ <rom name="env.cas" size="0x1015" crc="5f84b9c5" sha1="966d9c849cd6314529e60a004b21f9b052a08aab"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="escape">
+ <description>Escape</description>
+ <year>1984</year>
+ <publisher>Bernzeszoft</publisher>
+ <info name="author" value="Janos Torok" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then ESCAPE" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1711">
+ <rom name="escape.cas" size="0x1711" crc="8c792839" sha1="b6017f5fd4f8bf65881868975bebb807885a7883"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="headon">
+ <description>Head On</description>
+ <year>1980</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Marc Ferguson" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then HEADON then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0a37">
+ <rom name="headon.cas" size="0x0a37" crc="9c28c415" sha1="1b7557c0b0b1c1726edfbceb2a15d4730c19e8c0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="heliko">
+ <description>Heliko</description><!-- Game has no title, used name of file -->
+ <year>19??</year>
+ <publisher>Punk and Kalap System</publisher>
+ <info name="author" value="Kalap" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then HELIKO then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0ac0">
+ <rom name="heliko.cas" size="0x0ac0" crc="0ac4660e" sha1="ebae39380c96d6fc7f75b94dfd88f142badc9c4c"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="spaceinv">
+ <description>Space Invaders</description>
+ <year>19??</year>
+ <publisher>Dick Smith Electronics</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then INVADE then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x50bd36">
+ <rom name="invade2.wav" size="0x50bd36" crc="8551c2ac" sha1="318cb4950a9571d46575cf84667b05ea494888f5"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="invaders">
+ <description>Invaders</description>
+ <year>1979</year>
+ <publisher>Level IV Products</publisher>
+ <info name="author" value="Kim Watt" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then INVADE then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2ce1">
+ <rom name="invade3.cas" size="0x2ce1" crc="698755ca" sha1="3b13cff55b660fa0e417d02220b1cfa1266af657"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="invasion">
+ <description>Invasion Force</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then INVADE then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x22b5">
+ <rom name="invade4.cas" size="0x22b5" crc="f1b110fc" sha1="6985382a82be496e6a8126ee44bf6bc6b4a3d3dc"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="adv03">
+ <description>Mission Impossible</description>
+ <year>1979</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Scott Adams" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then MISSIO then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3f3c">
+ <rom name="adv03.cas" size="0x3f3c" crc="750bda34" sha1="4d1bd8ac8486cf87073a2220fcaab1865eb0ebe9"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="penetr">
+ <description>Penetrator</description><!-- [3,4]:most sounds are missing -->
+ <year>19??</year>
+ <publisher>Beam Software</publisher>
+ <info name="author" value="Philip Mitchell" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then PENETR then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3f7a">
+ <rom name="penetr.cas" size="0x3f7a" crc="a6fe072b" sha1="78830a291784eb8afbba32f590e57407b69adb64"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="pyrmd">
+ <description>Pyramid</description><!-- Game has no title, used name of file -->
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then PYRMD then / then Enter then N" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3f3c">
+ <rom name="pyrmd.cas" size="0x3f3c" crc="3791b59e" sha1="51408870ded6365d41a5c031e89db18ccd0fc9e8"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="galaxy1">
+ <description>Galaxy Invasion (set 1)</description>
+ <year>1980</year>
+ <publisher>Big Five Software</publisher>
+ <info name="author" value="Bill Hogue and Jeff Konyu" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then GALAXY then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x26c4">
+ <rom name="galaxy1.cas" size="0x26c4" crc="2952db6e" sha1="aee00dffcf82dcd47168ac502a36f83e7de65365"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="galaxy2">
+ <description>Galaxy Invasion (set 2)</description>
+ <year>1980</year>
+ <publisher>Big Five Software</publisher>
+ <info name="author" value="Bill Hogue and Jeff Konyu" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then GALAXY then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2be3">
+ <rom name="galaxy2.cas" size="0x2be3" crc="e08fc94a" sha1="1246e5a02279f0b7b609480f75e28d3dd3ac1441"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="kinghill">
+ <description>King of the Hill</description>
+ <year>1983</year>
+ <publisher>Smith and Jones Software</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then R then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x39f4">
+ <rom name="kinghill.cas" size="0x39f4" crc="51425422" sha1="c96e6dacc90bca79d68bb6ffed511abe6b688a08"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="robot">
+ <description>Robot Attack</description>
+ <year>19??</year>
+ <publisher>Big Five Software</publisher>
+ <info name="author" value="Bill Hogue and Jeff Konyu" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then ROBOT then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3a23">
+ <rom name="robot.cas" size="0x3a23" crc="e01c4e4f" sha1="962020685329ac19ead4a8fd4025becadb5f8b31"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="chess">
+ <description>Sargon Chess</description>
+ <year>1978</year>
+ <publisher>Hayden Book Company</publisher>
+ <info name="author" value="Dan and Kathe Spracklen" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SARGON then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x23be">
+ <rom name="chess.cas" size="0x23be" crc="9a5db0de" sha1="08100dade68d1a8cee5f096b9396d286aefc27b9"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="scarfman">
+ <description>Scarfman</description>
+ <year>1981</year>
+ <publisher>Cornsoft Group</publisher>
+ <info name="author" value="Philip Oliver" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SCARFM then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1c64">
+ <rom name="scarfman.cas" size="0x1c64" crc="2f5f3150" sha1="7375a5ff6445d48c05b82f87129991529a8c93f9"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="scripsit">
+ <description>Scripsit v1.0</description>
+ <year>19??</year>
+ <publisher>Radio Shack</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SCRIPS then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2994">
+ <rom name="scripsit.cas" size="0x2994" crc="147cf7cf" sha1="5ec2f41c5fbfb618bae66e1d1c70f30e29749809"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="seadragon">
+ <description>Seadragon</description>
+ <year>1982</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Wayne Westmoreland and Terry Gilman" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SEADRA then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x389f">
+ <rom name="seadragon.cas" size="0x389f" crc="eedf4761" sha1="256065a3435ca3a354c9993539ef296ab4330114"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="spcinv">
+ <description>Space Invaders (alt)</description>
+ <year>1981</year>
+ <publisher>Sivea</publisher>
+ <info name="author" value="Xavier Ackaouy" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SPCINV then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0ff7">
+ <rom name="spcinv.cas" size="0x0ff7" crc="5a9f1a45" sha1="e1ec949864145459f988fb865187161cbcd7380c"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="adv10">
+ <description>Savage Island (Pt 1)</description>
+ <year>1979</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Scott Adams" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SAVAGE then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3f3c">
+ <rom name="adv10.cas" size="0x3f3c" crc="11aec391" sha1="f263cdad1aad42c719c592b524932bc6ac2b8050"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="spcwarp">
+ <description>Space Warp</description>
+ <year>1978</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="Joshua Lavinsky" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SPWAR" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x11c2">
+ <rom name="spwar.cas" size="0x11c2" crc="dee2a9d4" sha1="1f7947eecc6b1f3c161fa9c2a105cd761f931a77"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="starfi">
+ <description>Starfighter</description>
+ <year>1981</year>
+ <publisher>Adventure International</publisher>
+ <info name="author" value="Sparky Starks" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then STARFI then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3fa5">
+ <rom name="starfi.cas" size="0x3fa5" crc="22cda8d5" sha1="8966a056c377bddc1d854ea53c57699485dddc3e"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="starsm">
+ <description>Starfighter Trainer</description>
+ <year>1981</year>
+ <publisher>Adventure International</publisher>
+ <info name="author" value="Sparky Starks" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then STARSM then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x3f7e">
+ <rom name="starsm.cas" size="0x3f7e" crc="24fa1636" sha1="e51c6085afb5efe26242cc81ff31bde19cc30922"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="swamp">
+ <description>Swamp War</description>
+ <year>1981</year>
+ <publisher>Instant Software Inc</publisher>
+ <info name="author" value="Eric Quintana" />
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then SWAMP then /. Shift to fire." />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x1555">
+ <rom name="swamp.cas" size="0x1555" crc="12cacd93" sha1="ab04613a1525b66b829d3f41968cb24b04defdfa"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="taxi">
+ <description>Alien Taxi</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="John Olsen" />
+ <info name="usage" value="Enter, SYSTEM then TAXI then /" />
+ <sharedfeat name="compatibility" value="1,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x4260">
+ <rom name="taxi.cas" size="0x4260" crc="6c6b5e8b" sha1="8098eff4133aacb6a4ab9994e75eb3f022b0f9ba"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="ulcbas">
+ <description>Lowercase conversion</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="Enter, SYSTEM then ULCBAS then /" />
+ <sharedfeat name="compatibility" value="1,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x0523">
+ <rom name="ulcbas.cas" size="0x0523" crc="d4225dfa" sha1="0c6e45bb23e1e4e85e46ffc56b64ec4b6f8398f9"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="zchess">
+ <description>Z-Chess</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="usage" value="(Model 3/4: Answer L at Cass? prompt), Enter, SYSTEM then ZCHESS then /" />
+ <sharedfeat name="compatibility" value="1,3,4,H" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x2be9">
+ <rom name="zchess.cas" size="0x2be9" crc="d9d17cb3" sha1="14faf525494124a8dff3d711b231c97a6c4d04f1"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="dddd">
+ <description>Doubled Dancing Demon Demo</description>
+ <year>2009</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="author" value="George Phillips" />
+ <info name="usage" value="Enter, Enter, SYSTEM then DANDEM then /" />
+ <sharedfeat name="compatibility" value="3,4" />
+ <part name="cass" interface="trs80_cass">
+ <dataarea name="cass" size="0x4fa9">
+ <rom name="dandem.cas" size="0x4fa9" crc="1c4253a6" sha1="2f2eef2524333bcc5609621602c7687cca3b49de"/>
+ </dataarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/hash/trs80_quik.xml b/hash/trs80_quik.xml
index fa3600abbb8..ad6772f7fbd 100644
--- a/hash/trs80_quik.xml
+++ b/hash/trs80_quik.xml
@@ -51,7 +51,7 @@ between them.
</software>
<software name="adv04a">
- <description>Voodoo Castle (1)</description>
+ <description>Voodoo Castle (set 1)</description>
<year>1979</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,MN" />
@@ -63,7 +63,7 @@ between them.
</software>
<software name="adv04b">
- <description>Voodoo Castle (2)</description>
+ <description>Voodoo Castle (set 2)</description>
<year>1979</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,MN" />
@@ -99,7 +99,7 @@ between them.
</software>
<software name="atc1">
- <description>Air Traffic Control (1)</description>
+ <description>Air Traffic Control (Model I?)</description>
<year>1979</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M1,M2,MN" />
@@ -111,7 +111,7 @@ between them.
</software>
<software name="atc3">
- <description>Air Traffic Control (3)</description>
+ <description>Air Traffic Control (Model III?)</description>
<year>1979</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -123,7 +123,7 @@ between them.
</software>
<software name="backgam1">
- <description>Backgammon (1)</description>
+ <description>Backgammon (set 1)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -135,7 +135,7 @@ between them.
</software>
<software name="backgam2">
- <description>Backgammon (2)</description>
+ <description>Backgammon (set 2)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -147,7 +147,7 @@ between them.
</software>
<software name="backgam3">
- <description>Backgammon (3)</description>
+ <description>Backgammon (set 3)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -159,7 +159,7 @@ between them.
</software>
<software name="backgam4">
- <description>Backgammon (4)</description>
+ <description>Backgammon (set 4)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -171,7 +171,7 @@ between them.
</software>
<software name="bedlam1">
- <description>Bedlam (1)</description>
+ <description>Bedlam (set 1)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -183,7 +183,7 @@ between them.
</software>
<software name="bedlam2">
- <description>Bedlam (2)</description>
+ <description>Bedlam (set 2)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -195,7 +195,7 @@ between them.
</software>
<software name="bedlam3">
- <description>Bedlam (3)</description>
+ <description>Bedlam (set 3)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -256,7 +256,7 @@ between them.
</software>
<software name="caterplr1"><!-- needs [3] for correct graphics -->
- <description>Caterpillar (1)</description>
+ <description>Caterpillar (Model I?)</description>
<year>1982</year>
<publisher>Soft Sector Marketing Inc</publisher>
<sharedfeat name="compatibility" value="1,3,H,M1,MN" />
@@ -268,7 +268,7 @@ between them.
</software>
<software name="caterplr3"><!-- needs [3] for correct graphics -->
- <description>Caterpillar (3)</description>
+ <description>Caterpillar (Model III?)</description>
<year>1982</year>
<publisher>Soft Sector Marketing Inc</publisher>
<sharedfeat name="compatibility" value="1,3,H,M1,MN" />
@@ -340,7 +340,7 @@ between them.
</software>
<software name="fstroid1">
- <description>Fasteroids (1)</description>
+ <description>Fasteroids (set 1)</description>
<year>1981</year>
<publisher>Adventureworld</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -352,7 +352,7 @@ between them.
</software>
<software name="fstroid2">
- <description>Fasteroids (2)</description>
+ <description>Fasteroids (set 2)</description>
<year>1981</year>
<publisher>Adventureworld</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -364,7 +364,7 @@ between them.
</software>
<software name="fstroid3">
- <description>Fasteroids (3)</description>
+ <description>Fasteroids (set 3)</description>
<year>1981</year>
<publisher>Adventureworld</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -376,7 +376,7 @@ between them.
</software>
<software name="flysauc1">
- <description>Flying Saucers (1)</description>
+ <description>Flying Saucers (set 1)</description>
<year>19??</year>
<publisher>Radio Shack</publisher>
<part name="quik" interface="trs80_quik">
@@ -387,7 +387,7 @@ between them.
</software>
<software name="flysauc2">
- <description>Flying Saucers (2)</description>
+ <description>Flying Saucers (set 2)</description>
<year>19??</year>
<publisher>Radio Shack</publisher>
<part name="quik" interface="trs80_quik">
@@ -398,7 +398,7 @@ between them.
</software>
<software name="flysauc3">
- <description>Flying Saucers (3)</description>
+ <description>Flying Saucers (set 3)</description>
<year>19??</year>
<publisher>Radio Shack</publisher>
<part name="quik" interface="trs80_quik">
@@ -409,7 +409,7 @@ between them.
</software>
<software name="flysauc4">
- <description>Flying Saucers (4)</description>
+ <description>Flying Saucers (set 4)</description>
<year>19??</year>
<publisher>Radio Shack</publisher>
<part name="quik" interface="trs80_quik">
@@ -420,7 +420,7 @@ between them.
</software>
<software name="flysauc5">
- <description>Flying Saucers (5)</description>
+ <description>Flying Saucers (set 5)</description>
<year>19??</year>
<publisher>Radio Shack</publisher>
<part name="quik" interface="trs80_quik">
@@ -443,7 +443,7 @@ between them.
</software>
<software name="frogger1">
- <description>Frogger (1)</description>
+ <description>Frogger (set 1)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -456,7 +456,7 @@ between them.
</software>
<software name="frogger2">
- <description>Frogger (2)</description>
+ <description>Frogger (set 2)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -469,7 +469,7 @@ between them.
</software>
<software name="frogger3">
- <description>Frogger (3)</description>
+ <description>Frogger (set 3)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -482,7 +482,7 @@ between them.
</software>
<software name="frogger4">
- <description>Frogger (4)</description>
+ <description>Frogger (set 4)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -495,7 +495,7 @@ between them.
</software>
<software name="frogger5">
- <description>Frogger (5)</description>
+ <description>Frogger (set 5)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -508,7 +508,7 @@ between them.
</software>
<software name="frogger6">
- <description>Frogger (6)</description>
+ <description>Frogger (set 6)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -521,7 +521,7 @@ between them.
</software>
<software name="frogger7">
- <description>Frogger (7)</description>
+ <description>Frogger (set 7)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -534,7 +534,7 @@ between them.
</software>
<software name="frogger8">
- <description>Frogger (8)</description>
+ <description>Frogger (set 8)</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
@@ -547,7 +547,7 @@ between them.
</software>
<software name="fs1a">
- <description>Flight Simulator (1)</description>
+ <description>Flight Simulator (set 1)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -559,7 +559,7 @@ between them.
</software>
<software name="fs1b">
- <description>Flight Simulator (2)</description>
+ <description>Flight Simulator (set 2)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -571,7 +571,7 @@ between them.
</software>
<software name="fs1c">
- <description>Flight Simulator (3)</description>
+ <description>Flight Simulator (set 3)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -583,7 +583,7 @@ between them.
</software>
<software name="fs1d">
- <description>Flight Simulator (4)</description>
+ <description>Flight Simulator (set 4)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -595,7 +595,7 @@ between them.
</software>
<software name="fs1e">
- <description>Flight Simulator (5)</description>
+ <description>Flight Simulator (set 5)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -607,7 +607,7 @@ between them.
</software>
<software name="fs1f">
- <description>Flight Simulator (6)</description>
+ <description>Flight Simulator (set 6)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -619,7 +619,7 @@ between them.
</software>
<software name="fs1g">
- <description>Flight Simulator (7)</description>
+ <description>Flight Simulator (set 7)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -631,7 +631,7 @@ between them.
</software>
<software name="fs1h">
- <description>Flight Simulator (8)</description>
+ <description>Flight Simulator (set 8)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -643,7 +643,7 @@ between them.
</software>
<software name="fs1i">
- <description>Flight Simulator (9)</description>
+ <description>Flight Simulator (set 9)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -655,7 +655,7 @@ between them.
</software>
<software name="fs1j">
- <description>Flight Simulator (10)</description>
+ <description>Flight Simulator (set 10)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -667,7 +667,7 @@ between them.
</software>
<software name="fs1k">
- <description>Flight Simulator (11)</description>
+ <description>Flight Simulator (set 11)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -679,7 +679,7 @@ between them.
</software>
<software name="fs1l">
- <description>Flight Simulator (12)</description>
+ <description>Flight Simulator (set 12)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -691,7 +691,7 @@ between them.
</software>
<software name="fs1m">
- <description>Flight Simulator (13)</description>
+ <description>Flight Simulator (set 13)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -703,7 +703,7 @@ between them.
</software>
<software name="fs1p">
- <description>Flight Simulator (14)</description>
+ <description>Flight Simulator (set 14)</description>
<year>19??</year>
<publisher>Microsoft</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -715,7 +715,7 @@ between them.
</software>
<software name="gobbler1">
- <description>Gobbling Box (1)</description>
+ <description>Gobbling Box (set 1)</description>
<year>1982</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -727,7 +727,7 @@ between them.
</software>
<software name="gobbler2">
- <description>Gobbling Box (2)</description>
+ <description>Gobbling Box (set 2)</description>
<year>1982</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -739,7 +739,7 @@ between them.
</software>
<software name="gunfght1">
- <description>Gunfighter (1)</description>
+ <description>Gunfighter (set 1)</description>
<year>1981</year>
<publisher>Tandy Corp</publisher>
<part name="quik" interface="trs80_quik">
@@ -750,7 +750,7 @@ between them.
</software>
<software name="gunfght2">
- <description>Gunfighter (2)</description>
+ <description>Gunfighter (set 2)</description>
<year>1981</year>
<publisher>Tandy Corp</publisher>
<part name="quik" interface="trs80_quik">
@@ -761,7 +761,7 @@ between them.
</software>
<software name="gunfght3">
- <description>Gunfighter (3)</description>
+ <description>Gunfighter (set 3)</description>
<year>1981</year>
<publisher>Tandy Corp</publisher>
<part name="quik" interface="trs80_quik">
@@ -820,7 +820,7 @@ between them.
</software>
<software name="mutinv1">
- <description>Mutant Invasion (1)</description>
+ <description>Mutant Invasion (set 1)</description>
<year>1982</year>
<publisher>Micro-Systems Software</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -832,7 +832,7 @@ between them.
</software>
<software name="mutinv2">
- <description>Mutant Invasion (2)</description>
+ <description>Mutant Invasion (set 2)</description>
<year>1982</year>
<publisher>Micro-Systems Software</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -856,7 +856,7 @@ between them.
</software>
<software name="raakatu1">
- <description>Raaka-tu (1)</description>
+ <description>Raaka-tu (set 1)</description>
<year>1981</year>
<publisher>Radio Shack</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -868,7 +868,7 @@ between them.
</software>
<software name="raakatu2">
- <description>Raaka-tu (2)</description>
+ <description>Raaka-tu (set 2)</description>
<year>1981</year>
<publisher>Radio Shack</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -880,7 +880,7 @@ between them.
</software>
<software name="raakatu3">
- <description>Raaka-tu (3)</description>
+ <description>Raaka-tu (set 3)</description>
<year>1981</year>
<publisher>Radio Shack</publisher>
<sharedfeat name="compatibility" value="1,H,M2,MN" />
@@ -892,7 +892,7 @@ between them.
</software>
<software name="rrivet1">
- <description>Revenge of Rivet Race (1)</description>
+ <description>Revenge of Rivet Race (set 1)</description>
<year>1983</year>
<publisher>Quality Software and Consulting Inc</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -904,7 +904,7 @@ between them.
</software>
<software name="rrivet2">
- <description>Revenge of Rivet Race (2)</description>
+ <description>Revenge of Rivet Race (set 2)</description>
<year>1983</year>
<publisher>Quality Software and Consulting Inc</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -916,7 +916,7 @@ between them.
</software>
<software name="rrivet3">
- <description>Revenge of Rivet Race (3)</description>
+ <description>Revenge of Rivet Race (set 3)</description>
<year>1983</year>
<publisher>Quality Software and Consulting Inc</publisher>
<sharedfeat name="compatibility" value="1,3,H" />
@@ -928,7 +928,7 @@ between them.
</software>
<software name="eqsf1">
- <description>Earthquake San Francisco 1906 (1)</description>
+ <description>Earthquake San Francisco 1906 (set 1)</description>
<year>1981</year>
<publisher>Adventure International</publisher>
<sharedfeat name="compatibility" value="1,3,H,MN" />
@@ -940,7 +940,7 @@ between them.
</software>
<software name="eqsf2">
- <description>Earthquake San Francisco 1906 (2)</description>
+ <description>Earthquake San Francisco 1906 (set 2)</description>
<year>1981</year>
<publisher>Adventure International</publisher>
<sharedfeat name="compatibility" value="1,3,H,M2,MN" />
@@ -1037,7 +1037,7 @@ between them.
</software>
<software name="tron1">
- <description>Tron (1)</description>
+ <description>Tron (set 1)</description>
<year>1984</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="quik" interface="trs80_quik">
@@ -1048,7 +1048,7 @@ between them.
</software>
<software name="tron2">
- <description>Tron (2)</description>
+ <description>Tron (set 2)</description>
<year>1984</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="quik" interface="trs80_quik">
@@ -1059,7 +1059,7 @@ between them.
</software>
<software name="tron3">
- <description>Tron (3)</description>
+ <description>Tron (set 3)</description>
<year>1984</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="1,3,H,MN" />
@@ -1071,7 +1071,7 @@ between them.
</software>
<software name="tron4">
- <description>Tron (4)</description>
+ <description>Tron (set 4)</description>
<year>1984</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="quik" interface="trs80_quik">
@@ -1129,7 +1129,7 @@ between them.
</software>
<software name="trap2">
- <description>Trap v2.0 (1)</description>
+ <description>Trap v2.0 (set 1)</description>
<year>1983</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="3" />
@@ -1141,7 +1141,7 @@ between them.
</software>
<software name="trap2a">
- <description>Trap v2.0 (2)</description>
+ <description>Trap v2.0 (set 2)</description>
<year>1983</year>
<publisher>&lt;unknown&gt;</publisher>
<sharedfeat name="compatibility" value="3" />
diff --git a/hash/vgmplay.xml b/hash/vgmplay.xml
index 839cfdf3991..b9489411bb4 100644
--- a/hash/vgmplay.xml
+++ b/hash/vgmplay.xml
@@ -18583,7 +18583,7 @@ license:CC0
<description>Puzzle Uo Poko (Cave 68000)</description>
<year>1998</year>
<publisher>Jaleco</publisher>
- <info name="cores" value="YMZ280"/>
+ <info name="cores" value="YMZ280B"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 credit.vgz" />
<dataarea name="quik" size="1356">
@@ -48424,200 +48424,200 @@ license:CC0
<info name="cores" value="YM2151, K053260"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 konami logo.vgz" />
- <dataarea name="quik" size="26666">
- <rom name="01 konami logo.vgz" size="26666" crc="6d135eaa" sha1="3f3cf54f2853a7120bf66cfe6ad56efcfc9acff5" offset="0" />
+ <dataarea name="quik" size="26439">
+ <rom name="01 konami logo.vgz" size="26439" crc="3546a07e" sha1="619cf3f38c3b2f1e41fa92f3756f119c8b9a83b1" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 together.vgz" />
- <dataarea name="quik" size="82974">
- <rom name="02 together.vgz" size="82974" crc="1f994c38" sha1="d06d05befefc9de7408dcb487ae201f30f9bffe5" offset="0" />
+ <feature name="part_id" value="02 together (title demo bgm).vgz" />
+ <dataarea name="quik" size="82364">
+ <rom name="02 together (title demo bgm).vgz" size="82364" crc="dd49f7ec" sha1="123805c29c0424c12accd24ebd75b77b175660b6" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 profile.vgz" />
- <dataarea name="quik" size="74233">
- <rom name="03 profile.vgz" size="74233" crc="bf8525e0" sha1="b27c1393131fc101dcf35d23f60781311ebd3bb1" offset="0" />
+ <feature name="part_id" value="03 profile (player introduction bgm).vgz" />
+ <dataarea name="quik" size="75729">
+ <rom name="03 profile (player introduction bgm).vgz" size="75729" crc="06566212" sha1="d1d0d99ceaff0c5cdebbf2ee263afe29ac0b648d" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 asterix obelix.vgz" />
- <dataarea name="quik" size="92735">
- <rom name="04 asterix obelix.vgz" size="92735" crc="b67e9086" sha1="f9d10c2418ab4749e5ad4cc92b92433b74e45883" offset="0" />
+ <feature name="part_id" value="04 asterix obelix (select bgm).vgz" />
+ <dataarea name="quik" size="92031">
+ <rom name="04 asterix obelix (select bgm).vgz" size="92031" crc="503bfc99" sha1="ce3990789e715bf91d1adb5bc15f1f2da022f11f" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 asterix in gauls village.vgz" />
- <dataarea name="quik" size="228066">
- <rom name="05 asterix in gauls village.vgz" size="228066" crc="e611cefd" sha1="875ef4d0345a6f13c51be217dff43b0e1a1c9e0f" offset="0" />
+ <feature name="part_id" value="05 asterix in gauls village (stage 1 bgm).vgz" />
+ <dataarea name="quik" size="236240">
+ <rom name="05 asterix in gauls village (stage 1 bgm).vgz" size="236240" crc="d641855e" sha1="5180437199ee1314fe5902979bf32f97170e7711" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 in egypt.vgz" />
- <dataarea name="quik" size="61267">
- <rom name="06 in egypt.vgz" size="61267" crc="f1f4b66b" sha1="0155dc0de3415184c2865fbc97157871621201bb" offset="0" />
+ <feature name="part_id" value="06 in egypt (midway demo bgm -egypt-).vgz" />
+ <dataarea name="quik" size="78381">
+ <rom name="06 in egypt (midway demo bgm -egypt-).vgz" size="78381" crc="3cea8e47" sha1="62986ec322b536183c7a1d1c73def4dee844ec25" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 defeat the evil architects.vgz" />
- <dataarea name="quik" size="274735">
- <rom name="07 defeat the evil architects.vgz" size="274735" crc="a630b20a" sha1="40df7bbf1fe23c74c6b869e817555110450ee23b" offset="0" />
+ <feature name="part_id" value="07 defeat the evil architects (stage 2 bgm1 -egypt-).vgz" />
+ <dataarea name="quik" size="237099">
+ <rom name="07 defeat the evil architects (stage 2 bgm1 -egypt-).vgz" size="237099" crc="9b0ca8de" sha1="a0344d80f47f0ec341a807b989d268ab3031ffb9" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 pyramid.vgz" />
- <dataarea name="quik" size="274483">
- <rom name="08 pyramid.vgz" size="274483" crc="b27d6e9b" sha1="eac16062cbf6e8f0103cecc7a7c6f5d21ffbb7fd" offset="0" />
+ <feature name="part_id" value="08 pyramid (stage 2 bgm2 -pyramid-).vgz" />
+ <dataarea name="quik" size="305996">
+ <rom name="08 pyramid (stage 2 bgm2 -pyramid-).vgz" size="305996" crc="37093455" sha1="ea7c4917234ded717766395e9a329b4ef94f08ef" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 in britain.vgz" />
- <dataarea name="quik" size="136213">
- <rom name="09 in britain.vgz" size="136213" crc="416d2689" sha1="0260698c0bf15a6bea4cdc916647d9e851a35f2d" offset="0" />
+ <feature name="part_id" value="09 in britain (midway demo bgm -england-).vgz" />
+ <dataarea name="quik" size="120427">
+ <rom name="09 in britain (midway demo bgm -england-).vgz" size="120427" crc="4f50e8db" sha1="3de7be415b20e08c40d9d358e4b7d7df1755f0ad" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 wave.vgz" />
- <dataarea name="quik" size="209581">
- <rom name="10 wave.vgz" size="209581" crc="cad75e37" sha1="033423df77901e30217e6d7393db573f35a3a69e" offset="0" />
+ <feature name="part_id" value="10 wave (stage 3 bgm1 -ocean-).vgz" />
+ <dataarea name="quik" size="213807">
+ <rom name="10 wave (stage 3 bgm1 -ocean-).vgz" size="213807" crc="e26b67e4" sha1="d4e63bc6ba64c1f5e2ef73c511cc875c4ddc8ed8" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 the galley.vgz" />
- <dataarea name="quik" size="264802">
- <rom name="11 the galley.vgz" size="264802" crc="dd371b25" sha1="413f92bbf03d0bf42a3d6c2ea9356c71fadda21c" offset="0" />
+ <feature name="part_id" value="11 the galley (stage 3 bgm2 -boat-).vgz" />
+ <dataarea name="quik" size="259674">
+ <rom name="11 the galley (stage 3 bgm2 -boat-).vgz" size="259674" crc="0c7d3cf5" sha1="89e5c16b7e0fc76f3fdb2edce3922991eebe3684" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 help me.vgz" />
- <dataarea name="quik" size="64683">
- <rom name="12 help me.vgz" size="64683" crc="f1d5f0d0" sha1="dda6d6cfa8d16b13a8d5fe816006fd785dd93167" offset="0" />
+ <feature name="part_id" value="12 help me (midway demo -bandit-).vgz" />
+ <dataarea name="quik" size="64644">
+ <rom name="12 help me (midway demo -bandit-).vgz" size="64644" crc="bcd896ee" sha1="69da0027ea35d2f01e03d53027a1364e9b0e0645" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 save falbara.vgz" />
- <dataarea name="quik" size="278158">
- <rom name="13 save falbara.vgz" size="278158" crc="8c53817c" sha1="e0972b827b96b0277b83bec60943aac889192cd2" offset="0" />
+ <feature name="part_id" value="13 save falbala (stage 4 bgm1 -bandit-).vgz" />
+ <dataarea name="quik" size="287522">
+ <rom name="13 save falbala (stage 4 bgm1 -bandit-).vgz" size="287522" crc="0d742eeb" sha1="fa667b35935bb37579d557c757a692307d5fa935" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 ahhhhh.vgz" />
- <dataarea name="quik" size="212750">
- <rom name="14 ahhhhh.vgz" size="212750" crc="3d8aa247" sha1="f7fdc248b875b94353ad336c897824e21b05a26c" offset="0" />
+ <feature name="part_id" value="14 ahhhhh...... (stage 4 bgm2 -trolley-).vgz" />
+ <dataarea name="quik" size="212817">
+ <rom name="14 ahhhhh...... (stage 4 bgm2 -trolley-).vgz" size="212817" crc="ee9aeb8f" sha1="dc7f86244efb1a8c717d6a869e392064b14df5d0" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 in spain.vgz" />
- <dataarea name="quik" size="87971">
- <rom name="15 in spain.vgz" size="87971" crc="a962c5cb" sha1="efcb93ce6c99f7cb74121b96307fce344f4cebc7" offset="0" />
+ <feature name="part_id" value="15 in spain (midway demo bgm -spain-).vgz" />
+ <dataarea name="quik" size="92589">
+ <rom name="15 in spain (midway demo bgm -spain-).vgz" size="92589" crc="c3c6faa0" sha1="0d5ced29c7e8e679e1920ae5236793fe64a524a5" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 spanish village.vgz" />
- <dataarea name="quik" size="355409">
- <rom name="16 spanish village.vgz" size="355409" crc="1c92990f" sha1="61850bddce92cd7d8868f6e9248f0f5e8010caeb" offset="0" />
+ <feature name="part_id" value="16 spanish village (stage 5 bgm -spain-).vgz" />
+ <dataarea name="quik" size="347416">
+ <rom name="16 spanish village (stage 5 bgm -spain-).vgz" size="347416" crc="46dbc531" sha1="3b9cc55bbaf0cdff4d51f793a9d85f28cfc526bb" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 the magic carpet.vgz" />
- <dataarea name="quik" size="63878">
- <rom name="17 the magic carpet.vgz" size="63878" crc="8c7d9054" sha1="0af2cbc4969fd5bc63cfb0fe97ad888a4d1e34ab" offset="0" />
+ <feature name="part_id" value="17 the magic carpet (midway demo bgm -india-).vgz" />
+ <dataarea name="quik" size="101666">
+ <rom name="17 the magic carpet (midway demo bgm -india-).vgz" size="101666" crc="87315cfc" sha1="c21cad630bea7f32cd703c8bebe49916ab0ad02f" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 rescue the indian princess.vgz" />
- <dataarea name="quik" size="239730">
- <rom name="18 rescue the indian princess.vgz" size="239730" crc="8bccdf6c" sha1="09b675989fc38549b3c846e6d5746b81286d95cc" offset="0" />
+ <feature name="part_id" value="18 rescue the indian princess (stage 6 bgm -india-).vgz" />
+ <dataarea name="quik" size="238643">
+ <rom name="18 rescue the indian princess (stage 6 bgm -india-).vgz" size="238643" crc="1ef94d98" sha1="99e4f8e4d36f242b7a290508eee96ccb8e263f2b" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 asterix vs. caesar.vgz" />
- <dataarea name="quik" size="100288">
- <rom name="19 asterix vs. caesar.vgz" size="100288" crc="0fc46a70" sha1="39c8401ff395ccc813f62dd2cc5c1244702f88b3" offset="0" />
+ <feature name="part_id" value="19 asterix vs. caesar (midway demo bgm -rome-).vgz" />
+ <dataarea name="quik" size="91477">
+ <rom name="19 asterix vs. caesar (midway demo bgm -rome-).vgz" size="91477" crc="3d31812b" sha1="0450de852a1a91e053d304de797b6e0df889a48d" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 asterix in rome.vgz" />
- <dataarea name="quik" size="209193">
- <rom name="20 asterix in rome.vgz" size="209193" crc="5ca9fbae" sha1="b7374cb55ee20ff8165d2eca862b44de66ad89ed" offset="0" />
+ <feature name="part_id" value="20 asterix in rome (stage 7 bgm -rome-).vgz" />
+ <dataarea name="quik" size="203292">
+ <rom name="20 asterix in rome (stage 7 bgm -rome-).vgz" size="203292" crc="f60d04f8" sha1="f290cab690c9313d8f5020e7dbc93329fb0a820c" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 they are crazy.vgz" />
- <dataarea name="quik" size="205864">
- <rom name="21 they are crazy.vgz" size="205864" crc="8b462a6d" sha1="8d45006a4ffbb1fde66374f46c706ad85cbe6981" offset="0" />
+ <feature name="part_id" value="21 they are crazy (boss bgm1).vgz" />
+ <dataarea name="quik" size="206548">
+ <rom name="21 they are crazy (boss bgm1).vgz" size="206548" crc="739cf6a0" sha1="1d785fbe134518b3a697eab837e131405d74eed8" offset="0" />
</dataarea>
</part>
<part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 do you want to fight.vgz" />
- <dataarea name="quik" size="300303">
- <rom name="22 do you want to fight.vgz" size="300303" crc="79c6ff8f" sha1="0a6afef3cb43138c004c66c64bb287275fb7e68a" offset="0" />
+ <feature name="part_id" value="22 do you want to fight (boss bgm2).vgz" />
+ <dataarea name="quik" size="303325">
+ <rom name="22 do you want to fight (boss bgm2).vgz" size="303325" crc="a9a8cda8" sha1="dd1abfa1511bc564f684fff8f1820587806645f3" offset="0" />
</dataarea>
</part>
<part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 olé.vgz" />
- <dataarea name="quik" size="144342">
- <rom name="23 ole.vgz" size="144342" crc="03fc5c76" sha1="5e0177479626ae82b4e0582b84501e5607927a29" offset="0" />
+ <feature name="part_id" value="23 ole! (bullfight boss bgm).vgz" />
+ <dataarea name="quik" size="147207">
+ <rom name="23 ole (bullfight boss bgm).vgz" size="147207" crc="74569fc5" sha1="f3601eddde834c4f32e93cc59babfd7fcdaac9a6" offset="0" />
</dataarea>
</part>
<part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 gladiators.vgz" />
- <dataarea name="quik" size="210551">
- <rom name="24 gladiators.vgz" size="210551" crc="7dc14824" sha1="1d7dce05569bbd74b572c870523e47cd90141756" offset="0" />
+ <feature name="part_id" value="24 gladiators (final boss bgm).vgz" />
+ <dataarea name="quik" size="177183">
+ <rom name="24 gladiators (final boss bgm).vgz" size="177183" crc="61628605" sha1="8e54a721cf52b2b43d34d885dc6323db43276d37" offset="0" />
</dataarea>
</part>
<part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 stage clear.vgz" />
- <dataarea name="quik" size="126765">
- <rom name="25 stage clear.vgz" size="126765" crc="77ae42c6" sha1="5721e535fd3155ab314773672aa4c3d63b180e87" offset="0" />
+ <feature name="part_id" value="25 stage clear (stage clear bgm).vgz" />
+ <dataarea name="quik" size="125913">
+ <rom name="25 stage clear (stage clear bgm).vgz" size="125913" crc="9a6d11eb" sha1="cf45de44b2892b7e070d9b501207ff7be439f4d8" offset="0" />
</dataarea>
</part>
<part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 are you ready.vgz" />
- <dataarea name="quik" size="25874">
- <rom name="26 are you ready.vgz" size="25874" crc="c66b76ee" sha1="1837d5be9085b9a5aeaf640850af565bbf7e2cc3" offset="0" />
+ <feature name="part_id" value="26 are you ready (bonus stage-fanfare).vgz" />
+ <dataarea name="quik" size="26194">
+ <rom name="26 are you ready (bonus stage-fanfare).vgz" size="26194" crc="a7f3bee4" sha1="9b5b2c085a9aaa79d8cc0a871555192b47435000" offset="0" />
</dataarea>
</part>
<part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 ave caesar.vgz" />
- <dataarea name="quik" size="111482">
- <rom name="27 ave caesar.vgz" size="111482" crc="3e2c9fe3" sha1="4ba5b7a7975728099bcfaabde115230a69a511d4" offset="0" />
+ <feature name="part_id" value="27 ave caesar (gladiator fanfare).vgz" />
+ <dataarea name="quik" size="111011">
+ <rom name="27 ave caesar (gladiator fanfare).vgz" size="111011" crc="3bc34b8e" sha1="1b61010382e24c6e884a3d86722d411a0185167e" offset="0" />
</dataarea>
</part>
<part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 let's party!.vgz" />
- <dataarea name="quik" size="362685">
- <rom name="28 let's party.vgz" size="362685" crc="5bec3c2d" sha1="aa7b508572ee4b000d0ec6a43a20563a7dab2d7c" offset="0" />
+ <feature name="part_id" value="28 let's party! (ending bgm).vgz" />
+ <dataarea name="quik" size="366245">
+ <rom name="28 let's party (ending bgm).vgz" size="366245" crc="8cc467ea" sha1="2d1d329946027ca6a07b86431751ab3cb534c69b" offset="0" />
</dataarea>
</part>
<part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 thank you, asterix &amp; obelix.vgz" />
- <dataarea name="quik" size="10341">
- <rom name="29 thank you, asterix &amp; obelix.vgz" size="10341" crc="d321a1d6" sha1="85c59cbfc63524bc43189cb2c6b6f387173f0092" offset="0" />
+ <feature name="part_id" value="29 thank you, asterix &amp; obelix (clear demo bgm).vgz" />
+ <dataarea name="quik" size="10428">
+ <rom name="29 thank you, asterix &amp; obelix (clear demo bgm).vgz" size="10428" crc="8f1a08e0" sha1="f1bb789997143c9110a349ad7666da140936bf84" offset="0" />
</dataarea>
</part>
<part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 hurry up!.vgz" />
- <dataarea name="quik" size="142114">
- <rom name="30 hurry up.vgz" size="142114" crc="b92d0776" sha1="cd59bb2ff75e108c9a5c19a9c5ae0251c92ff87c" offset="0" />
+ <feature name="part_id" value="30 hurry up! (bonus stage bgm1 -ben-hur-).vgz" />
+ <dataarea name="quik" size="145262">
+ <rom name="30 hurry up (bonus stage bgm1 -ben-hur-).vgz" size="145262" crc="1647c2e3" sha1="03f7f880d5467c7d877946d59e277755582e5aeb" offset="0" />
</dataarea>
</part>
<part name="031" interface="vgm_quik">
- <feature name="part_id" value="31 crash, crash!.vgz" />
- <dataarea name="quik" size="99249">
- <rom name="31 crash, crash.vgz" size="99249" crc="700ff88d" sha1="a4568575adeb68b49f5c7b6ea6e9cf4c4a5950ae" offset="0" />
+ <feature name="part_id" value="31 crush, crush! (bonus stage bgm2 -breaking barrels-).vgz" />
+ <dataarea name="quik" size="99662">
+ <rom name="31 crush, crush (bonus stage bgm2 -breaking barrels-).vgz" size="99662" crc="ad7471c7" sha1="6835423d02e60155a824873b7679a75fc05878dc" offset="0" />
</dataarea>
</part>
<part name="032" interface="vgm_quik">
- <feature name="part_id" value="32 i hate gauls.vgz" />
- <dataarea name="quik" size="127505">
- <rom name="32 i hate gauls.vgz" size="127505" crc="7d407f32" sha1="cae7ad7fbf948129d47aff84f2f4a5e854f4213c" offset="0" />
+ <feature name="part_id" value="32 i hate gauls (bonus indication bgm).vgz" />
+ <dataarea name="quik" size="126824">
+ <rom name="32 i hate gauls (bonus indication bgm).vgz" size="126824" crc="7c9fe9e1" sha1="feae58499a1271a92cb12f552d801cc960eb0c7f" offset="0" />
</dataarea>
</part>
<part name="033" interface="vgm_quik">
- <feature name="part_id" value="33 game over.vgz" />
- <dataarea name="quik" size="88930">
- <rom name="33 game over.vgz" size="88930" crc="07812d6d" sha1="7222ce5dbbfc05d9f255b491f74a83269ee4ccfd" offset="0" />
+ <feature name="part_id" value="33 game over (game over bgm).vgz" />
+ <dataarea name="quik" size="88652">
+ <rom name="33 game over (game over bgm).vgz" size="88652" crc="dd2c4a6f" sha1="4f0f2363f365d6ee6dfdfac457a42ff2d6308578" offset="0" />
</dataarea>
</part>
</software>
@@ -51707,116 +51707,116 @@ license:CC0
<info name="cores" value="2xK054539"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 attract mode.vgz" />
- <dataarea name="quik" size="1163219">
- <rom name="01 attract mode.vgz" size="1163219" crc="8a0273be" sha1="f77f1751c96c313242401cb6183416978751faf4" offset="0" />
+ <dataarea name="quik" size="1163254">
+ <rom name="01 attract mode.vgz" size="1163254" crc="86858cf2" sha1="5f24fec0fb1005e04ad714e439f1d8b62d0555a9" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="22154">
- <rom name="02 credit.vgz" size="22154" crc="da94a5d7" sha1="5d7f405cfe928de434d6e2f7c7c517fae9fc154c" offset="0" />
+ <dataarea name="quik" size="22202">
+ <rom name="02 credit.vgz" size="22202" crc="9b08a2bc" sha1="06577c7a43ad31192d7fca8fea82cc7a376ecca6" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 course, transmission type select.vgz" />
- <dataarea name="quik" size="228340">
- <rom name="03 course, transmission type select.vgz" size="228340" crc="4b4517fe" sha1="4783d250982d55febe20a210b49b677e065c632d" offset="0" />
+ <dataarea name="quik" size="228376">
+ <rom name="03 course, transmission type select.vgz" size="228376" crc="3ce0f965" sha1="e7e2d2d59d59619b09bff5d8d995e519495f5200" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 race start.vgz" />
- <dataarea name="quik" size="201365">
- <rom name="04 race start.vgz" size="201365" crc="e03017e3" sha1="09c0c97856fd02e35218ba3e65cf0e4061985bad" offset="0" />
+ <dataarea name="quik" size="201399">
+ <rom name="04 race start.vgz" size="201399" crc="3026a3b5" sha1="63568a991dd93521f09c61760d3467e6ad92e4a2" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 circuit course - time extend bgm 1.vgz" />
- <dataarea name="quik" size="212577">
- <rom name="05 circuit course - time extend bgm 1.vgz" size="212577" crc="c33269b8" sha1="4274d0738d92911f9832847cff84b7ff54c79a00" offset="0" />
+ <dataarea name="quik" size="212608">
+ <rom name="05 circuit course - time extend bgm 1.vgz" size="212608" crc="69dc0c5f" sha1="31dbd6ef8e97f752aef26a6c7b8af055a1bfc63b" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 circuit course - time extend bgm 2.vgz" />
- <dataarea name="quik" size="288972">
- <rom name="06 circuit course - time extend bgm 2.vgz" size="288972" crc="2781874d" sha1="f9e69bac40f5a5a4c8b8174fbd65da9977f19edd" offset="0" />
+ <dataarea name="quik" size="289006">
+ <rom name="06 circuit course - time extend bgm 2.vgz" size="289006" crc="b594ccb0" sha1="90bb6f98edf58c6160dce5d7e32dee449e1ec284" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 circuit course - time extend bgm 3, high speed circuit, enduro circuit, country road - time extend bgm 1.vgz" />
- <dataarea name="quik" size="317785">
- <rom name="07 circuit course - time extend bgm 3, high speed circuit, enduro circuit, country road - time extend bgm 1.vgz" size="317785" crc="f00b100f" sha1="20fc3b917692090754fe761e9b15ed813fba6fa0" offset="0" />
+ <dataarea name="quik" size="317821">
+ <rom name="07 circuit course - time extend bgm 3, high speed circuit, enduro circuit, country road - time extend bgm 1.vgz" size="317821" crc="6497c51a" sha1="e793c67890d4c1af6a283440741fcadfbf121734" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 circuit course - time extend bgm 4, high speed circuit, enduro circuit, country road - time extend bgm 2.vgz" />
- <dataarea name="quik" size="244507">
- <rom name="08 circuit course - time extend bgm 4, high speed circuit, enduro circuit, country road - time extend bgm 2.vgz" size="244507" crc="04a63a6a" sha1="c9043919e4b8bf12f1b72c0995541e3b35d98d4b" offset="0" />
+ <dataarea name="quik" size="244542">
+ <rom name="08 circuit course - time extend bgm 4, high speed circuit, enduro circuit, country road - time extend bgm 2.vgz" size="244542" crc="1215ee87" sha1="a5964807646e9637ec987d680242e97a2f1f15e0" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
<feature name="part_id" value="09 circuit course - time extend bgm 5.vgz" />
- <dataarea name="quik" size="250511">
- <rom name="09 circuit course - time extend bgm 5.vgz" size="250511" crc="817397d1" sha1="49831c43d41052cea9855ac256d1acde860e46c1" offset="0" />
+ <dataarea name="quik" size="250544">
+ <rom name="09 circuit course - time extend bgm 5.vgz" size="250544" crc="c0286c0d" sha1="1fe7e3699dce72b659e8ce57663f70c004404233" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
<feature name="part_id" value="10 circuit course - time extend bgm 6.vgz" />
- <dataarea name="quik" size="147585">
- <rom name="10 circuit course - time extend bgm 6.vgz" size="147585" crc="3cc850ec" sha1="7d81e7afbc597ce86379b6295be55887502398cd" offset="0" />
+ <dataarea name="quik" size="147619">
+ <rom name="10 circuit course - time extend bgm 6.vgz" size="147619" crc="851c1a21" sha1="8476f146639a2603d1ff9747f568a2adab4c3f21" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
<feature name="part_id" value="11 circuit course - time extend bgm 7.vgz" />
- <dataarea name="quik" size="320878">
- <rom name="11 circuit course - time extend bgm 7.vgz" size="320878" crc="c40d6916" sha1="847fb6b271c42fba43d484ff61ce8b7bbb3bafda" offset="0" />
+ <dataarea name="quik" size="320914">
+ <rom name="11 circuit course - time extend bgm 7.vgz" size="320914" crc="9d35efb8" sha1="b62c66bf7b4c67fdeb4c0b6f7773f1058219cb7e" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
<feature name="part_id" value="12 circuit course - time extend bgm 8.vgz" />
- <dataarea name="quik" size="247312">
- <rom name="12 circuit course - time extend bgm 8.vgz" size="247312" crc="150158db" sha1="923e214a5eb578087a5d27843f4480217bdf1150" offset="0" />
+ <dataarea name="quik" size="247347">
+ <rom name="12 circuit course - time extend bgm 8.vgz" size="247347" crc="39d5c788" sha1="18d5266149616c779d0a4210577e7dd4034d81e8" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 final lap.vgz" />
- <dataarea name="quik" size="293917">
- <rom name="13 final lap.vgz" size="293917" crc="307ae78c" sha1="9ef80f9e85b3a9e41be4a959ec4ffb7fc44ce36e" offset="0" />
+ <dataarea name="quik" size="293950">
+ <rom name="13 final lap.vgz" size="293950" crc="37e7ffc5" sha1="2d8760497ff9b695a553b0795a1b0d04af77d0d1" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
<feature name="part_id" value="14 goal.vgz" />
- <dataarea name="quik" size="350849">
- <rom name="14 goal.vgz" size="350849" crc="8c2485aa" sha1="a8fcd1afbf5cf474533dbe1432c969275a0d30dd" offset="0" />
+ <dataarea name="quik" size="350881">
+ <rom name="14 goal.vgz" size="350881" crc="dd8661e5" sha1="7fc2b3b448c09124e36dcdbded73b5a4d3e9b440" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
<feature name="part_id" value="15 name entry.vgz" />
- <dataarea name="quik" size="801036">
- <rom name="15 name entry.vgz" size="801036" crc="11026942" sha1="042bee6a38d7fb8b9c6cf16b1c1f5bec3c29ab2c" offset="0" />
+ <dataarea name="quik" size="801072">
+ <rom name="15 name entry.vgz" size="801072" crc="084d397d" sha1="a0c611e81dbe268064857e36c1f67315841bb4d2" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
<feature name="part_id" value="16 game over.vgz" />
- <dataarea name="quik" size="91061">
- <rom name="16 game over.vgz" size="91061" crc="a52a8d82" sha1="50a91aedbaa4611832f0797e21101781a6891311" offset="0" />
+ <dataarea name="quik" size="91099">
+ <rom name="16 game over.vgz" size="91099" crc="6fae266e" sha1="30b94bd3ec36b09f1e8b7368ac1c509f437de352" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
<feature name="part_id" value="17 unknown bgm 1.vgz" />
- <dataarea name="quik" size="241314">
- <rom name="17 unknown bgm 1.vgz" size="241314" crc="6a88b28a" sha1="90b219cb923f959a175edabf506d1b8af5303c73" offset="0" />
+ <dataarea name="quik" size="241346">
+ <rom name="17 unknown bgm 1.vgz" size="241346" crc="feaf4489" sha1="5b5dc989fd3aebd2865fad6ddb029608ef3e274d" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
<feature name="part_id" value="18 unknown bgm 2.vgz" />
- <dataarea name="quik" size="571004">
- <rom name="18 unknown bgm 2.vgz" size="571004" crc="f0d82a66" sha1="5c0e6fce7c925db90ab6ebc4a38a1c080f6927f5" offset="0" />
+ <dataarea name="quik" size="571038">
+ <rom name="18 unknown bgm 2.vgz" size="571038" crc="868d7f65" sha1="f925cfaca3e68e41dd87086a2b0a0375f042d62b" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
<feature name="part_id" value="19 sound scale check.vgz" />
- <dataarea name="quik" size="62574">
- <rom name="19 sound scale check.vgz" size="62574" crc="b25bf60c" sha1="50022a509d0fd05484a8ac0b3caed68e4d2494bc" offset="0" />
+ <dataarea name="quik" size="62611">
+ <rom name="19 sound scale check.vgz" size="62611" crc="d7b5d5e6" sha1="6e7600c92a743f2f0c68bbdf24bd9d11d22d9f65" offset="0" />
</dataarea>
</part>
</software>
@@ -69479,15 +69479,21 @@ license:CC0
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 game over.vgz" />
- <dataarea name="quik" size="40748">
- <rom name="11 game over.vgz" size="40748" crc="cbd39308" sha1="ce390970e607d4770f8b3a17426ece19d04c2ff1" offset="0" />
+ <feature name="part_id" value="11 return in flight.vgz" />
+ <dataarea name="quik" size="91347">
+ <rom name="11 return in flight.vgz" size="91347" crc="7b056e0c" sha1="7129ae7be0b94cb80180f2003ecc0a67e4da40ee" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 unknown.vgz" />
+ <feature name="part_id" value="12 game over.vgz" />
+ <dataarea name="quik" size="40748">
+ <rom name="12 game over.vgz" size="40748" crc="cbd39308" sha1="ce390970e607d4770f8b3a17426ece19d04c2ff1" offset="0" />
+ </dataarea>
+ </part>
+ <part name="013" interface="vgm_quik">
+ <feature name="part_id" value="13 unknown.vgz" />
<dataarea name="quik" size="98795">
- <rom name="12 unknown.vgz" size="98795" crc="21badc33" sha1="5cc91cea467fc714cd094cb3a8644c6e885e407e" offset="0" />
+ <rom name="13 unknown.vgz" size="98795" crc="21badc33" sha1="5cc91cea467fc714cd094cb3a8644c6e885e407e" offset="0" />
</dataarea>
</part>
</software>
@@ -81137,95 +81143,95 @@ license:CC0
<description>Kirby's Dream Land (Nintendo Game Boy)</description>
<year>1992</year>
<publisher>Nintendo</publisher>
- <info name="cores" value="DMG APU (LR35902)"/>
+ <info name="cores" value="Game Boy DMG (LR35902)"/>
<part name="001" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 01 - spring in your step.vgm" />
- <dataarea name="quik" size="2947">
- <rom name="kirby's dream land - 01 - spring in your step.vgm" size="2947" crc="4db3beec" sha1="7e03eefcf22eb7be60d77a0706c8a868e7fcf9f3" offset="0" />
+ <feature name="part_id" value="01 spring in your step.vgz" />
+ <dataarea name="quik" size="2958">
+ <rom name="01 spring in your step.vgz" size="2958" crc="338a6d00" sha1="41c33287cc0c89bd945f4d390df7b02e95a814bf" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 02 - green greens.vgm" />
- <dataarea name="quik" size="4724">
- <rom name="kirby's dream land - 02 - green greens.vgm" size="4724" crc="7813144f" sha1="8198f9c3ea45d5f42279820cbd2e695acbc43f42" offset="0" />
+ <feature name="part_id" value="02 green greens.vgz" />
+ <dataarea name="quik" size="4734">
+ <rom name="02 green greens.vgz" size="4734" crc="9b80aa56" sha1="a88feb44a3d21f6607f5d683d0ce4ac89e4ef7d7" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 03 - boss.vgm" />
- <dataarea name="quik" size="4088">
- <rom name="kirby's dream land - 03 - boss.vgm" size="4088" crc="72a4bcee" sha1="169c42529e046b1c3fccb5dc672be6e0a4b02131" offset="0" />
+ <feature name="part_id" value="03 boss.vgz" />
+ <dataarea name="quik" size="4099">
+ <rom name="03 boss.vgz" size="4099" crc="0ca9e57c" sha1="dbdbca89cddf31a817ce85efe4cc8c3556d1267c" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 04 - stars.vgm" />
- <dataarea name="quik" size="652">
- <rom name="kirby's dream land - 04 - stars.vgm" size="652" crc="6bff0e7c" sha1="78f7d9e4e2607cbf8160a03a2458ddd6edd456bd" offset="0" />
+ <feature name="part_id" value="04 stars.vgz" />
+ <dataarea name="quik" size="662">
+ <rom name="04 stars.vgz" size="662" crc="0f4e5010" sha1="ffb7a00d19eb5d89cbcf153a24738c617d2ef20f" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 05 - kirby dance.vgm" />
- <dataarea name="quik" size="1587">
- <rom name="kirby's dream land - 05 - kirby dance.vgm" size="1587" crc="6a203095" sha1="7e077bf62f2b3ccc412f698cba246aecf749baf4" offset="0" />
+ <feature name="part_id" value="05 kirby dance.vgz" />
+ <dataarea name="quik" size="1597">
+ <rom name="05 kirby dance.vgz" size="1597" crc="956f8dcb" sha1="974a5b462de94ffa570d1981b77fa194c674f519" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 06 - castle lololo.vgm" />
- <dataarea name="quik" size="7836">
- <rom name="kirby's dream land - 06 - castle lololo.vgm" size="7836" crc="4a8d4f4d" sha1="4824f33d895ae0c0d0d47a20dd8dffd8c1934d12" offset="0" />
+ <feature name="part_id" value="06 castle lololo.vgz" />
+ <dataarea name="quik" size="7850">
+ <rom name="06 castle lololo.vgz" size="7850" crc="cc2248af" sha1="fcac6bb5eef45b7eb1d71c150fa6433b715674fd" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 07 - float islands.vgm" />
- <dataarea name="quik" size="7926">
- <rom name="kirby's dream land - 07 - float islands.vgm" size="7926" crc="747fce13" sha1="65b756931d87f92c3551e34ea874d0d720914a4b" offset="0" />
+ <feature name="part_id" value="07 float islands.vgz" />
+ <dataarea name="quik" size="7937">
+ <rom name="07 float islands.vgz" size="7937" crc="010f806d" sha1="797fd881e640cf006153d8df22eb8d3526c2d26f" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 08 - bubbly clouds.vgm" />
- <dataarea name="quik" size="6696">
- <rom name="kirby's dream land - 08 - bubbly clouds.vgm" size="6696" crc="b57b9189" sha1="529624f6867b8a5be082207de06ab31a2128ce56" offset="0" />
+ <feature name="part_id" value="08 bubbly clouds.vgz" />
+ <dataarea name="quik" size="6709">
+ <rom name="08 bubbly clouds.vgz" size="6709" crc="9e5f3450" sha1="ec0dc3f0a4a7833ec9539f822076130997803633" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 09 - mt dedede.vgm" />
- <dataarea name="quik" size="4206">
- <rom name="kirby's dream land - 09 - mt dedede.vgm" size="4206" crc="c762293f" sha1="1270bd76e485ffe79671fe4fa1116e2f8baf0e55" offset="0" />
+ <feature name="part_id" value="09 mt dedede.vgz" />
+ <dataarea name="quik" size="4219">
+ <rom name="09 mt dedede.vgz" size="4219" crc="68d985de" sha1="d26de613aa0eb4f78f65768bbd87a988200a27ce" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 10 - boss selection.vgm" />
- <dataarea name="quik" size="1673">
- <rom name="kirby's dream land - 10 - boss selection.vgm" size="1673" crc="7c18a681" sha1="32927562bac550f2c39803dcfdd865cf682ba1ef" offset="0" />
+ <feature name="part_id" value="10 boss selection.vgz" />
+ <dataarea name="quik" size="1682">
+ <rom name="10 boss selection.vgz" size="1682" crc="5d4f4fb3" sha1="0d726e5c4ef4d8626173406a51f68d5e371a8da1" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 11 - ending.vgm" />
- <dataarea name="quik" size="7807">
- <rom name="kirby's dream land - 11 - ending.vgm" size="7807" crc="3c877a64" sha1="5d69cd2a49b5768805d32ebbaf9fd62d8cd97a4d" offset="0" />
+ <feature name="part_id" value="11 ending.vgz" />
+ <dataarea name="quik" size="7823">
+ <rom name="11 ending.vgz" size="7823" crc="7a19aa10" sha1="dab7b29be0e1040eaac79e2b086debe2b9eae9cd" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 12 - curry.vgm" />
- <dataarea name="quik" size="3511">
- <rom name="kirby's dream land - 12 - curry.vgm" size="3511" crc="ebf41734" sha1="29d7b45866bf544ca17e1020326c6326ca7bdb9f" offset="0" />
+ <feature name="part_id" value="12 curry.vgz" />
+ <dataarea name="quik" size="3521">
+ <rom name="12 curry.vgz" size="3521" crc="2998550a" sha1="6e81b9f4796c9976bfc03f7d283c1886108ef07c" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 13 - invincible.vgm" />
- <dataarea name="quik" size="1919">
- <rom name="kirby's dream land - 13 - invincible.vgm" size="1919" crc="d7de57af" sha1="d35c5c874e1839d90d90e2f6825df5dd3928d164" offset="0" />
+ <feature name="part_id" value="13 invincible.vgz" />
+ <dataarea name="quik" size="1929">
+ <rom name="13 invincible.vgz" size="1929" crc="8827b5bd" sha1="8e9129c9ae65db01f0f25eee46acfbb9e4c7c533" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 14 - miss.vgm" />
- <dataarea name="quik" size="720">
- <rom name="kirby's dream land - 14 - miss.vgm" size="720" crc="a9cf44e2" sha1="9c9ce521f30e0eda3990bd38d56e02ef75a9ea3e" offset="0" />
+ <feature name="part_id" value="14 miss.vgz" />
+ <dataarea name="quik" size="730">
+ <rom name="14 miss.vgz" size="730" crc="1d19ca9a" sha1="9aa8dcf0ffafc6359ccccb4e9982dfdd467c6bad" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="kirby's dream land - 15 - game over.vgm" />
- <dataarea name="quik" size="1349">
- <rom name="kirby's dream land - 15 - game over.vgm" size="1349" crc="6b3209cc" sha1="0bc66f274c7d8144748386fec42a33635417c622" offset="0" />
+ <feature name="part_id" value="15 game over.vgz" />
+ <dataarea name="quik" size="1362">
+ <rom name="15 game over.vgz" size="1362" crc="be1e8a51" sha1="f92d6d2a1f5669496a4e6973e0be021edb970b86" offset="0" />
</dataarea>
</part>
</software>
@@ -85139,8 +85145,8 @@ license:CC0
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 toy factory.vgz" />
- <dataarea name="quik" size="18711">
- <rom name="03 toy factory.vgz" size="18711" crc="8d9b61a9" sha1="8f36ddb3376a60f435107c9374d9964973d63ced" offset="0" />
+ <dataarea name="quik" size="34526">
+ <rom name="03 toy factory.vgz" size="34526" crc="b4ed9314" sha1="db534c28b77026d55a3ba19bf2aab17cee167269" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
@@ -129672,8 +129678,8 @@ license:CC0
<info name="cores" value="NES APU (N2A03)"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 main bgm.vgz" />
- <dataarea name="quik" size="752">
- <rom name="01 main bgm.vgz" size="752" crc="0394814f" sha1="39b746b27d7a8478ed4fb9b5f8ed5d1a5ec2337c" offset="0" />
+ <dataarea name="quik" size="852">
+ <rom name="01 main bgm.vgz" size="852" crc="086ff724" sha1="417b35bae2c0570e5f58e0e71dc5e5a8e307f311" offset="0" />
</dataarea>
</part>
</software>
@@ -156554,86 +156560,86 @@ license:CC0
</software>
<software name="madstlkr_68k">
- <description>Mad Stalker - Full Metal Force (Sharp X68000)</description>
+ <description>Mad Stalker - Full Metal Forth (Sharp X68000)</description>
<year>1994</year>
<publisher>FamilySoft</publisher>
<info name="cores" value="YM2151, OKIM6258"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 ipl.vgz" />
- <dataarea name="quik" size="15491">
- <rom name="01 ipl.vgz" size="15491" crc="233c42de" sha1="0e0514abd0242319ad1e5e1400ebca39a9b78e30" offset="0" />
+ <dataarea name="quik" size="15490">
+ <rom name="01 ipl.vgz" size="15490" crc="a47b7bdb" sha1="382f89c29742aa43c0d0d7b3700f8a6a9a79dd3b" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 opening 1.vgz" />
- <dataarea name="quik" size="48623">
- <rom name="02 opening 1.vgz" size="48623" crc="ee198918" sha1="648e53e9953d57301c47bccaebb250adf5f38d43" offset="0" />
+ <dataarea name="quik" size="48622">
+ <rom name="02 opening 1.vgz" size="48622" crc="56dbdbaf" sha1="17f142137ee21e149c204ccbbdc6a78b81717564" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 opening 2.vgz" />
- <dataarea name="quik" size="24323">
- <rom name="03 opening 2.vgz" size="24323" crc="beb00227" sha1="55fbb5aadab3bf25a8cce11e31ac781c9d2bb7c4" offset="0" />
+ <dataarea name="quik" size="24321">
+ <rom name="03 opening 2.vgz" size="24321" crc="33c0d2e7" sha1="062ed77dc12c73011ff84b213ed0fb2f8dbde881" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 player select.vgz" />
- <dataarea name="quik" size="22379">
- <rom name="04 player select.vgz" size="22379" crc="b4889d42" sha1="f2541708420517d296cd58a7d9e69e8de6a9ddfd" offset="0" />
+ <dataarea name="quik" size="22378">
+ <rom name="04 player select.vgz" size="22378" crc="cd46fc71" sha1="6c401636326f7e53aeaebbd3f5fdcbc7076e1b53" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 stage 1.vgz" />
<dataarea name="quik" size="33102">
- <rom name="05 stage 1.vgz" size="33102" crc="cf88331b" sha1="1e4da0f90596e6da6464bacf7684c07ab28b86ce" offset="0" />
+ <rom name="05 stage 1.vgz" size="33102" crc="63dd58e8" sha1="10e642f56066c7d701886adb2890386f3a5e7fc8" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 stage 2.vgz" />
<dataarea name="quik" size="31696">
- <rom name="06 stage 2.vgz" size="31696" crc="a7a95949" sha1="b82dad455c73e85b5343746c30e2ecb9c230608f" offset="0" />
+ <rom name="06 stage 2.vgz" size="31696" crc="f182077c" sha1="277644c6a2b5cf658a55e69108d2b898c385857a" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 stage 3.vgz" />
<dataarea name="quik" size="20471">
- <rom name="07 stage 3.vgz" size="20471" crc="aabed919" sha1="e5c27e06e2f9d7b245fd8df5e16e9ef5f99d3bd6" offset="0" />
+ <rom name="07 stage 3.vgz" size="20471" crc="ec74073f" sha1="ef30e5d7725088ca565043fc669fb80fc1932059" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 demo.vgz" />
- <dataarea name="quik" size="23610">
- <rom name="08 demo.vgz" size="23610" crc="74b83ee3" sha1="01d92f18a8741dcd5d3c028e79c2a51561629eb1" offset="0" />
+ <dataarea name="quik" size="23609">
+ <rom name="08 demo.vgz" size="23609" crc="26d9ba96" sha1="8d55024989979cbd78d83fed79b586097d43353a" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
<feature name="part_id" value="09 stage 4.vgz" />
- <dataarea name="quik" size="83839">
- <rom name="09 stage 4.vgz" size="83839" crc="630d7315" sha1="448cc9ad1bf801f8ad29a8e38e7245f12cd0ebbd" offset="0" />
+ <dataarea name="quik" size="83838">
+ <rom name="09 stage 4.vgz" size="83838" crc="51ace847" sha1="28563384dec10ebc860b7c24a425f6e3615a178c" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
<feature name="part_id" value="10 stage 5.vgz" />
<dataarea name="quik" size="25958">
- <rom name="10 stage 5.vgz" size="25958" crc="a3c132e9" sha1="92b76567f2b579da65c3613fcf4579d0324f72ec" offset="0" />
+ <rom name="10 stage 5.vgz" size="25958" crc="da3518cf" sha1="c3b5e5f78786339e823f6503b35be98ea8525fc1" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
<feature name="part_id" value="11 stage 6 - boss.vgz" />
<dataarea name="quik" size="39761">
- <rom name="11 stage 6 - boss.vgz" size="39761" crc="fc868ecd" sha1="494a9062d667d1b954b22b3e4b01c3b42407bd27" offset="0" />
+ <rom name="11 stage 6 - boss.vgz" size="39761" crc="a24a7163" sha1="f98dbcbb0e29d0c6e9fd3b38114e99935ae9c097" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
<feature name="part_id" value="12 last boss.vgz" />
- <dataarea name="quik" size="26930">
- <rom name="12 last boss.vgz" size="26930" crc="e8f722d3" sha1="c4d30448fc860b830a3baf9778b618d7386e5ec1" offset="0" />
+ <dataarea name="quik" size="26929">
+ <rom name="12 last boss.vgz" size="26929" crc="e19f9f72" sha1="b76f8cedaa8c3004edde7945f2d12a84435ae150" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 ending.vgz" />
<dataarea name="quik" size="36641">
- <rom name="13 ending.vgz" size="36641" crc="cfd5293a" sha1="df48c28e66d21070e26c8f02bd3620796e465ccf" offset="0" />
+ <rom name="13 ending.vgz" size="36641" crc="698647a7" sha1="6374046ccbad11268e02094c04099d96155f3104" offset="0" />
</dataarea>
</part>
</software>
@@ -161924,111 +161930,117 @@ license:CC0
</part>
</software>
- <software name="puyopuyo_pc98">
- <description>Puyo Puyo (NEC PC-98)</description>
- <year>1991</year>
- <publisher>Compile (MSX2) / Sega (Sega System C-2) / Compile (PC-98)</publisher>
- <info name="cores" value="YM2203"/>
+ <software name="puyopuyo_98">
+ <description>Puyo Puyo (NEC PC-9801)</description>
+ <year>1993</year>
+ <publisher>Compile</publisher>
+ <info name="cores" value="NEC PC-9801-26K (YM2203)"/>
<part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening of puyopuyo.vgz" />
- <dataarea name="quik" size="8218">
- <rom name="01 opening of puyopuyo.vgz" size="8218" crc="d6bfa469" sha1="729b054576708c54035c4961fc39532e37b014b5" offset="0" />
+ <feature name="part_id" value="01 opening of puyo puyo.vgz" />
+ <dataarea name="quik" size="12411">
+ <rom name="01 opening of puyo puyo.vgz" size="12411" crc="5ce43d1b" sha1="32da241acfea5779d6b460e2a0b099fa943eac29" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 cooking of puyopuyo.vgz" />
- <dataarea name="quik" size="1083">
- <rom name="02 cooking of puyopuyo.vgz" size="1083" crc="b45d3764" sha1="931484ea18b02db48db64c0fead8f09470550767" offset="0" />
+ <feature name="part_id" value="02 cooking of puyo puyo.vgz" />
+ <dataarea name="quik" size="1570">
+ <rom name="02 cooking of puyo puyo.vgz" size="1570" crc="09dbc447" sha1="d66a53e11f92cc90ec7d88cfdabde71f093c89f6" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 morning of puyopuyo.vgz" />
- <dataarea name="quik" size="3910">
- <rom name="03 morning of puyopuyo.vgz" size="3910" crc="b45da916" sha1="c8baafb98ae0edf69a020eb7e63cfd3946902caf" offset="0" />
+ <feature name="part_id" value="03 morning of puyo puyo.vgz" />
+ <dataarea name="quik" size="5575">
+ <rom name="03 morning of puyo puyo.vgz" size="5575" crc="56652174" sha1="af329945f4d930bef26058e6db06a30ef695fde9" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 memories of puyopuyo.vgz" />
- <dataarea name="quik" size="2294">
- <rom name="04 memories of puyopuyo.vgz" size="2294" crc="d03dcc88" sha1="5ec1711fb0bcc93815700960ba9c337c13965817" offset="0" />
+ <feature name="part_id" value="04 memories of puyo puyo.vgz" />
+ <dataarea name="quik" size="3450">
+ <rom name="04 memories of puyo puyo.vgz" size="3450" crc="402d00da" sha1="d3d1d81ad7fc3f56bb2e0d2f81f7e179f993caa7" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 theme of puyopuyo.vgz" />
- <dataarea name="quik" size="10299">
- <rom name="05 theme of puyopuyo.vgz" size="10299" crc="4acc6ca1" sha1="749c3c5eeef843c8b0c88b2dc9073a0a16dc19c7" offset="0" />
+ <feature name="part_id" value="05 theme of puyo puyo.vgz" />
+ <dataarea name="quik" size="18651">
+ <rom name="05 theme of puyo puyo.vgz" size="18651" crc="9fadf578" sha1="e0a5f6180c522f92173912184a374c341bd8be6f" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 brave of puyopuyo.vgz" />
- <dataarea name="quik" size="6898">
- <rom name="06 brave of puyopuyo.vgz" size="6898" crc="24db825e" sha1="d83478eb3087e53c9046198bdd769ba9daeaf029" offset="0" />
+ <feature name="part_id" value="06 theme of harpy.vgz" />
+ <dataarea name="quik" size="2426">
+ <rom name="06 theme of harpy.vgz" size="2426" crc="3b7f221a" sha1="1cecec7fbc86e9d5e0f3dd1f91d8e4d978eda578" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 sticker of puyopuyo.vgz" />
- <dataarea name="quik" size="11738">
- <rom name="07 sticker of puyopuyo.vgz" size="11738" crc="aaa98d84" sha1="9cc5d7361a301614b82fd6bbe11d00a8c234a942" offset="0" />
+ <feature name="part_id" value="07 brave of puyo puyo.vgz" />
+ <dataarea name="quik" size="11034">
+ <rom name="07 brave of puyo puyo.vgz" size="11034" crc="4ff92301" sha1="cb1f38485f41fb15365ccee5b4837586977f34d8" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 theme for satan.vgz" />
- <dataarea name="quik" size="6084">
- <rom name="08 theme for satan.vgz" size="6084" crc="46b34ef9" sha1="fcd3d53bcf67d5399bcdd46550818df9391e269d" offset="0" />
+ <feature name="part_id" value="08 sticker of puyo puyo.vgz" />
+ <dataarea name="quik" size="19291">
+ <rom name="08 sticker of puyo puyo.vgz" size="19291" crc="defe0070" sha1="26600516eafe946f7387847948f74dba0df00a8c" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 final of puyopuyo.vgz" />
- <dataarea name="quik" size="11468">
- <rom name="09 final of puyopuyo.vgz" size="11468" crc="9bb76cb0" sha1="6fd4d92f39365ef5d6f96571ba32e077099d0757" offset="0" />
+ <feature name="part_id" value="09 theme of satan.vgz" />
+ <dataarea name="quik" size="10183">
+ <rom name="09 theme of satan.vgz" size="10183" crc="9c94636e" sha1="da5cc7c6959570e149ab8c86da281a81976ce66f" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 warning of puyopuyo.vgz" />
- <dataarea name="quik" size="40465">
- <rom name="10 warning of puyopuyo.vgz" size="40465" crc="7fe3cbfe" sha1="02163113bca6b74382cf5b048264e6406d62191a" offset="0" />
+ <feature name="part_id" value="10 final of puyo puyo.vgz" />
+ <dataarea name="quik" size="17636">
+ <rom name="10 final of puyo puyo.vgz" size="17636" crc="54fa67ba" sha1="5f6946a4e24afc5f333ab11f20dab3900ac90683" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 sorrow of puyopuyo.vgz" />
- <dataarea name="quik" size="2154">
- <rom name="11 sorrow of puyopuyo.vgz" size="2154" crc="7219eecb" sha1="f0008d9d7835ed7273c41f1e07d88d3b6f40f0c1" offset="0" />
+ <feature name="part_id" value="11 warning of puyo puyo.vgz" />
+ <dataarea name="quik" size="60517">
+ <rom name="11 warning of puyo puyo.vgz" size="60517" crc="e39accb1" sha1="c8701f1f5baf0d19d3f8937bf779897fdca0efa1" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 stage clear.vgz" />
- <dataarea name="quik" size="1225">
- <rom name="12 stage clear.vgz" size="1225" crc="5c76d742" sha1="0fd2f339f6467b4da802d46715e876a939de3b7f" offset="0" />
+ <feature name="part_id" value="12 sorrow of puyo puyo.vgz" />
+ <dataarea name="quik" size="3026">
+ <rom name="12 sorrow of puyo puyo.vgz" size="3026" crc="d8bf4b73" sha1="121251fb47c760b82392fafdf55d17a01f442e27" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 victory of puyopuyo.vgz" />
- <dataarea name="quik" size="2498">
- <rom name="13 victory of puyopuyo.vgz" size="2498" crc="f447b056" sha1="4c119ac7aea08131312ab98ea21a274023a7f8a4" offset="0" />
+ <feature name="part_id" value="13 victory of puyo puyo.vgz" />
+ <dataarea name="quik" size="3893">
+ <rom name="13 victory of puyo puyo.vgz" size="3893" crc="2557918f" sha1="d5cd26f069195c0a1a9536767aebcf18cb2faddf" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 sunset of puyopuyo.vgz" />
- <dataarea name="quik" size="21890">
- <rom name="14 sunset of puyopuyo.vgz" size="21890" crc="4e06e27a" sha1="559440a49b1652361f880968c47339bd07ca6388" offset="0" />
+ <feature name="part_id" value="14 sunset of puyo puyo.vgz" />
+ <dataarea name="quik" size="34776">
+ <rom name="14 sunset of puyo puyo.vgz" size="34776" crc="38cb7d71" sha1="2b654a903d00d9cc454d922a0ccd9f0f6a6fdfd8" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 ondo of puyopuyo.vgz" />
- <dataarea name="quik" size="8315">
- <rom name="15 ondo of puyopuyo.vgz" size="8315" crc="55259f17" sha1="45ccafe72732e66d55e5b6a4eae8d2dea397c634" offset="0" />
+ <feature name="part_id" value="15 ondo of puyo puyo.vgz" />
+ <dataarea name="quik" size="13067">
+ <rom name="15 ondo of puyo puyo.vgz" size="13067" crc="17ce28d1" sha1="4253b18dbb12986dc941c7878a38a220a068a6b9" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 toy of puyopuyo.vgz" />
- <dataarea name="quik" size="21617">
- <rom name="16 toy of puyopuyo.vgz" size="21617" crc="4c04a6e1" sha1="23bdca96c60bd6e39349f65b09fc2959fcdb466b" offset="0" />
+ <feature name="part_id" value="16 toy of puyo puyo.vgz" />
+ <dataarea name="quik" size="14447">
+ <rom name="16 toy of puyo puyo.vgz" size="14447" crc="4a786937" sha1="be0962854d3af094e4b5f9fd620f8789f8a83f01" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 quest of puyopuyo.vgz" />
- <dataarea name="quik" size="9210">
- <rom name="17 quest of puyopuyo.vgz" size="9210" crc="1d56b0ce" sha1="59366dc49eef48d324424f9a4653614c1f8f9b59" offset="0" />
+ <feature name="part_id" value="17 quest of puyo puyo.vgz" />
+ <dataarea name="quik" size="18254">
+ <rom name="17 quest of puyo puyo.vgz" size="18254" crc="f96e16ff" sha1="4910b7bf65b6f100a310a2b6c5be532fe5b9f042" offset="0" />
+ </dataarea>
+ </part>
+ <part name="018" interface="vgm_quik">
+ <feature name="part_id" value="18 stage clear.vgz" />
+ <dataarea name="quik" size="1397">
+ <rom name="18 stage clear.vgz" size="1397" crc="e9cdc644" sha1="fa280665bb22f0730eb0a74ee9e55c3f740eb1f8" offset="0" />
</dataarea>
</part>
</software>
@@ -175135,131 +175147,131 @@ license:CC0
<description>Touhou Yumejikuu ~ Phantasmagoria of Dim. Dream. (NEC PC-9801, OPNA)</description>
<year>1997</year>
<publisher>Amusement Makers</publisher>
- <info name="cores" value="NEC PC-9801 (YM2608)"/>
+ <info name="cores" value="NEC PC-9801-86 (YM2608)"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 a dream transcending space-time.vgz" />
- <dataarea name="quik" size="7992">
- <rom name="01 a dream transcending space-time.vgz" size="7992" crc="76589563" sha1="546c2c5234ea20d8f4a08e5376de08375dcb6619" offset="0" />
+ <dataarea name="quik" size="17859">
+ <rom name="01 a dream transcending space-time.vgz" size="17859" crc="5ee85b4e" sha1="252d906426a1b70413060118c2d33b9f34f458eb" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 selection.vgz" />
- <dataarea name="quik" size="4588">
- <rom name="02 selection.vgz" size="4588" crc="6670666c" sha1="bbf6829ffa340304bcc9cc17c2cf24a35be5a9f0" offset="0" />
+ <dataarea name="quik" size="5956">
+ <rom name="02 selection.vgz" size="5956" crc="3f1663bb" sha1="635e0df04c0363d60e0bf82a511c1c97b1309465" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 eastern mystical love consultation.vgz" />
- <dataarea name="quik" size="9693">
- <rom name="03 eastern mystical love consultation.vgz" size="9693" crc="f2d25995" sha1="1df565f24eba7ffc60b4dcadaba746097ed49f00" offset="0" />
+ <dataarea name="quik" size="9940">
+ <rom name="03 eastern mystical love consultation.vgz" size="9940" crc="aee8fd6a" sha1="0009b56baa395c6a1d0446de427cd1995012d433" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 reincarnation.vgz" />
- <dataarea name="quik" size="13187">
- <rom name="04 reincarnation.vgz" size="13187" crc="8946d55b" sha1="aa55fb9fffd48a4025b4a8bef1331f5dc42a64f8" offset="0" />
+ <dataarea name="quik" size="29407">
+ <rom name="04 reincarnation.vgz" size="29407" crc="e2716688" sha1="2aa9a949b37355ab0ac40bd17ec9ed24ec884906" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 dim. dream.vgz" />
- <dataarea name="quik" size="13673">
- <rom name="05 dim. dream.vgz" size="13673" crc="f3d825f4" sha1="553c77bc18b58c044980526c8b5ce6203ea89804" offset="0" />
+ <dataarea name="quik" size="43386">
+ <rom name="05 dim. dream.vgz" size="43386" crc="488a0006" sha1="6dd1d398c36b91b94acd0c56475fdae0f75d308d" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 tabula rasa ~ the empty girl.vgz" />
- <dataarea name="quik" size="10754">
- <rom name="06 tabula rasa ~ the empty girl.vgz" size="10754" crc="1f01df15" sha1="3b5cade7bdfe8eb996afe1c0c9262f46c46d9b53" offset="0" />
+ <dataarea name="quik" size="22882">
+ <rom name="06 tabula rasa ~ the empty girl.vgz" size="22882" crc="61b5f101" sha1="e2fa5fa10445d5b429d141332769e12622042452" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 maniacal princess.vgz" />
- <dataarea name="quik" size="10560">
- <rom name="07 maniacal princess.vgz" size="10560" crc="e0ebf0a1" sha1="04539e8f50a811170413d50db6a63ff72a2f5014" offset="0" />
+ <dataarea name="quik" size="25281">
+ <rom name="07 maniacal princess.vgz" size="25281" crc="a3fedb45" sha1="7838dd6e78efbfa85400edeec1537fc9b029ad42" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 vanishing dream ~ lost dream.vgz" />
- <dataarea name="quik" size="10587">
- <rom name="08 vanishing dream ~ lost dream.vgz" size="10587" crc="99d750fe" sha1="3aaa1e373c2b681fecf3f81a999bbbe50a33da59" offset="0" />
+ <dataarea name="quik" size="31236">
+ <rom name="08 vanishing dream ~ lost dream.vgz" size="31236" crc="ab3ae15c" sha1="33a4bd730bdfd019f18886d398fc2d1bb4680250" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
<feature name="part_id" value="09 visionary game ~ dream war.vgz" />
- <dataarea name="quik" size="22554">
- <rom name="09 visionary game ~ dream war.vgz" size="22554" crc="500c2207" sha1="5b384955675d3537ad939c5ae498a88e99ae2909" offset="0" />
+ <dataarea name="quik" size="53447">
+ <rom name="09 visionary game ~ dream war.vgz" size="53447" crc="933f17bf" sha1="ff96ab18e6f38b72d56a9286268c70bab3640dcb" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
<feature name="part_id" value="10 decisive magic battle! ~ fight it out!.vgz" />
- <dataarea name="quik" size="8181">
- <rom name="10 decisive magic battle ~ fight it out.vgz" size="8181" crc="336e37c5" sha1="5a8d8decf4f1c6b2b49afb72d6702c41a624a6fd" offset="0" />
+ <dataarea name="quik" size="25952">
+ <rom name="10 decisive magic battle ~ fight it out.vgz" size="25952" crc="b295b8a3" sha1="6c9320bc432756e970b8ebb5bbbb18c6205f3ca5" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
<feature name="part_id" value="11 sailor of time.vgz" />
- <dataarea name="quik" size="10133">
- <rom name="11 sailor of time.vgz" size="10133" crc="cebcb74d" sha1="2ab531288aa24bbe99dce8651d76e8a534c165ee" offset="0" />
+ <dataarea name="quik" size="25320">
+ <rom name="11 sailor of time.vgz" size="25320" crc="5502d80d" sha1="90230f349ad374118881713a593dcc8b54b3fc7e" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
<feature name="part_id" value="12 strawberry crisis!!.vgz" />
- <dataarea name="quik" size="8600">
- <rom name="12 strawberry crisis.vgz" size="8600" crc="ecec5402" sha1="949f34af9bf183cea97b5417f23d4641f3042c26" offset="0" />
+ <dataarea name="quik" size="19578">
+ <rom name="12 strawberry crisis.vgz" size="19578" crc="d5188078" sha1="3a367bd4304b6009ff05c5f2291964dbee08de96" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 disunified field theory of magic.vgz" />
- <dataarea name="quik" size="4661">
- <rom name="13 disunified field theory of magic.vgz" size="4661" crc="5fb2afee" sha1="9d073d77e18899ace9fbb97bb42a65e7c8b8090e" offset="0" />
+ <dataarea name="quik" size="11434">
+ <rom name="13 disunified field theory of magic.vgz" size="11434" crc="17586c1c" sha1="e059e2919688578603219966e4c514b49701aa5f" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
<feature name="part_id" value="14 love of magical chimes.vgz" />
- <dataarea name="quik" size="4938">
- <rom name="14 love of magical chimes.vgz" size="4938" crc="b492858c" sha1="5e4d6d7779cb3e8c6d87de7f90f6a96ed14cfbbc" offset="0" />
+ <dataarea name="quik" size="9782">
+ <rom name="14 love of magical chimes.vgz" size="9782" crc="9921f89a" sha1="5e690c25196c2e0d7763be9aeecc89c2aaf204be" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
<feature name="part_id" value="15 dream of eternity.vgz" />
- <dataarea name="quik" size="2855">
- <rom name="15 dream of eternity.vgz" size="2855" crc="bc46404d" sha1="013c873897019f414a476479ceae26cff4679a42" offset="0" />
+ <dataarea name="quik" size="4610">
+ <rom name="15 dream of eternity.vgz" size="4610" crc="68fa3140" sha1="8a56ce86b9c577135a45cbc1178487b28723d400" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
<feature name="part_id" value="16 eastern blue sky.vgz" />
- <dataarea name="quik" size="1676">
- <rom name="16 eastern blue sky.vgz" size="1676" crc="2bd1424d" sha1="62161f61335775b058e665c10b6b5b01d3733d53" offset="0" />
+ <dataarea name="quik" size="3005">
+ <rom name="16 eastern blue sky.vgz" size="3005" crc="503e8534" sha1="e94ff4d0c660d30d61056d9d702ae82d212f1371" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
<feature name="part_id" value="17 eternal full moon.vgz" />
- <dataarea name="quik" size="3399">
- <rom name="17 eternal full moon.vgz" size="3399" crc="8f1f59ca" sha1="19992f02808b615d50758e54e4d458bf1cf62a90" offset="0" />
+ <dataarea name="quik" size="6297">
+ <rom name="17 eternal full moon.vgz" size="6297" crc="e29244f8" sha1="ca1dbcb133c9f1715283aaadfe89e202764ad1c3" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
<feature name="part_id" value="18 maple dream.vgz" />
- <dataarea name="quik" size="9296">
- <rom name="18 maple dream.vgz" size="9296" crc="98ffa4f8" sha1="c05a495c55b98ddc5a6da3a8d7a9b4029ccc546d" offset="0" />
+ <dataarea name="quik" size="28031">
+ <rom name="18 maple dream.vgz" size="28031" crc="fb9376eb" sha1="a1c5a7ba525a793a1f79e3b09202611bcd369814" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
<feature name="part_id" value="19 ghostly person's holiday.vgz" />
- <dataarea name="quik" size="2565">
- <rom name="19 ghostly person's holiday.vgz" size="2565" crc="46b7442c" sha1="806eff2458147c77b86fdf137bd713e35b190998" offset="0" />
+ <dataarea name="quik" size="4960">
+ <rom name="19 ghostly person's holiday.vgz" size="4960" crc="d919f7e4" sha1="a754460d27e6bd087600bfe029cd8e787fa80c31" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
<feature name="part_id" value="20 victory demonstration.vgz" />
- <dataarea name="quik" size="1967">
- <rom name="20 victory demonstration.vgz" size="1967" crc="2d63beb1" sha1="4aa9eb938e0cf3e4812ebfc6410948fb41941cf7" offset="0" />
+ <dataarea name="quik" size="2665">
+ <rom name="20 victory demonstration.vgz" size="2665" crc="a06b91ff" sha1="a621f38054a2ac32577fa390685334aabe6e6565" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
<feature name="part_id" value="21 game over.vgz" />
- <dataarea name="quik" size="1330">
- <rom name="21 game over.vgz" size="1330" crc="a89f1b88" sha1="0973d41a31e115f1000232b468d67ec8fb8dea15" offset="0" />
+ <dataarea name="quik" size="1704">
+ <rom name="21 game over.vgz" size="1704" crc="6d38a22f" sha1="a59c8741595f28ee8af1d94a45c669c6ba9cd739" offset="0" />
</dataarea>
</part>
</software>
@@ -229437,50 +229449,50 @@ license:CC0
<info name="cores" value="NES APU (N2A03)"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 title screen, stage 2.vgz" />
- <dataarea name="quik" size="13498">
- <rom name="01 title screen, stage 2.vgz" size="13498" crc="99bc5560" sha1="3daf7d417596d7a35f2dd3d4f364a8a6b7206dae" offset="0" />
+ <dataarea name="quik" size="13472">
+ <rom name="01 title screen, stage 2.vgz" size="13472" crc="1e0630cf" sha1="11f3cd62c68c76723f7fa7ebf56376410ab3e512" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 stage 1, stage 5.vgz" />
- <dataarea name="quik" size="10402">
- <rom name="02 stage 1, stage 5.vgz" size="10402" crc="447767e1" sha1="a11d85d6f1b294c65adf07e7ad9d9c5a875afc06" offset="0" />
+ <dataarea name="quik" size="10377">
+ <rom name="02 stage 1, stage 5.vgz" size="10377" crc="1f08fab5" sha1="debaaf25e9446e12863d096e954c170047c640bd" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 stage 3.vgz" />
- <dataarea name="quik" size="8886">
- <rom name="03 stage 3.vgz" size="8886" crc="af0ed52d" sha1="9af896c066e34f3d0880f9378595d303410e0664" offset="0" />
+ <dataarea name="quik" size="8860">
+ <rom name="03 stage 3.vgz" size="8860" crc="5f34942b" sha1="ce3c77c07f8fe6da082b3d1d2da5f564e44c44fc" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 stage 4.vgz" />
- <dataarea name="quik" size="10204">
- <rom name="04 stage 4.vgz" size="10204" crc="0c81da68" sha1="3b0a7eb01231b4420d95c630ec3fc3b2e4c4a233" offset="0" />
+ <dataarea name="quik" size="10178">
+ <rom name="04 stage 4.vgz" size="10178" crc="f7928e3f" sha1="d98648ac2fbf79bef02458d4a4d8312cd902e840" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 high score.vgz" />
- <dataarea name="quik" size="3339">
- <rom name="05 high score.vgz" size="3339" crc="a088061e" sha1="7378ddbadd945a24c0da3738342f700223c08e0e" offset="0" />
+ <dataarea name="quik" size="3315">
+ <rom name="05 high score.vgz" size="3315" crc="8cb1bfb4" sha1="cae2089d1f53894de034689c8dd6f6087268ab37" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 game over.vgz" />
- <dataarea name="quik" size="961">
- <rom name="06 game over.vgz" size="961" crc="1adc697f" sha1="9812de97e2ee116b45f216f4cef2e58f573d0ea1" offset="0" />
+ <dataarea name="quik" size="938">
+ <rom name="06 game over.vgz" size="938" crc="1c7d3817" sha1="112d87e5b468914e1ab0eabf5a7981b65b4eca96" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 stage clear.vgz" />
- <dataarea name="quik" size="1415">
- <rom name="07 stage clear.vgz" size="1415" crc="9188af27" sha1="349f05d5d8712895549f5160e7a9fddccd528289" offset="0" />
+ <dataarea name="quik" size="1386">
+ <rom name="07 stage clear.vgz" size="1386" crc="3f4d627a" sha1="3a8558a8cc021beea5622ceb1c2e10be56770c6f" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 continue.vgz" />
- <dataarea name="quik" size="2254">
- <rom name="08 continue.vgz" size="2254" crc="5fbefb0a" sha1="a2477cccf58406511983a04019cb3a834b8b44e8" offset="0" />
+ <dataarea name="quik" size="2230">
+ <rom name="08 continue.vgz" size="2230" crc="be369c7a" sha1="f35e6d7f374770fafb089b4090167d77cea6cb95" offset="0" />
</dataarea>
</part>
</software>
@@ -231616,7 +231628,7 @@ license:CC0
</software>
<software name="fray_msx2">
- <description>Fray (MSX2)</description>
+ <description>Fray (MSX2, OPLL)</description>
<year>1991</year>
<publisher>Micro Cabin</publisher>
<info name="cores" value="MSX-MUSIC (YM2413), PSG (AY-3-8910)"/>
@@ -231694,8 +231706,8 @@ license:CC0
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 shooting scene.vgz" />
- <dataarea name="quik" size="21012">
- <rom name="13 shooting scene.vgz" size="21012" crc="60afae0f" sha1="ba39a5b4884ab5d7b12ec35c917c076a5e4d6379" offset="0" />
+ <dataarea name="quik" size="53634">
+ <rom name="13 shooting scene.vgz" size="53634" crc="c1e10776" sha1="517a711102df14551f24ae2c3964811f41fd1395" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
@@ -231834,242 +231846,242 @@ license:CC0
<info name="cores" value="MSX-MUSIC (YM2413), PSG (AY-3-8910)"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 thunder.vgz" />
- <dataarea name="quik" size="1245">
- <rom name="01 thunder.vgz" size="1245" crc="7be91dee" sha1="f04598880e02d0c80c6fb37897ec3b536a28326c" offset="0" />
+ <dataarea name="quik" size="1249">
+ <rom name="01 thunder.vgz" size="1249" crc="ec4ef19e" sha1="3cf1b01e9546e1ff567892b3ba1abfcbb87926a6" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 illusion theme b.vgz" />
- <dataarea name="quik" size="45230">
- <rom name="02 illusion theme b.vgz" size="45230" crc="a8d6121b" sha1="dbb491de40b0fb6f3878f13b16f5125517f8ea52" offset="0" />
+ <dataarea name="quik" size="45238">
+ <rom name="02 illusion theme b.vgz" size="45238" crc="1f505257" sha1="04c7b28557937e7bcafb386d260a6ef4492fda3d" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 illusion theme a.vgz" />
- <dataarea name="quik" size="43320">
- <rom name="03 illusion theme a.vgz" size="43320" crc="1963c350" sha1="e38b4ed3a4ca98fc4c76f72d22bc59c7918f1746" offset="0" />
+ <dataarea name="quik" size="43333">
+ <rom name="03 illusion theme a.vgz" size="43333" crc="fd9ab114" sha1="2bde065b336d9de586b544c4cc56df4135952d0f" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 home.vgz" />
- <dataarea name="quik" size="31173">
- <rom name="04 home.vgz" size="31173" crc="bfe02c56" sha1="198171c3b0aef1dc4c081a9f51bb9792d4681133" offset="0" />
+ <dataarea name="quik" size="31178">
+ <rom name="04 home.vgz" size="31178" crc="50a1000b" sha1="93761a78bec2e3d36c253d7f778b3c4930a095a8" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 old master's house.vgz" />
- <dataarea name="quik" size="9848">
- <rom name="05 old master's house.vgz" size="9848" crc="6cdb7214" sha1="a9818459e960938aeca75209444bacf636ec2931" offset="0" />
+ <dataarea name="quik" size="9859">
+ <rom name="05 old master's house.vgz" size="9859" crc="333db651" sha1="8ef01189e49352269c7e05d9c52abda2a778c9f1" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 crisis area.vgz" />
- <dataarea name="quik" size="40022">
- <rom name="06 crisis area.vgz" size="40022" crc="e3af60ae" sha1="d51f8878a187c33c149728d43d5f4be965b0d725" offset="0" />
+ <dataarea name="quik" size="40030">
+ <rom name="06 crisis area.vgz" size="40030" crc="3e28e2cb" sha1="f696cdc9f81368ad4ffbe20e45715d5220aaf494" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 indoor combat.vgz" />
- <dataarea name="quik" size="46581">
- <rom name="07 indoor combat.vgz" size="46581" crc="2eb6147f" sha1="6f14e345859fd9ee8d2288aaee1b392a010b655c" offset="0" />
+ <dataarea name="quik" size="46589">
+ <rom name="07 indoor combat.vgz" size="46589" crc="527acddb" sha1="2178d5f97396bc34bf70cab768510a75854b760c" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 hazard area.vgz" />
- <dataarea name="quik" size="35854">
- <rom name="08 hazard area.vgz" size="35854" crc="32ed04f6" sha1="acd392512bf378eb4e56c94f6521c64655b750ec" offset="0" />
+ <dataarea name="quik" size="35862">
+ <rom name="08 hazard area.vgz" size="35862" crc="0fdfb782" sha1="7dfce25541749353ebb284e88ef12833ab25c4a0" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
<feature name="part_id" value="09 shao mei.vgz" />
- <dataarea name="quik" size="45037">
- <rom name="09 shao mei.vgz" size="45037" crc="c8f7d6de" sha1="4d3cef3001a1fb5ba824b224ea275d90dabe9fea" offset="0" />
+ <dataarea name="quik" size="45043">
+ <rom name="09 shao mei.vgz" size="45043" crc="80b5d050" sha1="ddaec9d545dfd9e9743090d27ff13f2959b90c2a" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
<feature name="part_id" value="10 metal area.vgz" />
- <dataarea name="quik" size="29486">
- <rom name="10 metal area.vgz" size="29486" crc="25a595c1" sha1="73e4775c177e316ca1daffd2dbfb926356579fde" offset="0" />
+ <dataarea name="quik" size="29495">
+ <rom name="10 metal area.vgz" size="29495" crc="2a406c2b" sha1="fc34ea8955b15b76eaffee04936b060e5b5414ff" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
<feature name="part_id" value="11 network image.vgz" />
- <dataarea name="quik" size="72254">
- <rom name="11 network image.vgz" size="72254" crc="782b63b8" sha1="dc475c3e86cac5741f7109aef408309aeeff9d24" offset="0" />
+ <dataarea name="quik" size="72261">
+ <rom name="11 network image.vgz" size="72261" crc="922ac399" sha1="4d993e1943cf31fd0cbef59ef7a333d19b4ea403" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
<feature name="part_id" value="12 requiem.vgz" />
- <dataarea name="quik" size="32670">
- <rom name="12 requiem.vgz" size="32670" crc="e6902fb2" sha1="1140a3207b0acec1f15f10846e55b9706880f38c" offset="0" />
+ <dataarea name="quik" size="32675">
+ <rom name="12 requiem.vgz" size="32675" crc="3d885956" sha1="fd4c74c681c4a66fa5810fee5bc6a02f6336d38e" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 crisis.vgz" />
- <dataarea name="quik" size="32123">
- <rom name="13 crisis.vgz" size="32123" crc="81c470a5" sha1="9477ee763a2d7fd9d1c5ad75c3b15a49d5d8b839" offset="0" />
+ <dataarea name="quik" size="32127">
+ <rom name="13 crisis.vgz" size="32127" crc="580fdc0a" sha1="10be12445097ae9fc52e438af9ec2f4d58529af5" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
<feature name="part_id" value="14 victory.vgz" />
- <dataarea name="quik" size="39782">
- <rom name="14 victory.vgz" size="39782" crc="a72e59ba" sha1="f73e573afe5c65d1d92560959509f203deee66f4" offset="0" />
+ <dataarea name="quik" size="39788">
+ <rom name="14 victory.vgz" size="39788" crc="15cac3fc" sha1="498989dd2bcfd25e7923ce0d242711be27548b30" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
<feature name="part_id" value="15 magic day.vgz" />
- <dataarea name="quik" size="43274">
- <rom name="15 magic day.vgz" size="43274" crc="322ec046" sha1="50a855d3ae40b20ff5903e800c06514eefa25bfa" offset="0" />
+ <dataarea name="quik" size="43280">
+ <rom name="15 magic day.vgz" size="43280" crc="84ed63a1" sha1="6ffb2200ffb2274d6ffa60fc7aa4e2897d21c936" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
<feature name="part_id" value="16 fetal movement.vgz" />
- <dataarea name="quik" size="48803">
- <rom name="16 fetal movement.vgz" size="48803" crc="294d4536" sha1="74e63b09094fe492b2d4a7ae19fe4e94ffaef8eb" offset="0" />
+ <dataarea name="quik" size="48807">
+ <rom name="16 fetal movement.vgz" size="48807" crc="11e15775" sha1="554a9ac87751afb3289e7b076f95150f67a107bc" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
<feature name="part_id" value="17 illusion castle.vgz" />
- <dataarea name="quik" size="38550">
- <rom name="17 illusion castle.vgz" size="38550" crc="b8134cc1" sha1="96b2df51f8269cee7ed42de1d468391fdf40e73a" offset="0" />
+ <dataarea name="quik" size="38560">
+ <rom name="17 illusion castle.vgz" size="38560" crc="97cde6d8" sha1="eb2585ad4e605f3f357eac0f2c250fc15d936a5e" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
<feature name="part_id" value="18 rumbling of the city.vgz" />
- <dataarea name="quik" size="40524">
- <rom name="18 rumbling of the city.vgz" size="40524" crc="bf016bea" sha1="34c501fec5219633291e2663fbf01adf979e202c" offset="0" />
+ <dataarea name="quik" size="40530">
+ <rom name="18 rumbling of the city.vgz" size="40530" crc="2a3a6695" sha1="fcf34646aa1a84fe1dd8464eb29a2dff627f4cfa" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
<feature name="part_id" value="19 dancing.vgz" />
- <dataarea name="quik" size="69709">
- <rom name="19 dancing.vgz" size="69709" crc="e1e3caae" sha1="04fc58cf8328344f99a79cb1f02e85bfcc06186d" offset="0" />
+ <dataarea name="quik" size="69716">
+ <rom name="19 dancing.vgz" size="69716" crc="dee0e36b" sha1="ee2a61f3281aa24ae64f8609feeb1cfd8244dd66" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
<feature name="part_id" value="20 vip room.vgz" />
- <dataarea name="quik" size="19314">
- <rom name="20 vip room.vgz" size="19314" crc="494e181c" sha1="34607c7bf3ebc64687ae37795f2ba1204f06c1e2" offset="0" />
+ <dataarea name="quik" size="19318">
+ <rom name="20 vip room.vgz" size="19318" crc="6cef5641" sha1="96ad1833ae61fcab67232c882c86ace3028cab54" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
<feature name="part_id" value="21 shop.vgz" />
- <dataarea name="quik" size="24717">
- <rom name="21 shop.vgz" size="24717" crc="fadd881b" sha1="6b80c648badf1d6b275c0ddcd872b5ac0de8b33f" offset="0" />
+ <dataarea name="quik" size="24722">
+ <rom name="21 shop.vgz" size="24722" crc="48d4cb13" sha1="b94119145c77080e334da072b5d468974a9de8ea" offset="0" />
</dataarea>
</part>
<part name="022" interface="vgm_quik">
<feature name="part_id" value="22 ceremony.vgz" />
- <dataarea name="quik" size="11489">
- <rom name="22 ceremony.vgz" size="11489" crc="78919d1b" sha1="a6f19d5e9dfcd9b2b46f6921d6a21f1fd9f52ea6" offset="0" />
+ <dataarea name="quik" size="11503">
+ <rom name="22 ceremony.vgz" size="11503" crc="3a595be4" sha1="2c04a5214053d35c0982803977f26023d9d7249b" offset="0" />
</dataarea>
</part>
<part name="023" interface="vgm_quik">
<feature name="part_id" value="23 in captivity.vgz" />
- <dataarea name="quik" size="8184">
- <rom name="23 in captivity.vgz" size="8184" crc="a335f36f" sha1="0f9afee3f8879606f5e0dd9bc936070d30de96a4" offset="0" />
+ <dataarea name="quik" size="8190">
+ <rom name="23 in captivity.vgz" size="8190" crc="60661dad" sha1="97db569f818e4bb574a4570223fba6041deccf87" offset="0" />
</dataarea>
</part>
<part name="024" interface="vgm_quik">
<feature name="part_id" value="24 lovers.vgz" />
- <dataarea name="quik" size="15596">
- <rom name="24 lovers.vgz" size="15596" crc="33415488" sha1="e5f036e3e5ff3396ed0fc194b2e1632d41415cca" offset="0" />
+ <dataarea name="quik" size="15600">
+ <rom name="24 lovers.vgz" size="15600" crc="319a322d" sha1="511bdf8ae4da5aa827e6379b862b713b14b7c765" offset="0" />
</dataarea>
</part>
<part name="025" interface="vgm_quik">
<feature name="part_id" value="25 water pipe.vgz" />
- <dataarea name="quik" size="25040">
- <rom name="25 water pipe.vgz" size="25040" crc="95b0e840" sha1="ab2f4a706d2cc52dbe11c6d376fd55d3c4f955ef" offset="0" />
+ <dataarea name="quik" size="25050">
+ <rom name="25 water pipe.vgz" size="25050" crc="4ed09923" sha1="23f4aa686a99229b3c556224bbb7cb5c400003d7" offset="0" />
</dataarea>
</part>
<part name="026" interface="vgm_quik">
<feature name="part_id" value="26 cavern (labyrinth).vgz" />
- <dataarea name="quik" size="29782">
- <rom name="26 cavern (labyrinth).vgz" size="29782" crc="c6fa9339" sha1="cec973af7e48f5053b47617c2bf7d69cf8296256" offset="0" />
+ <dataarea name="quik" size="29789">
+ <rom name="26 cavern (labyrinth).vgz" size="29789" crc="cc0a2c3e" sha1="679bf7bd4b925861dbcaff34e84197c89f0d5fec" offset="0" />
</dataarea>
</part>
<part name="027" interface="vgm_quik">
<feature name="part_id" value="27 moon's madness.vgz" />
- <dataarea name="quik" size="35604">
- <rom name="27 moon's madness.vgz" size="35604" crc="e2a3b78c" sha1="d1cd050185574ccdec503819cec1764d9b5fb770" offset="0" />
+ <dataarea name="quik" size="35615">
+ <rom name="27 moon's madness.vgz" size="35615" crc="3be531bc" sha1="4daaa01780adac12e9c72a6d265eae1fd6c67604" offset="0" />
</dataarea>
</part>
<part name="028" interface="vgm_quik">
<feature name="part_id" value="28 battle.vgz" />
- <dataarea name="quik" size="45706">
- <rom name="28 battle.vgz" size="45706" crc="9494a4b1" sha1="69bdd735010d4971cb4b9d12ba824906c7c1f006" offset="0" />
+ <dataarea name="quik" size="45713">
+ <rom name="28 battle.vgz" size="45713" crc="481228e9" sha1="4e3c92c51bd52762a65c7d576abf5dbaee4002d7" offset="0" />
</dataarea>
</part>
<part name="029" interface="vgm_quik">
<feature name="part_id" value="29 party of 8 battle.vgz" />
- <dataarea name="quik" size="79066">
- <rom name="29 party of 8 battle.vgz" size="79066" crc="9eb137db" sha1="c1b794a15f0207fbe07c520169d7171a9f937114" offset="0" />
+ <dataarea name="quik" size="79073">
+ <rom name="29 party of 8 battle.vgz" size="79073" crc="c9fbd35a" sha1="b21d7fff16f46d1da0a27ffbcc304b3408ba81f4" offset="0" />
</dataarea>
</part>
<part name="030" interface="vgm_quik">
<feature name="part_id" value="30 heavenly king battle.vgz" />
- <dataarea name="quik" size="48543">
- <rom name="30 heavenly king battle.vgz" size="48543" crc="7d071ae0" sha1="124a522f9ce7b187da58a92f45f5eca51378302e" offset="0" />
+ <dataarea name="quik" size="48553">
+ <rom name="30 heavenly king battle.vgz" size="48553" crc="f5286b21" sha1="70828bbebba0bf1b6ccf221f7b154583f37832b7" offset="0" />
</dataarea>
</part>
<part name="031" interface="vgm_quik">
<feature name="part_id" value="31 nightmare.vgz" />
- <dataarea name="quik" size="9143">
- <rom name="31 nightmare.vgz" size="9143" crc="cb972822" sha1="565680c1b506186e164d3fa1b64c7d5dce039808" offset="0" />
+ <dataarea name="quik" size="9149">
+ <rom name="31 nightmare.vgz" size="9149" crc="58de0d0b" sha1="f202764e61b02789b962152d170e006127d41602" offset="0" />
</dataarea>
</part>
<part name="032" interface="vgm_quik">
<feature name="part_id" value="32 final battle.vgz" />
- <dataarea name="quik" size="51588">
- <rom name="32 final battle.vgz" size="51588" crc="c4cc15a0" sha1="f787a4210da7aac3b12683571c9cc85248528b43" offset="0" />
+ <dataarea name="quik" size="51604">
+ <rom name="32 final battle.vgz" size="51604" crc="bd360b51" sha1="b950180b985870074696f33b8e006677d0beb321" offset="0" />
</dataarea>
</part>
<part name="033" interface="vgm_quik">
<feature name="part_id" value="33 ending.vgz" />
- <dataarea name="quik" size="42699">
- <rom name="33 ending.vgz" size="42699" crc="3a08b23a" sha1="33eee54e2f3f8cf9439a299a1b5eabca0354f858" offset="0" />
+ <dataarea name="quik" size="42708">
+ <rom name="33 ending.vgz" size="42708" crc="1f6f4cdf" sha1="be770f1a39b4f4cefdc2481b5063cc53b6284e6b" offset="0" />
</dataarea>
</part>
<part name="034" interface="vgm_quik">
<feature name="part_id" value="34 unused 1.vgz" />
- <dataarea name="quik" size="26827">
- <rom name="34 unused 1.vgz" size="26827" crc="09612630" sha1="f444dad65165c984f9b1bd2d424e5c60c4face51" offset="0" />
+ <dataarea name="quik" size="26834">
+ <rom name="34 unused 1.vgz" size="26834" crc="2e5ff68d" sha1="a7432ab6c56a92072b28cc1973359eed0873fb5a" offset="0" />
</dataarea>
</part>
<part name="035" interface="vgm_quik">
<feature name="part_id" value="35 illusion theme a (alternate version).vgz" />
- <dataarea name="quik" size="42524">
- <rom name="35 illusion theme a (alternate version).vgz" size="42524" crc="eea3ff09" sha1="2a2714c21cc49a5a9d0d6e5b33d139a4fcf40ba8" offset="0" />
+ <dataarea name="quik" size="42533">
+ <rom name="35 illusion theme a (alternate version).vgz" size="42533" crc="e861c86b" sha1="109e9bf2b89d1610b6d0785be578a3fe4c209bb3" offset="0" />
</dataarea>
</part>
<part name="036" interface="vgm_quik">
<feature name="part_id" value="36 home (alternate version).vgz" />
- <dataarea name="quik" size="31969">
- <rom name="36 home (alternate version).vgz" size="31969" crc="98970d0d" sha1="bd96bd11ed58418a6dfc4f04a8f99c64a3cdad82" offset="0" />
+ <dataarea name="quik" size="31977">
+ <rom name="36 home (alternate version).vgz" size="31977" crc="d6372773" sha1="79a180913177b82163d9b3de3e93f3dbe79c5b49" offset="0" />
</dataarea>
</part>
<part name="037" interface="vgm_quik">
<feature name="part_id" value="37 requiem (alternate version).vgz" />
- <dataarea name="quik" size="36158">
- <rom name="37 requiem (alternate version).vgz" size="36158" crc="8e0ae687" sha1="b21ae91ca899f07b838680c8b3366d4798f6018d" offset="0" />
+ <dataarea name="quik" size="36167">
+ <rom name="37 requiem (alternate version).vgz" size="36167" crc="9d5c0eac" sha1="fdd40b9c026d6c89bfd8decb4954bace51683ab5" offset="0" />
</dataarea>
</part>
<part name="038" interface="vgm_quik">
<feature name="part_id" value="38 ceremony (alternate version 1).vgz" />
- <dataarea name="quik" size="12717">
- <rom name="38 ceremony (alternate version 1).vgz" size="12717" crc="c04049fe" sha1="ea4eac93d28c5244a1eb507f4a93fbfc2dfd7bf7" offset="0" />
+ <dataarea name="quik" size="12727">
+ <rom name="38 ceremony (alternate version 1).vgz" size="12727" crc="dcd62465" sha1="6cc32fdef0a2934509b62203a8bcabb2fb62a41d" offset="0" />
</dataarea>
</part>
<part name="039" interface="vgm_quik">
<feature name="part_id" value="39 ceremony (alternate version 2).vgz" />
- <dataarea name="quik" size="11598">
- <rom name="39 ceremony (alternate version 2).vgz" size="11598" crc="88bfdc4d" sha1="7ade77bd9676f2594a668c79205ef831fb9c5ca7" offset="0" />
+ <dataarea name="quik" size="11607">
+ <rom name="39 ceremony (alternate version 2).vgz" size="11607" crc="87e71b3f" sha1="1aa4fa37f1912ff8e02b8c143d57a5da22ce11a5" offset="0" />
</dataarea>
</part>
<part name="040" interface="vgm_quik">
<feature name="part_id" value="40 party of 8 battle (alternate version).vgz" />
- <dataarea name="quik" size="71942">
- <rom name="40 party of 8 battle (alternate version).vgz" size="71942" crc="294061fa" sha1="7f5760473b24a9e7fc11e08c2a3a307bd4d2db7d" offset="0" />
+ <dataarea name="quik" size="71947">
+ <rom name="40 party of 8 battle (alternate version).vgz" size="71947" crc="a38eef28" sha1="508ea0b293037113ac27ab5e0bbe4344aeda1621" offset="0" />
</dataarea>
</part>
</software>
@@ -235022,7 +235034,7 @@ license:CC0
</software>
<software name="xak3_msx2">
- <description>The Tower of Gazzel (MSX2)</description>
+ <description>The Tower of Gazzel (MSX2, OPLL)</description>
<year>1991</year>
<publisher>Micro Cabin</publisher>
<info name="cores" value="MSX-MUSIC (YM2413), PSG (AY-3-8910)"/>
@@ -238929,80 +238941,80 @@ license:CC0
<info name="cores" value="VSU-VUE"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 nintendo logo.vgz" />
- <dataarea name="quik" size="2332">
- <rom name="01 nintendo logo.vgz" size="2332" crc="06fd2e28" sha1="0b3fe32a5b4c5bb576fa6137b1ea89aedd7bd98d" offset="0" />
+ <dataarea name="quik" size="2314">
+ <rom name="01 nintendo logo.vgz" size="2314" crc="b75e9606" sha1="f676dd42cb6367e79d5a49a583893212d39f5253" offset="0" />
</dataarea>
</part>
<part name="002" interface="vgm_quik">
<feature name="part_id" value="02 title screen.vgz" />
- <dataarea name="quik" size="6744">
- <rom name="02 title screen.vgz" size="6744" crc="ab8e98c7" sha1="e1926b617919929165068e270cf26c1441485a9a" offset="0" />
+ <dataarea name="quik" size="6637">
+ <rom name="02 title screen.vgz" size="6637" crc="b317b446" sha1="a43cf84da702c1abb200fd731142dad5f570dfe7" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
<feature name="part_id" value="03 music a.vgz" />
- <dataarea name="quik" size="8058">
- <rom name="03 music a.vgz" size="8058" crc="beb2c047" sha1="40e24fb16d415c8f2e936e5b2c3d47257d008843" offset="0" />
+ <dataarea name="quik" size="7963">
+ <rom name="03 music a.vgz" size="7963" crc="ef852a6f" sha1="bc03131d79a2b3354c65b2f1ad67bac244782ee4" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
<feature name="part_id" value="04 music b.vgz" />
- <dataarea name="quik" size="8253">
- <rom name="04 music b.vgz" size="8253" crc="cb55d982" sha1="c0e1578b7227cb3ef0458879284c4cb25e545eab" offset="0" />
+ <dataarea name="quik" size="13807">
+ <rom name="04 music b.vgz" size="13807" crc="a0310d3a" sha1="e3cda350e6495bd0b602e2ff53b112d06211f7f7" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
<feature name="part_id" value="05 music c.vgz" />
- <dataarea name="quik" size="13608">
- <rom name="05 music c.vgz" size="13608" crc="e767a565" sha1="e5e3f15952da99d114ecbb15fd4469624c0967a9" offset="0" />
+ <dataarea name="quik" size="13307">
+ <rom name="05 music c.vgz" size="13307" crc="b5dbeebb" sha1="00ddd310864185c82363b69bd0225ced209332f9" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
<feature name="part_id" value="06 high score.vgz" />
- <dataarea name="quik" size="2330">
- <rom name="06 high score.vgz" size="2330" crc="2583f9b3" sha1="51ed5a5b7724c92ccaf08c137f853e2222164af9" offset="0" />
+ <dataarea name="quik" size="2316">
+ <rom name="06 high score.vgz" size="2316" crc="dca1aeff" sha1="f678ce607a1884987f6e9514e4c14d54f8431731" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
<feature name="part_id" value="07 low score.vgz" />
- <dataarea name="quik" size="1329">
- <rom name="07 low score.vgz" size="1329" crc="258b4d69" sha1="0d21d915a3addc900b64d74a9d45f88c0a85605b" offset="0" />
+ <dataarea name="quik" size="1347">
+ <rom name="07 low score.vgz" size="1347" crc="c764bce1" sha1="130f919bf36aea53b7160dc9698c1c42874c42b2" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
<feature name="part_id" value="08 2 players win.vgz" />
- <dataarea name="quik" size="4527">
- <rom name="08 2 players win.vgz" size="4527" crc="cd5bf6e5" sha1="e074e08544ca3177db5cbcf468c724681d12bcb2" offset="0" />
+ <dataarea name="quik" size="4785">
+ <rom name="08 2 players win.vgz" size="4785" crc="9a6a0732" sha1="c473322cd1842ffacc533730ad3d53bec7793aea" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
<feature name="part_id" value="09 league leaders.vgz" />
- <dataarea name="quik" size="4720">
- <rom name="09 league leaders.vgz" size="4720" crc="fe47bf5f" sha1="94fe7970f9fdeca5b32687be31b9756da44c4b3a" offset="0" />
+ <dataarea name="quik" size="4259">
+ <rom name="09 league leaders.vgz" size="4259" crc="8b6b1953" sha1="40e8ffe9db014da27f39950f87056dd760e21aa2" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
<feature name="part_id" value="10 unknown song.vgz" />
- <dataarea name="quik" size="3689">
- <rom name="10 unknown song.vgz" size="3689" crc="fc30eb73" sha1="402e470977728879f864f9e4b4977d9ebeb3e54f" offset="0" />
+ <dataarea name="quik" size="3349">
+ <rom name="10 unknown song.vgz" size="3349" crc="9e3cb68e" sha1="e6b68f647899200a201679fb3d41b3486ce86517" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
<feature name="part_id" value="11 unknown jingle a.vgz" />
- <dataarea name="quik" size="1732">
- <rom name="11 unknown jingle a.vgz" size="1732" crc="a2559d62" sha1="a192be0d3892df3ff3a80d4ecd9c96005c1a568e" offset="0" />
+ <dataarea name="quik" size="1717">
+ <rom name="11 unknown jingle a.vgz" size="1717" crc="9c0a1d7b" sha1="b08d672d7d94f0148160edfd7f8119dd35d882d4" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
<feature name="part_id" value="12 unknown jingle b.vgz" />
- <dataarea name="quik" size="1726">
- <rom name="12 unknown jingle b.vgz" size="1726" crc="54b769c3" sha1="22dad74df3c6593cf4bd5fdf9b0a8077c6cdafc3" offset="0" />
+ <dataarea name="quik" size="2242">
+ <rom name="12 unknown jingle b.vgz" size="2242" crc="a526748e" sha1="3961ac413c99d3528dc7605c61ef0aebb961a656" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
<feature name="part_id" value="13 unknown jingle c.vgz" />
- <dataarea name="quik" size="3044">
- <rom name="13 unknown jingle c.vgz" size="3044" crc="8918ecd7" sha1="41ec157ea0126ef32f77c47c8adc94a096d4a055" offset="0" />
+ <dataarea name="quik" size="3027">
+ <rom name="13 unknown jingle c.vgz" size="3027" crc="746e2032" sha1="5f72fcd57735a4ce4b54d44b955e65a1af67e23f" offset="0" />
</dataarea>
</part>
</software>
@@ -239376,177 +239388,183 @@ license:CC0
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 calm and agitation - short version - (30 sec. title).vgz" />
- <dataarea name="quik" size="185503">
- <rom name="02 calm and agitation - short version - (30 sec. title).vgz" size="185503" crc="769987ac" sha1="0a1205438d2efd32d3f8a8b83f900c7f11979ebd" offset="0" />
+ <feature name="part_id" value="02 calm and agitation (title) (with lyrics).vgz" />
+ <dataarea name="quik" size="289328">
+ <rom name="02 calm and agitation (title) (with lyrics).vgz" size="289328" crc="590ca735" sha1="28b8809fe099369001254118ccdcff1f7b21460e" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 the twelve challengers (player select).vgz" />
- <dataarea name="quik" size="69996">
- <rom name="03 the twelve challengers (player select).vgz" size="69996" crc="09411605" sha1="d38fa3989915c0e6bf5754380a18094b83782eef" offset="0" />
+ <feature name="part_id" value="03 calm and agitation - short version - (30 sec. title).vgz" />
+ <dataarea name="quik" size="185503">
+ <rom name="03 calm and agitation - short version - (30 sec. title).vgz" size="185503" crc="769987ac" sha1="0a1205438d2efd32d3f8a8b83f900c7f11979ebd" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 the way (map).vgz" />
- <dataarea name="quik" size="43626">
- <rom name="04 the way (map).vgz" size="43626" crc="fa51a538" sha1="5d917e6cc077dc11f72da1a4482dde27b30b3009" offset="0" />
+ <feature name="part_id" value="04 the twelve challengers (player select).vgz" />
+ <dataarea name="quik" size="69996">
+ <rom name="04 the twelve challengers (player select).vgz" size="69996" crc="09411605" sha1="d38fa3989915c0e6bf5754380a18094b83782eef" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 honor's melody - day (haohmaru).vgz" />
- <dataarea name="quik" size="293040">
- <rom name="05 honor's melody - day (haohmaru).vgz" size="293040" crc="418dc49e" sha1="03ef47a47a8bda3d743eb67ed0d4e8bb482fd7d2" offset="0" />
+ <feature name="part_id" value="05 the way (map).vgz" />
+ <dataarea name="quik" size="43626">
+ <rom name="05 the way (map).vgz" size="43626" crc="fa51a538" sha1="5d917e6cc077dc11f72da1a4482dde27b30b3009" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 honor's melody - night (ukyo tachibana).vgz" />
- <dataarea name="quik" size="244824">
- <rom name="06 honor's melody - night (ukyo tachibana).vgz" size="244824" crc="29c064b0" sha1="d81a49a52a964ab9b13076ee1e7a8729ad1554e3" offset="0" />
+ <feature name="part_id" value="06 honor's melody - day (haohmaru).vgz" />
+ <dataarea name="quik" size="293040">
+ <rom name="06 honor's melody - day (haohmaru).vgz" size="293040" crc="418dc49e" sha1="03ef47a47a8bda3d743eb67ed0d4e8bb482fd7d2" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 drum roll i (amakusa demo).vgz" />
- <dataarea name="quik" size="25771">
- <rom name="07 drum roll i (amakusa demo).vgz" size="25771" crc="ed3fd378" sha1="2713608f312c53f322af231237ede4342e9ab28c" offset="0" />
+ <feature name="part_id" value="07 honor's melody - night (ukyo tachibana).vgz" />
+ <dataarea name="quik" size="244824">
+ <rom name="07 honor's melody - night (ukyo tachibana).vgz" size="244824" crc="29c064b0" sha1="d81a49a52a964ab9b13076ee1e7a8729ad1554e3" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 bambuseae (jubei yagyu).vgz" />
- <dataarea name="quik" size="161852">
- <rom name="08 bambuseae (jubei yagyu).vgz" size="161852" crc="4fa2a894" sha1="5f8a56bb47cc78bea1e44d9cbd28507173dbda95" offset="0" />
+ <feature name="part_id" value="08 drum roll i (amakusa demo).vgz" />
+ <dataarea name="quik" size="25771">
+ <rom name="08 drum roll i (amakusa demo).vgz" size="25771" crc="ed3fd378" sha1="2713608f312c53f322af231237ede4342e9ab28c" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 shadow (hanzo hattori).vgz" />
- <dataarea name="quik" size="244668">
- <rom name="09 shadow (hanzo hattori).vgz" size="244668" crc="e7bbeb65" sha1="47b41cdb4adec9fa52094372f1294b85ab899efe" offset="0" />
+ <feature name="part_id" value="09 bambuseae (jubei yagyu).vgz" />
+ <dataarea name="quik" size="161852">
+ <rom name="09 bambuseae (jubei yagyu).vgz" size="161852" crc="4fa2a894" sha1="5f8a56bb47cc78bea1e44d9cbd28507173dbda95" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 infortune (four wins demo).vgz" />
- <dataarea name="quik" size="177501">
- <rom name="10 infortune (four wins demo).vgz" size="177501" crc="8e96cb4a" sha1="306733143109ccbf07ec2a1f3f83921de4676f60" offset="0" />
+ <feature name="part_id" value="10 shadow (hanzo hattori).vgz" />
+ <dataarea name="quik" size="244668">
+ <rom name="10 shadow (hanzo hattori).vgz" size="244668" crc="e7bbeb65" sha1="47b41cdb4adec9fa52094372f1294b85ab899efe" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 tuna (galford).vgz" />
- <dataarea name="quik" size="277756">
- <rom name="11 tuna (galford).vgz" size="277756" crc="b57ab8f0" sha1="13de28233b539ec62105c0991b324d7965fdaa07" offset="0" />
+ <feature name="part_id" value="11 infortune (four wins demo).vgz" />
+ <dataarea name="quik" size="177501">
+ <rom name="11 infortune (four wins demo).vgz" size="177501" crc="8e96cb4a" sha1="306733143109ccbf07ec2a1f3f83921de4676f60" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 banquet of nature (nakoruru).vgz" />
- <dataarea name="quik" size="112861">
- <rom name="12 banquet of nature (nakoruru).vgz" size="112861" crc="696673d5" sha1="5ad96f9f3eb4d406ab6eb7f07494eadd15fc96e3" offset="0" />
+ <feature name="part_id" value="12 tuna (galford).vgz" />
+ <dataarea name="quik" size="277756">
+ <rom name="12 tuna (galford).vgz" size="277756" crc="b57ab8f0" sha1="13de28233b539ec62105c0991b324d7965fdaa07" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 indigenous (tam tam).vgz" />
- <dataarea name="quik" size="104671">
- <rom name="13 indigenous (tam tam).vgz" size="104671" crc="6c244578" sha1="34d75715d2c9632716a7a518eb283df142b56118" offset="0" />
+ <feature name="part_id" value="13 banquet of nature (nakoruru).vgz" />
+ <dataarea name="quik" size="112861">
+ <rom name="13 banquet of nature (nakoruru).vgz" size="112861" crc="696673d5" sha1="5ad96f9f3eb4d406ab6eb7f07494eadd15fc96e3" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 diligence (bonus stage).vgz" />
- <dataarea name="quik" size="197991">
- <rom name="14 diligence (bonus stage).vgz" size="197991" crc="1256aeea" sha1="cf68a204c0405fbff1c1588ad41235fbefd003a1" offset="0" />
+ <feature name="part_id" value="14 indigenous (tam tam).vgz" />
+ <dataarea name="quik" size="104671">
+ <rom name="14 indigenous (tam tam).vgz" size="104671" crc="6c244578" sha1="34d75715d2c9632716a7a518eb283df142b56118" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 exotic lady (charlotte).vgz" />
- <dataarea name="quik" size="107171">
- <rom name="15 exotic lady (charlotte).vgz" size="107171" crc="69477b0e" sha1="c1d8060deae937c52f8599af4182bb79af7c677c" offset="0" />
+ <feature name="part_id" value="15 diligence (bonus stage).vgz" />
+ <dataarea name="quik" size="197991">
+ <rom name="15 diligence (bonus stage).vgz" size="197991" crc="1256aeea" sha1="cf68a204c0405fbff1c1588ad41235fbefd003a1" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 evil (genan shiranui).vgz" />
- <dataarea name="quik" size="158345">
- <rom name="16 evil (genan shiranui).vgz" size="158345" crc="a8bf3057" sha1="0b243064a2feb286bb0f78e159fe6cd887ac6c6e" offset="0" />
+ <feature name="part_id" value="16 exotic lady (charlotte).vgz" />
+ <dataarea name="quik" size="107171">
+ <rom name="16 exotic lady (charlotte).vgz" size="107171" crc="69477b0e" sha1="c1d8060deae937c52f8599af4182bb79af7c677c" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 magatama (kyoshiro senryo).vgz" />
- <dataarea name="quik" size="197559">
- <rom name="17 magatama (kyoshiro senryo).vgz" size="197559" crc="c669d027" sha1="68e62374edd0e7ccbb84199e396ca7367d7bc685" offset="0" />
+ <feature name="part_id" value="17 evil (genan shiranui).vgz" />
+ <dataarea name="quik" size="158345">
+ <rom name="17 evil (genan shiranui).vgz" size="158345" crc="a8bf3057" sha1="0b243064a2feb286bb0f78e159fe6cd887ac6c6e" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 gaia (earthquake).vgz" />
- <dataarea name="quik" size="318928">
- <rom name="18 gaia (earthquake).vgz" size="318928" crc="f75b5461" sha1="be0785cd3eccde6dbe3e0037b6734a680048c8c1" offset="0" />
+ <feature name="part_id" value="18 magatama (kyoshiro senryo).vgz" />
+ <dataarea name="quik" size="197559">
+ <rom name="18 magatama (kyoshiro senryo).vgz" size="197559" crc="c669d027" sha1="68e62374edd0e7ccbb84199e396ca7367d7bc685" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 king tiger (wan-fu).vgz" />
- <dataarea name="quik" size="163410">
- <rom name="19 king tiger (wan-fu).vgz" size="163410" crc="44183d56" sha1="abfa63217ea92b192cc9a27f09a4701026745265" offset="0" />
+ <feature name="part_id" value="19 gaia (earthquake).vgz" />
+ <dataarea name="quik" size="318928">
+ <rom name="19 gaia (earthquake).vgz" size="318928" crc="f75b5461" sha1="be0785cd3eccde6dbe3e0037b6734a680048c8c1" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 victory (victory demo).vgz" />
- <dataarea name="quik" size="74577">
- <rom name="20 victory (victory demo).vgz" size="74577" crc="3fe75b1c" sha1="8cef9bebfecbfdc713c85dca16e274ff80a0bec6" offset="0" />
+ <feature name="part_id" value="20 king tiger (wan-fu).vgz" />
+ <dataarea name="quik" size="163410">
+ <rom name="20 king tiger (wan-fu).vgz" size="163410" crc="44183d56" sha1="abfa63217ea92b192cc9a27f09a4701026745265" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 drum roll ii (final demo).vgz" />
- <dataarea name="quik" size="7254">
- <rom name="21 drum roll ii (final demo).vgz" size="7254" crc="1db014be" sha1="8cec2636172d2c50b0e95a301c510413a66ca006" offset="0" />
+ <feature name="part_id" value="21 victory (victory demo).vgz" />
+ <dataarea name="quik" size="74577">
+ <rom name="21 victory (victory demo).vgz" size="74577" crc="3fe75b1c" sha1="8cef9bebfecbfdc713c85dca16e274ff80a0bec6" offset="0" />
</dataarea>
</part>
<part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 heartbeat (shiro tokisada amakusa 1).vgz" />
- <dataarea name="quik" size="5347">
- <rom name="22 heartbeat (shiro tokisada amakusa 1).vgz" size="5347" crc="0b406d1b" sha1="5d303c9b431dc771286d11f87a90597bd6bf8950" offset="0" />
+ <feature name="part_id" value="22 drum roll ii (final demo).vgz" />
+ <dataarea name="quik" size="7254">
+ <rom name="22 drum roll ii (final demo).vgz" size="7254" crc="1db014be" sha1="8cec2636172d2c50b0e95a301c510413a66ca006" offset="0" />
</dataarea>
</part>
<part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 flames (conversion).vgz" />
- <dataarea name="quik" size="145085">
- <rom name="23 flames (conversion).vgz" size="145085" crc="9214c62d" sha1="23328d766e163b19445e158337091721371f9d1c" offset="0" />
+ <feature name="part_id" value="23 heartbeat (shiro tokisada amakusa 1).vgz" />
+ <dataarea name="quik" size="5347">
+ <rom name="23 heartbeat (shiro tokisada amakusa 1).vgz" size="5347" crc="0b406d1b" sha1="5d303c9b431dc771286d11f87a90597bd6bf8950" offset="0" />
</dataarea>
</part>
<part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 darkness (shiro tokisada amakusa 2).vgz" />
- <dataarea name="quik" size="86990">
- <rom name="24 darkness (shiro tokisada amakusa 2).vgz" size="86990" crc="d1df45c9" sha1="9357d6360617b8f99d4efc35c00517789c31cc61" offset="0" />
+ <feature name="part_id" value="24 flames (conversion).vgz" />
+ <dataarea name="quik" size="145085">
+ <rom name="24 flames (conversion).vgz" size="145085" crc="9214c62d" sha1="23328d766e163b19445e158337091721371f9d1c" offset="0" />
</dataarea>
</part>
<part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 scream (ending 1).vgz" />
- <dataarea name="quik" size="70717">
- <rom name="25 scream (ending 1).vgz" size="70717" crc="e3ef47bf" sha1="9985a7f1f1abeed686b953fd92825247399cfa9b" offset="0" />
+ <feature name="part_id" value="25 darkness (shiro tokisada amakusa 2).vgz" />
+ <dataarea name="quik" size="86990">
+ <rom name="25 darkness (shiro tokisada amakusa 2).vgz" size="86990" crc="d1df45c9" sha1="9357d6360617b8f99d4efc35c00517789c31cc61" offset="0" />
</dataarea>
</part>
<part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 harmony (ending 2).vgz" />
- <dataarea name="quik" size="71500">
- <rom name="26 harmony (ending 2).vgz" size="71500" crc="4b86d4e8" sha1="d44e42d5e217eb77d0b663459d96553f67883428" offset="0" />
+ <feature name="part_id" value="26 scream (ending 1).vgz" />
+ <dataarea name="quik" size="70717">
+ <rom name="26 scream (ending 1).vgz" size="70717" crc="e3ef47bf" sha1="9985a7f1f1abeed686b953fd92825247399cfa9b" offset="0" />
</dataarea>
</part>
<part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 revolutionary lady (charlotte ending).vgz" />
- <dataarea name="quik" size="77387">
- <rom name="27 revolutionary lady (charlotte ending).vgz" size="77387" crc="0b811b26" sha1="3090340260276a6ff7e41b13301e51f72038080c" offset="0" />
+ <feature name="part_id" value="27 harmony (ending 2).vgz" />
+ <dataarea name="quik" size="71500">
+ <rom name="27 harmony (ending 2).vgz" size="71500" crc="4b86d4e8" sha1="d44e42d5e217eb77d0b663459d96553f67883428" offset="0" />
</dataarea>
</part>
<part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 celebration (staff roll).vgz" />
- <dataarea name="quik" size="315051">
- <rom name="28 celebration (staff roll).vgz" size="315051" crc="cc48ea79" sha1="1438e9e17820e441d78b4b6e3285d7126b153e94" offset="0" />
+ <feature name="part_id" value="28 revolutionary lady (charlotte ending).vgz" />
+ <dataarea name="quik" size="77387">
+ <rom name="28 revolutionary lady (charlotte ending).vgz" size="77387" crc="0b811b26" sha1="3090340260276a6ff7e41b13301e51f72038080c" offset="0" />
</dataarea>
</part>
<part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 request for an encore (continue).vgz" />
- <dataarea name="quik" size="129934">
- <rom name="29 request for an encore (continue).vgz" size="129934" crc="29c0ada4" sha1="93c992c93d9839e67047e93b636a9386fabecac1" offset="0" />
+ <feature name="part_id" value="29 celebration (staff roll).vgz" />
+ <dataarea name="quik" size="315051">
+ <rom name="29 celebration (staff roll).vgz" size="315051" crc="cc48ea79" sha1="1438e9e17820e441d78b4b6e3285d7126b153e94" offset="0" />
</dataarea>
</part>
<part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 the curtain falls (game over).vgz" />
+ <feature name="part_id" value="30 request for an encore (continue).vgz" />
+ <dataarea name="quik" size="129934">
+ <rom name="30 request for an encore (continue).vgz" size="129934" crc="29c0ada4" sha1="93c992c93d9839e67047e93b636a9386fabecac1" offset="0" />
+ </dataarea>
+ </part>
+ <part name="031" interface="vgm_quik">
+ <feature name="part_id" value="31 the curtain falls (game over).vgz" />
<dataarea name="quik" size="36148">
- <rom name="30 the curtain falls (game over).vgz" size="36148" crc="4e946a70" sha1="918898c1f7d97babdce293c0557fbac937d7e6cf" offset="0" />
+ <rom name="31 the curtain falls (game over).vgz" size="36148" crc="4e946a70" sha1="918898c1f7d97babdce293c0557fbac937d7e6cf" offset="0" />
</dataarea>
</part>
</software>
@@ -244327,189 +244345,195 @@ license:CC0
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 the twenty four challengers (player selection).vgz" />
- <dataarea name="quik" size="418213">
- <rom name="02 the twenty four challengers (player selection).vgz" size="418213" crc="77c4f801" sha1="b31ba2de0c42265af14aa23668e7f907d852e1f3" offset="0" />
+ <feature name="part_id" value="02 bushido (title) (with lyrics).vgz" />
+ <dataarea name="quik" size="684490">
+ <rom name="02 bushido (title) (with lyrics).vgz" size="684490" crc="02f1157e" sha1="3d6b369e8743cc0909266a2923de8a1fbddf6635" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 journey (map screen).vgz" />
- <dataarea name="quik" size="93020">
- <rom name="03 journey (map screen).vgz" size="93020" crc="788374d9" sha1="a0c5cdc747e0432df92364a640afe6d628e4569d" offset="0" />
+ <feature name="part_id" value="03 the twenty four challengers (player selection).vgz" />
+ <dataarea name="quik" size="418213">
+ <rom name="03 the twenty four challengers (player selection).vgz" size="418213" crc="77c4f801" sha1="b31ba2de0c42265af14aa23668e7f907d852e1f3" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 iza jinjyouni.vgz" />
- <dataarea name="quik" size="157764">
- <rom name="04 iza jinjyouni.vgz" size="157764" crc="9460c1aa" sha1="eaa062ad896f5420a0a61c0642d7e9df5e682182" offset="0" />
+ <feature name="part_id" value="04 journey (map screen).vgz" />
+ <dataarea name="quik" size="93020">
+ <rom name="04 journey (map screen).vgz" size="93020" crc="788374d9" sha1="a0c5cdc747e0432df92364a640afe6d628e4569d" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 shogun (yoshitora tokugawa).vgz" />
- <dataarea name="quik" size="564439">
- <rom name="05 shogun (yoshitora tokugawa).vgz" size="564439" crc="3fe77bd9" sha1="d35144e6c7bb3ed3b0c887bb9ca35506e66d03d1" offset="0" />
+ <feature name="part_id" value="05 iza jinjyouni.vgz" />
+ <dataarea name="quik" size="157764">
+ <rom name="05 iza jinjyouni.vgz" size="157764" crc="9460c1aa" sha1="eaa062ad896f5420a0a61c0642d7e9df5e682182" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 shoubuari.vgz" />
- <dataarea name="quik" size="147396">
- <rom name="06 shoubuari.vgz" size="147396" crc="f432cc49" sha1="c1a91f27a3a78123085401530bd3028a30b279ab" offset="0" />
+ <feature name="part_id" value="06 shogun (yoshitora tokugawa).vgz" />
+ <dataarea name="quik" size="564439">
+ <rom name="06 shogun (yoshitora tokugawa).vgz" size="564439" crc="3fe77bd9" sha1="d35144e6c7bb3ed3b0c887bb9ca35506e66d03d1" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 kachi ikusa (winner demo).vgz" />
- <dataarea name="quik" size="70925">
- <rom name="07 kachi ikusa (winner demo).vgz" size="70925" crc="4afdc90c" sha1="eb44fd03747f185b3b09989533f0edec9cc6a86c" offset="0" />
+ <feature name="part_id" value="07 shoubuari.vgz" />
+ <dataarea name="quik" size="147396">
+ <rom name="07 shoubuari.vgz" size="147396" crc="f432cc49" sha1="c1a91f27a3a78123085401530bd3028a30b279ab" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 papillon (mina majikina).vgz" />
- <dataarea name="quik" size="408221">
- <rom name="08 papillon (mina majikina).vgz" size="408221" crc="c9af04b3" sha1="90a39878835cc4601f88cdef5b1300ffa064f1b0" offset="0" />
+ <feature name="part_id" value="08 kachi ikusa (winner demo).vgz" />
+ <dataarea name="quik" size="70925">
+ <rom name="08 kachi ikusa (winner demo).vgz" size="70925" crc="4afdc90c" sha1="eb44fd03747f185b3b09989533f0edec9cc6a86c" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 ceremony (liu yunfei).vgz" />
- <dataarea name="quik" size="277550">
- <rom name="09 ceremony (liu yunfei).vgz" size="277550" crc="276ccd84" sha1="203ff4c41eaa7fa2df29fbee278929f81a413a29" offset="0" />
+ <feature name="part_id" value="09 papillon (mina majikina).vgz" />
+ <dataarea name="quik" size="408221">
+ <rom name="09 papillon (mina majikina).vgz" size="408221" crc="c9af04b3" sha1="90a39878835cc4601f88cdef5b1300ffa064f1b0" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 moonlight dinner (youkai kusaregedo).vgz" />
- <dataarea name="quik" size="214247">
- <rom name="10 moonlight dinner (youkai kusaregedo).vgz" size="214247" crc="ce83cb16" sha1="8927e4e0be46d99b52330dc6bc88472284ab255f" offset="0" />
+ <feature name="part_id" value="10 ceremony (liu yunfei).vgz" />
+ <dataarea name="quik" size="277550">
+ <rom name="10 ceremony (liu yunfei).vgz" size="277550" crc="276ccd84" sha1="203ff4c41eaa7fa2df29fbee278929f81a413a29" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 water incarnation (sogetsu kazama).vgz" />
- <dataarea name="quik" size="178473">
- <rom name="11 water incarnation (sogetsu kazama).vgz" size="178473" crc="3403013e" sha1="6b469724f9e8d77fc039ca57d195b84a1112509f" offset="0" />
+ <feature name="part_id" value="11 moonlight dinner (youkai kusaregedo).vgz" />
+ <dataarea name="quik" size="214247">
+ <rom name="11 moonlight dinner (youkai kusaregedo).vgz" size="214247" crc="ce83cb16" sha1="8927e4e0be46d99b52330dc6bc88472284ab255f" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 sankuro appears (sankuro yorozu challenges).vgz" />
- <dataarea name="quik" size="66231">
- <rom name="12 sankuro appears (sankuro yorozu challenges).vgz" size="66231" crc="4bb74423" sha1="ba1b7b0c6017323a56b8250d3f9db6457cb4faf8" offset="0" />
+ <feature name="part_id" value="12 water incarnation (sogetsu kazama).vgz" />
+ <dataarea name="quik" size="178473">
+ <rom name="12 water incarnation (sogetsu kazama).vgz" size="178473" crc="3403013e" sha1="6b469724f9e8d77fc039ca57d195b84a1112509f" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 the mirror of heart -part ii- (rimururu).vgz" />
- <dataarea name="quik" size="139745">
- <rom name="13 the mirror of heart -part ii- (rimururu).vgz" size="139745" crc="90e59399" sha1="5bedcb6e11281c502d0b4a642625cf5832e48015" offset="0" />
+ <feature name="part_id" value="13 sankuro appears (sankuro yorozu challenges).vgz" />
+ <dataarea name="quik" size="66231">
+ <rom name="13 sankuro appears (sankuro yorozu challenges).vgz" size="66231" crc="4bb74423" sha1="ba1b7b0c6017323a56b8250d3f9db6457cb4faf8" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 banquet of nature -part ii- (nakoruru).vgz" />
- <dataarea name="quik" size="214960">
- <rom name="14 banquet of nature -part ii- (nakoruru).vgz" size="214960" crc="c79c8f9e" sha1="481dd1d639695dc7fd165e44b51466408e03c697" offset="0" />
+ <feature name="part_id" value="14 the mirror of heart -part ii- (rimururu).vgz" />
+ <dataarea name="quik" size="139745">
+ <rom name="14 the mirror of heart -part ii- (rimururu).vgz" size="139745" crc="90e59399" sha1="5bedcb6e11281c502d0b4a642625cf5832e48015" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 tuna incarnation (galford).vgz" />
- <dataarea name="quik" size="285512">
- <rom name="15 tuna incarnation (galford).vgz" size="285512" crc="007daf88" sha1="3c7f069aeff8a5d9c223b587bf44b392bb3a1b03" offset="0" />
+ <feature name="part_id" value="15 banquet of nature -part ii- (nakoruru).vgz" />
+ <dataarea name="quik" size="214960">
+ <rom name="15 banquet of nature -part ii- (nakoruru).vgz" size="214960" crc="c79c8f9e" sha1="481dd1d639695dc7fd165e44b51466408e03c697" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 yumeji appears (yumeji kurokouchi demo).vgz" />
- <dataarea name="quik" size="240665">
- <rom name="16 yumeji appears (yumeji kurokouchi demo).vgz" size="240665" crc="380549a8" sha1="28ce6cfe91c137d104dcb554ef7322267d96c4ce" offset="0" />
+ <feature name="part_id" value="16 tuna incarnation (galford).vgz" />
+ <dataarea name="quik" size="285512">
+ <rom name="16 tuna incarnation (galford).vgz" size="285512" crc="007daf88" sha1="3c7f069aeff8a5d9c223b587bf44b392bb3a1b03" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 yomigahara (yumeji kurokouchi).vgz" />
- <dataarea name="quik" size="460589">
- <rom name="17 yomigahara (yumeji kurokouchi).vgz" size="460589" crc="24192ae7" sha1="c3e44942a1160527e2cacfac3d8fead3cf66cd27" offset="0" />
+ <feature name="part_id" value="17 yumeji appears (yumeji kurokouchi demo).vgz" />
+ <dataarea name="quik" size="240665">
+ <rom name="17 yumeji appears (yumeji kurokouchi demo).vgz" size="240665" crc="380549a8" sha1="28ce6cfe91c137d104dcb554ef7322267d96c4ce" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 sakura (haohmaru).vgz" />
- <dataarea name="quik" size="81741">
- <rom name="18 sakura (haohmaru).vgz" size="81741" crc="7156f011" sha1="759bb35f0c26d56564b49784ec1de185ec82fbb1" offset="0" />
+ <feature name="part_id" value="18 yomigahara (yumeji kurokouchi).vgz" />
+ <dataarea name="quik" size="460589">
+ <rom name="18 yomigahara (yumeji kurokouchi).vgz" size="460589" crc="24192ae7" sha1="c3e44942a1160527e2cacfac3d8fead3cf66cd27" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 southern barbarians visiting (dejima stage).vgz" />
- <dataarea name="quik" size="340113">
- <rom name="19 southern barbarians visiting (dejima stage).vgz" size="340113" crc="1c70e55e" sha1="404fec0b3fc487b79ead394334ef0fea7e915fa0" offset="0" />
+ <feature name="part_id" value="19 sakura (haohmaru).vgz" />
+ <dataarea name="quik" size="81741">
+ <rom name="19 sakura (haohmaru).vgz" size="81741" crc="7156f011" sha1="759bb35f0c26d56564b49784ec1de185ec82fbb1" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 sannomiya (seaside stage).vgz" />
- <dataarea name="quik" size="100466">
- <rom name="20 sannomiya (seaside stage).vgz" size="100466" crc="cb6f0421" sha1="faee50a99eb53942be5e3f87b85cb1eca685e162" offset="0" />
+ <feature name="part_id" value="20 southern barbarians visiting (dejima stage).vgz" />
+ <dataarea name="quik" size="340113">
+ <rom name="20 southern barbarians visiting (dejima stage).vgz" size="340113" crc="1c70e55e" sha1="404fec0b3fc487b79ead394334ef0fea7e915fa0" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 bambuseae (bamboo stage).vgz" />
- <dataarea name="quik" size="67471">
- <rom name="21 bambuseae (bamboo stage).vgz" size="67471" crc="cdd7c274" sha1="8de192d050d251e6a477a8aeeed3dd73215710d1" offset="0" />
+ <feature name="part_id" value="21 sannomiya (seaside stage).vgz" />
+ <dataarea name="quik" size="100466">
+ <rom name="21 sannomiya (seaside stage).vgz" size="100466" crc="cb6f0421" sha1="faee50a99eb53942be5e3f87b85cb1eca685e162" offset="0" />
</dataarea>
</part>
<part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 dog (abandoned village stage).vgz" />
- <dataarea name="quik" size="137944">
- <rom name="22 dog (abandoned village stage).vgz" size="137944" crc="f1f457da" sha1="72589bfee60e135c28592f1b527a9e2ecdb7a4a4" offset="0" />
+ <feature name="part_id" value="22 bambuseae (bamboo stage).vgz" />
+ <dataarea name="quik" size="67471">
+ <rom name="22 bambuseae (bamboo stage).vgz" size="67471" crc="cdd7c274" sha1="8de192d050d251e6a477a8aeeed3dd73215710d1" offset="0" />
</dataarea>
</part>
<part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 inferno (fire stage).vgz" />
- <dataarea name="quik" size="35811">
- <rom name="23 inferno (fire stage).vgz" size="35811" crc="45455597" sha1="ad3a65fcc790a3553da8cb3712272c9a65174e81" offset="0" />
+ <feature name="part_id" value="23 dog (abandoned village stage).vgz" />
+ <dataarea name="quik" size="137944">
+ <rom name="23 dog (abandoned village stage).vgz" size="137944" crc="f1f457da" sha1="72589bfee60e135c28592f1b527a9e2ecdb7a4a4" offset="0" />
</dataarea>
</part>
<part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 old temple (old temple stage).vgz" />
- <dataarea name="quik" size="48425">
- <rom name="24 old temple (old temple stage).vgz" size="48425" crc="149027b9" sha1="cb26726bc191dbd0d614ddc2c7487d94f96a7e5d" offset="0" />
+ <feature name="part_id" value="24 inferno (fire stage).vgz" />
+ <dataarea name="quik" size="35811">
+ <rom name="24 inferno (fire stage).vgz" size="35811" crc="45455597" sha1="ad3a65fcc790a3553da8cb3712272c9a65174e81" offset="0" />
</dataarea>
</part>
<part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 gaoh appears (gaoh kyogoku hinowanokami demo).vgz" />
- <dataarea name="quik" size="248966">
- <rom name="25 gaoh appears (gaoh kyogoku hinowanokami demo).vgz" size="248966" crc="39c7a6f2" sha1="e8f7be33f2316f0f3078751d6f998ed946e79d0a" offset="0" />
+ <feature name="part_id" value="25 old temple (old temple stage).vgz" />
+ <dataarea name="quik" size="48425">
+ <rom name="25 old temple (old temple stage).vgz" size="48425" crc="149027b9" sha1="cb26726bc191dbd0d614ddc2c7487d94f96a7e5d" offset="0" />
</dataarea>
</part>
<part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 hero (gaoh kyogoku hinowanokami).vgz" />
- <dataarea name="quik" size="381243">
- <rom name="26 hero (gaoh kyogoku hinowanokami).vgz" size="381243" crc="9d0b11b6" sha1="d3117d10752d2345c95d3563d9cca214e0680a0e" offset="0" />
+ <feature name="part_id" value="26 gaoh appears (gaoh kyogoku hinowanokami demo).vgz" />
+ <dataarea name="quik" size="248966">
+ <rom name="26 gaoh appears (gaoh kyogoku hinowanokami demo).vgz" size="248966" crc="39c7a6f2" sha1="e8f7be33f2316f0f3078751d6f998ed946e79d0a" offset="0" />
</dataarea>
</part>
<part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 lamentations (kuraki-sumeragi).vgz" />
- <dataarea name="quik" size="268859">
- <rom name="27 lamentations (kuraki-sumeragi).vgz" size="268859" crc="246259a6" sha1="f6aca082627b12bbecaf0cb77ee98c4a6a4f635a" offset="0" />
+ <feature name="part_id" value="27 hero (gaoh kyogoku hinowanokami).vgz" />
+ <dataarea name="quik" size="381243">
+ <rom name="27 hero (gaoh kyogoku hinowanokami).vgz" size="381243" crc="9d0b11b6" sha1="d3117d10752d2345c95d3563d9cca214e0680a0e" offset="0" />
</dataarea>
</part>
<part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 gaoh's farewell (ending).vgz" />
- <dataarea name="quik" size="585438">
- <rom name="28 gaoh's farewell (ending).vgz" size="585438" crc="f3e6bfee" sha1="ee3d740a4f5fe6109d8ea31ce16ff1278c236f94" offset="0" />
+ <feature name="part_id" value="28 lamentations (kuraki-sumeragi).vgz" />
+ <dataarea name="quik" size="268859">
+ <rom name="28 lamentations (kuraki-sumeragi).vgz" size="268859" crc="246259a6" sha1="f6aca082627b12bbecaf0cb77ee98c4a6a4f635a" offset="0" />
</dataarea>
</part>
<part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 to a new journey (staff roll).vgz" />
- <dataarea name="quik" size="165932">
- <rom name="29 to a new journey (staff roll).vgz" size="165932" crc="c310094c" sha1="b7569b7ec49374e91f915777037a405cddf28ff5" offset="0" />
+ <feature name="part_id" value="29 gaoh's farewell (ending).vgz" />
+ <dataarea name="quik" size="585438">
+ <rom name="29 gaoh's farewell (ending).vgz" size="585438" crc="f3e6bfee" sha1="ee3d740a4f5fe6109d8ea31ce16ff1278c236f94" offset="0" />
</dataarea>
</part>
<part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 request for an encore (continue).vgz" />
- <dataarea name="quik" size="356423">
- <rom name="30 request for an encore (continue).vgz" size="356423" crc="4ade9104" sha1="94c20be5fdbc4334f84424280cef081f5b4d1fe9" offset="0" />
+ <feature name="part_id" value="30 to a new journey (staff roll).vgz" />
+ <dataarea name="quik" size="165932">
+ <rom name="30 to a new journey (staff roll).vgz" size="165932" crc="c310094c" sha1="b7569b7ec49374e91f915777037a405cddf28ff5" offset="0" />
</dataarea>
</part>
<part name="031" interface="vgm_quik">
- <feature name="part_id" value="31 the curtain falls (game over).vgz" />
- <dataarea name="quik" size="119050">
- <rom name="31 the curtain falls (game over).vgz" size="119050" crc="9f9c0043" sha1="c33caf2191741dbe53377121eeecfdd48036186d" offset="0" />
+ <feature name="part_id" value="31 request for an encore (continue).vgz" />
+ <dataarea name="quik" size="356423">
+ <rom name="31 request for an encore (continue).vgz" size="356423" crc="4ade9104" sha1="94c20be5fdbc4334f84424280cef081f5b4d1fe9" offset="0" />
</dataarea>
</part>
<part name="032" interface="vgm_quik">
- <feature name="part_id" value="32 unused (meditation -ii-).vgz" />
+ <feature name="part_id" value="32 the curtain falls (game over).vgz" />
+ <dataarea name="quik" size="119050">
+ <rom name="32 the curtain falls (game over).vgz" size="119050" crc="9f9c0043" sha1="c33caf2191741dbe53377121eeecfdd48036186d" offset="0" />
+ </dataarea>
+ </part>
+ <part name="033" interface="vgm_quik">
+ <feature name="part_id" value="33 unused (meditation -ii-).vgz" />
<dataarea name="quik" size="20559">
- <rom name="32 unused (meditation -ii-).vgz" size="20559" crc="eadf4ebe" sha1="dd2bb89cb211d7909bf3ce20b137b1bad9c7f9e7" offset="0" />
+ <rom name="33 unused (meditation -ii-).vgz" size="20559" crc="eadf4ebe" sha1="dd2bb89cb211d7909bf3ce20b137b1bad9c7f9e7" offset="0" />
</dataarea>
</part>
</software>
@@ -244526,135 +244550,141 @@ license:CC0
</dataarea>
</part>
<part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 player select.vgz" />
- <dataarea name="quik" size="459570">
- <rom name="02 player select.vgz" size="459570" crc="a80b24ec" sha1="a06115393045ed78633187c71e7970837d7f45ef" offset="0" />
+ <feature name="part_id" value="02 bushido (title) (with lyrics).vgz" />
+ <dataarea name="quik" size="1065174">
+ <rom name="02 bushido (title) (with lyrics).vgz" size="1065174" crc="931602f4" sha1="c589374f449b9bff1bbf127f576529e085f1dbeb" offset="0" />
</dataarea>
</part>
<part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 pre-war demo.vgz" />
- <dataarea name="quik" size="183109">
- <rom name="03 pre-war demo.vgz" size="183109" crc="f5de7569" sha1="77048fc862484e00acd32b612cf9b580637c6cc7" offset="0" />
+ <feature name="part_id" value="03 player select.vgz" />
+ <dataarea name="quik" size="459570">
+ <rom name="03 player select.vgz" size="459570" crc="a80b24ec" sha1="a06115393045ed78633187c71e7970837d7f45ef" offset="0" />
</dataarea>
</part>
<part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 iza jinjyouni.vgz" />
- <dataarea name="quik" size="157787">
- <rom name="04 iza jinjyouni.vgz" size="157787" crc="96a95618" sha1="619efe74659ef8380cf133a5cb16d6dccd009d88" offset="0" />
+ <feature name="part_id" value="04 pre-war demo.vgz" />
+ <dataarea name="quik" size="183109">
+ <rom name="04 pre-war demo.vgz" size="183109" crc="f5de7569" sha1="77048fc862484e00acd32b612cf9b580637c6cc7" offset="0" />
</dataarea>
</part>
<part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 sunpu, fujiminoma stage (shogun).vgz" />
- <dataarea name="quik" size="564484">
- <rom name="05 sunpu, fujiminoma stage (shogun).vgz" size="564484" crc="bc4e8f1d" sha1="6ea32dfdcd3f3c14f1a88c848c46d94aeeaee19e" offset="0" />
+ <feature name="part_id" value="05 iza jinjyouni.vgz" />
+ <dataarea name="quik" size="157787">
+ <rom name="05 iza jinjyouni.vgz" size="157787" crc="96a95618" sha1="619efe74659ef8380cf133a5cb16d6dccd009d88" offset="0" />
</dataarea>
</part>
<part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 overkill.vgz" />
- <dataarea name="quik" size="81919">
- <rom name="06 overkill.vgz" size="81919" crc="6a10c9b7" sha1="88e3ce5f923e464e07a198fb34b1bedd228bdc87" offset="0" />
+ <feature name="part_id" value="06 sunpu, fujiminoma stage (shogun).vgz" />
+ <dataarea name="quik" size="564484">
+ <rom name="06 sunpu, fujiminoma stage (shogun).vgz" size="564484" crc="bc4e8f1d" sha1="6ea32dfdcd3f3c14f1a88c848c46d94aeeaee19e" offset="0" />
</dataarea>
</part>
<part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 shoubuari.vgz" />
- <dataarea name="quik" size="147531">
- <rom name="07 shoubuari.vgz" size="147531" crc="972ef64d" sha1="d640ebed4f417d7be562e63bada8eef7dd1568fb" offset="0" />
+ <feature name="part_id" value="07 overkill.vgz" />
+ <dataarea name="quik" size="81919">
+ <rom name="07 overkill.vgz" size="81919" crc="6a10c9b7" sha1="88e3ce5f923e464e07a198fb34b1bedd228bdc87" offset="0" />
</dataarea>
</part>
<part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 ryukyu kingdom, shuri castle stage (papillon).vgz" />
- <dataarea name="quik" size="353150">
- <rom name="08 ryukyu kingdom, shuri castle stage (papillon).vgz" size="353150" crc="0ef80b72" sha1="5235564a294a9e5924f5e7a70f3544d684b16a52" offset="0" />
+ <feature name="part_id" value="08 shoubuari.vgz" />
+ <dataarea name="quik" size="147531">
+ <rom name="08 shoubuari.vgz" size="147531" crc="972ef64d" sha1="d640ebed4f417d7be562e63bada8eef7dd1568fb" offset="0" />
</dataarea>
</part>
<part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 qing, millenary daibutsu stage (ceremony).vgz" />
- <dataarea name="quik" size="277611">
- <rom name="09 qing, millenary daibutsu stage (ceremony).vgz" size="277611" crc="dabfbe92" sha1="96d6e5d3491ef9e9954298da2a6f5919ac44f9c7" offset="0" />
+ <feature name="part_id" value="09 ryukyu kingdom, shuri castle stage (papillon).vgz" />
+ <dataarea name="quik" size="353150">
+ <rom name="09 ryukyu kingdom, shuri castle stage (papillon).vgz" size="353150" crc="0ef80b72" sha1="5235564a294a9e5924f5e7a70f3544d684b16a52" offset="0" />
</dataarea>
</part>
<part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 sado, gedoh's lair stage.vgz" />
- <dataarea name="quik" size="328519">
- <rom name="10 sado, gedoh's lair stage.vgz" size="328519" crc="878e1e71" sha1="d7967ef6c842ebb5a3d1497dcba546411e7f1c23" offset="0" />
+ <feature name="part_id" value="10 qing, millenary daibutsu stage (ceremony).vgz" />
+ <dataarea name="quik" size="277611">
+ <rom name="10 qing, millenary daibutsu stage (ceremony).vgz" size="277611" crc="dabfbe92" sha1="96d6e5d3491ef9e9954298da2a6f5919ac44f9c7" offset="0" />
</dataarea>
</part>
<part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 yomigahara kassemba stage (hero).vgz" />
- <dataarea name="quik" size="381280">
- <rom name="11 yomigahara kassemba stage (hero).vgz" size="381280" crc="8d118045" sha1="81f69f6220d0484cba5c1dc8b8861aeb4bc353c3" offset="0" />
+ <feature name="part_id" value="11 sado, gedoh's lair stage.vgz" />
+ <dataarea name="quik" size="328519">
+ <rom name="11 sado, gedoh's lair stage.vgz" size="328519" crc="878e1e71" sha1="d7967ef6c842ebb5a3d1497dcba546411e7f1c23" offset="0" />
</dataarea>
</part>
<part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 old temple stage.vgz" />
- <dataarea name="quik" size="229353">
- <rom name="12 old temple stage.vgz" size="229353" crc="f05c58d9" sha1="7205c898a1cae4148fb83914b892b2e3c68f23bf" offset="0" />
+ <feature name="part_id" value="12 yomigahara kassemba stage (hero).vgz" />
+ <dataarea name="quik" size="381280">
+ <rom name="12 yomigahara kassemba stage (hero).vgz" size="381280" crc="8d118045" sha1="81f69f6220d0484cba5c1dc8b8861aeb4bc353c3" offset="0" />
</dataarea>
</part>
<part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 rocky mountain stage.vgz" />
- <dataarea name="quik" size="88402">
- <rom name="13 rocky mountain stage.vgz" size="88402" crc="85917050" sha1="c9f40043c71ef01672b03d76f67ae0551cc37b90" offset="0" />
+ <feature name="part_id" value="13 old temple stage.vgz" />
+ <dataarea name="quik" size="229353">
+ <rom name="13 old temple stage.vgz" size="229353" crc="f05c58d9" sha1="7205c898a1cae4148fb83914b892b2e3c68f23bf" offset="0" />
</dataarea>
</part>
<part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 gallows stage.vgz" />
- <dataarea name="quik" size="101082">
- <rom name="14 gallows stage.vgz" size="101082" crc="54bf843c" sha1="11192c576a202a889aa450a1d7e51ad08c016fec" offset="0" />
+ <feature name="part_id" value="14 rocky mountain stage.vgz" />
+ <dataarea name="quik" size="88402">
+ <rom name="14 rocky mountain stage.vgz" size="88402" crc="85917050" sha1="c9f40043c71ef01672b03d76f67ae0551cc37b90" offset="0" />
</dataarea>
</part>
<part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 gairyu isle stage.vgz" />
- <dataarea name="quik" size="377405">
- <rom name="15 gairyu isle stage.vgz" size="377405" crc="ab349684" sha1="88c3783208986634338b0a89e3adb77e19599b71" offset="0" />
+ <feature name="part_id" value="15 gallows stage.vgz" />
+ <dataarea name="quik" size="101082">
+ <rom name="15 gallows stage.vgz" size="101082" crc="54bf843c" sha1="11192c576a202a889aa450a1d7e51ad08c016fec" offset="0" />
</dataarea>
</part>
<part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 japan bridge stage.vgz" />
- <dataarea name="quik" size="192703">
- <rom name="16 japan bridge stage.vgz" size="192703" crc="dd4624c5" sha1="9860327068627c3940a49dd1e246c83609dce2b6" offset="0" />
+ <feature name="part_id" value="16 gairyu isle stage.vgz" />
+ <dataarea name="quik" size="377405">
+ <rom name="16 gairyu isle stage.vgz" size="377405" crc="ab349684" sha1="88c3783208986634338b0a89e3adb77e19599b71" offset="0" />
</dataarea>
</part>
<part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 kuroko dojo stage.vgz" />
- <dataarea name="quik" size="175314">
- <rom name="17 kuroko dojo stage.vgz" size="175314" crc="d8829daf" sha1="201becd7f2079199a609f70350558e669d791a7c" offset="0" />
+ <feature name="part_id" value="17 japan bridge stage.vgz" />
+ <dataarea name="quik" size="192703">
+ <rom name="17 japan bridge stage.vgz" size="192703" crc="dd4624c5" sha1="9860327068627c3940a49dd1e246c83609dce2b6" offset="0" />
</dataarea>
</part>
<part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 osorezan stage.vgz" />
- <dataarea name="quik" size="470090">
- <rom name="18 osorezan stage.vgz" size="470090" crc="639a8aa8" sha1="8f7d8d51ead5e0c340382b8defa9501205830974" offset="0" />
+ <feature name="part_id" value="18 kuroko dojo stage.vgz" />
+ <dataarea name="quik" size="175314">
+ <rom name="18 kuroko dojo stage.vgz" size="175314" crc="d8829daf" sha1="201becd7f2079199a609f70350558e669d791a7c" offset="0" />
</dataarea>
</part>
<part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 ending.vgz" />
- <dataarea name="quik" size="573369">
- <rom name="19 ending.vgz" size="573369" crc="25e81535" sha1="16d6e5bbfd89a4b04747bbb7a2d398be9da8b49c" offset="0" />
+ <feature name="part_id" value="19 osorezan stage.vgz" />
+ <dataarea name="quik" size="470090">
+ <rom name="19 osorezan stage.vgz" size="470090" crc="639a8aa8" sha1="8f7d8d51ead5e0c340382b8defa9501205830974" offset="0" />
</dataarea>
</part>
<part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 request for an encore (continue).vgz" />
- <dataarea name="quik" size="356446">
- <rom name="20 request for an encore (continue).vgz" size="356446" crc="b9ea7fd9" sha1="583d8893e3c1374b6f8dc8ae4cf92affe3dabac2" offset="0" />
+ <feature name="part_id" value="20 ending.vgz" />
+ <dataarea name="quik" size="573369">
+ <rom name="20 ending.vgz" size="573369" crc="25e81535" sha1="16d6e5bbfd89a4b04747bbb7a2d398be9da8b49c" offset="0" />
</dataarea>
</part>
<part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 the curtain falls (game over).vgz" />
- <dataarea name="quik" size="119071">
- <rom name="21 the curtain falls (game over).vgz" size="119071" crc="c6acdea9" sha1="0e9ca722f28e16a6df893cecd70d8f8b34ac7bda" offset="0" />
+ <feature name="part_id" value="21 request for an encore (continue).vgz" />
+ <dataarea name="quik" size="356446">
+ <rom name="21 request for an encore (continue).vgz" size="356446" crc="b9ea7fd9" sha1="583d8893e3c1374b6f8dc8ae4cf92affe3dabac2" offset="0" />
</dataarea>
</part>
<part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 unused song 1.vgz" />
- <dataarea name="quik" size="193449">
- <rom name="22 unused song 1.vgz" size="193449" crc="f5c19b95" sha1="bd2ab0d7bf2341cf044943ea39923f5c4c79c541" offset="0" />
+ <feature name="part_id" value="22 the curtain falls (game over).vgz" />
+ <dataarea name="quik" size="119071">
+ <rom name="22 the curtain falls (game over).vgz" size="119071" crc="c6acdea9" sha1="0e9ca722f28e16a6df893cecd70d8f8b34ac7bda" offset="0" />
</dataarea>
</part>
<part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 unused song 2.vgz" />
+ <feature name="part_id" value="23 unused song 1.vgz" />
+ <dataarea name="quik" size="193449">
+ <rom name="23 unused song 1.vgz" size="193449" crc="f5c19b95" sha1="bd2ab0d7bf2341cf044943ea39923f5c4c79c541" offset="0" />
+ </dataarea>
+ </part>
+ <part name="024" interface="vgm_quik">
+ <feature name="part_id" value="24 unused song 2.vgz" />
<dataarea name="quik" size="271043">
- <rom name="23 unused song 2.vgz" size="271043" crc="cb035be9" sha1="34b9ae74c5fcb385a671e308860027c26848a60d" offset="0" />
+ <rom name="24 unused song 2.vgz" size="271043" crc="cb035be9" sha1="34b9ae74c5fcb385a671e308860027c26848a60d" offset="0" />
</dataarea>
</part>
</software>
@@ -246444,7 +246474,7 @@ license:CC0
<description>X Rock (IBM PC AT)</description>
<year>1990</year>
<publisher>Soft-World</publisher>
- <info name="cores" value="Adlib (OPL2/YM3812)"/>
+ <info name="cores" value="AdLib (YM3812)"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 intro.vgz" />
<dataarea name="quik" size="2213">
@@ -255194,7 +255224,7 @@ license:CC0
<description>The Legend of Kyrandia - Book One (IBM PC AT)</description>
<year>1992</year>
<publisher>Virgin Games</publisher>
- <info name="cores" value="OPL2 (YM3813)"/>
+ <info name="cores" value="YM3812"/>
<part name="001" interface="vgm_quik">
<feature name="part_id" value="01 introduction, part 1.vgz" />
<dataarea name="quik" size="2286">
@@ -255486,6 +255516,10 @@ license:CC0
</part>
</software>
+<!-- vgmrips.net update - April 20, 2021 - 16 Updated Entries -->
+
+<!-- vgmrips.net update - April 25, 2021 - 15 Updated Entries -->
+
<!-- Project 2612 VGM Archives located at http://project2612.org/list.php
Also https://archive.org/details/Project2612CompleteArchive20180623681Sets.7z -->
diff --git a/hash/vsmile_cart.xml b/hash/vsmile_cart.xml
index a134bab60c4..4cb15a7c652 100644
--- a/hash/vsmile_cart.xml
+++ b/hash/vsmile_cart.xml
@@ -34,7 +34,7 @@ Addons (w/ yellow Smartridges)
| | 80-091443(UK) | V.Smile Smart Keyboard |
| XX | 80-091444(GE) | Schreibspaß (52-091444 on back label) |
| XX | 80-091445(FR) | V.Smile Clavier Tip Tap |
-| | 80-091447(SP) | Teclado Interactivo V.Smile |
+| XX | 80-091447(SP) | Teclado Interactivo V.Smile (52-091447(SP) on back label) |
+========+===================+============================================================================+
| | 80-03600(US) | V.Smile PC Pal Island |
+========+===================+============================================================================+
@@ -4671,12 +4671,12 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
</part>
</software>
- <!-- No inputs, uses a keyboard controller -->
- <software name="smartkb" supported="no">
+ <software name="smartkb">
<description>V.Smile Smart Keyboard (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-091444(GE)" />
+ <sharedfeat name="ctrl1_default" value="smartkb_us" />
<part name="cart" interface="vsmile_cart">
<feature name="slot" value="vsmile_rom" />
<feature name="cart_type" value="yellow" />
@@ -4687,12 +4687,12 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
</part>
</software>
- <!-- No inputs, uses a keyboard controller -->
- <software name="smartkbge" cloneof="smartkb" supported="no">
+ <software name="smartkbge" cloneof="smartkb">
<description>V.Smile Schreibspaß (Germany)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-091444(GE)" />
+ <sharedfeat name="ctrl1_default" value="smartkb_ge" />
<part name="cart" interface="vsmile_cart">
<feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
@@ -4705,12 +4705,12 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
</part>
</software>
- <!-- No inputs, uses a keyboard controller -->
- <software name="smartkbfr" cloneof="smartkb" supported="no">
+ <software name="smartkbfr" cloneof="smartkb">
<description>V.Smile Clavier Tip Tap (France)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-091445(FR)" />
+ <sharedfeat name="ctrl1_default" value="smartkb_fr" />
<part name="cart" interface="vsmile_cart">
<feature name="slot" value="vsmile_rom" />
<feature name="cart_type" value="yellow" />
@@ -4721,6 +4721,21 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
</part>
</software>
+ <software name="smartkbsp" cloneof="smartkb" supported="no">
+ <description>Teclado Interactivo V.Smile (Spain)</description>
+ <year>200?</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-091447(SP)" />
+ <part name="cart" interface="vsmile_cart">
+ <feature name="slot" value="vsmile_rom" />
+ <feature name="cart_type" value="yellow" />
+ <feature name="u1" value="" />
+ <dataarea name="rom" size="8388608">
+ <rom name="52-091447 - Teclado Interactivo V.Smile (Spain).bin" size="8388608" crc="a7ae2ba8" sha1="ba6b0ad2845090bfc6f50e3c995b25a571d07c87" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="techart">
<description>V.Smile Art Studio (USA)</description>
<year>200?</year>
diff --git a/hash/vtech_innotab_cart.xml b/hash/vtech_innotab_cart.xml
index 9a0523fe5d5..ad7778af36e 100644
--- a/hash/vtech_innotab_cart.xml
+++ b/hash/vtech_innotab_cart.xml
@@ -15,11 +15,36 @@ license:CC0
<description>Mickey Mouse Clubhouse (UK)</description>
<year>2011</year>
<publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
+ <info name="serial" value="80-230403-103"/>
+ <part name="cart" interface="vtech_innotab_cart">
<dataarea name="rom" size="0x8400000">
<rom name="80-230403-103 - Mickey Mouse Clubhouse (UK).bin" size="0x8400000" crc="839567a9" sha1="bd4e2c8138d6f62bcac1978745a2b752bcefb07d" />
</dataarea>
</part>
</software>
+ <software name="pengmad" supported="no">
+ <description>The Penguins of Madagascar (USA)</description>
+ <year>2012</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-230500(US)"/>
+ <part name="cart" interface="vtech_innotab_cart">
+ <dataarea name="rom" size="0x8400000">
+ <rom name="innotab_penguins_of_madagascar_gpr27p01ga_c279.bin" size="0x8400000" crc="5c2d33fa" sha1="6ad8e167b96fed824c164b55f8d011928fd142d5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tmnttp" supported="no">
+ <description>Teenage Mutant Ninja Turtles - Turtle Power! (USA)</description>
+ <year>2013</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-231300(US)"/>
+ <part name="cart" interface="vtech_innotab_cart">
+ <dataarea name="rom" size="0x8400000">
+ <rom name="innotab_tmnt_turtle_power_gpr27p01ga_c279.bin" size="0x8400000" crc="3928e80c" sha1="f3048f990fc9c5e8d29d81a536da90496befa7b4" />
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/vtech_storio_cart.xml b/hash/vtech_storio_cart.xml
index 30207f54b71..23cfd329853 100644
--- a/hash/vtech_storio_cart.xml
+++ b/hash/vtech_storio_cart.xml
@@ -36,7 +36,7 @@ license:CC0
| 80-280123(??) | Toy Story 3 (Netherlands)
| 80-280200(US) | Mr. Men and Little Miss - Mr. Messy and the Missing Sock
| 80-280203(UK) | Mr. Men and Little Miss - Mr. Messy and the Missing Sock
- | 80-280300(US) | Disney Fairies - Tinkerbell and The Great Fairy Rescue
+ XX | 80-280300(US) | Disney Fairies - Tinkerbell and The Great Fairy Rescue
| 80-280303(UK) | Disney Fairies - Tinkerbell and The Great Fairy Rescue
| 80-280304(GER) | Disney Fairies - Tinkerbell Ein Sommer Voller Abenteuer
| 80-280323(??) | Disney Fairies - Tinkerbell en de Grote Reddingsoperatie (Netherlands)
@@ -50,19 +50,19 @@ license:CC0
| 80-280700(US) | The Little Engine That Could
| 80-280804(GER) | Rufus in der Stadt (Storio Pack-in cart)
| 80-280???(??) | Rufus arriva in città (Italy, Storio Pack-in cart, product code unconfirmed)
- | 80-280900(US) | Dora the Explorer - Dora and the Three Little Pigs
+ XX | 80-280900(US) | Dora the Explorer - Dora and the Three Little Pigs
| 80-280903(UK) | Dora the Explorer - Dora and the Three Little Pigs
XX | 80-280904(GER) | Dora - Dora und die drei Schweinchen
| 80-280905(FR) | Dora l'exploratrice - Dora et les trois petit cochons
| 80-280922(SP) | Dora la exploradora - Dora y los Tres Cerditos
| 80-280923(??) | Dora - Dora en de Drie Kleine Biggetjes (Netherlands)
- | 80-281000(US) | Mickey Mouse Clubhouse
+ XX | 80-281000(US) | Mickey Mouse Clubhouse
| 80-281003(UK) | Mickey Mouse Clubhouse
XX | 80-281004(GER) | Micky Maus Wunderhaus
| 80-281005(FR) | La Maison de Mickey
| 80-281022(SP) | La casa de Mickey Mouse
| 80-281023(??) | Mickey Mouse Clubhuis - Mickey zoekt en vindt! (Netherlands)
- | 80-281100(US) | Disney Princess - Belle's Special Treat / A Gift from the Heart
+ XX | 80-281100(US) | Disney Princess - Belle's Special Treat / A Gift from the Heart
| 80-281103(UK) | Disney Princess - Belle's Special Treat / A Gift from the Heart
| 80-281104(GER) | Disney Princess - Eine besondere Überraschung für Belle / Das Geburtstagsgeschenk
| 80-281105(FR) | Disney Princess - Une surprise pour Belle / Un cadeau qui vient du coeur
@@ -89,7 +89,7 @@ license:CC0
| 80-281723(??) | De Pinguïns van Madagascar - De Helm (Netherlands)
| 80-281800(US) | Kung Fu Panda 2
| 80-281803(UK) | Kung Fu Panda 2
- | 80-281900(US) | Disney/Pixar Cars 2
+ XX | 80-281900(US) | Disney/Pixar Cars 2
| 80-281903(UK) | Disney/Pixar Cars 2
| 80-281904(GER) | Disney/Pixar Cars 2
| 80-281905(FR) | Disney/Pixar Cars 2
@@ -109,7 +109,7 @@ license:CC0
| 80-282222(SP) | Madagascar 3 - De marcha por Europa
| 80-282223(??) | Madagascar 3 - Op Avontuur in Europa (Netherlands)
| 80-282300(US) | Dinosaur Train - T.Rex Teeth
- | 80-282400(US) | Hello Kitty - Hello Kitty's Surprise
+ XX | 80-282400(US) | Hello Kitty - Hello Kitty's Surprise
| 80-282403(UK) | Hello Kitty - Hello Kitty's Surprise
| 80-282404(GER) | Hello Kitty - Hello Kittys Überraschung!
| 80-282422(SP) | Hello Kitty - La sorpresa de Hello Kitty
@@ -135,29 +135,70 @@ license:CC0
<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" />
+ <rom name="80-280422 - scooby-doo-scooby-doo y la momia (SP).bin" size="0x4200000" crc="cd1ee924" sha1="83e561af5910dc547829d54c84fbef60350f4f54" />
</dataarea>
</part>
</software>
- <software name="doragr" supported="no">
+ <software name="dora3pig" supported="no">
+ <description>Dora and the 3 Little Pigs (USA)</description>
+ <year>2010</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-280900(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_dora_and_the_3_little_pigs_n23512t_c276.bin" size="0x4200000" crc="b46e42c8" sha1="292d9fc201448df38c03e530a69ead497b477a1c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="doragr" cloneof="dora3pig" 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" />
+ <rom name="80-280904 - Dora und die drei Schweinchen (GER).bin" size="0x4200000" crc="34f85a56" sha1="93b27d5c2a5b9e23470a3cb48099e3aa1f36bde6" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mmclub" supported="no">
+ <description>Mickey Mouse Clubhouse (USA)</description>
+ <year>2010</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-281000(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_mickey_mouse_clubhouse_n231gt_c276.bin" size="0x4200000" crc="67dea606" sha1="cdee41449bd5ba15fd8b9e5e6ca4ad2836397eae" />
</dataarea>
</part>
</software>
- <software name="mickeychgr" supported="no">
+ <!-- this cartridge looked identical to the above, but contained a normal flash chip instead of an OTP device
+ the data structure is very different, and doesn't start with the FAT16 filesystem?
+ does the system BIOS detect different cartridge types and handle them in different ways? -->
+ <software name="mmcluba" cloneof="mmclub" supported="no">
+ <description>Mickey Mouse Clubhouse (USA, flash chip)</description>
+ <year>2010</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-281000(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_mickey_mouse_clubhouse_h27u518s2ctr_ad76.bin" size="0x4200000" crc="8b7eb4b5" sha1="f68d4e826b786710d0bea6669ab62648b0a09ff1" />
+ </dataarea>
+ </part>
+ </software>
+
+
+
+ <software name="mickeychgr" cloneof="mmclub" 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" />
+ <rom name="80-281004 - Micky Maus Wunderhaus (GER).bin" size="0x4200000" crc="036fc056" sha1="28f5b7c13eaceadeca5f4e8ec8b1ef2f2d85d1ba" />
</dataarea>
</part>
</software>
@@ -168,7 +209,7 @@ license:CC0
<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" />
+ <rom name="80-281404 - Spongebob Schwammkopf - Ein Schwamm will nach oben (GER).bin" size="0x4200000" crc="f1a68329" sha1="95c39150ab86233575f4f32574f7077436077adf" />
</dataarea>
</part>
</software>
@@ -179,7 +220,55 @@ license:CC0
<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" />
+ <rom name="80-281504 - Rapunzel - Neu verfohnt (GER).bin" size="0x4200000" crc="70fd0039" sha1="85823b4fcbcb3ff644154c3c0f3f3bd962846e50" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cars2" supported="no">
+ <description>Cars 2 (USA)</description>
+ <year>2011</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-281900(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x8400000">
+ <rom name="v.reader_cars_2_n231gt_c279.bin" size="0x8400000" crc="c59126cc" sha1="8bd36e0dc2633ebf8ec6ac4d05edc6a60ca94e45" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hkitty" supported="no">
+ <description>Hello Kitty's Surprise (USA)</description>
+ <year>2012</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-282400(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_Hello_Kittys_Surprise_GPR27P512A_c276.bin" size="0x4200000" crc="f8ecdc4e" sha1="9e5b60f03a2526225b621f7bd3e52cad53afeda4" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dprinc" supported="no">
+ <description>Disney Princess - A Gift From The Heart &amp; Belle's Special Treat (USA)</description>
+ <year>2010</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-281100(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_Princess_Gift_From_the_Heart_Belles_Special_Treat_GPR27P512A_c276.bin" size="0x4200000" crc="43159ded" sha1="dec9f3cafa4382fabb2a7596d9b35ec2292b4b0c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tbell" supported="no">
+ <description>TinkerBell and the Great Fairy Rescue (USA)</description>
+ <year>2010</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-280300(US)"/>
+ <part name="cart" interface="vtech_storio_cart">
+ <dataarea name="rom" size="0x4200000">
+ <rom name="v.reader_tinkerbell_great_fairy_rescue_n23512t_c276.bin" size="0x4200000" crc="79989a39" sha1="25d6a200556f8aa8784a4e86e25e65d80c797e50" />
</dataarea>
</part>
</software>
diff --git a/language/Afrikaans/strings.po b/language/Afrikaans/strings.po
index 6bbbb16cc77..f39cd10a756 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Albanian/strings.po b/language/Albanian/strings.po
index d93f254901d..662f793efa3 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Arabic/strings.po b/language/Arabic/strings.po
index d87d15f09e4..3d390453009 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Basque/strings.po b/language/Basque/strings.po
index c8f95407f9c..75302268474 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Belarusian/strings.po b/language/Belarusian/strings.po
index 83579301e0c..63eea5733e7 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,3049 +19,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Bosnian/strings.po b/language/Bosnian/strings.po
index e60bb13a012..78ca3e18976 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Bulgarian/strings.po b/language/Bulgarian/strings.po
index b4df4102adb..e85671c0296 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Burmese/strings.po b/language/Burmese/strings.po
index 506a275ef99..25f69203112 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Catalan/strings.po b/language/Catalan/strings.po
index 3d32c5631ce..a65b6616a82 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: 2021-05-29 22:30+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,2125 +16,2587 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
+"\n"
+"\n"
+"Premeu qualsevol tecla per continuar"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(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 "Habilitat"
-
-#: 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/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Visualització"
-
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Escapçada"
-
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
-
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "IU"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Llengua"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Mostres"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Icones"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Trampes"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Instantànies"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabines"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Díptics"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títols"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finals"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Quadres de control"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Mirilles"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecciona"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "ComEsFa"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logotips"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puntuacions"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Portades"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Paràmetres de carpetes"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Carpetes %1$s actuals"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Canvia de carpeta"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Afegeix una carpeta"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Suprimeix una carpeta"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Canvia la carpeta %1$s - cerca: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Afegeix la carpeta %1$s - cerca: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" S'ha desat la configuració \n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Premeu TAB per establir"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" afegit a la llista de favorits."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Suprimeix la carpeta %1$s"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" suprimit de la llista de favorits."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Llista de la selecció - cerca: "
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, 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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Feu doble clic o premeu %1$s per seleccionar"
+msgid "Driver: \"%1$s\" software list "
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "aturat"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "reproduint"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(reproduint)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "enregistrant"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(enregistrant)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Entrada general"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pausa/Atura"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Desa la configuració"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Reprodueix"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Paràmetres"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Enregistra"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtre"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Rebobina"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personalitza la IU"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avanç ràpid"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configura els directoris"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gestor de fitxers]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[crea]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[llista de programari]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr ""
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nom curt"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Seleccioneu el mode d'accés"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "descripció"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Només lectura"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr ""
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lectura i escriptura"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Ús del programari"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Llegeix aquesta imatge, escriu en una altra imatge"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisió: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Llegeix aquesta imatge, escriu al diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "El fitxer ja existeix. Voleu sobreescriure'l?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Opcions de miscel·lània"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sí"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nom de la imatge nova:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de la imatge:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Trampes"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crea"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Mostra el punter del ratolí"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confirma la sortida de les màquines"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleccioneu el format de la imatge"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (general)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (aquesta màquina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controls analògics"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuració de la màquina"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informació de la màquina"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Opcions avançades"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informació de la imatge"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Opcions de rendiment"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestor de fitxers"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Control de cinta"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Dorm"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Velocitat"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lector de codi de barres"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositius de xarxa"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode de teclat"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rota"
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controls dels lliscadors"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rota a la dreta"
-#: 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/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rota a l'esquerra"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Rota automàticament a la dreta"
+
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Rota automàticament a l'esquerra"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "Inverteix l'eix X"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Inverteix l'eix Y"
+
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trampa"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opcions de connectors"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualització de DAT externa"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: 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/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Selecciona una màquina nova"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Codi de barres nou:"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Introduiu un codi"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Opcions d'entrada"
-#: 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/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fallit]"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Ratolí"
-#: 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/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entrada general"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Desa la configuració"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Multi-teclat"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paràmetres"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Multi-ratolí"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalitza la IU"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configura els directoris"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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."
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
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."
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Configura les opcions"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Teclegeu el nom o seleccioneu: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Teclegeu el nom o seleccioneu: (aleatori)"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mapeig de dispositius"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Controlador: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
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/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Opcions de vídeo"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Mode de vídeo"
+
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "So: Imperfecte"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "So: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Filtratge biliniar"
+
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Preescalat de mapa de bits"
+
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Mode de finestra"
+
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
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/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Encès"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Apagat"
+
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Auto"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Torna a la màquina"
+
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Surt"
+
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Torna al menú anterior"
+
+#: src/frontend/mame/ui/videoopt.cpp:57
+#, c-format
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:230
+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/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:240
+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/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:245
+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/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+msgid ", %s"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+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/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+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/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:285
+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/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:339
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+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/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
"\n"
-" Configuration saved \n"
-"\n"
+"Sound:\n"
msgstr ""
"\n"
-" S'ha desat la configuració \n"
+"So:\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"Cheat Comment:\n"
-"%s"
+"\n"
+"Video:\n"
msgstr ""
-"Comentari de la trampa:\n"
-"%s"
+"\n"
+"Vídeo:\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "S'han tornat a carregar totes les trampes"
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Cap\n"
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paràmetres d'autotret"
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vector"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reinicialitza'ls tots"
+#: src/frontend/mame/ui/info.cpp:455
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: 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/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estat d'autotret"
+#: src/frontend/mame/ui/info.cpp:472
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Pantalla «%1$s»"
-#: 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/info.cpp:474
+msgid "Screen"
+msgstr "Pantalla"
-#: 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/info.cpp:580
+msgid "Not supported"
+msgstr "No suportat"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Parcialment suportat"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[buit]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gestor de fitxers]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
msgstr ""
-"%s\n"
-" afegit a la llista de favorits."
-#: 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/swlist.cpp:267
#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
+msgid "Switched Order: entries now ordered by %s"
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"
-"\n"
-msgstr ""
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nom curt"
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "descripció"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
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 paquets de programari)"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "El fitxer ja existeix. Voleu sobreescriure'l?"
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr "No"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Seleccioneu el format de la imatge"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Mode de teclat"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natural"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulat"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Habilitat"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Inhabilitat"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Selecciona filtres personalitzats:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Suprimeix el darrer filtre"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Afegeix un filtre"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crea]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Ús del programari"
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisió: "
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reinicialitza"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Seleccioneu el mode d'accés"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Temps d'execució: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Només lectura"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lectura i escriptura"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moneda %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moneda %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (blocat)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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 "Reinicialitza"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Retard visible"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "S'ha desat %s.xml sota la carpeta ui."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Torna a la màquina"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nom: Descripció:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Surt"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "S'ha desat %s.txt sota la carpeta ui."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporta la llista en format XML (like -listxml)"
-#: 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/miscmenu.cpp:693
+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/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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporta la llista en format TXT (com -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Controlador"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Mostra'ls tots"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Amaga els filtres"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Afegeix als favorits"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Amaga la info/imatge"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Suprimeix dels favorits"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Amaga ambdós"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Tipus de lletra"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (per defecte)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Mostra els panells laterals"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Connectors"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Paràmetres personalitzats de la IU"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminals"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "per defecte"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fallit]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Tipus de lletra de la IU"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Negreta"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Cursiva"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Línies"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Mida del text de la info"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Paràmetres del tipus de lletra de la IU"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interfície d'usuari"
+
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-"Text d'exemple - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Text normal"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Altres controls"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Color seleccionat"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Fons del text normal"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Color de fons seleccionat"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Color del subelement"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clona"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Vora"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Fons"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Color no disponible"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "aturat"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Color del lliscador"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "reproduint"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Fons del visualitzador de gfx"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(reproduint)"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Color de ratolí al damunt"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "enregistrant"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Color de fons de ratolí al damunt"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(enregistrant)"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pausa/Atura"
+
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Reprodueix"
+
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Enregistra"
+
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Rebobina"
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avanç ràpid"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "No es pot desar damunt d'un directori"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaura els colors originals"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Paràmetres dels colors de la IU"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configura les opcions"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/simpleselgame.cpp:299
#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Feu doble click o premeu %1$s per a canviar el valor del color"
+msgid "Type name or select: %1$s_"
+msgstr "Teclegeu el nom o seleccioneu: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Previsualització del menú"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Teclegeu el nom o seleccioneu: (aleatori)"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Subelement"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Controlador: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Seleccionat"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "En resum: NO FUNCIONA"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Ratolí a sobre"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Resum: Protecció no emulada"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "En resum: Funciona"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Gràfics: Imperfectes, "
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Vermell"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Gràfics: OK, "
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Verd"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blau"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "So: No implementat"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Selecciona des de la paleta"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "So: Imperfecte"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Previsualització de color ="
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "So: OK"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Blanc"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Comentari de la trampa:\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Plata"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "S'han tornat a carregar totes les trampes"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Gris"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Reinicialitza'ls tots"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Negre"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Torna a carregar-ho tot"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Taronja"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Groc"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violeta"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "IU"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode de teclat:"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Llengua"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Mostres"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulat"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Icones"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Instantànies"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Cabines"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Díptics"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Títols"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Finals"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Quadres de control"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Mirilles"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
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/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
-#: 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/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (blocat)"
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Selecciona"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Retard visible"
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
-#: 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/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "ComEsFa"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom: Descripció:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logotips"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Puntuacions"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Portades"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Paràmetres de carpetes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "S'ha desat %s.txt sota la carpeta ui."
+msgid "Current %1$s Folders"
+msgstr "Carpetes %1$s actuals"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Canvia de carpeta"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Afegeix una carpeta"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Suprimeix una carpeta"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Controlador"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Canvia la carpeta %1$s - cerca: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Afegeix la carpeta %1$s - cerca: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Desa la configuració de la màquina"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Premeu TAB per establir"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configura la màquina"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Suprimeix la carpeta %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (per defecte)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COLORS"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Connectors"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configura la màquina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Conjunt de roms: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, 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/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Llista de la selecció - cerca: "
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "So"
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Opcions de miscel·lània"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mostra el punter del ratolí"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mostra'ls tots"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirma la sortida de les màquines"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Amaga els filtres"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Amaga la info/imatge"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Amaga ambdós"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Tipus de lletra"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Colors"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Mostra els panells laterals"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Paràmetres personalitzats de la IU"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "per defecte"
+
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Tipus de lletra de la IU"
+
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Negreta"
+
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Cursiva"
+
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Línies"
+
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Mida del text de la info"
+
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Paràmetres del tipus de lletra de la IU"
+
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Text d'exemple - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opcions avançades"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Text normal"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opcions de rendiment"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Color seleccionat"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Fons del text normal"
+
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Color de fons seleccionat"
+
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Color del subelement"
+
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clona"
+
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Vora"
+
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Fons"
+
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Color no disponible"
+
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Color del lliscador"
+
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Fons del visualitzador de gfx"
+
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Color de ratolí al damunt"
+
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Color de fons de ratolí al damunt"
+
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Dorm"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaura els colors originals"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocitat"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Paràmetres dels colors de la IU"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Velocitat de refresc"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Feu doble click o premeu %1$s per a canviar el valor del color"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Previsualització del menú"
+
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
+
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Subelement"
+
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Seleccionat"
+
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Ratolí a sobre"
+
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rota a la dreta"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rota a l'esquerra"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Vermell"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Rota automàticament a la dreta"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Verd"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Rota automàticament a l'esquerra"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blau"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Inverteix l'eix X"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Selecciona des de la paleta"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Inverteix l'eix Y"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Previsualització de color ="
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Blanc"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Plata"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Gris"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Negre"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Taronja"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Groc"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violeta"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Codi de barres nou:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Introduiu un codi"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "La mida del codi de barres no és vàlid!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Entrada (general)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Entrada (aquesta màquina)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Controls analògics"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuració de la màquina"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informació de la màquina"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informació de la imatge"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestor de fitxers"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Control de cinta"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opcions d'entrada"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Lector de codi de barres"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Dispositius de xarxa"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Controls dels lliscadors"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Ratolí"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Trampa"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Opcions de connectors"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualització de DAT externa"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Multi-teclat"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Selecciona una màquina nova"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Multi-ratolí"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Quadres de control"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Afegeix o suprimeix favorits"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exporta la llista mostrada a un fitxer"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Mostra la visualitzció de DAT"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Selecció de part de programari:"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "El programari és un clon de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapeig de dispositius"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "El programari és el pare"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Suportat: No"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Suportat: Parcialment"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Suportat: Sí"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Conjunt de ROM: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "El control·lador és un clon de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "El controlador és el pare"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Imatges"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Infos"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Mode de vídeo"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtratge biliniar"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Preescalat de mapa de bits"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Mode de finestra"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Ús"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Informació general"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr ""
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "So"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2145,7 +2607,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2156,949 +2618,631 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-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/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "No es pot desar damunt d'un directori"
-
-#: 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 ""
-"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/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"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
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"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: plugins/cheatfind/init.lua:483
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
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"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
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"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
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: "
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
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"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
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"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
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"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
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"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
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"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-"\n"
-"\n"
-"Premeu qualsevol tecla per 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"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
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/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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-"\n"
-"So:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-"\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"
-
-#: 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 suportat"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parcialment suportat"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[buit]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Quadres de control"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: 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 "Afegeix o suprimeix favorits"
-
-#: 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/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostra la visualitzció de DAT"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selecció de part de programari:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "El programari és un clon de: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "El programari és el pare"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Suportat: No"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Suportat: Parcialment"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Suportat: Sí"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "Conjunt de ROM: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, 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:662
-msgid "Driver is parent"
-msgstr "El controlador és el pare"
-
-#: 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 "Imatges"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Ús"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informació general"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfície d'usuari"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Altres controls"
-
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:867
-#, lua-format
-msgid "%s added"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Ordre"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Història"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
-msgstr ""
-
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr ""
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "Default name is %s"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/autofire/autofire_menu.lua:59
#, lua-format
-msgid "%d total matches found"
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/timer/init.lua:96
+msgid "Total time"
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)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
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)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Ordre"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Història"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Visualització"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Escapçada"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Completa"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Paràmetres d'autotret"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Estat d'autotret"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "No s'ha trobat cap botó en aquesta màquina!"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Retard d'autotret"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Mode de teclat:"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Desa la configuració de la màquina"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Configura la màquina"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Velocitat de refresc"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "El programari seleccionat manca una o més imatges ROM o CHD. Seleccioneu-"
+#~ "ne un diferent."
#~ msgid "Vertical"
#~ msgstr "Vertical"
diff --git a/language/Chinese_Simplified/strings.po b/language/Chinese_Simplified/strings.po
index d7ed190a86b..7c182678887 100644
--- a/language/Chinese_Simplified/strings.po
+++ b/language/Chinese_Simplified/strings.po
@@ -8,8 +8,8 @@ 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-03-18 13:40+0800\n"
+"POT-Creation-Date: 2021-05-29 22:30+1000\n"
+"PO-Revision-Date: 2021-05-30 18:00+0800\n"
"Last-Translator: YuiFAN\n"
"Language-Team: MAME Language Team\n"
"Language: zh_CN\n"
@@ -17,1798 +17,2088 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "画面 #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"按任意按键继续"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "此驱动需要额外载入下列装置的映像档: "
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "复叠图"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
+"启用 UI 控制\n"
+"以 %1$s 切换"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "外框图"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
+"停用 UI 控制\n"
+"以 %1$s 切换"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "操作台"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "贴画 (marquees)"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "主音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "检视"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "裁切"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "超频 CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全部"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "超频 %1$s 声音"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s 刷新率"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "软件媒介"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 亮度"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "使用者介面"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s 对比"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "语言"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s 迦玛值"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "采样文件"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 水平延展"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "文件"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 水平位置"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 垂直延展"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "类别 INI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 垂直位置"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "图示"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "激光影碟 %1$s 水平延展"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "作弊码文件 (cheat)"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "激光影碟 %1$s 水平位置"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "快照 (snap)"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "激光影碟 %1$s 垂直延展"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "机械图 (cabinets)"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "激光影碟 %1$s 垂直位置"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "广告图 (flyers)"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "向量闪烁度"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "标题图 (titles)"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "最小光束宽度"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "结束图 (ends)"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "最大光束宽度"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB 图"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr "光束点大小"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "控制面板"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "光束强度"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "十字准星"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "十字准星尺度 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "装饰图"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "首领"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "装饰图预览"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "十字准星位移 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "选择"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "游戏结束"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "说明图"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "标题图"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "得分"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "对战"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "十字准星尺度 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "封面"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "十字准星尺度 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "文件夹设定"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "十字准星位移 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "当前 %1$s 文件夹"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "十字准星位移 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "变更文件夹"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**保存 ui.ini 时错误**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "新增文件夹"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**保存 %s.ini 时错误**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "移除文件夹"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" 设定已保存 \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "变更 %1$s 文件夹 - 搜寻: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" 已新增至最爱清单。"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "新增 %1$s 文件夹 - 搜寻: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "按下 TAB 键设定"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" 已从最爱清单移除。"
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "移除 %1$s 文件夹"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "选项清单 - 搜寻: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 软件包 )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "双击或按下 %1$s 以选择"
+msgid "Driver: \"%1$s\" software list "
+msgstr "驱动: \"%1$s\" 软件清单 "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "已停止"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - 搜寻: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "正在执行"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "搜寻: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(正在执行)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "正在记录"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "声音选项"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(正在记录)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "一般输入"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "暂停/停止"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "保存设定"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "执行"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "设定"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "记录"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "筛选"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "倒带"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "自订 UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "快进"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "设定目录"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[空插槽]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[ 文件管理器 ]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[建立]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[软件清单]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "切换项目顺序"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "切换顺序:当前项目依照 %s 排序"
+msgid "Error accessing %s"
+msgstr "错误存取 %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "短档名"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "选择存取模式"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "描述"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "唯读"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[ 完整清单 ]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "读写"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "软件用法"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "读取此映像档,写入至其他映像档"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "版本: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "读取此映像档,写入差异档"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "档案已存在 — 是否覆写?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "其他选项"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "否"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr "略过未完整模拟的警示讯息"
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "是"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr "重新选择上次执行的机台"
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "新映像档名称:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "放大右侧面版的图片"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "映像档格式"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "作弊码文件 (cheat)"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "建立"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "显示鼠标指标"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "请一并输入副档名"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "确认离开机台"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "选择映像档格式"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "略过起始的信息画面"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "输入设定 (一般)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "强制撷图显示比例为 4:3"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "输入设定 (本机器)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "使用图片作为背景"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "类比控制"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "略过 BIOS 选择菜单"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "机械设定开关"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "略过软件部分选择菜单"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "机器设定"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "信息自动校验"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "收入信息"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "在可用清单中隐藏无 ROM 机台"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "机器信息"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "进阶选项"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "映像档信息"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "效能选项"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "文件管理器"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "自动省略画格"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "磁带控制"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "省略画格"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "伪终端"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "限制速度"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "选择 BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr "当未限制速度时静音"
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "插槽设备"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "休眠"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "条码读取器"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "速度"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "网路装置"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr "调整速度以符合更新率"
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "键盘模式"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr "低延迟"
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "参数调整"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "选转选项"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "视频选项"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "旋转"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "十字准星选项"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "右旋转"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "游戏作弊"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "左旋转"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "插件选项"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "自动右旋转"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "檢視外部文件"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "自动左旋转"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "新增至最爱"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "翻转 X"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "从最爱移除"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "翻转 Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "选择新机器"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "装饰图选项"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "新条码:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr "缩放至画面区域"
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "输入条码"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "状态/播放选项"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "条码长度无效!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "自动储存/还原"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[ 错误 ]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr "允许倒带"
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "声音选项"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "倒带容量"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "一般输入"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr "供截图使用的双线过滤"
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "保存设定"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "烙印撷图"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "设定"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "输入选项"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "筛选"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "投币锁定"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "自订 UI"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "鼠标"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "设定目录"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"选定的游戏缺少一个至多个必要的 ROM 或 CHD 映像档,请选择其他游戏。\n"
-"按任意键继续。"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+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 ""
-"找不到机械,请检查 %1$s.ini 的 ROM 目录设定\n"
-"\n"
-"如果此为首次使用 %2$s,请参阅 docs 目录中的 config.txt 以取得设定 %2$s 的相关"
-"信息。"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "多重键盘"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "设定选项"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "多鼠标"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "输入名称或选择: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "稳定键"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "输入名称或选择: (随机)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI 启动"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "摇杆无反应区"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "驱动: %-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "摇杆饱和值"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "整体: 不可执行"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "自然键盘"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "整体: 未模拟保护"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "同时发生的对立状况"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "整体: 可以执行"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "投币脉冲"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "图形: 不完整,"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "装置映对"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "图形: 不完美, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "分配光线枪装置"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "图形: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "分配轨迹球装置"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "声音: 无"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "分配踏板装置"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "声音: 无法执行"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "分配 Adstick 装置"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "声音: 不完美"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "分配划桨装置"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "声音: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "分配转盘装置"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "载入状态"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "分配指向装置"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "选择载入位置"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "分配鼠标装置"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "保存状态"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "视频选项"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "选择保存位置"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+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:116
+msgid "Number Of Screens"
+msgstr "画面数"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "三重缓冲"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "模式: 部分模拟"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 已启用"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "双线过滤"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "模式: 完整模拟"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "点阵图预缩放"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 已停用"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "视窗模式"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "无法启用连发"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+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:126
+msgid "Start Out Maximized"
+msgstr "最大化开始"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "主音量"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "同步更新"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 音量"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "等待垂直同步"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "超频 CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "开"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "超频 %1$s 声音"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "关"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s 刷新率"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "自动"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 亮度"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr "启动机械"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s 对比"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "回到机械"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s 迦玛值"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "结束"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 水平延展"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "回上一层菜单"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 水平位置"
+msgid "Screen #%d"
+msgstr "画面 #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 垂直延展"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr "缩放至画面区域"
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 垂直位置"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr "仅 X 轴"
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "激光影碟 %1$s 水平延展"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr "仅 Y 轴"
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "激光影碟 %1$s 水平位置"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr "X 轴或 Y 周(自动)"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "激光影碟 %1$s 垂直延展"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr "非整数缩放"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "激光影碟 %1$s 垂直位置"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr "维持长宽比例"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "向量闪烁度"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr "正在录制时无法变更选项!"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "最小光束宽度"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "保护"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "最大光束宽度"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "计时"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "光束强度"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "图形"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "十字准星尺度 %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "色盘"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "声音"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr "撷取硬体"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "十字准星位移 %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "相机"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "麦克风"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "控制"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "键盘"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+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:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr "磁带"
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr "打孔带"
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr "磁鼓"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**保存 ui.ini 时错误**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr "固态储存"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**保存 %s.ini 时错误**"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
+msgstr "通讯"
+
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "区域网"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "广域网"
+
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
msgstr ""
-"\n"
-" 设定已保存 \n"
+"本机械已知具有下列的问题\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"作弊码注解:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "本机械有一个或更多的 ROM/CHD 尚未正确地被 DUMP。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "全部作弊码已重新载入"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "未完整模拟功能: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "连发设定"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "全部重设"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "全部重新载入"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "未完美模拟功能: "
+
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "尚未支援台面型筐体模式的画面翻转。"
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "连发状态"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "此机械需要额外的装饰图档"
+
+#: src/frontend/mame/ui/info.cpp:285
+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:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr "本机械无声音硬体,故 MAME 将不会产生声音,这是可预期的行为。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "在此机器上找不到按钮!"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "连发延迟"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require 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:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" 已新增至最爱清单。"
+"\n"
+"\n"
+"本机械尚有可执行的彷製版: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" 已从最爱清单移除。"
+"%1$s\n"
+"%2$s %3$s\n"
+"驱动: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr "GHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr "Hz"
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"选定的软件缺少一个至多个必要的 ROM 或 CHD 映像档,请选择其他软体。\n"
"\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"视讯:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "无\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "向量"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 软件包 )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "驱动: \"%1$s\" 软件清单 "
+msgid "Screen '%1$s'"
+msgstr "画面 '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "画面"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "不支援"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "部分支援"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[ 空 ]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[ 文件管理器 ]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "切换项目顺序"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - 搜寻: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "切换顺序:当前项目依照 %s 排序"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "短档名"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "描述"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+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:1045
+msgid "No"
+msgstr "否"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "建立"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "请一并输入副档名"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "选择映像档格式"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr "选择初始化内容"
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "键盘模式"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "自然"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "模拟"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "搜寻: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr "%1$s [root%2$s]"
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr "[root%2$s]"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "已启用"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "已停用"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "未过滤"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "可用"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "不可用"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "可以执行"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "不可执行"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "机械式"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "非机械式"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "类别"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "最爱"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "非 BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "母档"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "克隆版"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "制造商"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "年代"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "已支援即时存档"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "不支援即时存档"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "需要 CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "不需要 CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "垂直萤幕"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "水平萤幕"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "自订过滤"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "出版商"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "已支援"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "部分支援"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "不支援"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "释出区域"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "装置类别"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "软件清单"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<设定过滤>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "选择自订过滤器:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "过滤 %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "移除最后过滤器"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "新增过滤器"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "选择类别:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[没有类别 INI 档案]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[INI 档案中没有群组]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "没有发现群组 INI 档案"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "档案"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "在类别档案中没有找到群组"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "群组"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "包含克隆版"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[建立]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "软件用法"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "错误存取 %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "版本: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "选择存取模式"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "重设"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "唯读"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "读写"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"执行时间: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "读取此映像档,写入至其他映像档"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"彩票分配数: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "读取此映像档,写入差异档"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "投币数 %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [内部]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "投币数 %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (已锁定)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色彩"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr "P$d 可视度"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr "P%d 十字准星"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "回到机械"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "可见度延迟"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "结束"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml 已储存于 ui 文件夹。"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "回上一层菜单"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "名称: 描述:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt 已储存于 ui 资料夹下。"
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "汇出 XML 格式列表 (同 -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自动"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "汇出 TXT 格式列表 (同 -listxml,但不包含装置)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "显示全部"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "汇出 TXT 格式列表 (同 -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "隐藏过滤器"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "驱动"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "隐藏信息/图片"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "此机台没有 BIOS。"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "隐藏两者"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "新增至最爱"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "字体"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "从最爱移除"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "颜色"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr "储存机台设定"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "显示侧面版"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr "设定机台:"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "连发设定"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (缺省)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "缺省"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "插件"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UI 字体"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "伪终端"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "粗体"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[ 错误 ]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "斜体"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr "未找到已储存的状态"
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "行"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "载入状态"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "信息字体大小"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr "选择要载入的状态"
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "UI 字体设定"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "保存状态"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "采样文字 - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr "按下键盘按键、摇杆按钮或选择状态以覆写"
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "一般文本"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [内部]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "选择色彩"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "使用者介面"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "一般文本背景"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr "玩者 %1$d 控制"
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "选择背景颜色"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "其他控制"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "子项目颜色"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr "此机台没有输入对应表"
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "克隆"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr "按住"
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "边框"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr "输入了无效序列"
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "背景"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr "[root%1$s]"
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "机械设定开关"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr "按下 %1$s 设定\n"
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "未拥有游戏颜色"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr "按下 %1$s 加入\n"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "参数调整"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr "按下 %1$s 清除\n"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "图形检视器背景"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr "按下 %1$s 还原缺省值\n"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "鼠标经过颜色"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "已停止"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "鼠标经过背景颜色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "正在执行"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "鼠标按下颜色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(正在执行)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "鼠标按下背景颜色"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "正在记录"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "还原至原本颜色"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(正在记录)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "UI 色彩设定"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "暂停/停止"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "双击或按下 %1$s 以改变颜色值"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "执行"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "菜单预览"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "记录"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "一般"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "倒带"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "子项目"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "快进"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "已选择"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "无法跨目录储存"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "鼠标经过"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr "选定的软体缺少一个或多个必要的 ROM 或 CHD 映像档\n"
+"请取得正确的档案或选择不同的档案。"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB 设定"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"选定的游戏缺少一个至多个必要的 ROM 或 CHD 映像档,请选择其他游戏。\n"
+"按任意键继续。"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "透明度"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"找不到机械,请检查 %1$s.ini 的 ROM 目录设定\n"
+"\n"
+"如果此为首次使用 %2$s,请参阅 docs 目录中的 config.txt 以取得设定 %2$s 的相关"
+"信息。"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "红"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "设定选项"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "绿"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "输入名称或选择: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "蓝"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "输入名称或选择: (随机)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "从色盘选择"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "颜色预览="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "驱动: %-.100s\n"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "白"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "整体: 不可执行"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "银"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "整体: 未模拟保护"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "灰"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "整体: 可以执行"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "黑"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "图形: 不完整,"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "橘"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "图形: 不完美, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "黄"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "图形: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "紫"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "声音: 无"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "键盘模式:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "声音: 无法执行"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "自然"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "声音: 不完美"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "模拟"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "声音: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"执行时间: %1$d:%2$02d:%3$02d\n"
-"\n"
+"作弊码注解:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "全部重新载入"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (已锁定)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "软件媒介"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "可见度延迟"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "语言"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "名称: 描述:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "采样文件"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "文件"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "类别 INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "图示"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "快照 (snap)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "机械图 (cabinets)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "广告图 (flyers)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "标题图 (titles)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "结束图 (ends)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB 图"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "贴画 (marquees)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "控制面板"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "十字准星"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "装饰图"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "首领"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "装饰图预览"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "选择"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "游戏结束"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "说明图"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "标题图"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "得分"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "对战"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "封面"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "文件夹设定"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt 已储存于 ui 资料夹下。"
+msgid "Current %1$s Folders"
+msgstr "当前 %1$s 文件夹"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "汇出 XML 格式列表 (同 -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "新增文件夹"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "汇出 TXT 格式列表 (同 -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "移除文件夹"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "驱动"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "变更 %1$s 文件夹 - 搜寻: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "此机台没有 BIOS。"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "新增 %1$s 文件夹 - 搜寻: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "保存机械设定"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "按下 TAB 键设定"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "设定机台:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "移除 %1$s 文件夹"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (缺省)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " 色彩"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "插件"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "设定机台"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "驱动为主档\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "类比控制\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "键盘输入\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "整体\t不可执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "整体\t未模拟保护\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "整体\t可以执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "图形\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "图形\t色彩错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "图形\t色彩不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "图形\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "图形\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "声音\t无\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "声音\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "声音\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "声音\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr "撷取\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr "撷取\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "相机\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "相机\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "麦克风\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "麦克风\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "控制\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "控制\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "键盘\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "键盘\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "鼠标\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "鼠标\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr "媒体\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr "媒体\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "磁盘\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "磁盘\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "打印机\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "打印机\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr "磁带\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr "磁带\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr "打孔带\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr "打孔带\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr "磁鼓\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr "磁鼓\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr "(EP)ROM\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr "(EP)ROM\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr "通讯\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr "通讯\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "区域网路\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "区域网路\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "外部网路\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "外部网路\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "计时\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "计时\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "机械式机台\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "机械式机台\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "需要装饰图\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "需要装饰图\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "需要可点击的装饰图\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "支援檯面型筐体\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "驱动程序为 BIOS\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "驱动程序为 BIOS\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "支援即时存档\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "支援即时存档\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "画面方向\t垂直\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "画面方向\t水平\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "需要 CHD\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "需要 CHD\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "ROM 校验结果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM 校验结果\t错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "采样文件校验结果\t不需要\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "样本档校验结果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "样本档校验结果\t错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1816,341 +2106,526 @@ msgstr ""
"ROM 验证 \t停用\n"
"采样文件验证 \t停用\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Rom组: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "系统: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "选项清单 - 搜寻: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "双击或按下 %1$s 以选择"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "校验标记为不可用的 %1$u 机台的 ROM 档案?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "校验所有 %1$u 机台的 ROM 档案?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(结果将保存在 %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
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"
+"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/sndmenu.cpp:135
-msgid "Sound"
-msgstr "声音"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "开始校验"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "采样率"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "显示全部"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "使用外部采样文件"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "隐藏过滤器"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "其他选项"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "隐藏信息/图片"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "重新选择上次执行的机台"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "隐藏两者"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "放大右侧面版的图片"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "字体"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "显示鼠标指标"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "颜色"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "确认离开机台"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "显示侧面版"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "略过起始的信息画面"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "连发设定"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "强制撷图显示比例为 4:3"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "缺省"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "使用图片作为背景"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UI 字体"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "略过 BIOS 选择菜单"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "粗体"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "略过软件部分选择菜单"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "斜体"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "信息自动校验"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "行"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "在可用清单中隐藏无 ROM 机台"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "信息字体大小"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "进阶选项"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "UI 字体设定"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "效能选项"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "采样文字 - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "自动省略画格"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "一般文本"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "省略画格"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "选择色彩"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "限制速度"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "一般文本背景"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "休眠"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "选择背景颜色"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "速度"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "子项目颜色"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "更新速度"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "克隆"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "选转选项"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "边框"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "右旋转"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "背景"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "左旋转"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "机械设定开关"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "自动右旋转"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "未拥有游戏颜色"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "自动左旋转"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "参数调整"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "翻转 X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "图形检视器背景"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "翻转 Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "鼠标经过颜色"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "装饰图选项"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "鼠标经过背景颜色"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "装饰图裁切"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "鼠标按下颜色"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "使用背景图"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "鼠标按下背景颜色"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "使用复叠图"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "还原至原本颜色"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "使用外框图"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "UI 色彩设定"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "使用控制面版图"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "双击或按下 %1$s 以改变颜色值"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "使用机台标题图"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "菜单预览"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "状态/播放选项"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "一般"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "自动储存/还原"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "子项目"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "倒转容量"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "已选择"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "双线过滤撷图"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "鼠标经过"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "烙印撷图"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB 设定"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "输入选项"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "透明度"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "投币锁定"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "红"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "鼠标"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "绿"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "摇杆"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "蓝"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "光线枪"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "从色盘选择"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "多重键盘"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "颜色预览="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "多鼠标"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "白"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "稳定键"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "银"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI 启动"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "灰"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "画面外重新装填"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "黑"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "摇杆无反应区"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "橘"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "摇杆饱和值"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "黄"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "自然键盘"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "紫"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "同时发生的对立状况"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "投币脉冲"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "新条码:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "装置映对"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "输入条码"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "分配光线枪装置"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "条码长度无效!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "分配轨迹球装置"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "输入设定 (一般)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "分配踏板装置"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "输入设定 (本机器)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "分配 Adstick 装置"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "类比控制"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "分配划桨装置"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "分配转盘装置"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "机器设定"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "分配指向装置"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "收入信息"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "分配鼠标装置"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "机器信息"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "视频模式"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "画面数"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "映像档信息"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "三重缓冲"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "文件管理器"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "磁带控制"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "选择 BIOS"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "双线过滤"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "插槽设备"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "点阵图预缩放"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "条码读取器"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "视窗模式"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "网路装置"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "强制比例"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "参数调整"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "最大化开始"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "十字准星选项"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "同步更新"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "游戏作弊"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "等待垂直同步"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "插件选项"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "檢視外部文件"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "选择新机器"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "控制面板"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "装饰图预览"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "游戏结束"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "新增或移除最爱"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "汇出显示的清单至档案"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "显示文件检视"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "软件部分选项: "
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "选择 BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "软件相容于: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "软件为主档"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "已支援: 否"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "已支援: 部分"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "已支援: 是"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Rom套: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "驱动相容于: %-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "驱动为主档"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "图像"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "信息"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+"选定系统所需要的 ROM / 磁碟映像档为缺少或不正确。"
+"请取得正确的档案或选择不同的系统。\n"
+"\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+"选定软体所需要的 ROM / 磁碟映像档为缺少或不正确。"
+"请取得正确的档案或选择不同的软体项目。\n"
+"\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr "不正确的检查码"
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr "不正确的长度"
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr "未找到"
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr "%1$s (%2$s) - %3$s\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr "%1$s - %2$s\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "按任意键继续。"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "用法"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "一般信息"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "声音"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2167,7 +2642,7 @@ msgstr ""
"\n"
"已选用的选项启用下列项目:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2184,60 +2659,34 @@ msgstr ""
"\n"
"如选用此选项,下列项目將启用:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* 视频:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr " 画面 '%1$s': %2$d × %3$d (V) %4$s Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr " 画面 '%1$s': %2$d × %3$d (H) %4$s Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* 声音:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2246,637 +2695,145 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* 指拨开关设定:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* 配置设定:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* 输入装置:"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* 媒体选项:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* 插槽选项:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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 "色盘"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+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 "当前时数"
-
-#: plugins/timer/init.lua:96
-msgid "Total time"
-msgstr "总时数"
-
-#: plugins/timer/init.lua:98
-msgid "Play Count"
-msgstr "游戏次数"
-
-#: plugins/timer/init.lua:106
-msgid "Timer"
-msgstr "计时器"
-
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
-msgstr "选择要设定热键的作弊码"
-
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "按下热键按钮或等待清除"
-
-#: plugins/cheat/init.lua:546
-msgid "None"
-msgstr "无"
-
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "完成"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
-msgstr "设定"
-
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
-msgstr "设定热键"
-
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
-msgstr "已激活: %s = %s"
-
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
-msgstr "已激活: %s"
-
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
-msgstr "启用: %s"
-
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
-msgstr "停用: %s"
-
-#: plugins/cheat/init.lua:867
-#, lua-format
-msgid "%s added"
-msgstr "%s 已加入"
-
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "出招表"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
-msgstr "高分"
-
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "历史"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
-msgstr ""
-"\n"
-"\n"
-"--- 驱动程式信息 ---\n"
-"驱动程式: "
-
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "MESSinfo"
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "系统信息"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARP得分"
-
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:388
msgid "Save Cheat"
msgstr "储存作弊码"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:391
msgid "Default"
msgstr "缺省"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:391
msgid "Custom"
msgstr "自订"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:392
msgid "Cheat Name"
msgstr "作弊码名称"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
#, lua-format
msgid "Default name is %s"
msgstr "缺省名称为 %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:406
msgid "Player"
msgstr "玩家"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:411
msgid "Type"
msgstr "类型"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
+msgstr "(空)"
+
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr "可输入任意类型名称"
+
+#: plugins/cheatfind/init.lua:436
msgid "Save"
msgstr "储存"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr "类型名称为空"
+
+#: plugins/cheatfind/init.lua:468
#, 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:478
msgid "Cheat added to cheat.simple"
msgstr "作弊码已加入至 cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:483
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2884,240 +2841,219 @@ msgstr ""
"无法写入档案\n"
"确认 cheatpath 资料夹是否存在"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
msgid "Cancel"
msgstr "取消"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:497
msgid "CPU or RAM"
msgstr "CPU 或内存"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:501
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "此变更仅当选定 \"开始新搜寻\" 时生效"
-#: plugins/cheatfind/init.lua:504
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr "自动"
+
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr "手动"
+
+#: plugins/cheatfind/init.lua:511
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:518
+msgid "Manually toggle pause when needed"
+msgstr "当需要时手动切换暂停"
-#: plugins/cheatfind/init.lua:536
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr "萤幕选单出现时自动切换暂停"
+
+#: plugins/cheatfind/init.lua:542
msgid "All slots cleared and current state saved to Slot 1"
msgstr "全部插槽已清除且目前状态已储存至插槽 1"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:554
msgid "Start new search"
msgstr "开始新搜寻"
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "Memory state saved to Slot %d"
msgstr "记忆体状态已储存至插槽 %d"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr "储存现有的记忆体状态至插槽"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
+msgstr "储存现有的记忆体状态至插槽 %d"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:612
#, lua-format
msgid "%d total matches found"
msgstr "总计发现 %d 符合"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr "进行比较 :"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr "执行比较:插槽 $d %s 插槽 %d"
+
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+msgstr "执行比较 : 插槽 %d %s 插槽 %d %s %d"
+
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr "执行比较 : 插槽 %d BITWISE%s 插槽 %d"
+
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+msgstr "执行比较 : 插槽 %d %s %d"
+
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
+msgstr "插槽 %d"
-#: plugins/cheatfind/init.lua:672
+#: plugins/cheatfind/init.lua:675
msgid "Left less than right"
msgstr "左值少于右值"
-#: plugins/cheatfind/init.lua:674
+#: plugins/cheatfind/init.lua:677
msgid "Left greater than right"
msgstr "左值多于右值"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:679
msgid "Left equal to right"
msgstr "左值等于右值"
-#: plugins/cheatfind/init.lua:678
+#: plugins/cheatfind/init.lua:681
msgid "Left not equal to right"
msgstr "左值不等于右值"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:683
msgid "Left equal to right with bitmask"
msgstr "位元遮罩下左值等于右值"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:685
msgid "Left not equal to right with bitmask"
msgstr "位元遮罩下左值不等于右值"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:687
msgid "Left less than value"
msgstr "左值少于原值"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:689
msgid "Left greater than value"
msgstr "左值多于原值"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:691
msgid "Left equal to value"
msgstr "左值等于原值"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:693
msgid "Left not equal to value"
msgstr "左值不等于原值"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:715
msgid "Value"
msgstr "值"
-#: plugins/cheatfind/init.lua:714
+#: plugins/cheatfind/init.lua:717
msgid "Difference"
msgstr "差异"
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:722
msgid "Any"
msgstr "任意"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:728
msgid "Data Format"
msgstr "资料格式"
-#: plugins/cheatfind/init.lua:731
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:737
msgid "Test/Write Poke Value"
msgstr "测试/写入塞入值"
-#: plugins/cheatfind/init.lua:738
+#: plugins/cheatfind/init.lua:744
msgid ""
"Use this if you want to poke the Slot 1 value (eg. You started with "
"something but lost it)"
msgstr ""
"如果你想塞入插槽 1 的值(如你开始某事但忘了),用这个"
-#: plugins/cheatfind/init.lua:740
+#: plugins/cheatfind/init.lua:746
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 "如果你想塞入 0x00 ,用这个"
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr "如果你想塞入 0x01 ,用这个"
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr "如果你想塞入 0x02 ,用这个"
-
#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr "如果你想塞入 0x03 ,用这个"
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr "如果你想塞入 0x04 ,用这个"
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr "如果你想塞入 0x05 ,用这个"
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr "如果你想塞入 0x06 ,用这个"
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr "如果你想塞入 0x07 ,用这个"
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr "如果你想塞入 0x08 ,用这个"
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr "如果你想塞入 0x09 ,用这个"
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr "如果你想塞入 0x63 (十进位的 99),用这个"
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr "如果你想塞入 0x99 (二进位的 99),用这个"
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr "如果你想塞入 0xFF (十进位的 255),用这个"
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr "如果你想塞入 0x3E7 (十进位的 999),用这个"
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr "如果你想塞入 0x999 (二进位的 999),用这个"
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr "如果你想塞入 0x270F (十进位的 9999),用这个"
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr "如果你想塞入 0x9999 (二进位的 9999),用这个"
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr "如果你想塞入 %s,用这个"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr "如果你想塞入 0xFFFF (十进位的 65535),用这个"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr "仅对齐"
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:787
msgid "Undo last search -- #"
msgstr "撤销前次搜寻 -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:791
msgid "Match block"
msgstr "符合区块"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:794
msgid "All"
msgstr "所有"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr "测试作弊码 %08X:%02X"
+msgid "Test Cheat %08X_%02X"
+msgstr "测试作弊码 %08X_%02X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:943
msgid "Cheat engine not available"
msgstr "作弊引擎不可用"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Test"
msgstr "测试"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Write"
msgstr "写入"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Watch"
msgstr "监视"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:1016
msgid "Page"
msgstr "页"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:1034
msgid "Clear Watches"
msgstr "清除监视"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:1049
msgid "Cheat Finder"
msgstr "作弊码搜寻器"
@@ -3139,51 +3075,178 @@ msgstr "输入埠名称档案保存至 %s"
msgid "Input ports"
msgstr "输入埠"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "清除资料并储存当前状态"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr "载入连射选单时失败"
-#~ msgid "Current state saved"
-#~ msgstr "已储存当前状态"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr "连发"
-#~ msgid "Save current -- #"
-#~ msgstr "储存当前 -- #"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr "连发按钮"
-#~ msgid "Compare"
-#~ msgstr "比较"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr "按下 $s 删除"
+
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr "新增连发按钮"
+
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr "未设定"
-#~ msgid "Left operand"
-#~ msgstr "左运算元"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr "输入"
-#~ msgid "Current"
-#~ msgstr "当前"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr "热键"
+
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#~ msgid "Operator"
-#~ msgstr "运算子"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "左值小于右值,数值已改变"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "左值大于右值,数值已改变"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "左值不等于右值,数值已改变"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#~ msgid "Right operand"
-#~ msgstr "右运算元"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr "编辑连发按钮"
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "在位址 %08X 测试作弊码"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "完成"
-#~ msgid ""
-#~ "ROM Audit Disabled\t\n"
-#~ "Samples Audit Disabled\t\n"
-#~ msgstr ""
-#~ "ROM 校验已停用\t\n"
-#~ "样本档校验已停用\t\n"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
-#~ msgid "Activated"
-#~ msgstr "已激活"
+#: plugins/timer/init.lua:94
+msgid "Current time"
+msgstr "当前时数"
-#~ msgid " added"
-#~ msgstr " 已加入"
+#: plugins/timer/init.lua:96
+msgid "Total time"
+msgstr "总时数"
+
+#: plugins/timer/init.lua:98
+msgid "Play Count"
+msgstr "游戏次数"
+
+#: plugins/timer/init.lua:106
+msgid "Timer"
+msgstr "计时器"
+
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
+msgstr "选择要设定热键的作弊码"
+
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr "按下 %s 清除热键"
+
+#: plugins/cheat/init.lua:645
+msgid "None"
+msgstr "无"
+
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
+msgstr "设定"
+
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
+msgstr "设定热键"
+
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
+msgstr "已激活: %s = %s"
+
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
+msgstr "已激活: %s"
+
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
+msgstr "启用: %s"
+
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
+msgstr "停用: %s"
+
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
+msgstr "%s 已加入"
+
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "出招表"
+
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "系统信息"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
+msgstr "高分"
+
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARP得分"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "历史"
+
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
+msgstr ""
+"\n"
+"\n"
+"--- 驱动程式信息 ---\n"
+"驱动程式: "
+
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "MESSinfo"
+
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
diff --git a/language/Chinese_Traditional/strings.po b/language/Chinese_Traditional/strings.po
index 99bcfd1713a..522314d1fc0 100644
--- a/language/Chinese_Traditional/strings.po
+++ b/language/Chinese_Traditional/strings.po
@@ -8,8 +8,8 @@ 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-03-18 06:50+0800\n"
+"POT-Creation-Date: 2021-05-29 22:30+1000\n"
+"PO-Revision-Date: 2021-05-30 17:40+0800\n"
"Last-Translator: YuiFAN\n"
"Language-Team: MAME Language Team\n"
"Language: zh_TW\n"
@@ -17,1798 +17,2088 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "畫面 #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"按任意鍵繼續"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "此驅動需要額外載入下列裝置的映像檔: "
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "覆疊圖"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
+"啟用 UI 控制\n"
+"以 %1$s 切換"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "外框圖"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
+"停用 UI 控制\n"
+"以 %1$s 切換"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "操作檯"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "標籤圖"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "主音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "檢視"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "裁切"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "超頻 CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全部"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "超頻 %1$s 聲音"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s 更新率"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "軟體媒體"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 亮度"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "使用者介面"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s 對比"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "語言"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma 值"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "樣本檔"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 水平延展"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "文件"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 水平位置"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 垂直延展"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "類別 INI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 垂直位置"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "圖示"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "雷射影碟 %1$s 水平延展"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "作弊引擎"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "雷射影碟 %1$s 水平位置"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "擷圖"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "雷射影碟 %1$s 垂直延展"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "筐體圖"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "雷射影碟 %1$s 垂直位置"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "廣告圖"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "向量閃爍度"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "標題圖"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "最小光束寬度"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "結束圖"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "最大光束寬度"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB 圖"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr "光束點大小"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "操作檯"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "光束強度"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "十字準星"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "十字準星尺度 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "裝飾圖"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "首領"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "裝飾圖預覽"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "十字準星位移 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "選擇"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "遊戲結束"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "說明圖"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "標題圖"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "得分"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "對戰"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "十字準星尺度 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "封面"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "十字準星尺度 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "資料夾設定"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "十字準星位移 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "目前 %1$s 資料夾"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "十字準星位移 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "變更資料夾"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**儲存 ui.ini 時發生錯誤**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "新增資料夾"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**儲存 %s.ini 時發生錯誤**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "移除資料夾"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" 設定已儲存 \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "變更 %1$s 資料夾 - 搜尋: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" 已新增至最愛清單。"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "新增 %1$s 資料夾 - 搜尋: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "按下 TAB 鍵設定"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" 已從最愛清單移除。"
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "移除 %1$s 資料夾"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "選項清單 - 搜尋: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 軟體套件 )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "雙擊或按下 %1$s 以選擇"
+msgid "Driver: \"%1$s\" software list "
+msgstr "驅動程式: \"%1$s\" 軟體清單 "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "已停止"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - 搜尋: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "正在執行"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "搜尋: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(正在執行)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "正在記錄"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "聲音選項"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(正在記錄)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "一般輸入"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "暫停/停止"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "儲存設定"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "執行"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "設定"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "記錄"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "篩選"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "倒帶"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "自訂 UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "快進"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "設定目錄"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[空插槽]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[ 檔案管理員 ]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[建立]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[軟體清單]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "切換項目順序"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "切換順序:目前項目依照 %s 排序"
+msgid "Error accessing %s"
+msgstr "錯誤存取 %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "短檔名"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "選擇存取模式"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "描述"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "唯讀"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[ 完整清單 ]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "讀寫"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "軟體用法"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "讀取此映像檔,寫入至其他映像檔"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "版本: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "讀取此映像檔,寫入差異檔"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "檔案已存在 — 是否覆蓋?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "其他選項"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "否"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr "略過未完整模擬的警示訊息"
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "是"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr "重新選擇上次執行的機台"
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "新映像檔名稱:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "放大右側面版的圖片"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "映像檔格式"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "作弊引擎"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "建立"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "顯示滑鼠指標"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "請一併輸入副檔名"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "確認離開機台"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "選擇映像檔格式"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "略過起始的資訊畫面"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "輸入設定 (一般)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "強制擷圖顯示比例為 4:3"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "輸入設定 (本機台)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "使用圖片作為背景"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "類比控制"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "略過 BIOS 選擇選單"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "機台設定開關"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "略過軟體部分選擇選單"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "機台設定"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "資訊自動驗證"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "收入資訊"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "在可用清單中隱藏無 ROM 機台"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "機台資訊"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "進階選項"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "映像檔資訊"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "效能選項"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "檔案管理員"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "自動省略畫格"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "磁帶控制"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "省略畫格"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "偽終端"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "限制速度"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "選擇 BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr "當未限制速度時靜音"
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "插槽裝置"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "休眠"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "條碼讀取器"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "速度"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "網路裝置"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr "調整速度以符合更新率"
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "鍵盤模式"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr "低延遲"
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "參數調整"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "選轉選項"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "視訊選項"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "旋轉"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "十字準星選項"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "右旋轉"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "作弊引擎"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "左旋轉"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "外掛選項"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "自動右旋轉"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "查閱外部文件"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "自動左旋轉"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "新增至最愛"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "翻轉 X"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "從最愛移除"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "翻轉 Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "選擇新機台"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "裝飾圖選項"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "新條碼:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr "縮放至畫面區域"
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "輸入條碼"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "狀態/播放選項"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "條碼長度無效!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "自動儲存/還原"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[ 錯誤 ]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr "允許倒帶"
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "聲音選項"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "倒帶容量"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "一般輸入"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr "供截圖使用的雙線過濾"
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "儲存設定"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "烙印擷圖"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "設定"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "輸入選項"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "篩選"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "投幣鎖定"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "自訂 UI"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "滑鼠"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "設定目錄"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"選定的遊戲缺少一個至多個必要的 ROM 或 CHD 映像檔,請選擇其他遊戲。\n"
-"按任意鍵繼續。"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+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 ""
-"找不到機台,請檢查 %1$s.ini 的 ROM 目錄設定\n"
-"\n"
-"如果是首次使用 %2$s,請參閱 docs 目錄中的 config.txt 以取得設定 %2$s 的相關資"
-"訊。"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "多重鍵盤"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "設定選項"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "多重滑鼠"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "輸入名稱或選擇: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "穩定鍵"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "輸入名稱或選擇: (隨機)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI 啟動"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "搖桿無反應區"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "驅動程式: %-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "搖桿飽和值"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "整體: 不可執行"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "自然鍵盤"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "整體: 未模擬保護"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "同時發生的對立狀況"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "整體: 可以執行"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "投幣脈衝"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "圖形: 不完整,"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "裝置映對"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "圖形: 不完美, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "分配光線槍裝置"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "圖形: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "分配軌跡球裝置"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "聲音: 無"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "分配踏板裝置"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "聲音: 無法執行"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "分配 Adstick 裝置"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "聲音: 不完美"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "分配划槳裝置"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "聲音: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "分配轉盤裝置"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "載入狀態"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "分配指向裝置"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "選擇載入位置"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "分配滑鼠裝置"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "儲存狀態"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "視訊選項"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "選擇儲存位置"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+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:116
+msgid "Number Of Screens"
+msgstr "畫面數"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "三重緩衝"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "模式: 部分模擬"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 已啟用"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "雙線過濾"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "模式: 完整模擬"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "點陣圖預縮放"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 已停用"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "視窗模式"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "無法啟用連射"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+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:126
+msgid "Start Out Maximized"
+msgstr "最大化開始"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "主音量"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "同步更新"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 音量"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "等待垂直同步"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "超頻 CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "開"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "超頻 %1$s 聲音"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "關"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s 更新率"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "自動"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 亮度"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr "啟動機台"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s 對比"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "回到機台"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma 值"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "結束"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 水平延展"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "回上一層選單"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 水平位置"
+msgid "Screen #%d"
+msgstr "畫面 #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 垂直延展"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr "縮放至畫面區域"
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 垂直位置"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr "僅 X 軸"
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "雷射影碟 %1$s 水平延展"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr "僅 Y 軸"
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "雷射影碟 %1$s 水平位置"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr "X 軸或 Y 週(自動)"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "雷射影碟 %1$s 垂直延展"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr "非整數縮放"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "雷射影碟 %1$s 垂直位置"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr "維持長寬比例"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "向量閃爍度"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr "正在錄製時無法變更選項!"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "最小光束寬度"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "保護"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "最大光束寬度"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "計時"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "光束強度"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "圖形"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "十字準星尺度 %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "色盤"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "聲音"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr "擷取硬體"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "十字準星位移 %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "相機"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "麥克風"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "控制"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "鍵盤"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+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:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr "磁帶"
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr "打孔帶"
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr "磁鼓"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**儲存 ui.ini 時發生錯誤**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr "固態儲存"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**儲存 %s.ini 時發生錯誤**"
+#: 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/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
msgstr ""
-"\n"
-" 設定已儲存 \n"
+"本機台已知具有下列的問題\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"作弊碼註解:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "本機台有一個或更多的 ROM/CHD 尚未正確地被 DUMP。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "全部作弊碼已重新載入"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "未完整模擬功能: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "連射設定"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "全部重設"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "全部重新載入"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "未完美模擬功能: "
+
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "尚未支援檯面型筐體模式的畫面翻轉。"
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "此機台需要額外的裝飾圖檔"
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "連射狀態"
+#: src/frontend/mame/ui/info.cpp:285
+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:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr "本機台無聲音硬體,故 MAME 將不會產生聲音,這是可預期的行為。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "此機台上無可用按鍵!"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "連射延遲"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require 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:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" 已新增至最愛清單。"
+"\n"
+"\n"
+"本機台尚有可執行的仿製版: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" 已從最愛清單移除。"
+"%1$s\n"
+"%2$s %3$s\n"
+"驅動程式: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr "GHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr "Hz"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"選定的軟體缺少一個至多個必要的 ROM 或 CHD 映像檔,請選擇其他軟體。\n"
"\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"視訊:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "無\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "向量"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 軟體套件 )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "驅動程式: \"%1$s\" 軟體清單 "
+msgid "Screen '%1$s'"
+msgstr "畫面 '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "畫面"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "不支援"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "部分支援"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[ 空 ]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[ 檔案管理員 ]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "切換項目順序"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - 搜尋: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "切換順序:目前項目依照 %s 排序"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "短檔名"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "描述"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[ 完整清單 ]"
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "檔案已存在 — 是否覆蓋?"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr "否"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "建立"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "請一併輸入副檔名"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "選擇映像檔格式"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr "選擇初始化內容"
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "鍵盤模式"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "自然"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "模擬"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "搜尋: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr "%1$s [root%2$s]"
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr "[root%2$s]"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "已啟用"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "已停用"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "未篩選"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "可用"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "不可用"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "可以執行"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "不可執行"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "機械式"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "非機械式"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "類別"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "最愛"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "非 BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "母檔"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "仿製版"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "製造商"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "年代"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "已支援即時存檔"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "未支援即時存檔"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "需要 CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "不需要 CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "垂直螢幕"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "水平螢幕"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "自訂篩選"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "出版商"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "已支援"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "部分支援"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "不支援"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "釋出區域"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "裝置類別"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "軟體清單"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<設定篩選>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "選擇自訂篩選:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "篩選 %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "移除最後篩選"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "新增篩選"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "選擇類別:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[沒有類別 INI 檔案]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[INI 檔案中無群組]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "沒有找到類別 INI 檔案"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "檔案"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "類別檔案中沒有找到群組"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "群組"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "包含仿製版"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[建立]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "軟體用法"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "錯誤存取 %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "版本: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "選擇存取模式"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "重設"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "唯讀"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "讀寫"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"執行時間: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "讀取此映像檔,寫入至其他映像檔"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"彩票分配數: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "讀取此映像檔,寫入差異檔"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "投幣數 %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [內部]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "投幣數 %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (已鎖定)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色彩"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr "P$d 可見度"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr "P%d 十字準星"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "回到機台"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "可見度延遲"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "結束"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml 已儲存於 ui 資料夾下。"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "回上一層選單"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "名稱: 描述:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt 已儲存於 ui 資料夾下。"
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "匯出 XML 格式清單 (同 -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自動"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "匯出 TXT 格式清單 (同 -listxml,但不包含裝置)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "顯示全部"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "匯出 TXT 格式清單 (同 -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "隱藏篩選"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "驅動程式"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "隱藏資訊/圖片"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "此機台沒有 BIOS。"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "隱藏兩者"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "新增至最愛"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "字體"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "從最愛移除"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "顏色"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr "儲存機台設定"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "顯示側面版"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr "設定機台:"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "連射設定"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (預設)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "預設"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "外掛"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UI 字體"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "偽終端"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "粗體"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[ 錯誤 ]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "斜體"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr "未找到已儲存的狀態"
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "行"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "載入狀態"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "資訊字體大小"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr "選擇要載入的狀態"
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "UI 字體設定"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "儲存狀態"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "文字樣本~永東國酬愛鬱靈鷹袋、南去經三國,東來過五湖。"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr "按下鍵盤按鍵、搖桿按鈕或選擇狀態以覆寫"
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "一般文字"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [內部]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "選擇色彩"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "使用者介面"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "一般文字背景"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr "玩家 %1$d 控制"
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "已選擇背景顏色"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "其他控制"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "子項目顏色"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr "此機台沒有輸入對應表"
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "相容版本"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr "按住"
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "邊框"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr "輸入了無效序列"
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "背景"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr "[root%1$s]"
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "機台設定開關"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr "按下 %1$s 設定\n"
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "未擁有遊戲顏色"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr "按下 %1$s 加入\n"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "參數調整"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr "按下 %1$s 清除\n"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "圖形檢視器背景"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr "按下 %1$s 還原預設值\n"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "滑鼠經過顏色"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "已停止"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "滑鼠經過背景顏色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "正在執行"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "滑鼠按下顏色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(正在執行)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "滑鼠按下背景顏色"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "正在錄製"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "還原至原本顏色"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(正在錄製)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "UI 色彩設定"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "暫停/停止"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "雙擊或按下 %1$s 以改變顏色值"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "執行"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "選單預覽"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "記錄"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "一般項目"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "倒帶"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "子項目"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "快進"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "已選擇"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "無法跨目錄儲存"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "滑鼠經過"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr "選定的軟體缺少一個或多個必要的 ROM 或 CHD 映像檔\n"
+"請取得正確的檔案或選擇不同的檔案。"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB 設定"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"選定的遊戲缺少一個至多個必要的 ROM 或 CHD 映像檔,請選擇其他遊戲。\n"
+"按任意鍵繼續。"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "透明度"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"找不到機台,請檢查 %1$s.ini 的 ROM 目錄設定\n"
+"\n"
+"如果是首次使用 %2$s,請參閱 docs 目錄中的 config.txt 以取得設定 %2$s 的相關"
+"資訊。"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "紅"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "設定選項"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "綠"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "輸入名稱或選擇: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "藍"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "輸入名稱或選擇: (隨機)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "從色盤選擇"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "顏色預覽 ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "驅動程式: %-.100s\n"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "白"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "整體: 不可執行"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "銀"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "整體: 未模擬保護"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "灰"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "整體: 可以執行"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "黑"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "圖形: 不完整,"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "橘"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "圖形: 不完美, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "黃"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "圖形: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "紫"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "聲音: 無"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "鍵盤模式:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "聲音: 無法執行"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "自然"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "聲音: 不完美"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "模擬"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "聲音: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"執行時間: %1$d:%2$02d:%3$02d\n"
-"\n"
+"作弊碼註解:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "全部重新載入"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (已鎖定)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "軟體媒體"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "可見度延遲"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "語言"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "名稱: 描述:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "樣本檔"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "文件"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "類別 INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "圖示"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "擷圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "筐體圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "廣告圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "標題圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "結束圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB 圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "標籤圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "操作檯"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "十字準星"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "裝飾圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "首領"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "裝飾圖預覽"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "選擇"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "遊戲結束"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "說明圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "標題圖"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "得分"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "對戰"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "封面"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "資料夾設定"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt 已儲存於 ui 資料夾下。"
+msgid "Current %1$s Folders"
+msgstr "目前 %1$s 資料夾"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "匯出 XML 格式清單 (同 -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "新增資料夾"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "匯出 TXT 格式清單 (同 -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "移除資料夾"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "驅動程式"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "變更 %1$s 資料夾 - 搜尋: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "此機台沒有 BIOS。"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "新增 %1$s 資料夾 - 搜尋: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "儲存機台設定"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "按下 TAB 鍵設定"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "設定機台:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "移除 %1$s 資料夾"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (預設)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " 色彩"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "外掛"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "設定機台"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "驅動程式為主檔\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "類比控制\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "鍵盤輸入\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "整體\t不可執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "整體\t未模擬保護\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "整體\t可以執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "圖形\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "圖形\t色彩錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "圖形\t色彩不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "圖形\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "圖形\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "聲音\t無\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "聲音\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "聲音\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "聲音\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr "擷取\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr "擷取\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "相機\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "相機\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "麥克風\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "麥克風\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "控制\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "控制\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "鍵盤\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "鍵盤\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "滑鼠\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "滑鼠\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr "媒體\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr "媒體\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "磁碟\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "磁碟\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "印表機\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "印表機\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr "磁帶\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr "磁帶\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr "打孔帶\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr "打孔帶\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr "磁鼓\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr "磁鼓\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr "(EP)ROM\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr "(EP)ROM\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr "通訊\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr "通訊\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "區域網路\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "區域網路\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "外部網路\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "外部網路\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "計時\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "計時\t不完美\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "機械式機台\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "機械式機台\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "需要裝飾圖\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "需要裝飾圖\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "需要可點擊的裝飾圖\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "支援檯面型筐體\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "驅動程式為 BIOS\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "驅動程式為 BIOS\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "支援即時存檔\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "支援即時存檔\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "畫面方向\t垂直\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "畫面方向\t水平\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "需要 CHD\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "需要 CHD\t否\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "ROM 驗證結果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM 驗證結果\t錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "樣本檔驗證結果\t不需要\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "樣本檔驗證結果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "樣本檔驗證結果\t錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1816,341 +2106,526 @@ msgstr ""
"ROM 驗證 \t停用\n"
"樣本檔驗證 \t停用\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Rom組: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "系統: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "選項清單 - 搜尋: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "雙擊或按下 %1$s 以選擇"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "驗證標記為不可用的 %1$u 機台 ROM 檔?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "驗證所有 %1$u 機台的 ROM 檔?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(結果將儲存至 %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
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"
+"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/sndmenu.cpp:135
-msgid "Sound"
-msgstr "聲音"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "開始驗證"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "取樣頻率"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "顯示全部"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "使用外部樣本檔"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "隱藏篩選"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "其他選項"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "隱藏資訊/圖片"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "重新選擇上次執行的機台"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "隱藏兩者"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "放大右側面版的圖片"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "字體"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "顯示滑鼠指標"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "顏色"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "確認離開機台"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "顯示側面版"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "略過起始的資訊畫面"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "連射設定"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "強制擷圖顯示比例為 4:3"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "預設"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "使用圖片作為背景"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UI 字體"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "略過 BIOS 選擇選單"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "粗體"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "略過軟體部分選擇選單"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "斜體"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "資訊自動驗證"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "行"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "在可用清單中隱藏無 ROM 機台"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "資訊字體大小"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "進階選項"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "UI 字體設定"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "效能選項"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "文字樣本~永東國酬愛鬱靈鷹袋、南去經三國,東來過五湖。"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "自動省略畫格"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "一般文字"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "省略畫格"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "選擇色彩"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "限制速度"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "一般文字背景"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "休眠"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "已選擇背景顏色"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "速度"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "子項目顏色"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "更新速度"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "相容版本"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "選轉選項"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "邊框"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "右旋轉"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "背景"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "左旋轉"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "機台設定開關"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "自動右旋轉"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "未擁有遊戲顏色"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "自動左旋轉"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "參數調整"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "翻轉 X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "圖形檢視器背景"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "翻轉 Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "滑鼠經過顏色"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "裝飾圖選項"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "滑鼠經過背景顏色"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "裝飾圖裁切"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "滑鼠按下顏色"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "使用背景圖"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "滑鼠按下背景顏色"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "使用覆疊圖"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "還原至原本顏色"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "使用外框圖"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "UI 色彩設定"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "使用控制面版圖"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "雙擊或按下 %1$s 以改變顏色值"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "使用機檯標題圖"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "選單預覽"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "狀態/播放選項"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "一般項目"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "自動儲存/還原"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "子項目"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "倒轉容量"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "已選擇"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "雙線過濾擷圖"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "滑鼠經過"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "烙印擷圖"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB 設定"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "輸入選項"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "透明度"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "投幣鎖定"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "紅"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "滑鼠"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "綠"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "搖桿"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "藍"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "光線槍"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "從色盤選擇"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "多重鍵盤"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "顏色預覽 ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "多重滑鼠"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "白"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "穩定鍵"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "銀"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI 啟動"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "灰"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "畫面外重新裝填"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "黑"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "搖桿無反應區"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "橘"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "搖桿飽和值"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "黃"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "自然鍵盤"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "紫"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "同時發生的對立狀況"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "投幣脈衝"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "新條碼:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "裝置映對"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "輸入條碼"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "分配光線槍裝置"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "條碼長度無效!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "分配軌跡球裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "輸入設定 (一般)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "分配踏板裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "輸入設定 (本機台)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "分配 Adstick 裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "類比控制"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "分配划槳裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr "機台設定開關"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "分配轉盤裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "機台設定"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "分配指向裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "收入資訊"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "分配滑鼠裝置"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "機台資訊"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "視訊模式"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr "警示訊息"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "畫面數"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "映像檔資訊"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "三重緩衝"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "檔案管理員"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "磁帶控制"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "選擇 BIOS"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "雙線過濾"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "插槽裝置"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "點陣圖預縮放"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "條碼讀取器"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "視窗模式"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "網路裝置"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "強制比例"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "參數調整"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "最大化開始"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "十字準星選項"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "同步更新"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "作弊引擎"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "等待垂直同步"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "外掛選項"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "查閱外部文件"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr "關於 %s"
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "選擇新機台"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "操作檯"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "裝飾圖預覽"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "遊戲結束"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "新增或移除最愛"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "匯出顯示的清單至檔案"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "顯示文件檢視"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "軟體部分選項:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "選擇 BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "軟體相容於: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "軟體為主檔"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "已支援: 否"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "已支援: 部分"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "已支援: 是"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Rom組: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "驅動程式相容於: %-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "驅動程式為主檔"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "圖片"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "資訊"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+"選定系統所需要的 ROM / 磁碟映像檔為缺少或不正確。"
+"請取得正確的檔案或選擇不同的系統。\n"
+"\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+"選定軟體所需要的 ROM / 磁碟映像檔為缺少或不正確。"
+"請取得正確的檔案或選擇不同的軟體項目。\n"
+"\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr "不正確的檢查碼"
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr "不正確的長度"
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr "未找到"
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr "%1$s (%2$s) - %3$s\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr "%1$s - %2$s\n"
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "按任意鍵繼續。"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "用法"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2167,7 +2642,7 @@ msgstr ""
"\n"
"已選用的選項啟用下列項目:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2184,60 +2659,34 @@ msgstr ""
"\n"
"如選用此選項,下列項目將啟用:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* 視訊:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr " 畫面 '%1$s': %2$d × %3$d (V) %4$s Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr " 畫面 '%1$s': %2$d × %3$d (H) %4$s Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* 聲音:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2246,637 +2695,145 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* 指撥開關設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* 配置設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* 輸入裝置:"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* 媒體選項:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* 插槽選項:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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 "未完整模擬功能: "
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+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 "目前時數"
-
-#: plugins/timer/init.lua:96
-msgid "Total time"
-msgstr "總時數"
-
-#: plugins/timer/init.lua:98
-msgid "Play Count"
-msgstr "遊玩次數"
-
-#: plugins/timer/init.lua:106
-msgid "Timer"
-msgstr "計時器"
-
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
-msgstr "選擇要設定熱鍵的作弊碼"
-
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "按下熱鍵按鈕或等候清除"
-
-#: plugins/cheat/init.lua:546
-msgid "None"
-msgstr "無"
-
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "完成"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
-msgstr "設定"
-
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
-msgstr "設定熱鍵"
-
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
-msgstr "已啟動: %s = %s"
-
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
-msgstr "已啟動: %s"
-
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
-msgstr "啟用: %s"
-
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
-msgstr "已停用: %s"
-
-#: plugins/cheat/init.lua:867
-#, lua-format
-msgid "%s added"
-msgstr "$s 已加入"
-
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "指令集"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
-msgstr "高分檔"
-
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "歷史"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
-msgstr ""
-"\n"
-"\n"
-"--- 驅動程式資訊 ---\n"
-"驅動程式: "
-
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "MESSinfo"
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "系統資訊"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
-
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:388
msgid "Save Cheat"
msgstr "儲存作弊碼"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:391
msgid "Default"
msgstr "預設"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:391
msgid "Custom"
msgstr "自訂"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:392
msgid "Cheat Name"
msgstr "作弊碼名稱"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
#, lua-format
msgid "Default name is %s"
msgstr "預設名稱為 %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:406
msgid "Player"
msgstr "玩家"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:411
msgid "Type"
msgstr "類型"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
+msgstr "(空)"
+
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr "可輸入任意類型名稱"
+
+#: plugins/cheatfind/init.lua:436
msgid "Save"
msgstr "儲存"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr "類型名稱為空"
+
+#: plugins/cheatfind/init.lua:468
#, 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:478
msgid "Cheat added to cheat.simple"
msgstr "作弊碼已加入至 cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:483
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2884,240 +2841,219 @@ msgstr ""
"無法寫入檔案\n"
"確認 cheatpath 資料夾是否存在"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
msgid "Cancel"
msgstr "取消"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:497
msgid "CPU or RAM"
msgstr "CPU 或 RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:501
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "此變更僅當選定 \"開始新搜尋\" 時生效"
-#: plugins/cheatfind/init.lua:504
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr "自動"
+
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr "手動"
+
+#: plugins/cheatfind/init.lua:511
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:518
+msgid "Manually toggle pause when needed"
+msgstr "當需要時手動切換暫停"
+
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr "螢幕選單出現時自動切換暫停"
-#: plugins/cheatfind/init.lua:536
+#: plugins/cheatfind/init.lua:542
msgid "All slots cleared and current state saved to Slot 1"
msgstr "全部插槽已清除且目前狀態已儲存至插槽 1"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:554
msgid "Start new search"
msgstr "開始新搜尋"
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "Memory state saved to Slot %d"
msgstr "記憶體狀態已儲存至插槽 %d"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr "儲存現有的記憶體狀態至插槽"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
+msgstr "儲存現有的記憶體狀態至插槽 %d"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:612
#, lua-format
msgid "%d total matches found"
msgstr "總計發現 %d 符合"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr "進行比較 :"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr "執行比較:插槽 $d %s 插槽 %d"
+
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+msgstr "執行比較 : 插槽 %d %s 插槽 %d %s %d"
+
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr "執行比較 : 插槽 %d BITWISE%s 插槽 %d"
-#: plugins/cheatfind/init.lua:672
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+msgstr "執行比較 : 插槽 %d %s %d"
+
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
+msgstr "插槽 %d"
+
+#: plugins/cheatfind/init.lua:675
msgid "Left less than right"
msgstr "左值少於右值"
-#: plugins/cheatfind/init.lua:674
+#: plugins/cheatfind/init.lua:677
msgid "Left greater than right"
msgstr "左值多於右值"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:679
msgid "Left equal to right"
msgstr "左值等於右值"
-#: plugins/cheatfind/init.lua:678
+#: plugins/cheatfind/init.lua:681
msgid "Left not equal to right"
msgstr "左值不等於右值"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:683
msgid "Left equal to right with bitmask"
msgstr "位元遮罩下左值等於右值"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:685
msgid "Left not equal to right with bitmask"
msgstr "位元遮罩下左值不等於右值"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:687
msgid "Left less than value"
msgstr "左值少於原值"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:689
msgid "Left greater than value"
msgstr "左值多於原值"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:691
msgid "Left equal to value"
msgstr "左值等於原值"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:693
msgid "Left not equal to value"
msgstr "左值不等於原值"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:715
msgid "Value"
msgstr "值"
-#: plugins/cheatfind/init.lua:714
+#: plugins/cheatfind/init.lua:717
msgid "Difference"
msgstr "差異"
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:722
msgid "Any"
msgstr "任意"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:728
msgid "Data Format"
msgstr "資料格式"
-#: plugins/cheatfind/init.lua:731
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
+msgstr "插槽 1 的值"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr "最後插槽的值"
+
+#: plugins/cheatfind/init.lua:737
msgid "Test/Write Poke Value"
msgstr "測試/寫入塞入值"
-#: plugins/cheatfind/init.lua:738
+#: plugins/cheatfind/init.lua:744
msgid ""
"Use this if you want to poke the Slot 1 value (eg. You started with "
"something but lost it)"
msgstr ""
"如果你想塞入插槽 1 的值(如你開始某事但忘了),用這個"
-#: plugins/cheatfind/init.lua:740
+#: plugins/cheatfind/init.lua:746
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 "如果你想塞入 0x00 ,用這個"
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr "如果你想塞入 0x01 ,用這個"
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr "如果你想塞入 0x02 ,用這個"
-
#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr "如果你想塞入 0x03 ,用這個"
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr "如果你想塞入 0x04 ,用這個"
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr "如果你想塞入 0x05 ,用這個"
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr "如果你想塞入 0x06 ,用這個"
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr "如果你想塞入 0x07 ,用這個"
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr "如果你想塞入 0x08 ,用這個"
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr "如果你想塞入 0x09 ,用這個"
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr "如果你想塞入 0x63 (十進位的 99),用這個"
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr "如果你想塞入 0x99 (二進位的 99),用這個"
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr "如果你想塞入 0xFF (十進位的 255),用這個"
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr "如果你想塞入 0x3E7 (十進位的 999),用這個"
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr "如果你想塞入 0x999 (二進位的 999),用這個"
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr "如果你想塞入 0x270F (十進位的 9999),用這個"
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr "如果你想塞入 0x9999 (二進位的 9999),用這個"
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr "如果你想塞入 %s,用這個"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr "如果你想塞入 0xFFFF (十進位的 65535),用這個"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr "僅對齊"
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:787
msgid "Undo last search -- #"
msgstr "撤銷前次搜尋 -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:791
msgid "Match block"
msgstr "符合區塊"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:794
msgid "All"
msgstr "所有"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr "測試作弊碼 %08X:%02X"
+msgid "Test Cheat %08X_%02X"
+msgstr "測試作弊碼 %08X_%02X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:943
msgid "Cheat engine not available"
msgstr "作弊引擎不可用"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Test"
msgstr "測試"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Write"
msgstr "寫入"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:999
msgid "Watch"
msgstr "監視"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:1016
msgid "Page"
msgstr "頁"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:1034
msgid "Clear Watches"
msgstr "清除監視"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:1049
msgid "Cheat Finder"
msgstr "作弊碼搜尋器"
@@ -3139,51 +3075,178 @@ msgstr "輸入埠名稱檔案儲存至 %s"
msgid "Input ports"
msgstr "輸入埠"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "清除資料及儲存目前狀態"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr "載入連射選單時失敗"
+
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr "連射"
+
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr "連射按鈕"
+
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr "按下 $s 刪除"
+
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr "新增連射按鈕"
+
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr "未設定"
+
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr "輸入"
+
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr "熱鍵"
+
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr "編輯連射按鈕"
+
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "完成"
-#~ msgid "Current state saved"
-#~ msgstr "儲存目前狀態"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
+
+#: plugins/timer/init.lua:94
+msgid "Current time"
+msgstr "目前時數"
-#~ msgid "Save current -- #"
-#~ msgstr "儲存目前 -- #"
+#: plugins/timer/init.lua:96
+msgid "Total time"
+msgstr "總時數"
-#~ msgid "Compare"
-#~ msgstr "比較"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
+msgstr "遊玩次數"
-#~ msgid "Left operand"
-#~ msgstr "左運算元"
+#: plugins/timer/init.lua:106
+msgid "Timer"
+msgstr "計時器"
-#~ msgid "Current"
-#~ msgstr "目前"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
+msgstr "選擇要設定熱鍵的作弊碼"
-#~ msgid "Operator"
-#~ msgstr "運算子"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr "按下 %s 清除熱鍵"
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "左值小於右值,值改變"
+#: plugins/cheat/init.lua:645
+msgid "None"
+msgstr "無"
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "左值大於右值,值改變"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
+msgstr "設定"
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "左值不等於右值,值改變"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
+msgstr "設定熱鍵"
-#~ msgid "Right operand"
-#~ msgstr "右運算元"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
+msgstr "已啟動: %s = %s"
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "在位址 %08X 測試作弊碼"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
+msgstr "已啟動: %s"
-#~ msgid ""
-#~ "ROM Audit Disabled\t\n"
-#~ "Samples Audit Disabled\t\n"
-#~ msgstr ""
-#~ "ROM 驗證已停用\t\n"
-#~ "樣本檔驗證已停用\t\n"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
+msgstr "啟用: %s"
-#~ msgid "Activated"
-#~ msgstr "啟動"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
+msgstr "已停用: %s"
-#~ msgid " added"
-#~ msgstr " 已加入"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
+msgstr "$s 已加入"
+
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "指令集"
+
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "系統資訊"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
+msgstr "高分檔"
+
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "歷史"
+
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
+msgstr ""
+"\n"
+"\n"
+"--- 驅動程式資訊 ---\n"
+"驅動程式: "
+
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "MESSinfo"
+
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
diff --git a/language/Croatian/strings.po b/language/Croatian/strings.po
index 75e7451ce9c..b58c6ebe7ef 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Czech/strings.po b/language/Czech/strings.po
index ef2ef0ebd7b..7a1b9301de2 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: 2021-05-29 22:30+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,2136 +18,2601 @@ 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
-#, c-format
-msgid "Screen #%d"
-msgstr "Obraz #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotace"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Pozadí"
-
-#: 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/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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Popředí"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Stiskni klávesu pro pokračování"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels"
+#: src/frontend/mame/ui/ui.cpp:555
+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/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanely"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquees"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Pohled"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Určitě chcete odejít?\n"
+"\n"
+"Stiskni ''%1$s'' pro ukončení,\n"
+"Stiskni ''%2$s'' pro návrat do emulace."
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Ořezaný"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Hlavní hlasitost"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Plný"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s hlasitost"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Přetakt CPU %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Obnovovací frekvence"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Jazyk"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Jas"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samply"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horiz Roztah"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horiz Pozice"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ikony"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vert Roztah"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheaty"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Vert Pozice"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Náhledy"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horiz Roztah"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kastle"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horiz Pozice"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakáty"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Vert Roztah"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titulky"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vert Pozice"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Zakončení"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vektor Blikač"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Desky spojů"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimální šířka svazku"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Ovládací panely"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maximální šířka svazku"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Zaměřovače"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Artworky"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Váha intenzity svazku"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bossové"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Zaměřovač škála %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Náhledy artworků"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Výběr"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Zaměřovač posun %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Jak na to"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Loga"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Skóre"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Obaly"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Nastavení složek"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Zaměřovač škála X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Aktuální %1$s složky"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Zaměřovač škála Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Změnit složku"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Zaměřovač posun X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Přidat složku"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Zaměřovač posun Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Odstranit složku"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Chyba ukládání ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Změnit %1$s Složku - Hledat: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr "**Chyba ukládání %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Přidat %1$s Složku - Hledat: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configurace uložena \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Stiskni TAB pro nastavení"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" přidán do seznamu oblíbených."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Odstranit %1$s Složku"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" odstraněn ze seznamu oblíbených."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Seznam výběru - Hledání: "
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dvojklik nebo stisk %1$s pro výběr"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" software list "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "zastaveno"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "přehrává"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(přehrává)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "nahrává"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(nahrává)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Základní vstupy"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pauza/Stop"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Ulož konfiguraci"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Přehrát"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Nastavení"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Nahrát"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtr"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Přetočit zpět"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Upravení UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Přetočit dopředu"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Konfigurace složek"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[prázdný slot]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[souborový manažer]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[vytvořit]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[software list]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Přepnout řazení"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Přepnuté řazení: záznamy nyní řazeny podle %s"
-
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "shortname"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "popis"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Vyber přístupový režim"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[kompatibilní seznamy]"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Pouze čtení"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Software použití"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Čtení-Zápis"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Verze: "
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Číst tento obrázek, zapsat do jiného obrázku"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Soubor již existuje - Přepsat?"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Číst tento obrázek, zapsat do diff"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ne"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Různé možnosti"
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ano"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nové jméno obrázku:"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formát obrázku:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Zvětši obrázky v pravém panelu"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Vytvořit"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheaty"
-#: 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/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Zobraz ukazatel myši"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Vyber formát obrázku"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Potvrď odchod ze zařízení"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Vstup (vše)"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Vstup (toto zařízení)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analogové ovladače"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Použij obrázek jako pozadí"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP přepínače"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Nastavení zařízení"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Přeskoč menu s výběrem částí software"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Zapsané informace"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informace o zařízení"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informace o programu"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Souborový manažer"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Ovládání kazetového přehrávače"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: 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/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Zásuvná zařízení"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Čtečka čárového kódu"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Síťová zařízení"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Režim klávesnice"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Posuvné ovladače"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Nastavení videa"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Nastavení zameřovače"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotace"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externí DAT zobrazení"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr ""
-#: 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/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr ""
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Vyber nové zařízení"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nový čárový kód:"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Vložit kód"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Špatná délka čárového kódu!"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[chybný]"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: 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/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Základní vstupy"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Ulož konfiguraci"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Nastavení"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtr"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Upravení UI"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfigurace složek"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+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."
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-"Žádná zařízení nenalezena. Prosím zkontrolujte rompath v %1$s.ini souboru.\n"
-"\n"
-"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
-msgid "Configure Options"
-msgstr "Možnosti konfigurace"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Napiš jméno nebo vyber: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Napiš jméno nebo vyber: (náhodně)"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr ""
-#: 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/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr ""
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Celkově: Funguje"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafika: Nedokonalá, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mapování zařízení"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: OK, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Lightgun zařízení přiřazení"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Trackball zařízení přiřazení"
-#: 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/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedál zařízení přiřazení"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Zvuk: Nedokonalý"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "ADStick zařízení přiřazení"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Zvuk: OK"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Pádlo zařízení přiřazení"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Vytáčecí zařízení přiřazení"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Vyber pozici pro načtení"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Poziční zařízení přiřazení"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Myš zařízení přiřazení"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Vyber pozici pro uložení"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Nastavení videa"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Video Mód"
+
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Triple Buffering"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Režim: ČÁSTEČNÁ Emulace"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Povoleno"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Bilineární filtrování"
+
+#: src/frontend/mame/ui/submenu.cpp:123
+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 "**Použij ScrLock pro přepnutí**"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Okenní mód"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Režim: PLNÁ Emulace"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Vynutit poměr stran"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Zakázáno"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Spustit maximalizovaně"
-#: 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/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Synchronizované obnovení"
-#: 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 ""
-"Určitě chcete odejít?\n"
-"\n"
-"Stiskni ''%1$s'' pro ukončení,\n"
-"Stiskni ''%2$s'' pro návrat do emulace."
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Čekat na V-Sync"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hlavní hlasitost"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Zapnuto"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s hlasitost"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Vypnuto"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Přetakt CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Automaticky"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Obnovovací frekvence"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Zpět na zařízení"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Jas"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Ukončení"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Zpět na předchozí menu"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+msgid "Screen #%d"
+msgstr "Obraz #%d"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horiz Roztah"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horiz Pozice"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vert Roztah"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vert Pozice"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: 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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: 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/info.cpp:31
+msgid "protection"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor Blikač"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimální šířka svazku"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximální šířka svazku"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Váha intenzity svazku"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr ""
-#: 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/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Zaměřovač posun %1$s"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+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/info.cpp:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Chyba ukládání ui.ini**"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr ""
-#: 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/info.cpp:51
+msgid "WAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configurace uložena \n"
+msgstr ""
+"S tímto zařízením jsou známy problémy\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Cheat komentář:\n"
-"%s"
+"Jedna nebo více ROM/CHD pro toto zařízení je špatně stažena (dumpnuta).\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Všechny cheaty znovu načteny"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Nastavení automatické střelby"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Resetovat vše"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ""
-#: 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/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Stav automatické střelby"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Žádná tlačítka na tomto zařízení nenalezena!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr ""
-#: 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/info.cpp:285
+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:287
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
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
+#: src/frontend/mame/ui/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%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:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-"%s\n"
-" odstraněn ze seznamu oblíbených."
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
+"\n"
+"Zvuk:\n"
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Žádný\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr ""
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr "Obraz '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Obraz"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Nepodporováno"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Částečná podpora"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[prázdný]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[souborový manažer]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Přepnout řazení"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Přepnuté řazení: záznamy nyní řazeny podle %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "shortname"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "popis"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[kompatibilní seznamy]"
+
+#: 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:1045
+msgid "No"
+msgstr "Ne"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Vyber formát obrázku"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Režim klávesnice"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Přirozená"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulovaná"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Aktivováno"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Deaktivováno"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Vyber uživatelský filtr:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Odstranit poslední filtr"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Přidat filtr"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[vytvořit]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Software použití"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Verze: "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reset"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Vyber přístupový režim"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Čas běhu: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Pouze čtení"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Lístků zahozeno: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Čtení-Zápis"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mince %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mince %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (zamčeno)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Zpět na zařízení"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Viditelné zpoždění"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Ukončení"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml uložen v ui složce."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Jméno: Popis:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt uložen v ui složce."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automaticky"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Zobrazit vše"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Skrýt filtry"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Skrýt info/obrázek"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Skrýt obojí"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Přidat do oblíbených"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Písma"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Odstranit z oblíbených"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Barvy"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Zobraz postranní panely"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Uživatelská nastavení UI"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (standardní)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "standardní"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Pluginy"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UI Písmo"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminály"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Tučné"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[chybný]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Kurzíva"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linie"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Velikost info textů"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Nastavení písma UI"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Ukázkový text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normální text"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Vybraná barva"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Uživatelské rozhraní"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Pozadí normálního textu"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Barva pozadí vybraného textu"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Ostatní ovládání"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Barva podpoložky"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klon"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Okraj"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Pozadí"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP přepínač"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Barva nedostupné položky"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Barva posuvníku"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Pozadí Gfx prohlížeče"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Barva při přejetí myši"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "zastaveno"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Barva pozadí při přejetí myši"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "přehrává"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Barva při stisku myši"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(přehrává)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Barva pozadí při stisku myši"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "nahrává"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Obnovit původní barvy"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(nahrává)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Nastavení barev UI"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pauza/Stop"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dvojklik nebo stisk %1$s pro změnu barvy"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Přehrát"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menu náhled"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Nahrát"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normální"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Přetočit zpět"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Podpoložka"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Přetočit dopředu"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Vybraný"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Nemohu zapisovat do složky"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Přejetí myši"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Průhlednost"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Žádná zařízení nenalezena. Prosím zkontrolujte rompath v %1$s.ini souboru.\n"
+"\n"
+"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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Červená"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Možnosti konfigurace"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Zelená"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Napiš jméno nebo vyber: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Modrá"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Napiš jméno nebo vyber: (náhodně)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Výběr z palety"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Barevný náhled ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Bílá"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Celkově: NEFUNGUJE"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Stříbrná"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Celkově: Neemulovaná ochrana"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Šedá"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Celkově: Funguje"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Černá"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Oranžová"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: Nedokonalá, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Žlutá"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafika: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Fialová"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Režim klávesnice:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Zvuk: Neimplementován"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Přirozená"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Zvuk: Nedokonalý"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulovaná"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Zvuk: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Čas běhu: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat komentář:\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Všechny cheaty znovu načteny"
+
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Resetovat vše"
+
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Znovu načíst vše"
+
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Jazyk"
+
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samply"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
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/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ikony"
-#: 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/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Náhledy"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zamčeno)"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kastle"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Viditelné zpoždění"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Plakáty"
-#: 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/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titulky"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Jméno: Popis:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Zakončení"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Desky spojů"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquees"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Ovládací panely"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Zaměřovače"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Artworky"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bossové"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Náhledy artworků"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Výběr"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Jak na to"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Loga"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Skóre"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Obaly"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Nastavení složek"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt uložen v ui složce."
+msgid "Current %1$s Folders"
+msgstr "Aktuální %1$s složky"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Změnit složku"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Přidat složku"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Odstranit složku"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Změnit %1$s Složku - Hledat: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Přidat %1$s Složku - Hledat: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Ulož konfiguraci zařízení"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Stiskni TAB pro nastavení"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Odstranit %1$s Složku"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standardní)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " BARVY"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Pluginy"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PERA"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Systém: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Seznam výběru - Hledání: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Zvuk"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Vzorkovací frekvence"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Zobrazit vše"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Použít externí samply"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Skrýt filtry"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Různé možnosti"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Skrýt info/obrázek"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Znovu-vyber poslední spuštěné zařízení"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Skrýt obojí"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Zvětši obrázky v pravém panelu"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Písma"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Zobraz ukazatel myši"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Barvy"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Potvrď odchod ze zařízení"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Zobraz postranní panely"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Uživatelská nastavení UI"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "standardní"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Použij obrázek jako pozadí"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UI Písmo"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Tučné"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Přeskoč menu s výběrem částí software"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Kurzíva"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linie"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Velikost info textů"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Nastavení písma UI"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Ukázkový text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normální text"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Vybraná barva"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Pozadí normálního textu"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Barva pozadí vybraného textu"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Barva podpoložky"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klon"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Okraj"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Pozadí"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP přepínač"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Barva nedostupné položky"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Barva posuvníku"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Pozadí Gfx prohlížeče"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Barva při přejetí myši"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Barva pozadí při přejetí myši"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Barva při stisku myši"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Barva pozadí při stisku myši"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Obnovit původní barvy"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Nastavení barev UI"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dvojklik nebo stisk %1$s pro změnu barvy"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menu náhled"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normální"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Podpoložka"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Vybraný"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Přejetí myši"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Průhlednost"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Červená"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Zelená"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Modrá"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Výběr z palety"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Barevný náhled ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Bílá"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Stříbrná"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Šedá"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Černá"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Oranžová"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Žlutá"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Fialová"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nový čárový kód:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Vložit kód"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Špatná délka čárového kódu!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Vstup (vše)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Vstup (toto zařízení)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analogové ovladače"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Nastavení zařízení"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Zapsané informace"
+
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informace o zařízení"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informace o programu"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Souborový manažer"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Ovládání kazetového přehrávače"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Zásuvná zařízení"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Čtečka čárového kódu"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Síťová zařízení"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Posuvné ovladače"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Nastavení zameřovače"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Cheat"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Externí DAT zobrazení"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Vyber nové zařízení"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Panely ovládání"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Náhled artworku"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Konec hry"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Přidat nebo odebrat z oblíbených"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Export zobrazeného seznamu do souboru"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Zobraz DAT pohled"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Výběr části software:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapování zařízení"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Software je klon: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lightgun zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Software je parent"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Trackball zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Podpora: Ne"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedál zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Podpora: Částečně"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "ADStick zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Podpora: Ano"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Pádlo zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Vytáčecí zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driver je klon: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Poziční zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Driver je parent"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Myš zařízení přiřazení"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Obrázky"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Video Mód"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informace"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineární filtrování"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Okenní mód"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Vynutit poměr stran"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Spustit maximalizovaně"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Využití"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Synchronizované obnovení"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Základní informace"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Čekat na V-Sync"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Zvuk"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2158,7 +2623,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2169,952 +2634,670 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: 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 ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
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"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
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"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
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"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
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"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
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: "
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
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
-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"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-"\n"
-"\n"
-"Stiskni klávesu pro pokračová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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-"\n"
-"Zvuk:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-"\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"
-
-#: 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 "Obraz '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Obraz"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nepodporováno"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Částečná podpora"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[prázdný]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Panely ovládání"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Náhled artworku"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Konec hry"
-#: 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/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Export zobrazeného seznamu do souboru"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Zobraz DAT pohled"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Výběr části software:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Software je klon: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Software je parent"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Podpora: Ne"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Podpora: Částečně"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Podpora: Ano"
-
-#: 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 je klon: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver je parent"
-
-#: 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 "Obrázky"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informace"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Využití"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Základní informace"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Uživatelské rozhraní"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Ostatní ovládání"
-
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:744
+msgid ""
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%s added"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Příkaz"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Historie"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mameskóre"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/portname/init.lua:167
#, lua-format
-msgid "Default name is %s"
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Příkaz"
-#: 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/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mameskóre"
-#: 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/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Historie"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Pozadí"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Popředí"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Bezels"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "CPanely"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Pohled"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Ořezaný"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Plný"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP přepínače"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Vyber pozici pro načtení"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Vyber pozici pro uložení"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Stav emulace klávesnice"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Režim: ČÁSTEČNÁ Emulace"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Povoleno"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Použij ScrLock pro přepnutí**"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Režim: PLNÁ Emulace"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Zakázáno"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Autostřelba nemůže být povolena"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Nastavení automatické střelby"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Stav automatické střelby"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Žádná tlačítka na tomto zařízení nenalezena!"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Zpoždění autostřelby"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Režim klávesnice:"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Ulož konfiguraci zařízení"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Znovu-vyber poslední spuštěné zařízení"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid ""
+#~ "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ý."
#~ msgid "Vertical"
#~ msgstr "Vertikální"
diff --git a/language/Danish/strings.po b/language/Danish/strings.po
index bfc5db3e415..e1c7cf99705 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Dutch/strings.po b/language/Dutch/strings.po
index 8459436bcc4..7f8b81f78d9 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2021-04-04 13:08+0200\n"
"Last-Translator: Jos van Mourik\n"
"Language-Team: MAME Language Team\n"
@@ -19,1803 +19,2090 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.4.2\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Scherm #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Roteer"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Druk op een toets om door te gaan"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "BPanelen"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquees"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Hoofdvolume"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Weergeven"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s volume"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Bijgesneden"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overklok CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Volledig"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overklok %1$s geluid"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Verversingfrequentie"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Softwaremedia"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Helderheid"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Gebruikersinterface"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Contrast"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Taal"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horizontale uitrekking"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horizontale positie"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Verticale uitrekking"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Categorie-INIs"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Verticale positie"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Iconen"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horiz uitrekking"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horiz positie"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Schermafbeeldingen"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdic '%1$s' Vert uitrekking"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kasten"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vert positie"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vectorflikker"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titels"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimale straalbreedte"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Eindes"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maximale straalbreedte"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Printplaten"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Bedieningspanelen"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Gewicht straalintensiteit"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Vizieren"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Vizierschaal %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Artwork"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Eindbazen"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Artworkvoorvertoning"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Vizieroffset %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecteer"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Gameover"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Bedieningsuitleg"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scores"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Tegen"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Vizier X-schaal %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Hoesjes"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Vizier Y-schaal %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Mapinstellingen"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Vizier X-offset %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Huidige %1$s mappen"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Vizier Y-offset %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Wijzig map"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fout bij het opslaan van ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Map toevoegen"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fout bij het opslaan van %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Map verwijderen"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configuratie opgeslagen\n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Wijzig %1$s map - Zoek: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" toegevoegd aan favorietenlijst."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Voeg %1$s map toe - Zoek: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Druk op TAB voor keuze"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" verwijderd uit favorietenlijst."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Verwijder %1$s map"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Selectielijst - Zoeken: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dubbelklik of druk op %1$s om te selecteren"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" softwarelijst "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "gestopt"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Zoek: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "speelt af"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Zoek: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(speelt af)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "neemt op"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Geluid opties"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(neemt op)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Algemene invoer"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pauzeer/Stop"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Configuratie opslaan"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Speel af"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Instellingen"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Neem op"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filter"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Terugspoelen"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Gebruikersinterface aanpassen"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Vooruitspoelen"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Mappen configureren"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[lege plek]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[Bestandsbeheer]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[aanmaken]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[softwarelijst]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Wijzig onderdeelvolgorde"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Volgorde gewijzigd: de elementen zijn nu gesorteerd op %s"
+msgid "Error accessing %s"
+msgstr "Fout bij toegang tot %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "korte naam"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Selecteer toegangsmodus"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "omschrijving"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Alleen-lezen"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[compatibele lijsten]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lezen-schrijven"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Softwaregebruik"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Lees dit bestand, schrijf naar een ander bestand"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisie: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Lees dit bestand, schrijf naar diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Bestand bestaat al - Overschrijven?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Overige opties"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nee"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nieuwe bestandsnaam:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Vergroot afbeeldingen in het rechter paneel"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Bestandsformaat:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheats"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Aanmaken"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Toon muispointer"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Vul ook een bestandsextensie in"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Bevestig afsluiten machines"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Selecteer bestandsformaat"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Sla informatie bij opstarten over"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Invoer (algemeen)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forceer 4:3 verhouding voor schermafbeeldingweergave"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Invoer (deze machine)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Gebruik afbeelding als achtergrond"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge besturing"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "BIOS-selectiemenu overslaan"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-schakelaars"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Softwareonderdelen selectiemenu overslaan"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Machineconfiguratie"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Info auto controle"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Boekhoudinginformatie"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Verberg romloze machine uit beschikbare lijst"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Machineinformatie"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Geavanceerde opties"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Bestandsinformatie"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Prestatie opties"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Bestandsbeheer"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Auto frame skip"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Cassettebediening"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Frame skip"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudoterminals"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Throttle"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-selectie"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Insteekapparaten"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Slaap"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barcodelezer"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Snelheid"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Netwerkapparaten"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Keyboardmodus"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Schuifinstellingen"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Rotatieinstellingen"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Video opties"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Roteer"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Vizier opties"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Roteer rechts"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Roteer links"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Plugin opties"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Auto rotatie rechts"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externe DAT-overzicht"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Auto rotatie links"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Draai X om"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Draai Y om"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Selecteer nieuwe machine"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Artworkinstellingen"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nieuwe barcode:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Vul code in"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "State/afspeel-instellingen"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Barcodelengte ongeldig!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Automatisch opslaan/hervatten"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[mislukt]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Geluid opties"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Terugspoelcapaciteit"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Algemene invoer"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Configuratie opslaan"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Inbranding"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Instellingen"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Invoerinstellingen"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Munt lockout"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Gebruikersinterface aanpassen"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Muis"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Mappen configureren"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"Het geselecteerde spel mist één of meer benodigde ROM- of CHD-bestanden. "
-"Selecteer een ander spel.\n"
-"\n"
-"Druk op een toets om door te gaan."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Lichtpistool"
-#: 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 ""
-"Geen machines gevonden. Controleer de ROM-mapinstellingen in het bestand "
-"%1$s.ini.\n"
-"\n"
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Meerdere toetsenborden"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Configureer opties"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Meerdere muizen"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Type naam of selecteer: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Steadykey"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Type naam of selecteer: (willekeurig)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Gebruikersinterface actief"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Buiten scherm herladen"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Joystick doodzone"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Joystick verzadiging"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Natuurlijk toetsenbord"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Gelijktijdig tegenstrijdig"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Status: Werkend"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Muntimpuls"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Beeld: Niet geïmplementeerd, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Invoerapparaat in kaart brengen"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Lightguntoewijzing"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Beeld: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Trackballtoewijzing"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Geluid: Geen"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedaaltoewijzing"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Geluid: Niet geïmplementeerd"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Adsticktoewijzing"
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Paddletoewijzing"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Geluid: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Dialapparaattoewijzing"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Laad state"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Positieapparaattoewijzing"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Selecteer positie om van te laden"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Muistoewijzing"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "State opslaan"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Video opties"
-#: 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/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Videomodus"
-#: 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:116
+msgid "Number Of Screens"
+msgstr "Aantal schermen"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "Drievoudige buffering"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: GEDEELTELIJKE emulatie"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Ingeschakeld"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "Bilineaire filtering"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: VOLLEDIGE emulatie"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap voorschaling"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Uitgeschakeld"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Venstermodus"
-#: 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:125
+msgid "Enforce Aspect Ratio"
+msgstr "Forceer aspectratio"
-#: 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:126
+msgid "Start Out Maximized"
+msgstr "Start gemaximaliseerd"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hoofdvolume"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Gesynchroniseerde verversing"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s volume"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Wacht verticale sync"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overklok CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Aan"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overklok %1$s geluid"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Uit"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Verversingfrequentie"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Automatisch"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Helderheid"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Contrast"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Terug naar machine"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Afsluiten"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horizontale uitrekking"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Terug naar vorig menu"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horizontale positie"
+msgid "Screen #%d"
+msgstr "Scherm #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Verticale uitrekking"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Verticale positie"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vectorflikker"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimale straalbreedte"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "beveiliging"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximale straalbreedte"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "timing"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Gewicht straalintensiteit"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "beeld"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Vizierschaal %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "kleurpalet"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "geluid"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr "opnamehardware"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Vizieroffset %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "camera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "microfoon"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "besturing"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "toetsenbord"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "muis"
-#: 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/info.cpp:42
+msgid "media"
+msgstr "media"
-#: 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/info.cpp:43
+msgid "disk"
+msgstr "schijf"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "printer"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr "magneetband"
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr "ponsband"
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr "trommelgeheugen"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fout bij het opslaan van ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr "solid state opslag"
-#: 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/info.cpp:49
+msgid "communications"
+msgstr "communicatie"
+
+#: 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/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
+"Eé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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configuratie opgeslagen\n"
+msgstr ""
+"Er zijn problemen bekend met deze machine\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Cheat commentaar:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Eén of meer ROMs/CHDs voor deze machine zijn niet correct gedumpt.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle cheats zijn herladen"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Volledig ongeëmuleerde eigenschappen: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autofire instellingen"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Alles herstellen"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Alles herladen"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Onvolledig geëmuleerde eigenschappen: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autofire status"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Schermomdraaien wordt in cocktailmodus niet ondersteund.\n"
-#: 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/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Deze machine vereist externe artworkbestanden.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Autofirevertraging"
+#: src/frontend/mame/ui/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" toegevoegd aan favorietenlijst."
+"\n"
+"\n"
+"Er zijn werkende varianten van deze machine: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" verwijderd uit favorietenlijst."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"Processor:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"De geselecteerde software mist één of meer benodigde bestanden. Selecteer "
-"een andere software.\n"
"\n"
+"Geluid:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Beeld:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Geen\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vector"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d softwarepakketten )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" softwarelijst "
+msgid "Screen '%1$s'"
+msgstr "Scherm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Scherm"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Niet ondersteund"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Gedeeltelijk ondersteund"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[leeg]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[Bestandsbeheer]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Wijzig onderdeelvolgorde"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Zoek: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Volgorde gewijzigd: de elementen zijn nu gesorteerd op %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "korte naam"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "omschrijving"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[compatibele lijsten]"
+
+#: 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:1045
+msgid "No"
+msgstr "Nee"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: 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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Selecteer bestandsformaat"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Keyboardmodus"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natuurlijk"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Geëmuleerd"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Zoek: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Ingeschakeld"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Uitgeschakeld"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Ongefilterd"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Beschikbaar"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Onbeschikbaar"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Werkend"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Niet werkend"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mechanisch"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Niet mechanisch"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Categorie"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favorieten"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Geen BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Hoofdsoftware"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Varianten"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Fabrikant"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Jaar"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Ondersteunt opslaan"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Ondersteunt opslaan niet"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD benodigd"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Geen CHD benodigd"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Verticaal scherm"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Horizontaal scherm"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Eigen filter"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Uitgever"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Ondersteund"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Gedeeltelijk ondersteund"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Niet ondersteund"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Uitgaveregio"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Apparaattype"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Softwarelijst"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<filters instellen>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Kies eigen filter:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filter %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Verwijder laatste filter"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Filter toevoegen"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Selecteer categorie:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[geen categorie INI-bestanden]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[geen groepen in INI-bestand]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Geen categorie INI-bestanden gevonden"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Bestand"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Geen groepen gevonden in categoriebestand"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Groep"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Varianten insluiten"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[aanmaken]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Softwaregebruik"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Fout bij toegang tot %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisie: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selecteer toegangsmodus"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Herstel"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Alleen-lezen"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lezen-schrijven"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"In bedrijf: %1$d:%2$02d\n"
+"\n"
-#: 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/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Kaartjes uitgegeven: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Munt %1$c: n.v.t.%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Munt %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (afgeschermd)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " KLEUREN"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNEN"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Terug naar machine"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Zichtbare vertraging"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Afsluiten"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml is opgeslagen in de ui map."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Naam: Omschrijving:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt is opgeslagen in de ui-map."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporteer lijst in XML-formaat (zoals -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatisch"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Toon alles"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporteer lijst in XML-formaat (zoals -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Verberg filters"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Verberg info/plaatje"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Deze machine heeft geen BIOS."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Verberg beide"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Toevoegen aan favorieten"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Lettertypes"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Verwijderen uit favorieten"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Kleuren"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Toon zijpanelen"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Instellingen gebruikersinterface"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (standaard)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "standaard"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Lettertype gebruikersinterface"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudoterminals"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Vet"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[mislukt]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Cursief"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Lijnen"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Laad state"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Tekstgrootte info's"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Instellingen lettertype gebruikersinterface"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "State opslaan"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Voorbeeldtekst - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normale tekst"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Geselecteerd kleur"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Gebruikersinterface"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Normale tekst achtergrond"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Geselecteerde achtergrondkleur"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Andere besturing"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Subitemkleur"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Variant"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Rand"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Achtergrond"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Onbeschikbaar kleur"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Sliderkleur"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Gfx-viewer achtergrond"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Muis-over kleur"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "gestopt"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Muis-over achtergrondkleur"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "speelt af"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Muis-down kleur"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(speelt af)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Muis-down achtergrondkleur"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "neemt op"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Herstel originele kleuren"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(neemt op)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Kleurinstellingen gebruikersinterface"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pauzeer/Stop"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dubbelklik of druk op %1$s om de kleurwaarde te wijzigen"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Speel af"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menu voorvertoning"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Neem op"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normaal"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Terugspoelen"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Onderdeel"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Vooruitspoelen"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Geselecteerd"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Kan geen map vervangen"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Muis-over"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB-instellingen"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Het geselecteerde spel mist één of meer benodigde ROM- of CHD-bestanden. "
+"Selecteer een ander spel.\n"
+"\n"
+"Druk op een toets om door te gaan."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Geen machines gevonden. Controleer de ROM-mapinstellingen in het bestand "
+"%1$s.ini.\n"
+"\n"
+"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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rood"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configureer opties"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Groen"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Type naam of selecteer: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blauw"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Type naam of selecteer: (willekeurig)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Kies uit palet"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Kleur voorbeeld ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Wit"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Status: NIET WERKEND"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Zilver"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Status: Ongeëmuleerde beveiliging"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Grijs"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Status: Werkend"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Zwart"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Beeld: Niet geïmplementeerd, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Oranje"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Beeld: Niet volledig, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Geel"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Beeld: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violet"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Geluid: Geen"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Toetsenbordmodus:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Geluid: Niet geïmplementeerd"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natuurlijk"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Geluid: Niet volledig"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Geëmuleerd"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Geluid: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"In bedrijf: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat commentaar:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Alle cheats zijn herladen"
-#: 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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Alles herstellen"
-#: 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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Alles herladen"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (afgeschermd)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Softwaremedia"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Zichtbare vertraging"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Gebruikersinterface"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml is opgeslagen in de ui map."
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Taal"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Naam: Omschrijving:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Categorie-INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Iconen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Schermafbeeldingen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kasten"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Flyers"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titels"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Eindes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Printplaten"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquees"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Bedieningspanelen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Vizieren"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Artwork"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Eindbazen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Artworkvoorvertoning"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Selecteer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Gameover"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Bedieningsuitleg"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Scores"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Tegen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Hoesjes"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Mapinstellingen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt is opgeslagen in de ui-map."
+msgid "Current %1$s Folders"
+msgstr "Huidige %1$s mappen"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Wijzig map"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Map toevoegen"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Map verwijderen"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Wijzig %1$s map - Zoek: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Deze machine heeft geen BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Voeg %1$s map toe - Zoek: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sla machineconfiguratie op"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Druk op TAB voor keuze"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configureer machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Verwijder %1$s map"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standaard)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " KLEUREN"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENNEN"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configureer machine"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
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:1057
msgid "Analog Controls\tYes\n"
msgstr "Analoge besturing\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Toetensenbordinvoer\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Status\tNIET WERKEND\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Status\tOngeëmuleerde beveiliging\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Status\tWerkend\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Beeld\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Beeld\tVerkeerde kleuren\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Beeld\tOnvolledige kleuren\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Beeld\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Beeld\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Geluid\tGeen\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Geluid\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Geluid\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Geluid\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr "Opname\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr "Opname\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Camera\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Camera\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Microfoon\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Microfoon\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Besturing\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Besturing\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Toetsenbord\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Toetsenbord\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Muis\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Muis\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr "Media\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr "Media\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Schijf\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Schijf\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Printer\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Printer\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr "Mag. Band\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr "Mag. Band\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr "Ponsband\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr "Ponsband\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr "Mag. trommel\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr "Mag. trommel\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr "(EP)ROM\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr "(EP)ROM\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr "Communicatie\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr "Communicatie\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Timing\tNiet geïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Timing\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Mechanische machine\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Mechanische machine\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Vereist artwork\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Vereist artwork\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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:1175
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Vereist klikbare artwork\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Ondersteunt cocktail\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Ondersteunt cocktail\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
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:1178
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:1179
msgid "Support Save\tYes\n"
msgstr "Ondersteunt opslaan\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Ondersteunt opslaan\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Schermoriëntatie\tVerticaal\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Schermoriëntatie\tHorizontaal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Vereist CHD\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Vereist CHD\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
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:1205
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:1208
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:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Samplecontrole Resultaat\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Samplecontrole Resultaat\tSLECHT\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1823,344 +2110,521 @@ msgstr ""
"ROM-controle \tUitgeschakeld\n"
"Samplecontrole \tUitgeschakeld\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Systeem: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Selectielijst - Zoeken: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, 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:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Controleer ROMs voor alle %1$u machines?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(resultaten worden opgeslagen naar %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"De geselecteerde machine mist één of meerdere benodigde ROM- of CHD-"
-"bestanden. Druk op een toets om door te gaan.\n"
-"\n"
+"ROMs controleren voor machine %2$u van %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Geluid"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Start controle"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplesnelheid"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Toon alles"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Gebruik externe samples"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Verberg filters"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Overige opties"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Verberg info/plaatje"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Kies laatst gespeelde machine opnieuw"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Verberg beide"
-#: 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/custui.cpp:171
+msgid "Fonts"
+msgstr "Lettertypes"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Toon muispointer"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Kleuren"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Bevestig afsluiten machines"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Toon zijpanelen"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Sla informatie bij opstarten over"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Instellingen gebruikersinterface"
-#: 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/custui.cpp:245
+msgid "default"
+msgstr "standaard"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Gebruik afbeelding als achtergrond"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Lettertype gebruikersinterface"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "BIOS-selectiemenu overslaan"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Vet"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Softwareonderdelen selectiemenu overslaan"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Cursief"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Info auto controle"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Lijnen"
-#: 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/custui.cpp:383
+msgid "Infos text size"
+msgstr "Tekstgrootte info's"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Geavanceerde opties"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Instellingen lettertype gebruikersinterface"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Prestatie opties"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Voorbeeldtekst - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normale tekst"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Geselecteerd kleur"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Throttle"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Normale tekst achtergrond"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Slaap"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Geselecteerde achtergrondkleur"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Snelheid"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Subitemkleur"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Verversingssnelheid"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Variant"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Rotatieinstellingen"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Rand"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Roteer rechts"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Achtergrond"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Roteer links"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Dipswitch"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto rotatie rechts"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Onbeschikbaar kleur"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto rotatie links"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Sliderkleur"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Draai X om"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Gfx-viewer achtergrond"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Draai Y om"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Muis-over kleur"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Artworkinstellingen"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Muis-over achtergrondkleur"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Artwork bijsnijden"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Muis-down kleur"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Gebruik backdrops"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Muis-down achtergrondkleur"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Gebruik overlays"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Herstel originele kleuren"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Gebruik bezels"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Kleurinstellingen gebruikersinterface"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Gebruik bedieningspanelen"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dubbelklik of druk op %1$s om de kleurwaarde te wijzigen"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Gebruik marquees"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menu voorvertoning"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "State/afspeel-instellingen"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normaal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automatisch opslaan/hervatten"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Onderdeel"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Terugspoelcapaciteit"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Geselecteerd"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineaire momentopname"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Muis-over"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Inbranding"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB-instellingen"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Invoerinstellingen"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alpha"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Munt lockout"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rood"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Muis"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Groen"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blauw"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lichtpistool"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Kies uit palet"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Meerdere toetsenborden"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Kleur voorbeeld ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Meerdere muizen"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Wit"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Zilver"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Gebruikersinterface actief"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Grijs"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Buiten scherm herladen"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Zwart"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Joystick doodzone"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Oranje"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Joystick verzadiging"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Geel"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Natuurlijk toetsenbord"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violet"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Gelijktijdig tegenstrijdig"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Muntimpuls"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nieuwe barcode:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Invoerapparaat in kaart brengen"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Vul code in"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lightguntoewijzing"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Barcodelengte ongeldig!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Trackballtoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Invoer (algemeen)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedaaltoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Invoer (deze machine)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Adsticktoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analoge besturing"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Paddletoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Dialapparaattoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Machineconfiguratie"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Positieapparaattoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Boekhoudinginformatie"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Muistoewijzing"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Machineinformatie"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Videomodus"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Aantal schermen"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Bestandsinformatie"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Drievoudige buffering"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Bestandsbeheer"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Cassettebediening"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS-selectie"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineaire filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Insteekapparaten"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap voorschaling"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Barcodelezer"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Venstermodus"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Netwerkapparaten"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Forceer aspectratio"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Schuifinstellingen"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Start gemaximaliseerd"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Vizier opties"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Gesynchroniseerde verversing"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Wacht verticale sync"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Plugin opties"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Externe DAT-overzicht"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Selecteer nieuwe machine"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Bedieningspanelen"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Voorvertoning artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game over"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Naar of uit favorietenlijst"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exporteer getoonde lijst naar bestand"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Laat DATs zien"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Softwareonderdeel selectie:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS-selectie:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Software is een variant van: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Software is hoofdsoftware"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Ondersteund: Nee"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Ondersteund: Gedeeltelijk"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Ondersteund: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driver is een variant van: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Driver is hoofddriver"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Afbeeldingen"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informatie"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Druk op een toets om door te gaan."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Gebruik"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Algemene informatie"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Geluid"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Samplesnelheid"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Gebruik externe samples"
+
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2177,7 +2641,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:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2194,60 +2658,34 @@ 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:54
msgid "* CPU:\n"
msgstr "* Processor:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Video:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Geluid:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2256,491 +2694,455 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "DIP-schakelaarinstellingen:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* Configuratieinstellingen:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Invoerapparatuur:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* Media opties:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* Plek opties:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Sla cheat op"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(resultaten worden opgeslagen naar %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Standaard"
-#: 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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Eigen"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Start controle"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Cheatnaam"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kan geen map vervangen"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Standaardnaam is %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Speler"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Type"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "timing"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Opslaan"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "beeld"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "kleurpalet"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Cheat geschreven naar %s en toegevoegd aan cheat.simple"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "geluid"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Cheat toegevoegd aan cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr "opnamehardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
+msgstr ""
+"Niet in staat om bestand te schrijven\n"
+"Zorg ervoor dat de cheatpath map bestaat"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "camera"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Annuleer"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfoon"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU of RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "besturing"
+#: plugins/cheatfind/init.lua:501
+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"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "toetsenbord"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "muis"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr "Pauzeermodus"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "schijf"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "printer"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr "magneetband"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
+msgstr "Alle slots geleegd en huidige state opgeslagen in slot 1"
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr "ponsband"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Start nieuwe zoekopdracht"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr "trommelgeheugen"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr "solid state opslag"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr "communicatie"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "%d totale overeenkomsten gevonden"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-"Eé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"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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 "Eén of meer ROMs/CHDs voor deze machine zijn niet correct gedumpt.\n"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Volledig ongeëmuleerde eigenschappen: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr "Links kleiner dan rechts"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+msgstr "Links groter dan rechts"
-#: 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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Links gelijk aan rechts"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Onvolledig geëmuleerde eigenschappen: "
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+msgstr "Links niet gelijk aan rechts"
-#: 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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Links gelijk aan rechts met bitmasker"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Deze machine vereist externe artworkbestanden.\n"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Links niet gelijk aan rechts met bitmasker"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Links kleiner dan waarde"
-#: 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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Links groter dan waarde"
-#: 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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Links gelijk aan waarde"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Links niet gelijk aan waarde"
-#: 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Waarde"
-#: 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"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
+msgstr "Verschil"
-#: 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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Willekeurige"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Dataformaat"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
+msgstr "Test/schrijf pokewaarde"
-#: src/frontend/mame/ui/info.cpp:350
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"Geluid:\n"
+"Gebruik dit voor het poken van de slot 1 waarde (eg. Je begon met iets maar "
+"verloor het)"
-#: src/frontend/mame/ui/info.cpp:378
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Video:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Beeld:\n"
+"Gebruik dit voor het poken van de laatste slot waarde (eg. Je begon zonder "
+"een item maar kreeg het)"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Geen\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vector"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Ongedaan maken van laatste zoekopdracht -- #"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Paar blok"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Scherm '%1$s'"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Alle"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Scherm"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Niet ondersteund"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Cheat engine niet beschikbaar"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Gedeeltelijk ondersteund"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Test"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[leeg]"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Schrijf"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Bedieningspanelen"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Watch"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Voorvertoning artwork"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Pagina"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game over"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Herstel watches"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Naar of uit favorietenlijst"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Cheatzoeker"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporteer getoonde lijst naar bestand"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Sla invoernamen op in bestand"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Laat DATs zien"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Opslaan van invoernaambestand mislukt"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Softwareonderdeel selectie:"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "Invoerpoortnaambestand opgeslagen in %s"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-selectie:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Invoerpoorten"
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Software is een variant van: %1$-.100s"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Software is hoofdsoftware"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Ondersteund: Nee"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Ondersteund: Gedeeltelijk"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Ondersteund: Ja"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Driver is een variant van: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver is hoofddriver"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Afbeeldingen"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informatie"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Gebruik"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Algemene informatie"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Gebruikersinterface"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andere besturing"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Klaar"
+
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2758,68 +3160,81 @@ msgstr "Speelteller"
msgid "Timer"
msgstr "Timer"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Selecteer cheat om sneltoets te maken"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "Druk op knop voor sneltoets of wacht om te herstellen"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Geen"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Klaar"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Kies"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Kies sneltoets"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Geactiveerd: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Geactiveerd: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Ingeschakeld: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Uitgeschakeld: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s toegevoegd"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Commando"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "High Scores"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Spelinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Geschiedenis"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2831,339 +3246,259 @@ msgstr ""
"--- DRIVER INFO ---\n"
"Driver: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Spelinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Sla cheat op"
+#~ msgid "Backdrops"
+#~ msgstr "Backdrops"
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Standaard"
+#~ msgid "Overlays"
+#~ msgstr "Overlays"
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Eigen"
+#~ msgid "Bezels"
+#~ msgstr "Bezels"
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Cheatnaam"
+#~ msgid "CPanels"
+#~ msgstr "BPanelen"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Standaardnaam is %s"
+#~ msgid "View"
+#~ msgstr "Weergeven"
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Speler"
+#~ msgid "Cropped"
+#~ msgstr "Bijgesneden"
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Type"
+#~ msgid "Full"
+#~ msgstr "Volledig"
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Opslaan"
+#~ msgid "Dip Switches"
+#~ msgstr "DIP-schakelaars"
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "Cheat geschreven naar %s en toegevoegd aan cheat.simple"
+#~ msgid "Select position to load from"
+#~ msgstr "Selecteer positie om van te laden"
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "Cheat toegevoegd aan cheat.simple"
+#~ msgid "Select position to save to"
+#~ msgstr "Selecteer positie om naar op te slaan"
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Niet in staat om bestand te schrijven\n"
-"Zorg ervoor dat de cheatpath map bestaat"
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Toetsenbord emulatiestatus"
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Annuleer"
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modus: GEDEELTELIJKE emulatie"
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU of RAM"
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Ingeschakeld"
-#: plugins/cheatfind/init.lua:495
-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"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Gebruik ScrLock om te wisselen**"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr "Pauzeermodus"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modus: VOLLEDIGE emulatie"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-"Handmatig het spel wanneer nodig pauzeren en hervatten met de pauze sneltoets"
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Uitgeschakeld"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr "Alle slots geleegd en huidige state opgeslagen in slot 1"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Autofire kan niet worden ingeschakeld"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Start nieuwe zoekopdracht"
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr "Geheugen state opgeslagen in slot %d"
+#~ msgid "Autofire Settings"
+#~ msgstr "Autofire instellingen"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr "Sla huidige geheugen state op in slot "
+#~ msgid "Autofire Status"
+#~ msgstr "Autofire status"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "%d totale overeenkomsten gevonden"
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Geen knoppen gevonden op deze machine!"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr "Vergelijking uitvoeren : "
+#~ msgid "Autofire Delay"
+#~ msgstr "Autofirevertraging"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr "Links kleiner dan rechts"
+#~ 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"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr "Links groter dan rechts"
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Toetsenbordmodus:"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Links gelijk aan rechts"
+#~ msgid "Save machine configuration"
+#~ msgstr "Sla machineconfiguratie op"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr "Links niet gelijk aan rechts"
+#~ msgid "Configure machine:"
+#~ msgstr "Configureer machine:"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Links gelijk aan rechts met bitmasker"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Ondersteunt cocktail\tJa\n"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Links niet gelijk aan rechts met bitmasker"
+#~ msgid ""
+#~ "The selected machine is missing one or more required ROM or CHD images. "
+#~ "Please select a different machine.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "De geselecteerde machine mist één of meerdere benodigde ROM- of CHD-"
+#~ "bestanden. Druk op een toets om door te gaan.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Links kleiner dan waarde"
+#~ msgid "Re-select last machine played"
+#~ msgstr "Kies laatst gespeelde machine opnieuw"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Links groter dan waarde"
+#~ msgid "Refresh speed"
+#~ msgstr "Verversingssnelheid"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Links gelijk aan waarde"
+#~ msgid "Artwork Crop"
+#~ msgstr "Artwork bijsnijden"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Links niet gelijk aan waarde"
+#~ msgid "Use Backdrops"
+#~ msgstr "Gebruik backdrops"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Waarde"
+#~ msgid "Use Overlays"
+#~ msgstr "Gebruik overlays"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr "Verschil"
+#~ msgid "Use Bezels"
+#~ msgstr "Gebruik bezels"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Willekeurige"
+#~ msgid "Use Control Panels"
+#~ msgstr "Gebruik bedieningspanelen"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Dataformaat"
+#~ msgid "Use Marquees"
+#~ msgstr "Gebruik marquees"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr "Test/schrijf pokewaarde"
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Bilineaire momentopname"
-#: 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 ""
-"Gebruik dit voor het poken van de slot 1 waarde (eg. Je begon met iets maar "
-"verloor het)"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: 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 ""
-"Gebruik dit voor het poken van de laatste slot waarde (eg. Je begon zonder "
-"een item maar kreeg het)"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr "Gebruik dit voor het poken van 0x00"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr "Gebruik dit voor het poken van 0x01"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr "Gebruik dit voor het poken van 0x02"
+#, 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"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr "Gebruik dit voor het poken van 0x03"
+#, 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"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr "Gebruik dit voor het poken van 0x04"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr "Gebruik dit voor het poken van 0x05"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr "Gebruik dit voor het poken van 0x06"
+#~ 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."
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr "Gebruik dit voor het poken van 0x07"
+#~ 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"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr "Gebruik dit voor het poken van 0x08"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Druk op knop voor sneltoets of wacht om te herstellen"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr "Gebruik dit voor het poken van 0x09"
+#~ msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#~ msgstr ""
+#~ "Handmatig het spel wanneer nodig pauzeren en hervatten met de pauze "
+#~ "sneltoets"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr "Gebruik dit voor het poken van 0x63 (decimaal 99)"
+#, lua-format
+#~ msgid "Memory State saved to Slot %d"
+#~ msgstr "Geheugen state opgeslagen in slot %d"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr "Gebruik dit voor het poken van 0x99 (BCD 99)"
+#~ msgid "Save Current Memory State to Slot "
+#~ msgstr "Sla huidige geheugen state op in slot "
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr "Use this if you want to poke 0x99 (BCD 99)"
+#~ msgid "Perform Compare : "
+#~ msgstr "Vergelijking uitvoeren : "
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr "Gebruik dit voor het poken van 0x3E7 (decimaal 999)"
+#~ msgid "Use this if you want to poke 0x00"
+#~ msgstr "Gebruik dit voor het poken van 0x00"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr "Gebruik dit voor het poken van 0x999 (BCD 999)"
+#~ msgid "Use this if you want to poke 0x01"
+#~ msgstr "Gebruik dit voor het poken van 0x01"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr "Gebruik dit voor het poken van 0x270F (decimaal 9999)"
+#~ msgid "Use this if you want to poke 0x02"
+#~ msgstr "Gebruik dit voor het poken van 0x02"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr "Gebruik dit voor het poken van 0x9999 (BCD 9999)"
+#~ msgid "Use this if you want to poke 0x03"
+#~ msgstr "Gebruik dit voor het poken van 0x03"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr "Gebruik dit voor het poken van 0xFFFF (decimaal 65535)"
+#~ msgid "Use this if you want to poke 0x04"
+#~ msgstr "Gebruik dit voor het poken van 0x04"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Ongedaan maken van laatste zoekopdracht -- #"
+#~ msgid "Use this if you want to poke 0x05"
+#~ msgstr "Gebruik dit voor het poken van 0x05"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Paar blok"
+#~ msgid "Use this if you want to poke 0x06"
+#~ msgstr "Gebruik dit voor het poken van 0x06"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Alle"
+#~ msgid "Use this if you want to poke 0x07"
+#~ msgstr "Gebruik dit voor het poken van 0x07"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr "Test cheat %08X:%02X"
+#~ msgid "Use this if you want to poke 0x08"
+#~ msgstr "Gebruik dit voor het poken van 0x08"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Cheat engine niet beschikbaar"
+#~ msgid "Use this if you want to poke 0x09"
+#~ msgstr "Gebruik dit voor het poken van 0x09"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Test"
+#~ msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#~ msgstr "Gebruik dit voor het poken van 0x63 (decimaal 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Schrijf"
+#~ msgid "Use this if you want to poke 0x99 (BCD 99)"
+#~ msgstr "Gebruik dit voor het poken van 0x99 (BCD 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Watch"
+#~ msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#~ msgstr "Use this if you want to poke 0x99 (BCD 99)"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Pagina"
+#~ msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#~ msgstr "Gebruik dit voor het poken van 0x3E7 (decimaal 999)"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Herstel watches"
+#~ msgid "Use this if you want to poke 0x999 (BCD 999)"
+#~ msgstr "Gebruik dit voor het poken van 0x999 (BCD 999)"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Cheatzoeker"
+#~ msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#~ msgstr "Gebruik dit voor het poken van 0x270F (decimaal 9999)"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Sla invoernamen op in bestand"
+#~ msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#~ msgstr "Gebruik dit voor het poken van 0x9999 (BCD 9999)"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Opslaan van invoernaambestand mislukt"
+#~ msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#~ msgstr "Gebruik dit voor het poken van 0xFFFF (decimaal 65535)"
-#: plugins/portname/init.lua:167
#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "Invoerpoortnaambestand opgeslagen in %s"
-
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "Invoerpoorten"
+#~ msgid "Test Cheat %08X:%02X"
+#~ msgstr "Test cheat %08X:%02X"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Data hersteld en huidige staat opgeslagen"
diff --git a/language/English/strings.po b/language/English/strings.po
index 6754c8897ed..f2adfda414e 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Estonian/strings.po b/language/Estonian/strings.po
index 693dbe86765..cd76804ea60 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Finnish/strings.po b/language/Finnish/strings.po
index 5d61c9c3a31..b6f95cf5d54 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/French/strings.po b/language/French/strings.po
index 4d18d293e57..5a3dd40a6e3 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: 2021-05-29 22:30+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,2147 +17,2621 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Écran #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotation"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fonds"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Appuyez sur une touche pour continuer"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Calques"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Cadres"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Panneaux de contrôle"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Ê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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquees"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volume principal"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vue"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tronquée"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock du processeur %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Complète"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s son"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s - Taux de rafraîchissement"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Média logiciel"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s - Luminosité"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Interface utilisateur"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s - Contraste"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Langue"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s - Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples / Échantillons sonores"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s - Stretch horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "Fichiers DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s - Position horizontale"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "Fichiers INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s - Stretch vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Catégories INIs"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s - Position verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Icônes"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "'%1$s' Laserdisc - Stretch horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Codes de triche"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "'%1$s' Laserdisc - Position horizontale"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Captures d'écran"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "'%1$s' Laserdisc - Stretch vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Bornes"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "'%1$s' Laserdisc - Position verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers / Prospectus"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Scintillement de l'affichage vectoriel"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Écrans-titre"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Largeur de rayon minimum"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Fins de jeu"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Largeur de rayon maximum"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Circuits imprimés"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Panneaux de contrôle"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Intensité du rayon"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Viseurs"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Viseur - Échelle %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Illustrations"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: 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/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Aperçu des illustrations"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Viseur - Offset %1$s"
-#: 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/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Écrans GAME OVER"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Comment faire"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scores"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Viseur - Échelle X %1$1.3f"
-#: 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/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Viseur - Échelle Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Configuration des dossiers"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Viseur - Offset X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Dossier(s) actuel(s) pour %1$s"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Viseur - Offset Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Changer le dossier"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erreur de sauvegarde du fichier ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Ajouter un dossier"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erreur de sauvegarde du fichier %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Supprimer le dossier"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configuration sauvegardée \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Changer le dossier %1$s - Recherche : %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" ajouté à la liste des favoris."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Ajouter un dossier %1$s - Recherche : %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Appuyez sur TAB pour définir"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" supprimé de la liste des favoris."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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 : "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Liste de logiciels pour le driver : \"%1$s\" "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "arrêté"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Recherche : %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "en cours de lecture"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Recherche : %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(en cours de lecture)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "en cours d'enregistrement"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(en cours d'enregistrement)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Périphériques d'entrée généraux"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pause/Arrêt"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Sauvegarder la configuration"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Lire"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Paramètres"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Enregistrer"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtre"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Rembobiner"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personnaliser l'interface"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avance rapide"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configurer les dossiers"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[emplacement vide]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gestionnaire de fichiers]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[créer]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[liste des logiciels]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Permuter l'ordre des éléments"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
+msgid "Error accessing %s"
msgstr ""
-"Commande de tri effectuée : les entrées sont maintenant classées par %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nom court"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Sélectionner le mode d'accès"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "description"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Lecture seule"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[listes compatibles]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lecture-écriture"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Utilisation du logiciel"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Lire cette image, écrire dans une autre image"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Révision : "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Lire cette image, écrire vers diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ce fichier existe déjà - Écraser ?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Options diverses"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Non"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Oui"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nouveau nom de l'image :"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de l'image :"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Codes de triche"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Créer"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Affiche pointeur souris"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confirmation quitter depuis les machines"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Sélectionner le format de l'image"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Passe écran information au démarrage"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Périphériques d'entrée (généraux)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Force 4:3 aspect pour affichage d'instantanés"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Périphériques d'entrée (cette machine)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Contrôles analogiques"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP Switch"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuration de la machine"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Infos statistiques"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informations sur la machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Options avancé"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informations sur l'image"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Options performances"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestionnaire de fichiers"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Contrôle de la cassette"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Sélection BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Périphériques d'emplacement"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lecteur de code-barres"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Vitesse"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Périphériques réseau"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode clavier"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Contrôles du curseur"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Options rotation"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotation"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Options du viseur"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rotation droite"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Code de triche"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rotation gauche"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Options du module d'extension"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Rotation automatique droite"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualiser un DAT externe"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Rotation automatique gauche"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Sélectionner une nouvelle machine"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nouveau code-barres :"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Entrez un code"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Longueur du code-barres non valide !"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[échoué]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Périphériques d'entrée généraux"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Sauvegarder la configuration"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paramètres"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Options entrée"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personnaliser l'interface"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Souris"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurer les dossiers"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Manette de jeu"
-#: 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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-"Le jeu sélectionné est manquant d'un ou plusieur images ROM ou CHD. SVP "
-"sélectionné un autre jeu.\n"
-"\n"
-"Appuyer sur une touche pour continuer."
-#: 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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-"Aucune machine trouvée. Veuillez vérifier le chemin du répertoire indiqué "
-"dans le fichier %1$s.ini.\n"
-"\n"
-"Si vous utilisez %2$s pour la première fois, veuillez consulter le fichier "
-"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
-msgid "Configure Options"
-msgstr "Configurer les options"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Entrez un nom ou sélectionnez : %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Entrez un nom ou sélectionnez : (au hasard)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver : %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr ""
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Clavier naturel"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr ""
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Graphismes : Imparfaits, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Graphismes : OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Son : Aucun"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Son : Imparfait"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Son : OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "État de chargement"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Charger depuis la position"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Options vidéo"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "État de sauvegarde"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Mode vidéo"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Sauvegarder à la position"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Nombre d'écrans"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
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/submenu.cpp:119
+msgid "HLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mode : Émulation PARTIELLE"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface : Activée"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+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/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mode : Émulation COMPLÈTE"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Mode fenêtré"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface : désactivée"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr ""
-#: 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/submenu.cpp:126
+msgid "Start Out Maximized"
+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/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-"Ê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/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume principal"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Actif"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock du processeur %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Inactif"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s son"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Auto"
-#: 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/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s - Luminosité"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Retour à la machine actuelle"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s - Contraste"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Quitter MAME"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s - Gamma"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Retour au menu précédent"
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s - Stretch horizontal"
+msgid "Screen #%d"
+msgstr "Écran #%d"
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s - Position horizontale"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s - Stretch vertical"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s - Position verticale"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: 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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Scintillement de l'affichage vectoriel"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "protection"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largeur de rayon minimum"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "minutage"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largeur de rayon maximum"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "graphismes"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensité du rayon"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "palette de couleur"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Viseur - Échelle %1$s"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "son"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "caméra"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Viseur - Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "microphone"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "contrôles"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "clavier"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "souris"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "disque"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "imprimante"
-#: 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:45
+msgid "magnetic tape"
+msgstr ""
-#: 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:46
+msgid "punch tape"
+msgstr ""
-#: 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:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erreur de sauvegarde du fichier ui.ini**"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
+msgstr ""
-#: 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/info.cpp:50
+msgid "LAN"
+msgstr "LAN"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configuration sauvegardée \n"
+msgstr ""
+"On rencontre les problèmes suivants avec cette machine :\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Commentaire de triche :\n"
-"%s"
+"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/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tous les codes de triche ont été rechargés"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Caractéristiques complètement non émulée : "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paramètres du tir automatique"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tout réinitialiser"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Tout recharger"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Caractéristiques émulée imparfaitement : "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Statut du tir automatique"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Aucun bouton trouvé sur cette machine !"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Cette machine nécessite des fichiers illustrations externe.\n"
-#: 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/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" ajouté à la liste des favoris."
+"\n"
+"\n"
+"Il y a des clones fonctionnel de cette machine : %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" supprimé de la liste des favoris."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver : %4$s\n"
+"\n"
+"Processeur(s) :\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
+"\n"
+"Son :\n"
-#: 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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vidéo :\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Aucun\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Graphismes vectoriels"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s : %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Liste de logiciels pour le driver : \"%1$s\" "
+msgid "Screen '%1$s'"
+msgstr "Écran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Écran"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Non supporté"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Partiellement supporté"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vide]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gestionnaire de fichiers]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Permuter l'ordre des éléments"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Recherche : %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+"Commande de tri effectuée : les entrées sont maintenant classées par %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nom court"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "description"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[listes compatibles]"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: 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:1045
+msgid "No"
+msgstr "Non"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Sélectionner le format de l'image"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Mode clavier"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Naturel"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Émulé"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Recherche : %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Activé"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Désactivé"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Non filtré"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Disponible"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Indisponible"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Fonctionnel"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Non fonctionnel"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mécanique"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Non mécanique"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Catégorie"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoris"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Pas BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Parents"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Clones"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Manufactureur"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Année"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Sauvegarde supportée"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Sauvegarde non supportée"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD Requis"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Pas de CHD requis"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Écran vertical"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Écran horizontal"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Filtre personnalisé"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Éditeur"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Supportée"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Supportée partiellement"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Non supportée"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Région disponible"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Sorte composante"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Liste logiciel"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<configurer filtres>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Sélectionner les filtres personnalisés :"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtre %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Supprimer le dernier filtre"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Ajouter un filtre"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Sélectionne une catégorie"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[pas de catégorie fichiers INI]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[pas de groupes dans fichier INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Pas de catégorie fichiers INI trouvé"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Fichier"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Pas de groupes trouvé dans la catétorie de fichier"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Groupe"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Inclure clones"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[créer]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Utilisation du logiciel"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Révision : "
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Réinitialiser"
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Sélectionner le mode d'accès"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Temps écoulé : %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Lecture seule"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Tickets distribués : %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lecture-écriture"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monnayeur %1$c : ND%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monnayeur %1$c : %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (verrouillé)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interne]"
+msgid "P%d Visibility"
+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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COULEURS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Attente visible"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " MARQUEURS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sauvegardé dans le dossier ui."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Retour à la machine actuelle"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nom : Description :\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Quitter MAME"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sauvegardé dans le dossier ui."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporter la liste au format XML (comme -listxml)"
-#: 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/miscmenu.cpp:693
+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/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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporter la liste au format TXT (comme -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Tout afficher"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Cette machine na pas de BIOS"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Cacher les filtres"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Ajouter aux favoris"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Cacher Images/Infos"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Supprimer des favoris"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Cacher les deux"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Polices"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Couleurs"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (par défaut)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Afficher les panneaux latéraux"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Modules d'extension"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Paramètres personnalisés de l'interface"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminals"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "par défaut"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[échoué]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Police de l'interface"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Gras"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "État de chargement"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Italique"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Lignes"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "État de sauvegarde"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Taille du texte des infos"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Paramètres des polices de l'interface"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interne]"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interface utilisateur"
+
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-"Exemple de texte - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Texte normal"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Autres contrôles"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Couleur sélectionnée"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Arrière-plan du texte normal"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Couleur de fond sélectionnée"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Couleur du sous-élément"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Bordure"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Arrière-plan"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP Switch"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Couleur non disponible"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "arrêté"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Couleur du curseur"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "en cours de lecture"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Arrière-plan du visualiseur GFX"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(en cours de lecture)"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Couleur lors du passage de la souris"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "en cours d'enregistrement"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Couleur de fond lors du passage de la souris"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(en cours d'enregistrement)"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Couleur lorsque le bouton de la souris est enfoncé"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pause/Arrêt"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Couleur de fond lorsque le bouton de la souris est enfoncé"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Lire"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaurer les couleurs d'origine"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Enregistrer"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Paramètres des couleurs de l'interface"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Rembobiner"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avance rapide"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Impossible de sauvegarder sous ce répertoire"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Le jeu sélectionné est manquant d'un ou plusieur images ROM ou CHD. SVP "
+"sélectionné un autre jeu.\n"
+"\n"
+"Appuyer sur une touche pour continuer."
+
+#: src/frontend/mame/ui/simpleselgame.cpp:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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 ""
-"Double-cliquez ou appuyez sur %1$s pour changer la valeur de la couleur"
+"Aucune machine trouvée. Veuillez vérifier le chemin du répertoire indiqué "
+"dans le fichier %1$s.ini.\n"
+"\n"
+"Si vous utilisez %2$s pour la première fois, veuillez consulter le fichier "
+"config.txt dans le répertoire docs pour obtenir de plus amples informations "
+"sur la configuration de %2$s."
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Aperçu du menu"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configurer les options"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Entrez un nom ou sélectionnez : %1$s_"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Sous-élément"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Entrez un nom ou sélectionnez : (au hasard)"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Sélectionnée"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Passage de la souris"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver : %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Paramètres ARVB"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "En résumé : NE FONCTIONNE PAS"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "En résumé : Protection non émulée"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rouge"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "En résumé : Fonctionne correctement"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Vert"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Graphismes : Non implémenté"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Bleu"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Graphismes : Imparfaits, "
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Choisir parmi la palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Graphismes : OK, "
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Aperçu de la couleur ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Son : Aucun"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Blanc"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Son : Non implémenté"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Argent"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Son : Imparfait"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Gris"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Son : OK"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Noir"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Commentaire de triche :\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Tous les codes de triche ont été rechargés"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Jaune"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Tout réinitialiser"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Tout recharger"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode clavier :"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturel"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Média logiciel"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Émulé"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Interface utilisateur"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Langue"
-#: 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/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples / Échantillons sonores"
-#: 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/dirmenu.cpp:42
+msgid "DATs"
+msgstr "Fichiers DATs"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "Fichiers INIs"
-#: 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/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Catégories INIs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (verrouillé)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Icônes"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Attente visible"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Captures d'écran"
-#: 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/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Bornes"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom : Description :\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Flyers / Prospectus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Écrans-titre"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Fins de jeu"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Circuits imprimés"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquees"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Panneaux de contrôle"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Viseurs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Illustrations"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Boss / Ennemis et adversaires"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Aperçu des illustrations"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Écrans de sélection"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Écrans GAME OVER"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Comment faire"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Scores"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Boîtiers et emballages"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Configuration des dossiers"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sauvegardé dans le dossier ui."
+msgid "Current %1$s Folders"
+msgstr "Dossier(s) actuel(s) pour %1$s"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Changer le dossier"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Ajouter un dossier"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Supprimer le dossier"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Changer le dossier %1$s - Recherche : %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Cette machine na pas de BIOS"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Ajouter un dossier %1$s - Recherche : %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sauvegarder la configuration de la machine"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Appuyez sur TAB pour définir"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurer la machine :"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Supprimer le dossier %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (par défaut)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COULEURS"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Modules d'extension"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " MARQUEURS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configurer la machine"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Année\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Fabricant\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Driver est le parent\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Contrôles analogique\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Entrées clavier\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Globalement\tNON FONCTIONNEL\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Globalement\tProtection non émulée\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Globalement\tFonctionnel\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Graphismes\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Graphismes\tCouleurs Incorrectes\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Graphismes\tCouleurs Imparfaites\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Graphismes\tImparfaites\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Graphismes\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Son\tAucun\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Son\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Son\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Son\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Caméra\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Caméra\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Microphone\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Microphone\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Contrôles\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Contrôles\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Clavier\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Clavier\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Souris\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Souris\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disque\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disque\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Imprimante\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Imprimante\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Minutage\tNon implanté\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Minutage\tImparfait\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Machine mécanique\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Machine mécanique\tNon\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Illustrations requis\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Illustrations requis\tNon\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Illustrations cliquable requis\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "Driver est BIOS\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "Driver est BIOS\tNon\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Supporte sauvegarde\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Supporte sauvegarde\tNon\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "CHD requis\tOui\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "CHD requis\tNon\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset : %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Système : %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Liste de sélection - Recherche : "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Audit ROMs pour %1$u machines marqué non disponible ?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Audit ROMs pour toutes les machines %1$u ?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(Les résultats va être sauvegarder à %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"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/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Son"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Démarre Audit"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Fréquence d'échantillonnage"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Tout afficher"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utiliser des samples externes"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Cacher les filtres"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Options diverses"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Cacher Images/Infos"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Re-sélectionne la dernière machine jouer"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Cacher les deux"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Polices"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Affiche pointeur souris"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Couleurs"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirmation quitter depuis les machines"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Afficher les panneaux latéraux"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Passe écran information au démarrage"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Paramètres personnalisés de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Force 4:3 aspect pour affichage d'instantanés"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "par défaut"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Police de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Gras"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Italique"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Lignes"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Taille du texte des infos"
+
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Paramètres des polices de l'interface"
+
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Exemple de texte - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Options avancé"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Texte normal"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Options performances"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Couleur sélectionnée"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Arrière-plan du texte normal"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Couleur de fond sélectionnée"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Couleur du sous-élément"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clone"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Vitesse"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Bordure"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Vitesse de rafraîchissement"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Arrière-plan"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Options rotation"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP Switch"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rotation droite"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Couleur non disponible"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rotation gauche"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Couleur du curseur"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Rotation automatique droite"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Arrière-plan du visualiseur GFX"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Rotation automatique gauche"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Couleur lors du passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Couleur de fond lors du passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Couleur lorsque le bouton de la souris est enfoncé"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Couleur de fond lorsque le bouton de la souris est enfoncé"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaurer les couleurs d'origine"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Paramètres des couleurs de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
+"Double-cliquez ou appuyez sur %1$s pour changer la valeur de la couleur"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Aperçu du menu"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Sous-élément"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Sélectionnée"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Paramètres ARVB"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alpha"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rouge"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Options entrée"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Vert"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Bleu"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Souris"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Choisir parmi la palette"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Manette de jeu"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Aperçu de la couleur ="
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Blanc"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Argent"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Gris"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Noir"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Orange"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Jaune"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violet"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Clavier naturel"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nouveau code-barres :"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Entrez un code"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Longueur du code-barres non valide !"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Périphériques d'entrée (généraux)"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Périphériques d'entrée (cette machine)"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Contrôles analogiques"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuration de la machine"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Infos statistiques"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informations sur la machine"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informations sur l'image"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Mode vidéo"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestionnaire de fichiers"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Nombre d'écrans"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Contrôle de la cassette"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Sélection BIOS"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Périphériques d'emplacement"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Lecteur de code-barres"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Périphériques réseau"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Contrôles du curseur"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Options du viseur"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Code de triche"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Options du module d'extension"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualiser un DAT externe"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Sélectionner une nouvelle machine"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Panneaux de contrôle"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Aperçu de l'illustration"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Ajouter ou supprimer des favoris"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exporter la liste affichée vers un fichier"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Afficher vue des fichiers DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Sélection du logiciel :"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Sélection BIOS :"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Ce logiciel est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Ce logiciel est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Supporté : Non"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Supporté : Partiellement"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Supporté : Oui"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ce driver est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Ce driver est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Images"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Infos"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Mode fenêtré"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Appuyez sur une touche pour continuer"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Utilisation"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Informations générales"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2168,7 +2642,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2179,555 +2653,481 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Audit ROMs pour %1$u machines marqué non disponible ?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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 ?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Sauvegarde triche"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Par défaut"
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
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"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Nom trichage"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Impossible de sauvegarder sous ce répertoire"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Le nom par défaut est %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Joueur"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
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"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "minutage"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "graphismes"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "palette de couleur"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "son"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "caméra"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microphone"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Annuler"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "contrôles"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU ou RAM"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "clavier"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "souris"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disque"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "imprimante"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Démarre une nouvelle recherche"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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: "
-msgstr "Caractéristiques complètement non émulée : "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+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"
-msgstr ", %s"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Caractéristiques émulée imparfaitement : "
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr ""
-#: 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"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
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
-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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
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:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Valeur"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-"\n"
-"\n"
-"Il y a des clones fonctionnel de cette machine : %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-"\n"
-"\n"
-"Appuyez sur une touche pour continuer"
-#: 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"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver : %4$s\n"
-"\n"
-"Processeur(s) :\n"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"Son :\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Video:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Vidéo :\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Aucun\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Graphismes vectoriels"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s : %2$s\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Écran '%1$s'"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Tout"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Écran"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Non supporté"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Partiellement supporté"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Test"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vide]"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Écrire"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Panneaux de contrôle"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Surveiller"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Aperçu de l'illustration"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Page"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Ajouter ou supprimer des favoris"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporter la liste affichée vers un fichier"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Afficher vue des fichiers DATs"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Sélection du logiciel :"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Sélection BIOS :"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Ce logiciel est un clone de : %1$-.100s"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Ce logiciel est le parent"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Supporté : Non"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Supporté : Partiellement"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supporté : Oui"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset : %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Ce driver est un clone de : %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ce driver est le parent"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Images"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilisation"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informations générales"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface utilisateur"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Autres contrôles"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr ""
+
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2745,68 +3145,81 @@ msgstr ""
msgid "Timer"
msgstr "Minuteur"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Aucun"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr ""
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activé : %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Activé : %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Acivée : %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Désactivée : %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s ajouté"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Aperçu command.dat"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Aperçu story.dat"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Aperçu sysinfo.dat"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "High Scores"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Aperçu gameinit.dat"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Aperçu history.dat"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2818,330 +3231,113 @@ msgstr ""
"--- DRIVER INFO ---\n"
"Driver: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Aperçu story.dat"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Aperçu sysinfo.dat"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Aperçu gameinit.dat"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Sauvegarde triche"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Par défaut"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Nom trichage"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Le nom par défaut est %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Joueur"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Annuler"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU ou RAM"
-
-#: plugins/cheatfind/init.lua:495
-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:551
-msgid "Start new search"
-msgstr "Démarre une nouvelle recherche"
-
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Valeur"
-
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:725
-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/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Fonds"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Calques"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Cadres"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Panneaux de contrôle"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Vue"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Tronquée"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Complète"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP Switch"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Charger depuis la position"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Sauvegarder à la position"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Statut de l'émulation du clavier"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Mode : Émulation PARTIELLE"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Interface : Activée"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Utiliser <Arrêt défil> pour basculer**"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Mode : Émulation COMPLÈTE"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Interface : désactivée"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Tout"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Le tir automatique ne peut pas être activé"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Paramètres du tir automatique"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Test"
+#~ msgid "Autofire Status"
+#~ msgstr "Statut du tir automatique"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Écrire"
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Aucun bouton trouvé sur cette machine !"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Surveiller"
+#~ msgid "Autofire Delay"
+#~ msgstr "Attente du tir automatique"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Page"
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Mode clavier :"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Sauvegarder la configuration de la machine"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Configurer la machine :"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Re-sélectionne la dernière machine jouer"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Vitesse de rafraîchissement"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid ""
+#~ "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."
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ 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"
#~ msgid "Compare"
#~ msgstr "Compare"
diff --git a/language/French_Belgium/strings.po b/language/French_Belgium/strings.po
index 65353b2916d..03b5acbba4a 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: 2021-05-29 22:30+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,2143 +17,2612 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Écran #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotation"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops / Fonds"
-
-#: 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/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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays / Calques"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Appuyez sur une touche pour continuer"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels / Cadres"
+#: src/frontend/mame/ui/ui.cpp:555
+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/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanels / Commandes"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+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/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vue"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Ê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/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tronquée"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volume principal"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Complète"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock du processeur %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI / Interface utilisateur"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s - Taux de rafraîchissement"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Langue"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s - Luminosité"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples / Échantillons sonores"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s - Contraste"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "Fichiers DAT"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s - Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "Fichiers INI"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s - Stretch horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s - Position horizontale"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Icônes"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s - Stretch vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s - Position verticale"
-#: 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/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "'%1$s' Laserdisc - Stretch horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinets / Bornes"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "'%1$s' Laserdisc - Position horizontale"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers / Prospectus"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "'%1$s' Laserdisc - Stretch vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titles / Écrans-titre"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "'%1$s' Laserdisc - Position verticale"
-#: 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/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Scintillement de l'affichage vectoriel"
-#: 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/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Largeur de rayon minimum"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Control Panels / Panneaux de contrôle"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Largeur de rayon maximum"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Crosshairs / Viseurs"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Artworks / Illustrations"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Intensité du rayon"
-#: 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/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Viseur - Échelle %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Artworks Preview / Aperçu des illustrations"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr ""
-#: 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/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver / Écrans GAME OVER)"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Viseur - Offset %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HowTo / Comment faire"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
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/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Configuration des dossiers"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Viseur - Échelle X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Dossier(s) actuel(s) pour %1$s"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Viseur - Échelle Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Changer le dossier"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Viseur - Offset X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Ajouter un dossier"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Viseur - Offset Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Supprimer le dossier"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erreur de sauvegarde du fichier ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Changer le dossier %1$s - Recherche: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr "**Erreur de sauvegarde du fichier %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Ajouter un dossier %1$s - Recherche: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configuration sauvegardée \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Appuyez sur TAB pour définir"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" ajouté à la liste des favoris."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Supprimer le dossier %1$s"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" supprimé de la liste des favoris."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Liste de sélection - Recherche : "
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, 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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Liste de logiciels pour le driver : \"%1$s\" "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "arrêté"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "en cours de lecture"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(en cours de lecture)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "en cours d'enregistrement"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(en cours d'enregistrement)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Périphériques d'entrée généraux"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr ""
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Sauvegarder la configuration"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Lire"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Paramètres"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Enregistrer"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtre"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Rembobiner"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personnaliser l'interface"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avance rapide"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configurer les dossiers"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[emplacement vide]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gestionnaire de fichiers]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[créer]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[liste des logiciels]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Permuter l'ordre des éléments"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
+msgid "Error accessing %s"
msgstr ""
-"Commande de tri effectuée : les entrées sont maintenant classées par %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nom court"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Sélectionner le mode d'accès"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr ""
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Lecture seule"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[listes compatibles]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lecture-écriture"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Utilisation du logiciel"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Lire cette image, écrire dans une autre image"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Révision : "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Lire cette image, écrire vers diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ce fichier existe déjà - Écraser ?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Non"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Oui"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nouveau nom de l'image :"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de l'image :"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Créer"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr ""
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Sélectionner le format de l'image"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+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/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Périphériques d'entrée (cette machine)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Contrôles analogiques"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP Switch"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuration de la machine"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Infos statistiques"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informations sur la machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informations sur l'image"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestionnaire de fichiers"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Contrôle de la cassette"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot Devices / Périphériques d'emplacement"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lecteur de code-barres"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Périphériques réseau"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode clavier"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Contrôles du curseur"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr ""
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotation"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Options du viseur"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Plugin / Options du module d'extension"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualiser un DAT externe"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr ""
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Sélectionner une nouvelle machine"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nouveau code-barres :"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Entrez un code"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Longueur du code-barres non valide !"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[échoué]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Périphériques d'entrée généraux"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Sauvegarder la configuration"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paramètres"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personnaliser l'interface"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurer les dossiers"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-"Aucune machine trouvée. Veuillez vérifier le chemin du répertoire indiqué "
-"dans le fichier %1$s.ini.\n"
-"\n"
-"Si vous utilisez %2$s pour la première fois, veuillez consulter le fichier "
-"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
-msgid "Configure Options"
-msgstr "Configurer les options"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Entrez un nom ou sélectionnez : %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Entrez un nom ou sélectionnez : (au hasard)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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/submenu.cpp:89
+msgid "Offscreen reload"
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/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver : %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr ""
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr ""
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Graphismes : Imparfaits, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Graphismes : OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Son : Imparfait"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Son : OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Charger depuis la position"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Options vidéo"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Sauvegarder à la position"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
+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/submenu.cpp:118
+msgid "Triple Buffering"
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/submenu.cpp:119
+msgid "HLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mode : Émulation PARTIELLE"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface : Activée"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr ""
-#: 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/submenu.cpp:124
+msgid "Window Mode"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mode : Émulation COMPLÈTE"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface : désactivée"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr ""
-#: 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/submenu.cpp:127
+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."
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-"Ê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/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume principal"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Actif"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Inactif"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock du processeur %1$s"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
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/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Retour à la machine actuelle"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s - Luminosité"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Quitter MAME"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s - Contraste"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Retour au menu précédent"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s - Gamma"
+msgid "Screen #%d"
+msgstr "Écran #%d"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s - Stretch horizontal"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s - Position horizontale"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s - Stretch vertical"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s - Position verticale"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: 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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: 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/info.cpp:31
+msgid "protection"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Scintillement de l'affichage vectoriel"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largeur de rayon minimum"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largeur de rayon maximum"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensité du rayon"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Viseur - Échelle %1$s"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Viseur - Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
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/info.cpp:44
+msgid "printer"
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/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: 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:46
+msgid "punch tape"
+msgstr ""
-#: 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:47
+msgid "magnetic drum"
+msgstr ""
-#: 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:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erreur de sauvegarde du fichier ui.ini**"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr ""
-#: 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/info.cpp:51
+msgid "WAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configuration sauvegardée \n"
+msgstr ""
+"On rencontre les problèmes suivants avec cette machine :\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Commentaire du cheat :\n"
-"%s"
+"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/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tous les cheats ont été rechargés"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paramètres du tir automatique"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tout réinitialiser"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Tout recharger"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:281
+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:283
+msgid "This machine requires external artwork files.\n"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Statut du tir automatique"
+#: src/frontend/mame/ui/info.cpp:285
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Aucun bouton trouvé sur cette machine !"
+#: src/frontend/mame/ui/info.cpp:287
+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/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Attente du tir automatique"
+#: src/frontend/mame/ui/info.cpp:291
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
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
+#: src/frontend/mame/ui/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" supprimé de la liste des favoris."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver : %4$s\n"
+"\n"
+"Processeur(s) :\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
+"\n"
+"Son :\n"
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
msgstr ""
+"\n"
+"Vidéo :\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Aucun\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Graphismes vectoriels"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s : %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Liste de logiciels pour le driver : \"%1$s\" "
+msgid "Screen '%1$s'"
+msgstr "Écran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Écran"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Non supporté"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Partiellement supporté"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vide]"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gestionnaire de fichiers]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Permuter l'ordre des éléments"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+"Commande de tri effectuée : les entrées sont maintenant classées par %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nom court"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[listes compatibles]"
+
+#: 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:1045
+msgid "No"
+msgstr "Non"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Sélectionner le format de l'image"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Mode clavier"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Naturel"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Émulé"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Activé"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Désactivé"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Sélectionner les filtres personnalisés :"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Supprimer le dernier filtre"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Ajouter un filtre"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[créer]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Utilisation du logiciel"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Révision : "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Sélectionner le mode d'accès"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Temps écoulé : %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Lecture seule"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Tickets distribués : %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lecture-écriture"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monnayeur %1$c : ND%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monnayeur %1$c : %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (verrouillé)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Retour à la machine actuelle"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Attente visible"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Quitter MAME"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sauvegardé dans le dossier ui."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nom : Description :\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sauvegardé dans le dossier ui."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporter la liste au format XML (comme -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Tout afficher"
-
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Cacher les filtres"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporter la liste au format TXT (comme -listfull)"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Cacher Images/Infos"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Cacher les deux"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Polices"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Ajouter aux favoris"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Couleurs"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Supprimer des favoris"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Afficher les panneaux latéraux"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Paramètres personnalisés de l'interface"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "par défaut"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (par défaut)"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Police de l'interface"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plugins / Modules d'extension"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Gras"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Italique"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[échoué]"
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Lignes"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Taille du texte des infos"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Paramètres des polices de l'interface"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-"Exemple de texte - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Texte normal"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Couleur sélectionnée"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Arrière-plan du texte normal"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interface utilisateur"
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Couleur de fond sélectionnée"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Couleur du sous-élément"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Autres contrôles"
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Bordure"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Arrière-plan"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP Switch"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Couleur non disponible"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Couleur du curseur"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Arrière-plan du visualiseur GFX"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Couleur lors du passage de la souris"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Couleur de fond lors du passage de la souris"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "arrêté"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Couleur lorsque le bouton de la souris est enfoncé"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "en cours de lecture"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Couleur de fond lorsque le bouton de la souris est enfoncé"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(en cours de lecture)"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaurer les couleurs d'origine"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "en cours d'enregistrement"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Paramètres des couleurs de l'interface"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(en cours d'enregistrement)"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-"Double-cliquez ou appuyez sur %1$s pour changer la valeur de la couleur"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Aperçu du menu"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Lire"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr ""
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Enregistrer"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Sous-élément"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Rembobiner"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Sélectionné"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avance rapide"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Passage de la souris"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Impossible de sauvegarder sous ce répertoire"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rouge"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Aucune machine trouvée. Veuillez vérifier le chemin du répertoire indiqué "
+"dans le fichier %1$s.ini.\n"
+"\n"
+"Si vous utilisez %2$s pour la première fois, veuillez consulter le fichier "
+"config.txt dans le répertoire docs pour obtenir de plus amples informations "
+"sur la configuration de %2$s."
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Vert"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configurer les options"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Bleu"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Entrez un nom ou sélectionnez : %1$s_"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Choisir parmi la palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Entrez un nom ou sélectionnez : (au hasard)"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Aperçu de la couleur ="
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Blanc"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver : %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Argent"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "En résumé : NE FONCTIONNE PAS"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Gris"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "En résumé : Protection non émulée"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Noir"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "En résumé : Fonctionne correctement"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Jaune"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Graphismes : Imparfaits, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Graphismes : OK, "
+
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode clavier :"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Son : Non implémenté"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturel"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Son : Imparfait"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Émulé"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Son : OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Temps écoulé : %1$d:%2$02d:%3$02d\n"
-"\n"
+"Commentaire du cheat :\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Tous les cheats ont été rechargés"
+
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Tout réinitialiser"
+
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Tout recharger"
+
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
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/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI / Interface utilisateur"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Langue"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (verrouillé)"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples / Échantillons sonores"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Attente visible"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "Fichiers DAT"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "Fichiers INI"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom : Description :\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr ""
-#: 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/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Icônes"
-#: 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/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Snapshots / Captures d'écran"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Cabinets / Bornes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Flyers / Prospectus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titles / Écrans-titre"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Ends / Fins de jeu"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCBs / Circuits imprimés"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
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/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Control Panels / Panneaux de contrôle"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Crosshairs / Viseurs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Artworks / Illustrations"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bosses / Ennemis et adversaires"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Artworks Preview / Aperçu des illustrations"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Select / Écrans de sélection"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver / Écrans GAME OVER)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "HowTo / Comment faire"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sauvegarder la configuration de la machine"
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurer la machine :"
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Covers / Boîtiers et emballages"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (par défaut)"
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Configuration des dossiers"
-#: 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/dirmenu.cpp:169
+#, c-format
+msgid "Current %1$s Folders"
+msgstr "Dossier(s) actuel(s) pour %1$s"
+
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Changer le dossier"
+
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Ajouter un dossier"
+
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Supprimer le dossier"
+
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Changer le dossier %1$s - Recherche: %2$s_"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Ajouter un dossier %1$s - Recherche: %2$s_"
+
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Appuyez sur TAB pour définir"
+
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Supprimer le dossier %1$s"
+
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COULEURS"
+
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " MARQUEURS"
+
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configurer la machine"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset : %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, 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/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Liste de sélection - Recherche : "
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utiliser des samples externes"
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Tout afficher"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Cacher les filtres"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Cacher Images/Infos"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Cacher les deux"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Polices"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Couleurs"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Afficher les panneaux latéraux"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Paramètres personnalisés de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "par défaut"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Police de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Gras"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Italique"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Lignes"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Taille du texte des infos"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Paramètres des polices de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Exemple de texte - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Texte normal"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Couleur sélectionnée"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Arrière-plan du texte normal"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Couleur de fond sélectionnée"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Couleur du sous-élément"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clone"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Bordure"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Arrière-plan"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP Switch"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Couleur non disponible"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Couleur du curseur"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Arrière-plan du visualiseur GFX"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Couleur lors du passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Couleur de fond lors du passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Couleur lorsque le bouton de la souris est enfoncé"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Couleur de fond lorsque le bouton de la souris est enfoncé"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaurer les couleurs d'origine"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Paramètres des couleurs de l'interface"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
+"Double-cliquez ou appuyez sur %1$s pour changer la valeur de la couleur"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Aperçu du menu"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Sous-élément"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Sélectionné"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Passage de la souris"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rouge"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Vert"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Bleu"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Choisir parmi la palette"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Aperçu de la couleur ="
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Blanc"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Argent"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Gris"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Noir"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Jaune"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nouveau code-barres :"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Entrez un code"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Longueur du code-barres non valide !"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Périphériques d'entrée (généraux)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Périphériques d'entrée (cette machine)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Contrôles analogiques"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuration de la machine"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Infos statistiques"
+
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informations sur la machine"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informations sur l'image"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestionnaire de fichiers"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Contrôle de la cassette"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Slot Devices / Périphériques d'emplacement"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Lecteur de code-barres"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Périphériques réseau"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Contrôles du curseur"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Options du viseur"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Plugin / Options du module d'extension"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualiser un DAT externe"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Sélectionner une nouvelle machine"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Control Panels / Commandes"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Aperçu de l'artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Ajouter ou supprimer des favoris"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exporter la liste affichée vers un fichier"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Afficher vue des fichiers DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Sélection du logiciel :"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Ce logiciel est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Ce logiciel est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Supporté : Non"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Supporté : Partiellement"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Supporté : Oui"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ce driver est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Ce driver est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Utilisation"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Informations générales"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2164,7 +2633,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2175,956 +2644,666 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-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/auditmenu.cpp:142
-msgid "Start Audit"
-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/imgcntrl.cpp:150
-msgid ""
-"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/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"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
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"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
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"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
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"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
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: "
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-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"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
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/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
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"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
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"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
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"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
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
-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"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-"\n"
-"\n"
-"Appuyez sur une touche pour continuer"
-#: 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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver : %4$s\n"
-"\n"
-"Processeur(s) :\n"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-"\n"
-"Son :\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-"\n"
-"Vidéo :\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Aucun\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Graphismes vectoriels"
-
-#: 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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
-#, 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é"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Partiellement supporté"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vide]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Control Panels / Commandes"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Aperçu de l'artwork"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Ajouter ou supprimer des favoris"
-
-#: 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/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Afficher vue des fichiers DATs"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Sélection du logiciel :"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, 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"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supporté : Oui"
-
-#: 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 "Ce driver est un clone de : %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ce driver est le parent"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilisation"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informations générales"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface utilisateur"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Autres contrôles"
-
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:744
+msgid ""
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%s added"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Aperçu command.dat"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Aperçu history.dat"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Aperçu story.dat"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Aperçu sysinfo.dat"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Aperçu gameinit.dat"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/portname/init.lua:167
#, lua-format
-msgid "Default name is %s"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
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/data/data_command.lua:23
+msgid "Command"
+msgstr "Aperçu command.dat"
-#: 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/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Aperçu story.dat"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Aperçu sysinfo.dat"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Aperçu gameinit.dat"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Aperçu history.dat"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Backdrops / Fonds"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Overlays / Calques"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Bezels / Cadres"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "CPanels / Commandes"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Vue"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Tronquée"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Complète"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP Switch"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Charger depuis la position"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Sauvegarder à la position"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Statut de l'émulation du clavier"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Mode : Émulation PARTIELLE"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Interface : Activée"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Utiliser <ScrLock> pour basculer**"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Mode : Émulation COMPLÈTE"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Interface : désactivée"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Le tir automatique ne peut pas être activé"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Paramètres du tir automatique"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Statut du tir automatique"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Aucun bouton trouvé sur cette machine !"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Attente du tir automatique"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Mode clavier :"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Sauvegarder la configuration de la machine"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Configurer la machine :"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid ""
+#~ "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."
#~ msgid "Vertical"
#~ msgstr "Verticale"
diff --git a/language/French_Canada/strings.po b/language/French_Canada/strings.po
index 302ab5be1ac..f07280df5b5 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Georgian/strings.po b/language/Georgian/strings.po
index a33028c4b08..5ecf6410c33 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/German/strings.po b/language/German/strings.po
index bc199b09581..88cc4e04ec9 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: 2021-05-29 22:30+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,1806 +19,2095 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Bildschirm #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Drehen"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Drücken Sie eine beliebige Taste zum Fortfahren"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezel"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Bedienfelder"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquees"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Gesamtlautstärke"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Ansicht"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Lautstärke"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beschnitten"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$s übertakten"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Voll"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Sound %1$s übertakten"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Aktualisierungsrate"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Software-Medien"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Helligkeit"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Benutzeroberfläche"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Sprache"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horizontale Streckung"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horizontale Position"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vertikale Streckung"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Kategorie INIs"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Vertikale Position"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Icons"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horizontale Streckung"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horizontale Position"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Schnappschüsse"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Vertikale Streckung"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Gehäuse"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vertikale Position"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyer"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vektorflimmern"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titelbilder"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimale Strahlbreite"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Enden"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maximale Strahlbreite"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Platinen"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Bedienfelder"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Gewichtung der Strahlintensität"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Fadenkreuze"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Fadenkreuzskalierung %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Illustrationen"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosse"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Vorschau Illustrationen"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Fadenkreuzversatz %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Auswahl"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Handbuch"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Spielstände"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Gegen"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Fadenkreuzskalierung X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Cover"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Fadenkreuzskalierung Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Ordnereinstellungen"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Fadenkreuzversatz X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Aktuelle %1$s-Ordner"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Fadenkreuzversatz Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Ordner wechseln"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fehler beim Speichern von ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Ordner hinzufügen"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fehler beim Speichern von %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Ordner entfernen"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Konfiguration gespeichert \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "%1$s-Ordner ändern - Suche: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" zur Favoritenliste hinzugefügt."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "%1$s-Ordner hinzufügen - Suche: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Zum Setzen drücken Sie TAB"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" von der Favoritenliste entfernt."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "%1$s-Ordner entfernen"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Auswahlliste - Suche: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Zum Auswählen, doppelklicken oder drücken Sie %1$s"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Treiber: \"%1$s\" Softwareliste "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "gestoppt"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Suche: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "spiele ab"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Suche: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(spiele ab)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "nehme auf"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Soundeinstellungen"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(nehme auf)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Haupteingaben"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pause/Stop"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Konfiguration speichern"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Abspielen"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Einstellungen"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Aufnahme"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filter"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Zurückspulen"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Benutzeroberfläche anpassen"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Vorspulen"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Verzeichnisse konfigurieren"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[leerer Steckplatz]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[Dateimanager]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[erzeugen]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[Softwareliste]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Sortierung der Einträge ändern"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Sortierung geändert: Einträge sind nun sortiert nach %s"
+msgid "Error accessing %s"
+msgstr "Fehler beim Zugriff auf %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "Kurzem Namen"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Zugriffsart wählen"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "Beschreibung"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Nur lesend"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[Kompatible Listen]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lesend und schreibend"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Verwendung der Software"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Lesen von diesem Image, Schreiben auf ein anderes Image"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Version: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Lesen von diesem Image, Schreiben in diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Datei existiert bereits - Überschreiben?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Verschiedene Einstellungen"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nein"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Neuer Image-Name:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Bilder im rechten Bereich vergrößern"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Image-Format:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheats"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Erzeugen"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Mauszeiger anzeigen"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Beim Verlassen Bestätigung fordern"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Image-Format auswählen"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Informations-Bildschirm beim Start überspringen"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Eingabe (allgemein)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "4:3-Seitenverhältnis für Bildschirmfotos erzwingen"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Eingabe (für diese Maschine)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Bild als Hintergrund verwenden"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge Bedienelemente"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Menü zur BIOS-Auswahl überspringen"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-Schalter"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Menü zur Softwareauswahl überspringen"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Konfiguration der Maschine"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Informationen über automatisches Audit"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Buchhaltungsinformationen"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Machine ohne ROMs aus Liste der verfügbaren Maschinen ausblenden"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informationen über diese Maschine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Erweiterte Optionen"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informationen über diese Software"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Leistungs-Optionen"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Dateimanager"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Bilder automatisch überspringen"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Bedienung Cassettendeck"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Bilder auslassen"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudoterminals"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Drosselung"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-Auswahl"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Steckplatzgeräte"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Schlafe"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barcodeleser"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Geschwindigkeit"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Netzwerkgeräte"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tastaturmodus"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Schieberegler"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Rotations-Optionen"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoeinstellungen"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Drehen"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Fadenkreuzeinstellungen"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Nach rechts drehen"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Nach links rotieren"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Erweiterungs-Optionen"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Automatisch nach rechts rotieren"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externe DAT-Anzeige"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Automatisch nach links rotieren"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Horizontal spiegeln"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Vertikal spiegeln"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Neue Maschine auswählen"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Illustrations-Optionen"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Neuer Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Code eingeben"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Status/Wiedergabe-Optionen"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Barcodelänge ungültig!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Automatisch speichern/wiederherstellen"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fehlgeschlagen]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Soundeinstellungen"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Rückspulfähigkeit"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Haupteingaben"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Konfiguration speichern"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Bildschirm eingebrannt"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Einstellungen"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Eingabe-Optionen"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Münzeinwurf sperren"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Benutzeroberfläche anpassen"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Maus"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Verzeichnisse konfigurieren"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-"
-"Abbilder. Bitte wählen Sie eine andere Maschine aus.\n"
-"\n"
-"Drücken Sie eine beliebige Taste, um fortzufahren."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Lichtpistole"
-#: 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 ""
-"Keine Maschinen gefunden. Bitte überprüfen Sie den in der ini-Datei %1$s.ini "
-"angegebenen Pfad zu den ROM-Dateien. \n"
-"\n"
-" 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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Mehrere Tastaturen"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Optionen konfigurieren"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Mehrfach-Maus"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, 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/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Mehrfacheingabe"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Geben Sie den Namen ein oder wählen Sie: (zufällige Auswahl)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Benutzeroberfläche aktiv"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Nachladen außerhalb des Bildschirms"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Joystick-Totbereich"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Treiber: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Joystick-Empfindlichkeit"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Natürliche Tastatur"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Widersprüchliche Eingaben erkennen"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Insgesamt: Funktioniert"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Münz-Impuls"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Geräte-Zuordnung"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafik: Fehlerhaft, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Lightgun-Zuordnung"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Trackball-Zuordnung"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Sound: Keine"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedal-Zuordnung"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "ADStick-Zuordnung"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Sound: Fehlerhaft"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Paddle-Zuordnung"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Wählscheiben-Zuordnung"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Lade Status"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Positionsgeräte-Zuordnung"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Ladeposition wählen"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Maus-Zuordnung"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Speichere Status"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Videoeinstellungen"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Speicherposition wählen"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Videomodus"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Anzahl der Bildschirme"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Dreifachpufferung"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: TEILWEISE Emulation"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Benutzeroberfläche: Aktiviert"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Bilineare Filterung"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: VOLLSTÄNDIGE Emulation"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap-Vorskalierung"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Benutzeroberfläche: Deaktiviert"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Fenstermodus"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Dauerfeuer kann nicht aktiviert werden"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Seitenverhältnis erzwingen"
-#: 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 ""
-"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/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Maximiert starten"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Gesamtlautstärke"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Synchronisierter Bildneuaufbau"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Lautstärke"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Warten auf vertikalen Synchronisationsimpuls"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$s übertakten"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "An"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Sound %1$s übertakten"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Aus"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Aktualisierungsrate"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Helligkeit"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Zurück zur Maschine"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Verlassen"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horizontale Streckung"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Zurück zum vorherigen Menü"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horizontale Position"
+msgid "Screen #%d"
+msgstr "Bildschirm #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vertikale Streckung"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vertikale Position"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektorflimmern"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimale Strahlbreite"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "Kopierschutz"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximale Strahlbreite"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "Zeitlicher Ablauf"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Gewichtung der Strahlintensität"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "Grafik"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Fadenkreuzskalierung %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "Farbpalette"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "Sound"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Fadenkreuzversatz %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "Kamera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "Mikrofon"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "Bedienelemente"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "Tastatur"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "Maus"
-#: 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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "Festplatte"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "Drucker"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fehler beim Speichern von ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "LAN"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Konfiguration gespeichert \n"
+msgstr ""
+"Es gibt bekannte Probleme mit dieser Maschine\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Cheat-Kommentar:\n"
-"%s"
+"Ein oder mehrere ROMs/CHDs dieser Maschine wurden nicht korrekt ausgelesen.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle Cheats neu geladen"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Komplett unemulierte Funktionen: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Dauerfeuer-Einstellungen"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Alle zurücksetzen"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Alle neu laden"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Nicht perfekt emulierte Funktionen: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Dauerfeuer-Status"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Die Bildschirmdrehung im Cocktailmodus wird nicht unterstützt.\n"
-#: 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/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Die Maschine benötigt externe Illustrationsdateien.\n"
-#: 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/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" zur Favoritenliste hinzugefügt."
+"\n"
+"\n"
+"Es gibt funktionsfähige Klone dieser Maschine: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" von der Favoritenliste entfernt."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Dem gewählten Programm fehlen eine oder mehrere Dateien. Bitte wählen Sie "
-"ein anderes Programm aus.\n"
"\n"
+"Sound:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Keine\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d Programm-Pakete )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Treiber: \"%1$s\" Softwareliste "
+msgid "Screen '%1$s'"
+msgstr "Bildschirm '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Bildschirm"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Nicht unterstützt"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Teilweise unterstützt"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[leer]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[Dateimanager]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Sortierung der Einträge ändern"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Suche: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Sortierung geändert: Einträge sind nun sortiert nach %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "Kurzem Namen"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "Beschreibung"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[Kompatible Listen]"
+
+#: 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:1045
+msgid "No"
+msgstr "Nein"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+msgid "Yes"
+msgstr "Ja"
+
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Neuer Image-Name:"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Image-Format:"
+
+#: src/frontend/mame/ui/filecreate.cpp:183
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Image-Format auswählen"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Tastaturmodus"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natürlich"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emuliert"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Suche: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Ungefiltert"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Verfügbar"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Nicht verfügbar"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Funktioniert"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Funktioniert nicht"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mechanisch"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Nicht mechanisch"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Kategorie"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoriten"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Nicht BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Eltern"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Klone"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Hersteller"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Jahr"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Speichern unterstützt"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Speichern nicht unterstützt"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD benötigt"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Keine CHD benötigt"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Vertikaler Bildschirm"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Horizontaler Bildschirm"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Benutzerdefinierter Filter"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Herausgeber"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Unterstützt"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Teilweise unterstützt"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Nicht unterstützt"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Veröffentlichungsregion"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Gerätetyp"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Softwareliste"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<Filter erstellen>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Filter auswählen:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filter %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Letzten Filter entfernen"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Filter hinzufügen"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Kategorie auswählen:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[Keine Kategorie INI Dateien]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[Keine Gruppen in INI Datei]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Keine Kategorie INI Dateien gefunden"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Datei"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Keine Gruppen in Kategorie Datei gefunden"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Gruppe"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Klone einschließen"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[erzeugen]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Verwendung der Software"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Fehler beim Zugriff auf %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Version: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Zugriffsart wählen"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Zurücksetzen"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Nur lesend"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lesend und schreibend"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Laufzeit: %1$d:%2$02d\n"
+"\n"
-#: 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/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Ausgegebene Tickets: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Münzen %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Münzen %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (gesperrt)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FARBEN"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " STIFTE"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Zurück zur Maschine"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Sichtbare Verzögerung"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Verlassen"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml im Ordner der Benutzeroberfläche gespeichert."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Name: Beschreibung:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt im Ordner der Benutzeroberfläche gespeichert."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Liste im XML-Format exportieren (wie -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Alle anzeigen"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Liste im TXT-Format exportieren (wie -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Filter ausblenden"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Treiber"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Info/Bild ausblenden"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Diese Maschine besitzt kein BIOS."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Beide ausblenden"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Zu Favoriten hinzufügen"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Schriftarten"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Aus Favoriten entfernen"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Farben"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Seitenbereiche anzeigen"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Einstellungen Benutzeroberfläche"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (Standard)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "Standard"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Erweiterungen"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Schriftart für Benutzeroberfläche"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudoterminals"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Fett"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fehlgeschlagen]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Kursiv"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linien"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Lade Status"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Textgröße für Informationen"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Schriftart-Einstellungen für Benutzeroberfläche"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Speichere Status"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Beispieltext - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normaler Text"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Farbe für Auswahl"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Benutzerschnittstelle"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Normaler Texthintergrund"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Hintergrundfarbe für Auswahl"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Weitere Bedienelemente"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Farbe für Unterelement"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klon"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Rand"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Hintergrund"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP-Schalter"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Nicht verfügbare Farbe"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Schieberegler-Farbe"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Hintergrund Gfx-Anzeige"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Farbe für Mouseover"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "gestoppt"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Hintergrundfarbe für Mouseover"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "spiele ab"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Farbe für Mausklick"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(spiele ab)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Hintergrundfarbe für Mausklick"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "nehme auf"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Auf Originalfarben zurücksetzen"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(nehme auf)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Farbeinstellungen für Benutzeroberfläche"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pause/Stop"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Doppelklicken oder drücken Sie %1$s, um den Farbwert zu ändern"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Abspielen"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menüvorschau"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Aufnahme"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Zurückspulen"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Unterelement"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Vorspulen"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Auswahl"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Kann Verzeichnis nicht überschreiben"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Mouseover"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB-Einstellungen"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-"
+"Abbilder. Bitte wählen Sie eine andere Maschine aus.\n"
+"\n"
+"Drücken Sie eine beliebige Taste, um fortzufahren."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Keine Maschinen gefunden. Bitte überprüfen Sie den in der ini-Datei %1$s.ini "
+"angegebenen Pfad zu den ROM-Dateien. \n"
+"\n"
+" 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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rot"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Optionen konfigurieren"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Grün"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, 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/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blau"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Geben Sie den Namen ein oder wählen Sie: (zufällige Auswahl)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Aus Palette wählen"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Farbvorschau ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Treiber: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Weiß"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Insgesamt: FUNKTIONIERT NICHT"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Silber"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Insgesamt: Nicht emulierter Kopierschutz"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Grau"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Insgesamt: Funktioniert"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Schwarz"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Nicht implementiert, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Orange"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Fehlerhaft, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Gelb"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafik: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violett"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Sound: Keine"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tastaturmodus:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Sound: Nicht implementiert"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natürlich"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Sound: Fehlerhaft"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emuliert"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Sound: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Laufzeit: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat-Kommentar:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Alle Cheats neu geladen"
-#: 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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Alle zurücksetzen"
-#: 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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Alle neu laden"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (gesperrt)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Software-Medien"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Sichtbare Verzögerung"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Benutzeroberfläche"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Sprache"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Name: Beschreibung:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Kategorie INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Icons"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Schnappschüsse"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Gehäuse"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Flyer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titelbilder"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Enden"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Platinen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquees"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Bedienfelder"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Fadenkreuze"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Illustrationen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bosse"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Vorschau Illustrationen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Auswahl"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Handbuch"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Spielstände"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Gegen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Cover"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Ordnereinstellungen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt im Ordner der Benutzeroberfläche gespeichert."
+msgid "Current %1$s Folders"
+msgstr "Aktuelle %1$s-Ordner"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Ordner wechseln"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Ordner hinzufügen"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Ordner entfernen"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Treiber"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "%1$s-Ordner ändern - Suche: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Diese Maschine besitzt kein BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "%1$s-Ordner hinzufügen - Suche: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Konfiguration der Maschine speichern"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Zum Setzen drücken Sie TAB"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Maschine konfigurieren:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "%1$s-Ordner entfernen"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (Standard)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " FARBEN"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Erweiterungen"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " STIFTE"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Maschine konfigurieren"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "ROM-Satz\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Jahr\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Hersteller\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Treiber ist Ursprungs-Treiber\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Analoge Bedienelemente\tVorhanden\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Tastatureingaben\tVorhanden\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Insgesamt\tFUNKTIONIERT NICHT\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Insgesamt\tNicht emulierter Kopierschutz\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Insgesamt\tFunktioniert\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Grafik\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Grafik\tFarbwiedergabe falsch\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafik\tFarbwiedergabe fehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Grafik\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Grafik\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Sound\tKeine\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Sound\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Sound\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Sound\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Kamera\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Kamera\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Mikrofon\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Mikrofon\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Bedienelemente\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Bedienelemente\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Tastatur\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Tastatur\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Maus\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Maus\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Festplatte\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Festplatte\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Drucker\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Drucker\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Zeitlicher Ablauf\tNicht implementiert\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Zeitlicher Ablauf\tFehlerhaft\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Maschine ist mechanisch\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Maschine ist mechanisch\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Benötigt Illustrationen\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Benötigt Illustrationen\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Benötigt klickbare Illustrationen\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Unterstützt Cocktail-Modus\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "Treiber ist BIOS\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "Treiber ist BIOS\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Unterstützt Speichern\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Unterstützt Speichern\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Bildschirm-Ausrichtung\tVertikal\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Bildschirm-Ausrichtung\tHorizontal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Benötigt CHD\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Benötigt CHD\tNein\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "ROM-Überprüfung\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM-Überprüfung\tFEHLERHAFT\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Samples-Überprüfung\tNicht nötig\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Samples-Überprüfung\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Samples-Überprüfung\tFEHLERHAFT\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1826,344 +2115,522 @@ msgstr ""
"ROM-Überprüfung\tDeaktiviert\n"
"Samples-Überprüfung\tDeaktiviert\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM-Satz: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Auswahlliste - Suche: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+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/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "ROMs für alle %1$u Maschinen prüfen?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(Ergebnisse werden unter %1$s gespeichert)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
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"
+"Prüfe ROMs für Maschine %2$u von %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Sound"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Audit starten"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplerate"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Alle anzeigen"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Verwende externe Samples"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Filter ausblenden"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Verschiedene Einstellungen"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Info/Bild ausblenden"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Zuletzt verwendete Maschine erneut auswählen"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Beide ausblenden"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Bilder im rechten Bereich vergrößern"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Schriftarten"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mauszeiger anzeigen"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Farben"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Beim Verlassen Bestätigung fordern"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Seitenbereiche anzeigen"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Informations-Bildschirm beim Start überspringen"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Einstellungen Benutzeroberfläche"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "4:3-Seitenverhältnis für Bildschirmfotos erzwingen"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "Standard"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Bild als Hintergrund verwenden"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Schriftart für Benutzeroberfläche"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Menü zur BIOS-Auswahl überspringen"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Fett"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Menü zur Softwareauswahl überspringen"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Kursiv"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Informationen über automatisches Audit"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linien"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Machine ohne ROMs aus Liste der verfügbaren Maschinen ausblenden"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Textgröße für Informationen"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Erweiterte Optionen"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Schriftart-Einstellungen für Benutzeroberfläche"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Leistungs-Optionen"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Beispieltext - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Bilder automatisch überspringen"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normaler Text"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Bilder auslassen"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Farbe für Auswahl"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Drosselung"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Normaler Texthintergrund"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Schlafe"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Hintergrundfarbe für Auswahl"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Geschwindigkeit"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Farbe für Unterelement"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Spielgeschwindigkeit anpassen"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klon"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Rotations-Optionen"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Rand"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Nach rechts drehen"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Hintergrund"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Nach links rotieren"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP-Schalter"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Automatisch nach rechts rotieren"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Nicht verfügbare Farbe"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Automatisch nach links rotieren"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Schieberegler-Farbe"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Horizontal spiegeln"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Hintergrund Gfx-Anzeige"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Vertikal spiegeln"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Farbe für Mouseover"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Illustrations-Optionen"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Hintergrundfarbe für Mouseover"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Illustrationen beschneiden"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Farbe für Mausklick"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Verwende Hintergründe"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Hintergrundfarbe für Mausklick"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Verwende Overlays"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Auf Originalfarben zurücksetzen"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Verwende Rahmen"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Farbeinstellungen für Benutzeroberfläche"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Verwende Steuerungselemente"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Doppelklicken oder drücken Sie %1$s, um den Farbwert zu ändern"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Verwende Marquees"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menüvorschau"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Status/Wiedergabe-Optionen"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automatisch speichern/wiederherstellen"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Unterelement"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Rückspulfähigkeit"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Auswahl"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineare Bildschirmfotos"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Mouseover"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Bildschirm eingebrannt"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB-Einstellungen"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Eingabe-Optionen"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alpha"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Münzeinwurf sperren"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rot"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Maus"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Grün"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blau"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lichtpistole"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Aus Palette wählen"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Mehrere Tastaturen"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Farbvorschau ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Mehrfach-Maus"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Weiß"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Mehrfacheingabe"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Silber"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Benutzeroberfläche aktiv"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Grau"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Nachladen außerhalb des Bildschirms"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Schwarz"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Joystick-Totbereich"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Orange"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Joystick-Empfindlichkeit"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Gelb"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Natürliche Tastatur"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violett"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Widersprüchliche Eingaben erkennen"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Münz-Impuls"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Neuer Barcode:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Geräte-Zuordnung"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Code eingeben"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lightgun-Zuordnung"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Barcodelänge ungültig!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Trackball-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Eingabe (allgemein)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedal-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Eingabe (für diese Maschine)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "ADStick-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analoge Bedienelemente"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Paddle-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Wählscheiben-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Konfiguration der Maschine"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Positionsgeräte-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Buchhaltungsinformationen"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Maus-Zuordnung"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informationen über diese Maschine"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Videomodus"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Anzahl der Bildschirme"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informationen über diese Software"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Dreifachpufferung"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Dateimanager"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Bedienung Cassettendeck"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS-Auswahl"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineare Filterung"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Steckplatzgeräte"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap-Vorskalierung"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Barcodeleser"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Fenstermodus"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Netzwerkgeräte"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Seitenverhältnis erzwingen"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Schieberegler"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Maximiert starten"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Fadenkreuzeinstellungen"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Synchronisierter Bildneuaufbau"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Warten auf vertikalen Synchronisationsimpuls"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Erweiterungs-Optionen"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Externe DAT-Anzeige"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Neue Maschine auswählen"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Bedienfelder"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Vorschau Illustrationen"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Favoriten verwalten"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Angezeigte Liste in Datei exportieren"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "DATs Ansicht anzeigen"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Softwareauswahl:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS-Auswahl:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programm ist ein Klon von: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Programm ist Ursprungs-Programm"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Unterstützt: Nein"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Unterstützt: Teilweise"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Unterstützt: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-Satz: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Treiber ist ein Klon von: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Treiber ist Ursprungs-Treiber"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Images"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informationen"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Drücken Sie eine beliebige Taste, um fortzufahren."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Verwendung"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Allgemeine Informationen"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2180,7 +2647,7 @@ msgstr ""
"\n"
"Die gewählte Option aktiviert die folgenden Elemente:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2197,60 +2664,34 @@ msgstr ""
"\n"
"Bei Auswahl dieser Option werden folgende Elemente aktiviert:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Video:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Bildschirm '%1$s': Vektor\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Sound:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2259,494 +2700,451 @@ msgstr ""
"* BIOS-Einstellungen:\n"
" %1$d Optionen [Standard: %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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [Standard: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* DIP Schalter-Einstellungen:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* Konfigurationseinstellungen:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Eingabegerät(e):\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Benutzereingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Mahjongeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Hanafudaeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Glücksspieleingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " Analogeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Einstellerreingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Tastenfeldeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Tastatureingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr "* Medienoptionen:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [tag: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr "* Steckplatzoptionen:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr "[Keine]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-"ROMs für alle %1$u als nicht verfügbar gekennzeichneten Maschinen prüfen?"
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Cheat speichern"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(Ergebnisse werden unter %1$s gespeichert)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Standard"
-#: 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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Benutzerdefiniert"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Audit starten"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Cheatname"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kann Verzeichnis nicht überschreiben"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Standardname ist %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Spieler"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Typ"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "Zeitlicher Ablauf"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Speichern"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "Grafik"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "Farbpalette"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Cheat nach %s geschrieben und zu cheat.simple hinzugefügt"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "Sound"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Cheat zu cheat.simple hinzugefügt"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
+"Kann Datei nicht schreiben\n"
+"Überprüfen Sie ob das cheatpath Verzeichnis existiert"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "Kamera"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Abbrechen"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "Mikrofon"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU oder RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "Bedienelemente"
+#: plugins/cheatfind/init.lua:501
+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"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "Tastatur"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "Maus"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "Festplatte"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "Drucker"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Neue Suche starten"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "%d Gesamttreffer gefunden"
+
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-"Es gibt bekannte Probleme mit dieser Maschine\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-"Ein oder mehrere ROMs/CHDs dieser Maschine wurden nicht korrekt ausgelesen.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Komplett unemulierte Funktionen: "
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Links gleich rechts"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+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"
-msgstr ", %s"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Links gleich rechts als Bitmaske"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Nicht perfekt emulierte Funktionen: "
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Links ungleich rechts als Bitmaske"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Links kleiner Wert"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Die Maschine benötigt externe Illustrationsdateien.\n"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Links größer Wert"
-#: 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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Links gleich Wert"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Links ungleich Wert"
-#: 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Wert"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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: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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Jeder"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Datenformat"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-"\n"
-"\n"
-"Es gibt funktionsfähige Klone dieser Maschine: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"Drücken Sie eine beliebige Taste zum Fortfahren"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Sound:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Keine\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Letzte Suche rückgängig machen -- #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Prüfe Block auf Übereinstimmung"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Alle"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Bildschirm '%1$s'"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Bildschirm"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Cheatmodul nicht verfügbar"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nicht unterstützt"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Test"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Teilweise unterstützt"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Schreibe"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[leer]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Überwache"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Bedienfelder"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Seite"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Vorschau Illustrationen"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Überwachungen löschen"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Cheat-Finder"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Favoriten verwalten"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Datei mit Eingabenamen in Datei speichern"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Angezeigte Liste in Datei exportieren"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Speichern der Datei für Eingabenamen fehlgeschlagen"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DATs Ansicht anzeigen"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "Datei mit Eingabenamen nach %s gespeichert"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Softwareauswahl:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Eingaben"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-Auswahl:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programm ist ein Klon von: %1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programm ist Ursprungs-Programm"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Unterstützt: Nein"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Unterstützt: Teilweise"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Unterstützt: Ja"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-Satz: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Treiber ist ein Klon von: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Treiber ist Ursprungs-Treiber"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Images"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informationen"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Verwendung"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Allgemeine Informationen"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Benutzerschnittstelle"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Fertig"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Weitere Bedienelemente"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2764,68 +3162,81 @@ msgstr "Anzahl Spiele"
msgid "Timer"
msgstr "Stoppuhr"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Wählen Sie den Cheat aus, um den Hotkey einzustellen"
-#: plugins/cheat/init.lua:534
-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:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Keine"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Fertig"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Einstellen"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Hotkeys einstellen"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Aktiviert: %s =%s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Aktiviert: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Aktiviert: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Deaktiviert: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s hinzugefügt"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Befehl"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamespielstand"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Rekordpunktzahlen"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARP-Spielstand"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Geschichte"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2837,334 +3248,187 @@ msgstr ""
"--- TREIBER INFO ---\n"
"Treiber: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAME-Info"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESS-Info"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamespielstand"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARP-Spielstand"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Cheat speichern"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Standard"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Benutzerdefiniert"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Cheatname"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Standardname ist %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Spieler"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Typ"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Speichern"
-
-#: plugins/cheatfind/init.lua:462
-#, 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
-msgid "Cheat added to cheat.simple"
-msgstr "Cheat zu cheat.simple hinzugefügt"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Kann Datei nicht schreiben\n"
-"Überprüfen Sie ob das cheatpath Verzeichnis existiert"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU oder RAM"
-
-#: plugins/cheatfind/init.lua:495
-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: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
-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:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "%d Gesamttreffer gefunden"
-
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Links gleich rechts"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAME-Info"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Backdrops"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Links gleich rechts als Bitmaske"
+#~ msgid "Overlays"
+#~ msgstr "Overlays"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Links ungleich rechts als Bitmaske"
+#~ msgid "Bezels"
+#~ msgstr "Bezel"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Links kleiner Wert"
+#~ msgid "CPanels"
+#~ msgstr "Bedienfelder"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Links größer Wert"
+#~ msgid "View"
+#~ msgstr "Ansicht"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Links gleich Wert"
+#~ msgid "Cropped"
+#~ msgstr "Beschnitten"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Links ungleich Wert"
+#~ msgid "Full"
+#~ msgstr "Voll"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Wert"
+#~ msgid "Dip Switches"
+#~ msgstr "DIP-Schalter"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Ladeposition wählen"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Jeder"
+#~ msgid "Select position to save to"
+#~ msgstr "Speicherposition wählen"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Datenformat"
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Status Tastaturemulation"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modus: TEILWEISE Emulation"
-#: 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 ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Benutzeroberfläche: Aktiviert"
-#: 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 ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "** Verwenden Sie ScrLock zum Umschalten**"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modus: VOLLSTÄNDIGE Emulation"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Benutzeroberfläche: Deaktiviert"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Dauerfeuer kann nicht aktiviert werden"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Dauerfeuer-Einstellungen"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Dauerfeuer-Status"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Keine Knöpfe für diese Maschine gefunden!"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Verzögerung für Dauerfeuer"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Tastaturmodus:"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Konfiguration der Maschine speichern"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Maschine konfigurieren:"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Unterstützt Cocktail-Modus\tJa\n"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Zuletzt verwendete Maschine erneut auswählen"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Spielgeschwindigkeit anpassen"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "Illustrationen beschneiden"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Use Backdrops"
+#~ msgstr "Verwende Hintergründe"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Letzte Suche rückgängig machen -- #"
+#~ msgid "Use Overlays"
+#~ msgstr "Verwende Overlays"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Prüfe Block auf Übereinstimmung"
+#~ msgid "Use Bezels"
+#~ msgstr "Verwende Rahmen"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Alle"
+#~ msgid "Use Control Panels"
+#~ msgstr "Verwende Steuerungselemente"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Use Marquees"
+#~ msgstr "Verwende Marquees"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Cheatmodul nicht verfügbar"
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Bilineare Bildschirmfotos"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Test"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Schreibe"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Überwache"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Seite"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Überwachungen löschen"
+#, 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"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Cheat-Finder"
+#, 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"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Datei mit Eingabenamen in Datei speichern"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Speichern der Datei für Eingabenamen fehlgeschlagen"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "Datei mit Eingabenamen nach %s gespeichert"
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Dem gewählten Programm fehlen ein oder mehrere benötigte ROM- oder CHD-"
+#~ "Abbilder. Bitte wählen Sie ein anderes Programm aus."
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "Eingaben"
+#~ 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"
+
+#~ 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"
#~ msgid "Data cleared and current state saved"
#~ msgstr ""
diff --git a/language/Greek/strings.po b/language/Greek/strings.po
index 515ddab5eb2..5e09ae8f521 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2019-03-19 23:30+0200\n"
"Last-Translator: Mame.gr\n"
"Language-Team: MAME Language Team\n"
@@ -17,1805 +17,2096 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Οθόνη #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Πιέστε ένα πλήκτρο για συνέχεια"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Αυτός ο οδηγός απαιτεί εικόνες να φορτωθούν στην ακόλουθη συσκευή (ες): "
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Επικαλύψεις"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Προσόψεις"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Πίνακες Ελέγχου"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Μαρκίζες"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Κύρια Ένταση"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Εμφάνιση"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Ένταση"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Περικοπή"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Υπερχρονισμός CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Πλήρες"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Υπερχρονισμός %1$s ήχου"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Ρυθμός Ανανέωσης"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Μέσα Λογισμικού"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Φωτεινότητα"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Αντίθεση"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Γλώσσα"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Γάμμα"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Δείγματα"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Οριζόντια Επέκταση"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Οριζόντια Θέση"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Κάθετη Επέκταση"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "INIs Κατηγοριών"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Κάθετη Θέση"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Εικονίδια"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Οριζόντια Επέκταση"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Οριζόντια Θέση"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Στιγμιότυπα"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Κάθετη Επέκταση"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Καμπίνες"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Κάθετη Θέση"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Φυλλάδια"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Τρεμόπαιγμα Διανύσματος"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Τίτλοι"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Ελάχιστο Πλάτος Ακτινών"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Τερματισμοί"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Μέγιστο Πλάτος Ακτινών"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Πίνακες ελέγχου"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Βάρος Έντασης Ακτίνας"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Στόχαστρα"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Κλίμακα Στόχαστρου %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Αρχηγοί"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Προεπισκόπηση Artworks"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Μετατόπιση Στοχάστρου %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Επιλογή"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Πως να"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Λογότυπα"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Βαθμολογία"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Κλίμακα Στόχαστρου X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Εξώφυλλα"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Κλίμακα Στόχαστρου Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Ρύθμιση Φακέλων"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Μετατόπιση Στοχάστρου X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Τρέχοντες Φάκελοι για %1$s"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Μετατόπιση Στοχάστρου Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Αλλαγή Φακέλου"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Σφάλμα αποθήκευσης ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Προσθήκη Φακέλου"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Σφάλμα αποθήκευσης %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Αφαίρεση Φακέλου"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Οι ρυθμίσεις αποθηκεύτηκαν \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Αλλαγή Φακέλου %1$s - Αναζήτηση: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" προστέθηκε στη λίστα αγαπημένων."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Προσθήκη Φακέλου %1$s - Αναζήτηση: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Πιέστε το πλήκτρο TAB για να ορίσετε"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" αφαιρέθηκε από τη λίστα αγαπημένων."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Αφαίρεση Φακέλου %1$s"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Λίστα Επιλογής - Αναζήτηση: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d πακέτα λογισμικού)"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να επιλέξετε"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Οδηγός: \"%1$s\" λίστα λογισμικού "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "διακοπή"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Αναζήτηση: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "αναπαραγωγή"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Αναζήτηση: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(αναπαραγωγή)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "εγγραφή"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Επιλογές Ήχου"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(εγγραφή)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Γενικός Χειρισμός"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Παύση/Διακοπή"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Αποθήκευση Ρυθμίσεων"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Αναπαραγωγή"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Ρυθμίσεις"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Εγγραφή"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Φίλτρο"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Επαναφορά"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Προσαρμογή UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Γρήγορη Προώθηση"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Ρύθμιση Φακέλων"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[κενή υποδοχή]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[Διαχείριση αρχείων]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[δημιουργία]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[λίστα λογισμικού]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Εναλλαγή Σειράς Στοιχείων"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Εναλλακτική Σειρά: οι εγγραφές είναι ταξινομημένες κατά %s"
+msgid "Error accessing %s"
+msgstr "Σφάλμα πρόσβασης %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "σύντομο όνομα"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Επιλέξτε λειτουργία πρόσβασης"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "περιγραφή"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Μόνο για Ανάγνωση"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[συμβατές λίστες]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Ανάγνωσης-εγγραφής"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Χρήση Λογισμικού"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Ανάγνωση αυτής της εικόνας, εγγραφή σε άλλη"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Αναθεώρηση: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Ανάγνωση αυτής της εικόνας, εγγραφή σε αρχείο αλλαγών"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Το Αρχείο Υπάρχει Ήδη - Να Αντικατασταθεί;"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Διάφορες Επιλογές"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Όχι"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ναι"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Νέο Όνομα Εικόνας:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Μεγέθυνση εικόνων στο δεξιό πίνακα"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Μορφή Εικόνας:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheats"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Δημιουργία"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Προβολή δείκτη ποντικιού"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Παρακαλούμε εισάγετε μια επέκταση αρχείου"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Επιβεβαίωση εγκατάληψης από μηχάνημα"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Επιλέξτε μορφή εικόνας"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Να μην εμφανίζεται η οθόνη πληροφοριών κατά την εκκίνηση"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Χειρισμός (γενικά)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Επιβολή 4:3 Εμφάνισης για το στιγμιότυπο"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Χειρισμός (τρέχων Μηχάνημα)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Χρήση εικόνας ως φόντου"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Αναλογικά Χειριστήρια"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Παράλειψη μενού επιλογής BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Μικροδιακόπτες"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Παράλειψη μενού επιλογής τμημάτων λογισμικού"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Παραμετροποίηση Μηχανήματος"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Αυτόματος έλεγχος πληροφοριών"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Λογιστικές Πληροφορίες"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Απόκρυψη μηχανημάτων που δεν χρειάζονται roms από τη λίστα διαθέσιμων"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Πληροφορίες Μηχανήματος"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Επιλογές για προχωρημένους"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Πληροφορίες Τίτλου"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Επιλογές Επιδόσεων"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Διαχείριση Αρχείων"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Αυτόματη παράβλεψη καρέ"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Έλεγχος Κασέτας"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Παράβλεψη καρέ"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Ψευδο τερματικά"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Πλήρης ισχύς"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Επιλογή BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Συσκευές Υποδοχής"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Λειτουργία ύπνου"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Συσκευή Ανάγνωσης Γραμμωτού Κώδικα"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Ταχύτητα"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Συσκευές Δικτύου"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Λειτουργία Πληκτρολογίου"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Έλεγχος Slider"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Επιλογές περιστροφής"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Επιλογές Βίντεο"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Περιστροφή"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Επιλογές Στόχαστρου"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Περιστροφή δεξιά"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Περιστροφή αριστερά"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Επιλογές Πρόσθετων"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Αυτόματη περιστροφή δεξιά"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Προβολή Εξωτερικού DAT"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Αυτόματη περιστροφή αριστερά"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Προσθήκη Στα Αγαπημένα"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "Οριζόντια περιστροφή"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Αφαίρεση Από Τα Αγαπημένα"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Κάθετη περιστροφή"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Επιλέξτε Νέο Μηχάνημα"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Επιλογές Artwork"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Νέος Γραμμωτός Κώδικας:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Εισάγετε τον Κωδικό"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Επιλογές Κατάστασης/Αναπαραγωγής"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Μη έγκυρο μήκος γραμμωτού κώδικα!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Αυτόματη αποθήκευση/επαναφορά"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[απέτυχε]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Επιλογές Ήχου"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Χωρητικότητα επαναφοράς"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Γενικός Χειρισμός"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Αποθήκευση Ρυθμίσεων"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Burn-in"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Ρυθμίσεις"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Επιλογές Χειρισμού"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Φίλτρο"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Κλειδωμα κερμάτων"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Προσαρμογή UI"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Ποντίκι"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Ρύθμιση Φακέλων"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"Στο επιλεγμένο παιχνίδι λείπει ένα ή περισσότερα απαιτούμενα αρχεία ROM ή "
-"CHD. Παρακαλώ επιλέξτε ένα διαφορετικό παιχνίδι.\n"
-"\n"
-"Πιέστε ένα πλήκτρο για συνέχεια."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Lightgun"
-#: 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 ""
-"Δεν βρέθηκαν μηχανήματα . Παρακαλώ ελέγξτε τη διαδρομή roms που καθορίζεται "
-"στο αρχείο %1$s.ini.\n"
-"\n"
-"Αν αυτή είναι η πρώτη φορά που χρησιμοποιείτε %2$s., παρακαλούμε δείτε το "
-"αρχείο config.txt στον κατάλογο docs για πληροφορίες σχετικά με τη "
-"διαμόρφωση %2$s.."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Πολλαπλό-πληκτρολόγιο"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Ρύθμιση Επιλογών"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Πολλαπλό-ποντίκι"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Πληκτρολογήστε όνομα ή επιλέξτε: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Σταθερά πλήκτρα"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Πληκτρολογήστε όνομα ή επιλέξτε: (τυχαίο)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI ενεργοποιημένο"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Νεκρή ζώνη μοχλού"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Οδηγός: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Κορεσμός μοχλού"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Συνολικά: ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Φυσικό πληκτρολόγιο"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Συνολικά: Προστασία Μη Εξομοιωμένη"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Ταυτόχρονη αναίρεση"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Συνολικά: Λειτουργεί"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Ώθηση κερμάτων"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Γραφικά: Μη υλοποιημένα, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Χαρτογράφηση Συσκευών"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Γραφικά: Ατελή, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Ανάθεση Συσκευής Lightgun"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Γραφικά: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Ανάθεση Συσκευής Trackball"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ήχος: Κανένας"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Ανάθεση Συσκευής Pedal"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Ήχος: Δεν Έχει Υλοποιηθεί"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Ανάθεση Συσκευής Adstick"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Ήχος: Ατελής"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Ανάθεση Συσκευής Paddle"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ήχος: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Ανάθεση Συσκευής Dial"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Φόρτωση Κατάστασης"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Ανάθεση Συσκευής Posisional"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Επιλέξτε τη θέση φόρτωσης από"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Ανάθεση Συσκευής Ποντικιού"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Αποθήκευση Κατάστασης"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Επιλογές Βίντεο"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Επιλέξτε τη θέση για αποθήκευση σε"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+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:116
+msgid "Number Of Screens"
+msgstr "Αριθμός οθονών"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "Triple Buffering"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Λειτουργία: ΜΕΡΙΚΗ Εξομοίωση"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Ενεργοποιημένο"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "Bilinear Filtering"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Λειτουργία: ΠΛΗΡΗΣ Εξομοίωση"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap Prescaling"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Απενεργοποιημένο"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Λειτουργία παραθύρου"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Δεν μπορεί να ενεργοποιηθεί το Autofire"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+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:126
+msgid "Start Out Maximized"
+msgstr "Εκκίνηση μεγιστοποιημένο"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Κύρια Ένταση"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Συγχρονισμένη Ανανέωση"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Ένταση"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Αναμονή για Κάθετο Συγχρονισμό"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Υπερχρονισμός CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "On"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Υπερχρονισμός %1$s ήχου"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Off"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Ρυθμός Ανανέωσης"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Αυτόματο"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Φωτεινότητα"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Αντίθεση"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Επιστροφή στο Μηχάνημα"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Γάμμα"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Έξοδος"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Οριζόντια Επέκταση"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Επιστροφή στο Προηγούμενο Μενού"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Οριζόντια Θέση"
+msgid "Screen #%d"
+msgstr "Οθόνη #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Κάθετη Επέκταση"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Κάθετη Θέση"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Οριζόντια Επέκταση"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Οριζόντια Θέση"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Κάθετη Επέκταση"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Κάθετη Θέση"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Τρεμόπαιγμα Διανύσματος"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Ελάχιστο Πλάτος Ακτινών"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "προστασία"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Μέγιστο Πλάτος Ακτινών"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "χρονισμός"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Βάρος Έντασης Ακτίνας"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "γραφικά"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Κλίμακα Στόχαστρου %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "χρωματική παλέτα"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "ήχος"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr "υλικό καταγραφής"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Μετατόπιση Στοχάστρου %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "κάμερα"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "μικρόφωνο"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "χειρισμός"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "πληκτρολόγιο"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+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:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr "μαγνητική ταινία"
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr "διάτρητη ταινία"
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr "μαγνητικό τύμπανο"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Σφάλμα αποθήκευσης ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr "αποθήκευση στερεάς κατάστασης"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Σφάλμα αποθήκευσης %s.ini**"
+#: 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/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Οι ρυθμίσεις αποθηκεύτηκαν \n"
+msgstr ""
+"Υπάρχουν γνωστά προβλήματα με αυτό το μηχάνημα\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Σχόλιο Cheat:\n"
-"%s"
+"Μία ή περισσότερες ROMs/CHDs για αυτό το μηχάνημα δεν έχουν γίνει dump "
+"σωστά.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Όλα τα Cheats επαναφορτώθηκαν"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Εντελώς μη εξομοιωμένα χαρακτηριστικά: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Ρυθμίσεις Autofire"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Επαναφορά Όλων"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Επαναφόρτωση όλων"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Μερικώς εξομοιωμένα χαρακτηριστικά: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Κατάσταση Autofire"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+"Το αναποδογύρισμα της οθόνης σε κοκτέιλ λειτουργία δεν υποστηρίζεται.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Δεν βρέθηκαν κουμπιά σε αυτό το μηχάνημα!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Αυτό το μηχάνημα απαιτεί εξωτερικά αρχεία artwork.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Καθυστέρηση Autofire"
+#: src/frontend/mame/ui/info.cpp:285
+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:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Αυτό το μηχάνημα δεν έχει κανένα υλικό ήχου, το MAME δεν θα παράγει κανένα "
+"ήχο, αυτή είναι αναμενόμενη συμπεριφορά.\n"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" προστέθηκε στη λίστα αγαπημένων."
+"\n"
+"\n"
+"Υπάρχουν κλώνοι αυτού του μηχανήματος που λειτουργούν: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" αφαιρέθηκε από τη λίστα αγαπημένων."
+"%1$s\n"
+"%2$s %3$s\n"
+"Οδηγός: %4$s\n"
+"\n"
+"Επεξεργαστής:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Στο επιλεγμένο λογισμικό λείπει ένα ή περισσότερα απαραίτητα αρχεία. "
-"Παρακαλώ επιλέξτε ένα διαφορετικό λογισμικό.\n"
"\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Βίντεο:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Κανένα\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Διάνυσμα"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d πακέτα λογισμικού)"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Οδηγός: \"%1$s\" λίστα λογισμικού "
+msgid "Screen '%1$s'"
+msgstr "Οθόνη '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Οθόνη"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Δεν υποστηρίζεται"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Υποστηρίζεται μερικώς"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[κενό]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[Διαχείριση αρχείων]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Εναλλαγή Σειράς Στοιχείων"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Αναζήτηση: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Εναλλακτική Σειρά: οι εγγραφές είναι ταξινομημένες κατά %s"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "σύντομο όνομα"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "περιγραφή"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+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:1045
+msgid "No"
+msgstr "Όχι"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "Δημιουργία"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Παρακαλούμε εισάγετε μια επέκταση αρχείου"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "Επιλέξτε μορφή εικόνας"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Λειτουργία Πληκτρολογίου"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Φυσικό"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Εξομοιωμένο"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Αναζήτηση: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Ενεργοποιημένο"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Απενεργοποιημένο"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Αφιλτράριστα"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Διαθέσιμα"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Μη Διαθέσιμα"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Λειτουργούν"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Δεν Λειτουργούν"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Μηχανικά"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Μη Μηχανικά"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Κατηγορία"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Αγαπημένα"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Μη BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Γονικά"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Κλώνοι"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Κατασκευαστής"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Έτος"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Υποστήριξη Αποθήκευσης"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Μη Υποστήριξη Αποθήκευσης"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "Απαιτείται CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Δεν Απαιτείται CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Κάθετη οθόνη"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Οριζόντια οθόνη"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Προσαρμοσμένο Φίλτρο"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Εκδότης"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Υποστηρίζεται"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Υποστηρίζεται Μερικώς"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Δεν Υποστηρίζεται"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Περιοχή Κυκλοφορίας"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Τύπος συσκευής"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Λίστα Λογισμικού"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<ρύθμιση φίλτρων>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Επιλογή προσαρμοσμένων φίλτρων:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Φίλτρο %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Αφαίρεση τελευταίου φίλτρου"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Προσθήκη φίλτρου"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Επιλογή κατηγορίας:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[χωρίς αρχεία INI κατηγοριών]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[χωρίς ομάδες στο αρχείο INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Δεν βρέθηκαν αρχεία INI κατηγοριών"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Αρχείο"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Δεν βρέθηκαν ομάδες στο αρχείο κατηγορίας"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Ομάδα"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Περιλαμβάνονται κλώνοι"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[δημιουργία]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Χρήση Λογισμικού"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Σφάλμα πρόσβασης %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Αναθεώρηση: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Επιλέξτε λειτουργία πρόσβασης"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Επαναφορά"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Μόνο για Ανάγνωση"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Ανάγνωσης-εγγραφής"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Ώρα λειτουργίας: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Ανάγνωση αυτής της εικόνας, εγγραφή σε άλλη"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Εισιτήρια που διανέμονται: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Ανάγνωση αυτής της εικόνας, εγγραφή σε αρχείο αλλαγών"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Κέρμα %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [εσωτερικό]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Κέρμα %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (κλειδωμένο)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " ΧΡΩΜΑΤΑ"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ΓΡΑΦΙΔΕΣ"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Επιστροφή στο Μηχάνημα"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Ορατή Καθυστέρηση"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Έξοδος"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml αποθηκεύτηκε στο φάκελο ui."
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Επιστροφή στο Προηγούμενο Μενού"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Όνομα: Περιγραφή:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt αποθηκεύτηκε στο φάκελο ui."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Εξαγωγή σε μορφή XML (όπως -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Αυτόματο"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Εξαγωγή σε μορφή XML (όπως -listxml, χωρίς τις συσκευές)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Προβολή Όλων"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Εξαγωγή σε μορφή TXT (όπως -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Απόκρυψη Φίλτρων"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Οδηγός"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Απόκρυψη Πληροφορίων/Εικόνας"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Αυτό το μηχάνημα δεν έχει BIOS."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Απόκρυψη Όλων"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Προσθήκη Στα Αγαπημένα"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Γραμματοσειρές"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Αφαίρεση Από Τα Αγαπημένα"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Χρώματα"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Προβολή πλευρικών πάνελ"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Προσαρμοσμένες Ρυθμίσεις UI"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (προεπιλογή)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "προεπιλογή"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Πρόσθετα"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Γραμματοσειρά UI"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Ψευδο τερματικά"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Έντονα"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[απέτυχε]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Πλάγια"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Γραμμές"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Φόρτωση Κατάστασης"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Μέγεθος κειμένου πληροφοριών"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Ρυθμίσεις γραμματοσειρών UI"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Αποθήκευση Κατάστασης"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Δείγμα κειμένου - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Κανονικό κείμενο"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [εσωτερικό]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Χρώμα επιλεγμένου"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Περιβάλλον Χρήστη"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Φόντο κανονικού κειμένου"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Χρώμα φόντου επιλεγμένου"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Άλλα Στοιχεία Ελέγχου"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Χρώμα δευτερεύοντος στοιχείου"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Κλώνος"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Περίγραμμα"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Φόντο"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Μικροδιακόπτης"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Χρώμα μη διαθέσιμου"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Χρώμα Slider"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Φόντο Gfx προβολής"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Χρώμα Mouse over"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "διακοπή"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Χρώμα φόντου Mouse over"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "αναπαραγωγή"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Χρώμα Mouse down"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(αναπαραγωγή)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Χρώμα φόντου Mouse down"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "εγγραφή"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Επαναφορά αρχικών χρωμάτων"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(εγγραφή)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Ρυθμίσεις χρωμάτων UI"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Παύση/Διακοπή"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να αλλάξετε την τιμή του χρώματος"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Αναπαραγωγή"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Προεπισκόπηση του μενού"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Εγγραφή"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Κανονικό"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Επαναφορά"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Δευτερεύον στοιχείο"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Γρήγορη Προώθηση"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Επιλεγμένο"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Δεν μπορεί να αποθηκευτεί στο τρέχων κατάλογο"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Mouse Over"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Ρυθμίσεις ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Στο επιλεγμένο παιχνίδι λείπει ένα ή περισσότερα απαιτούμενα αρχεία ROM ή "
+"CHD. Παρακαλώ επιλέξτε ένα διαφορετικό παιχνίδι.\n"
+"\n"
+"Πιέστε ένα πλήκτρο για συνέχεια."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Άλφα"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Δεν βρέθηκαν μηχανήματα . Παρακαλώ ελέγξτε τη διαδρομή roms που καθορίζεται "
+"στο αρχείο %1$s.ini.\n"
+"\n"
+"Αν αυτή είναι η πρώτη φορά που χρησιμοποιείτε %2$s., παρακαλούμε δείτε το "
+"αρχείο config.txt στον κατάλογο docs για πληροφορίες σχετικά με τη "
+"διαμόρφωση %2$s.."
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Κόκκινο"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Ρύθμιση Επιλογών"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Πράσινο"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Πληκτρολογήστε όνομα ή επιλέξτε: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Μπλε"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Πληκτρολογήστε όνομα ή επιλέξτε: (τυχαίο)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Επιλέξτε από την παλέτα"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Προεπισκόπηση χρώματος ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Οδηγός: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Λευκό"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Συνολικά: ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Ασημί"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Συνολικά: Προστασία Μη Εξομοιωμένη"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Γκρίζο"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Συνολικά: Λειτουργεί"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Μαύρο"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Γραφικά: Μη υλοποιημένα, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Πορτοκαλί"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Γραφικά: Ατελή, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Κίτρινο"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Γραφικά: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Βιολετί"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Ήχος: Κανένας"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Λειτουργία Πληκτρολογίου:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Ήχος: Δεν Έχει Υλοποιηθεί"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Φυσικό"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Ήχος: Ατελής"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Εξομοιωμένο"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Ήχος: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Ώρα λειτουργίας: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Σχόλιο Cheat:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Όλα τα Cheats επαναφορτώθηκαν"
-#: 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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Επαναφόρτωση όλων"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (κλειδωμένο)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Μέσα Λογισμικού"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Ορατή Καθυστέρηση"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml αποθηκεύτηκε στο φάκελο ui."
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Γλώσσα"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Όνομα: Περιγραφή:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Δείγματα"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "INIs Κατηγοριών"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Εικονίδια"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Στιγμιότυπα"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Καμπίνες"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Φυλλάδια"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Τίτλοι"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Τερματισμοί"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCBs"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Μαρκίζες"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Πίνακες ελέγχου"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Στόχαστρα"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Artworks"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Αρχηγοί"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Προεπισκόπηση Artworks"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Επιλογή"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Πως να"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Λογότυπα"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Βαθμολογία"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Εξώφυλλα"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Ρύθμιση Φακέλων"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt αποθηκεύτηκε στο φάκελο ui."
+msgid "Current %1$s Folders"
+msgstr "Τρέχοντες Φάκελοι για %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Εξαγωγή σε μορφή XML (όπως -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Προσθήκη Φακέλου"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Εξαγωγή σε μορφή TXT (όπως -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Αφαίρεση Φακέλου"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Οδηγός"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Αλλαγή Φακέλου %1$s - Αναζήτηση: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Αυτό το μηχάνημα δεν έχει BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Προσθήκη Φακέλου %1$s - Αναζήτηση: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Αποθήκευση παραμετροποίησης μηχανήματος"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Πιέστε το πλήκτρο TAB για να ορίσετε"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Ρύθμιση μηχανήματος:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Αφαίρεση Φακέλου %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (προεπιλογή)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " ΧΡΩΜΑΤΑ"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Πρόσθετα"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " ΓΡΑΦΙΔΕΣ"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Ρύθμιση Μηχανήματος"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "Ο Οδηγός είναι Γονικός\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Αναλογικός Χειρισμός\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Εισαγωγή Πληκτρολογίου\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Συνολικά\tΔΕΝ ΛΕΙΤΟΥΡΓΕΙ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Συνολικά\tΜη Εξομοιωμένη Προστασία\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Συνολικά\tΛειτουργεί\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Γραφικά\tΜη υλοποιημένα\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Γραφικά\tΛάθος Χρώματα\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Γραφικά\tΑτελή Χρώματα\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Γραφικά\tΑτελή\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Γραφικά\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Ήχος\tΚανένας\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Ήχος\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Ήχος\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Ήχος\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr "Καταγραφή\tΜη υλοποιημένη\n"
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr "Καταγραφή\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Κάμερα\tΜη υλοποιημένη\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Κάμερα\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Μικρόφωνο\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Μικρόφωνο\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Χειρισμός\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Χειρισμός\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Πληκτρολόγιο\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Πληκτρολόγιο\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Ποντίκι\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Ποντίκι\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr "Μέσα\tΜη υλοποιημένα\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr "Μέσα\tΑτελή\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Δίσκος\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Δίσκος\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Εκτυπωτής\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Εκτυπωτής\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr "Μαγ. Ταινία\tΜη υλοποιημένη\n"
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr "Μαγ. Ταινία\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr "Διάτρητη Ταινία\tΜη υλοποιημένη\n"
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr "Διάτρητη Ταινία\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr "Μαγ. Τύμπανο\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr "Μαγ. Τύμπανο\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr "(EP)ROM\tΜη υλοποιημένη\n"
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr "(EP)ROM\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr "Επικοινωνίες\tΜη υλοποιημένες\n"
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr "Επικοινωνίες\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Χρονισμός\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Χρονισμός\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Μηχανική Συσκευή\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Μηχανική Συσκευή\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Απαιτεί Artwork\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Απαιτεί Artwork\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Απαιτεί Artwork για επιλογή\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Απαιτεί Artwork για επιλογή\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Υποστήριξη Κοκτέιλ\tΝαι\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Υποστήριξη Κοκτέιλ\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "Ο οδηγός είναι BIOS\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "Ο οδηγός είναι BIOS\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Υποστήριξη Αποθήκευσης\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Υποστήριξη Αποθήκευσης\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Προσανατολισμός Οθόνης\tΚάθετος\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Προσανατολισμός Οθόνης\tΟριζόντιος\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Απαιτεί CHD\tΝαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Απαιτεί CHD\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "Έλεγχος ROMs\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "Έλεγχος ROMs\tΛΑΘΟΣ\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tΔεν απαιτείται\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tΛΑΘΟΣ\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1823,344 +2114,521 @@ msgstr ""
"Έλεγχος ROMs \tΑπενεργοποιημένος\n"
"Έλεγχος Δειγμάτων Ήχου \tΑπενεργοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Σύστημα: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Λίστα Επιλογής - Αναζήτηση: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να επιλέξετε"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Έλεγχος ROMs για %1$u μηχανήματα που δεν είναι διαθέσιμα;"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Έλεγχος ROMs για όλα τα %1$u μηχανήματα;"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(τα αποτελέσματα θα αποθηκευτούν στο %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"Στο επιλεγμένο μηχάνημα λείπουν ένα ή περισσότερα απαιτούμενα αρχεία ROM ή "
-"CHD. Παρακαλώ επιλέξτε διαφορετικό μηχάνημα.\n"
-"\n"
+"Γίνεται έλεγχος ROMs για το μηχάνημα %2$u από %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Ήχος"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Έναρξή Ελέγχου"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Ρυθμός Δειγματοληψίας"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Προβολή Όλων"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Χρήση Εξωτερικών Δειγμάτων Ήχου"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Απόκρυψη Φίλτρων"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Διάφορες Επιλογές"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Απόκρυψη Πληροφορίων/Εικόνας"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Επιλογή του τελευταίου μηχανήματος που έπαιζε"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Απόκρυψη Όλων"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Μεγέθυνση εικόνων στο δεξιό πίνακα"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Γραμματοσειρές"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Προβολή δείκτη ποντικιού"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Χρώματα"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Επιβεβαίωση εγκατάληψης από μηχάνημα"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Προβολή πλευρικών πάνελ"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Να μην εμφανίζεται η οθόνη πληροφοριών κατά την εκκίνηση"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Προσαρμοσμένες Ρυθμίσεις UI"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Επιβολή 4:3 Εμφάνισης για το στιγμιότυπο"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "προεπιλογή"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Χρήση εικόνας ως φόντου"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Γραμματοσειρά UI"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Παράλειψη μενού επιλογής BIOS"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Έντονα"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Παράλειψη μενού επιλογής τμημάτων λογισμικού"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Πλάγια"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Αυτόματος έλεγχος πληροφοριών"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Γραμμές"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Απόκρυψη μηχανημάτων που δεν χρειάζονται roms από τη λίστα διαθέσιμων"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Μέγεθος κειμένου πληροφοριών"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Επιλογές για προχωρημένους"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Ρυθμίσεις γραμματοσειρών UI"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Επιλογές Επιδόσεων"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Δείγμα κειμένου - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Αυτόματη παράβλεψη καρέ"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Κανονικό κείμενο"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Παράβλεψη καρέ"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Χρώμα επιλεγμένου"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Πλήρης ισχύς"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Φόντο κανονικού κειμένου"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Λειτουργία ύπνου"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Χρώμα φόντου επιλεγμένου"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Ταχύτητα"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Χρώμα δευτερεύοντος στοιχείου"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Ταχύτητα ανανέωσης"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Κλώνος"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Επιλογές περιστροφής"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Περίγραμμα"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Περιστροφή δεξιά"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Φόντο"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Περιστροφή αριστερά"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Μικροδιακόπτης"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Αυτόματη περιστροφή δεξιά"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Χρώμα μη διαθέσιμου"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Αυτόματη περιστροφή αριστερά"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Χρώμα Slider"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Οριζόντια περιστροφή"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Φόντο Gfx προβολής"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Κάθετη περιστροφή"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Χρώμα Mouse over"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Επιλογές Artwork"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Χρώμα φόντου Mouse over"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Αποκοπή Artwork"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Χρώμα Mouse down"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Χρήση Backdrops"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Χρώμα φόντου Mouse down"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Χρήση Overlays"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Επαναφορά αρχικών χρωμάτων"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Χρήση Bezels"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Ρυθμίσεις χρωμάτων UI"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Χρήση Control Panels"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να αλλάξετε την τιμή του χρώματος"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Χρήση Marquees"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Προεπισκόπηση του μενού"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Επιλογές Κατάστασης/Αναπαραγωγής"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Κανονικό"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Αυτόματη αποθήκευση/επαναφορά"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Δευτερεύον στοιχείο"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Χωρητικότητα επαναφοράς"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Επιλεγμένο"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Στιγμιότυπο Bilinear"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Mouse Over"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Ρυθμίσεις ARGB"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Επιλογές Χειρισμού"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Άλφα"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Κλειδωμα κερμάτων"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Κόκκινο"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Ποντίκι"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Πράσινο"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Μοχλός"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Μπλε"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Επιλέξτε από την παλέτα"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Πολλαπλό-πληκτρολόγιο"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Προεπισκόπηση χρώματος ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Πολλαπλό-ποντίκι"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Λευκό"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Σταθερά πλήκτρα"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Ασημί"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI ενεργοποιημένο"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Γκρίζο"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Επαναφόρτωση εκτός οθόνης"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Μαύρο"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Νεκρή ζώνη μοχλού"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Πορτοκαλί"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Κορεσμός μοχλού"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Κίτρινο"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Φυσικό πληκτρολόγιο"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Βιολετί"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Ταυτόχρονη αναίρεση"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Ώθηση κερμάτων"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Νέος Γραμμωτός Κώδικας:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Χαρτογράφηση Συσκευών"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Εισάγετε τον Κωδικό"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Ανάθεση Συσκευής Lightgun"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Μη έγκυρο μήκος γραμμωτού κώδικα!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Ανάθεση Συσκευής Trackball"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Χειρισμός (γενικά)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Ανάθεση Συσκευής Pedal"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Χειρισμός (τρέχων Μηχάνημα)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Ανάθεση Συσκευής Adstick"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Αναλογικά Χειριστήρια"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Ανάθεση Συσκευής Paddle"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Ανάθεση Συσκευής Dial"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Παραμετροποίηση Μηχανήματος"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Ανάθεση Συσκευής Posisional"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Λογιστικές Πληροφορίες"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Ανάθεση Συσκευής Ποντικιού"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Πληροφορίες Μηχανήματος"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Λειτουργία βίντεο"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Αριθμός οθονών"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Πληροφορίες Τίτλου"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple Buffering"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Διαχείριση Αρχείων"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Έλεγχος Κασέτας"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Επιλογή BIOS"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Συσκευές Υποδοχής"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Συσκευή Ανάγνωσης Γραμμωτού Κώδικα"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Λειτουργία παραθύρου"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Συσκευές Δικτύου"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Επιβολή Αναλογίας Εικόνας"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Έλεγχος Slider"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Εκκίνηση μεγιστοποιημένο"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Επιλογές Στόχαστρου"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Συγχρονισμένη Ανανέωση"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Αναμονή για Κάθετο Συγχρονισμό"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Επιλογές Πρόσθετων"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Προβολή Εξωτερικού DAT"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Επιλέξτε Νέο Μηχάνημα"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Πίνακες Ελέγχου"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Προεπισκόπηση Artworks"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Προσθήκη ή αφαίρεση από τα αγαπημένα"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Εξαγωγή λίστας σε αρχείο"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Εμφάνιση προβολής DATs"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Επιλογή τμημάτων λογισμικού:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Επιλογή BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Το λογισμικό είναι κλώνος του: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Το λογισμικό είναι γονικό"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Υποστηρίζεται: Όχι"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Υποστηρίζεται: Μερικώς"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Υποστηρίζεται: Ναι"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ο Οδηγός είναι κλώνος του: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Ο Οδηγός είναι γονικός"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Εικόνες"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Πληροφορίες"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Πιέστε ένα πλήκτρο για συνέχεια."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Χρήση"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2177,7 +2645,7 @@ msgstr ""
"\n"
"Η επιλεγμένη επιλογή ενεργοποιεί τα ακόλουθα στοιχεία:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2194,60 +2662,34 @@ msgstr ""
"\n"
"Αν επιλέξετε αυτήν την επιλογή, θα ενεργοποιηθούν τα ακόλουθα στοιχεία:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* Επεξεργαστής:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Βίντεο:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Ήχος:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2256,495 +2698,456 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* Ρυθμίσεις μικροδιακόπτων:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* Ρυθμίσεις διαμόρφωσης:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Συσκευή(ες) εισαγωγής:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* Επιλογές Μέσων:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* Επιλογές Υποδοχής:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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 μηχανήματα που δεν είναι διαθέσιμα;"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Έλεγχος ROMs για όλα τα %1$u μηχανήματα;"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Αποθήκευση Cheat"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(τα αποτελέσματα θα αποθηκευτούν στο %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Προσαρμογή"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Έναρξή Ελέγχου"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Όνομα Cheat"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Δεν μπορεί να αποθηκευτεί στο τρέχων κατάλογο"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Το προεπιλεγμένο όνομα είναι %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Παίκτης"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Τύπος"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-"Στο επιλεγμένο λογισμικό λείπει μία ή περισσότερες ROMs ή εικόνες CHD. "
-"Παρακαλώ επιλέξτε ένα διαφορετικό."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "προστασία"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "χρονισμός"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Αποθήκευση"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "γραφικά"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "χρωματική παλέτα"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Το Cheat γράφτηκε στο %s και προστέθηκε στο cheat.simple"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "ήχος"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Το Cheat προστέθηκε στο cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr "υλικό καταγραφής"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
+msgstr ""
+"Αδύνατη η εγγραφή του αρχείου\n"
+"Ελέγξτε ότι υπάρχει ο φάκελος του cheatpath"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "κάμερα"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Ακύρωση"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "μικρόφωνο"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "Επεξεργαστής ή μνήμη RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "χειρισμός"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr ""
+"Οι αλλαγές σε αυτό ισχύουν μόνο όταν η \"Έναρξη νέας αναζήτησης\" έχει "
+"επιλεγεί"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "πληκτρολόγιο"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "ποντίκι"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr "μέσα"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr "Λειτουργία Παύσης"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "δίσκος"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "εκτυπωτής"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr "μαγνητική ταινία"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
+msgstr ""
+"Όλες οι θέσεις αδειάσαν και η τρέχουσα κατάσταση αποθηκεύτηκε στη θέση 1"
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr "διάτρητη ταινία"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Έναρξη νέας αναζήτησης"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr "μαγνητικό τύμπανο"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr "αποθήκευση στερεάς κατάστασης"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr "επικοινωνίες"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "Βρέθηκαν συνολικά %d αντιστοιχίες"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Δίκτυο LAN"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Δίκτυο WAN"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-"Μία ή περισσότερες ROMs/CHDs για αυτό το μηχάνημα είναι εσφαλμένες. Το "
-"μηχάνημα μπορεί να μην εκτελείται σωστά.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"Μία ή περισσότερες ROMs/CHDs για αυτό το μηχάνημα δεν έχουν γίνει dump "
-"σωστά.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Εντελώς μη εξομοιωμένα χαρακτηριστικά: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr "Αριστερά είναι λιγότερη από τη δεξιά"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+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"
-msgstr ", %s"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Αριστερά είναι ίση με τη δεξιά"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Μερικώς εξομοιωμένα χαρακτηριστικά: "
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+msgstr "Αριστερά όχι ίση με τη δεξιά"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr ""
-"Το αναποδογύρισμα της οθόνης σε κοκτέιλ λειτουργία δεν υποστηρίζεται.\n"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Αριστερά είναι ίση με τη δεξιά με bitmask"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Αυτό το μηχάνημα απαιτεί εξωτερικά αρχεία artwork.\n"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Αριστερά δεν είναι ίση με τη δεξιά με bitmask"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+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"
-msgstr ""
-"Αυτό το μηχάνημα δεν έχει κανένα υλικό ήχου, το MAME δεν θα παράγει κανένα "
-"ήχο, αυτή είναι αναμενόμενη συμπεριφορά.\n"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+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"
-msgstr ""
-"\n"
-"ΑΥΤΟ ΤΟ ΜΗΧΑΝΗΜΑ ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ. Η εξομοίωση για αυτό το μηχάνημα δεν είναι "
-"ακόμα πλήρης. Δεν υπάρχει τίποτα που μπορείτε να κάνετε για να διορθώσετε "
-"αυτό το πρόβλημα εκτός από την αναμονή για τους προγραμματιστές να "
-"βελτιώσουν την εξομοίωση.\n"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+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"
-msgstr ""
-"\n"
-"Στοιχεία αυτού του μηχανήματος δεν μπορούν να εξομοιωθούν, καθώς απαιτούν "
-"φυσική αλληλεπίδραση ή αποτελούνται από μηχανικές συσκευές. Δεν είναι "
-"δυνατόν να δοκιμάσετε πλήρως αυτό το μηχάνημα.\n"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Αριστερά όχι ίση με την αξία"
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Υπάρχουν κλώνοι αυτού του μηχανήματος που λειτουργούν: %s"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Αξία"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Πιέστε ένα πλήκτρο για συνέχεια"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
+msgstr "Διαφορά"
-#: 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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Οποιαδήποτε"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Μορφή Δεδομένων"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
+msgstr "Δοκιμή/Εγγραφή Αξίας Poke"
-#: src/frontend/mame/ui/info.cpp:350
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"Ήχος:\n"
+"Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke την αξία της θέσης 1 (πχ. "
+"Ξεκίνησες με κάτι αλλά το έχασες)"
-#: src/frontend/mame/ui/info.cpp:378
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Video:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Βίντεο:\n"
+"Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke την αξία της τελευταίας θέσης "
+"(πχ. Ξεκίνησες χωρίς κάποιο αντικείμενο αλλά τελικά το βρήκες)"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Κανένα\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Διάνυσμα"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Αναίρεση τελευταίας αναζήτησης -- #"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Ταίριασμα τομέα"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Οθόνη '%1$s'"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Όλα"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Οθόνη"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Δεν υποστηρίζεται"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Η μηχανή Cheat δεν είναι διαθέσιμη"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Υποστηρίζεται μερικώς"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Δοκιμή"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[κενό]"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Εγγραφή"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Πίνακες Ελέγχου"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Επιτήρηση"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Προεπισκόπηση Artworks"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Σελίδα"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Καθαρισμός Επιτηρήσεων"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Προσθήκη ή αφαίρεση από τα αγαπημένα"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Εύρεση Cheat"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Εξαγωγή λίστας σε αρχείο"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Αποθήκευση ονομάτων εισόδου στο αρχείο"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Εμφάνιση προβολής DATs"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Σφάλμα αποθήκευσης ονόματος εισόδου στο αρχείο"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Επιλογή τμημάτων λογισμικού:"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "Το όνομα της θύρας εισόδου αποθηκεύτηκε στο αρχείο %s"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Επιλογή BIOS:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Θύρες εισόδου"
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Το λογισμικό είναι κλώνος του: %1$-.100s"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Το λογισμικό είναι γονικό"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Υποστηρίζεται: Όχι"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Υποστηρίζεται: Μερικώς"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Υποστηρίζεται: Ναι"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Ο Οδηγός είναι κλώνος του: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ο Οδηγός είναι γονικός"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Εικόνες"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Πληροφορίες"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Χρήση"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Γενικές Πληροφορίες"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Περιβάλλον Χρήστη"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Άλλα Στοιχεία Ελέγχου"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Έγινε"
+
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2762,68 +3165,81 @@ msgstr "Αριθμός Παιχνιδιών"
msgid "Timer"
msgstr "Χρονομετρητής"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Επιλογή cheat για ρύθμιση συντόμευσης"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "Πιέστε πλήκτρο για συντόμευση ή περιμένετε για καθαρισμό"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Κανένα"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Έγινε"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Ρύθμιση"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Ρύθμιση συντομεύσεων"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Ενεργοποιήθηκε: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Ενεργοποιήθηκε: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Ενεργοποιημένο: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Απενεργοποιημένο: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s προστέθηκε"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Εντολή"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Υψηλά σκορ"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Αρχικοποίηση παιχνιδιού"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Ιστορία"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2835,338 +3251,259 @@ msgstr ""
"--- ΠΛΗΡΟΦΟΡΙΕΣ ΟΔΗΓΟΥ ---\n"
"Οδηγός: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Αρχικοποίηση παιχνιδιού"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Αποθήκευση Cheat"
+#~ msgid "Backdrops"
+#~ msgstr "Σκηνικά"
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Προεπιλογή"
+#~ msgid "Overlays"
+#~ msgstr "Επικαλύψεις"
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Προσαρμογή"
+#~ msgid "Bezels"
+#~ msgstr "Προσόψεις"
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Όνομα Cheat"
+#~ msgid "CPanels"
+#~ msgstr "Πίνακες Ελέγχου"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Το προεπιλεγμένο όνομα είναι %s"
+#~ msgid "View"
+#~ msgstr "Εμφάνιση"
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Παίκτης"
+#~ msgid "Cropped"
+#~ msgstr "Περικοπή"
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Τύπος"
+#~ msgid "Full"
+#~ msgstr "Πλήρες"
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Αποθήκευση"
+#~ msgid "Dip Switches"
+#~ msgstr "Μικροδιακόπτες"
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "Το Cheat γράφτηκε στο %s και προστέθηκε στο cheat.simple"
+#~ msgid "Select position to load from"
+#~ msgstr "Επιλέξτε τη θέση φόρτωσης από"
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "Το Cheat προστέθηκε στο cheat.simple"
+#~ msgid "Select position to save to"
+#~ msgstr "Επιλέξτε τη θέση για αποθήκευση σε"
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Αδύνατη η εγγραφή του αρχείου\n"
-"Ελέγξτε ότι υπάρχει ο φάκελος του cheatpath"
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Κατάσταση Εξομοίωσης Πληκτρολογίου"
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Ακύρωση"
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Λειτουργία: ΜΕΡΙΚΗ Εξομοίωση"
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "Επεξεργαστής ή μνήμη RAM"
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Ενεργοποιημένο"
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
-msgstr ""
-"Οι αλλαγές σε αυτό ισχύουν μόνο όταν η \"Έναρξη νέας αναζήτησης\" έχει "
-"επιλεγεί"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Χρήση ScrLock να εναλλαγή**"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr "Λειτουργία Παύσης"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Λειτουργία: ΠΛΗΡΗΣ Εξομοίωση"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-"Μη αυτόματη παύση & συνέχιση του παιχνιδιού όταν χρειάζεται με το πλήκτρο "
-"παύσης"
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Απενεργοποιημένο"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-"Όλες οι θέσεις αδειάσαν και η τρέχουσα κατάσταση αποθηκεύτηκε στη θέση 1"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Δεν μπορεί να ενεργοποιηθεί το Autofire"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Έναρξη νέας αναζήτησης"
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr "Η Κατάσταση Μνήμης αποθηκεύτηκε στη θέση %d"
+#~ msgid "Autofire Settings"
+#~ msgstr "Ρυθμίσεις Autofire"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr "Αποθήκευση Τρέχουσας Κατάστασης Μνήμης στη Θέση "
+#~ msgid "Autofire Status"
+#~ msgstr "Κατάσταση Autofire"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "Βρέθηκαν συνολικά %d αντιστοιχίες"
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Δεν βρέθηκαν κουμπιά σε αυτό το μηχάνημα!"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr "Εκτέλεση Σύγκρισης : "
+#~ msgid "Autofire Delay"
+#~ msgstr "Καθυστέρηση Autofire"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr "Αριστερά είναι λιγότερη από τη δεξιά"
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Στο επιλεγμένο λογισμικό λείπει ένα ή περισσότερα απαραίτητα αρχεία. "
+#~ "Παρακαλώ επιλέξτε ένα διαφορετικό λογισμικό.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr "Αριστερά είναι περισσότερη από τη δεξιά"
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Λειτουργία Πληκτρολογίου:"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Αριστερά είναι ίση με τη δεξιά"
+#~ msgid "Save machine configuration"
+#~ msgstr "Αποθήκευση παραμετροποίησης μηχανήματος"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr "Αριστερά όχι ίση με τη δεξιά"
+#~ msgid "Configure machine:"
+#~ msgstr "Ρύθμιση μηχανήματος:"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Αριστερά είναι ίση με τη δεξιά με bitmask"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Υποστήριξη Κοκτέιλ\tΝαι\n"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Αριστερά δεν είναι ίση με τη δεξιά με bitmask"
+#~ 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"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Αριστερά είναι λιγότερη από την αξία"
+#~ msgid "Re-select last machine played"
+#~ msgstr "Επιλογή του τελευταίου μηχανήματος που έπαιζε"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Αριστερά είναι περισσότερη από την αξία"
+#~ msgid "Refresh speed"
+#~ msgstr "Ταχύτητα ανανέωσης"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Αριστερά είναι ίση με την αξία"
+#~ msgid "Artwork Crop"
+#~ msgstr "Αποκοπή Artwork"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Αριστερά όχι ίση με την αξία"
+#~ msgid "Use Backdrops"
+#~ msgstr "Χρήση Backdrops"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Αξία"
+#~ msgid "Use Overlays"
+#~ msgstr "Χρήση Overlays"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr "Διαφορά"
+#~ msgid "Use Bezels"
+#~ msgstr "Χρήση Bezels"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Οποιαδήποτε"
+#~ msgid "Use Control Panels"
+#~ msgstr "Χρήση Control Panels"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Μορφή Δεδομένων"
+#~ msgid "Use Marquees"
+#~ msgstr "Χρήση Marquees"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr "Δοκιμή/Εγγραφή Αξίας Poke"
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Στιγμιότυπο Bilinear"
-#: 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 ""
-"Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke την αξία της θέσης 1 (πχ. Ξεκίνησες με "
-"κάτι αλλά το έχασες)"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: 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 ""
-"Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke την αξία της τελευταίας θέσης (πχ. "
-"Ξεκίνησες χωρίς κάποιο αντικείμενο αλλά τελικά το βρήκες)"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x00"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x01"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x02"
+#, 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"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x03"
+#, 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"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x04"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x05"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x06"
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Στο επιλεγμένο λογισμικό λείπει μία ή περισσότερες ROMs ή εικόνες CHD. "
+#~ "Παρακαλώ επιλέξτε ένα διαφορετικό."
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x07"
+#~ 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"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x08"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Πιέστε πλήκτρο για συντόμευση ή περιμένετε για καθαρισμό"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x09"
+#~ msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#~ msgstr ""
+#~ "Μη αυτόματη παύση & συνέχιση του παιχνιδιού όταν χρειάζεται με το πλήκτρο "
+#~ "παύσης"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x63 (Δεκαδικό 99)"
+#, lua-format
+#~ msgid "Memory State saved to Slot %d"
+#~ msgstr "Η Κατάσταση Μνήμης αποθηκεύτηκε στη θέση %d"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x99 (BCD 99)"
+#~ msgid "Save Current Memory State to Slot "
+#~ msgstr "Αποθήκευση Τρέχουσας Κατάστασης Μνήμης στη Θέση "
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0xFF (Δεκαδικό 255)"
+#~ msgid "Perform Compare : "
+#~ msgstr "Εκτέλεση Σύγκρισης : "
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x3E7 (Δεκαδικό 999)"
+#~ msgid "Use this if you want to poke 0x00"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x00"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x999 (BCD 999)"
+#~ msgid "Use this if you want to poke 0x01"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x01"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x270F (Δεκαδικό 9999)"
+#~ msgid "Use this if you want to poke 0x02"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x02"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x9999 (BCD 9999)"
+#~ msgid "Use this if you want to poke 0x03"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x03"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0xFFFF (Δεκαδικό 65535)"
+#~ msgid "Use this if you want to poke 0x04"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x04"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Αναίρεση τελευταίας αναζήτησης -- #"
+#~ msgid "Use this if you want to poke 0x05"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x05"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Ταίριασμα τομέα"
+#~ msgid "Use this if you want to poke 0x06"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x06"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Όλα"
+#~ msgid "Use this if you want to poke 0x07"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x07"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr "Δοκιμή Cheat %08X:%02X"
+#~ msgid "Use this if you want to poke 0x08"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x08"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Η μηχανή Cheat δεν είναι διαθέσιμη"
+#~ msgid "Use this if you want to poke 0x09"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x09"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Δοκιμή"
+#~ msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x63 (Δεκαδικό 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Εγγραφή"
+#~ msgid "Use this if you want to poke 0x99 (BCD 99)"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x99 (BCD 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Επιτήρηση"
+#~ msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0xFF (Δεκαδικό 255)"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Σελίδα"
+#~ msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#~ msgstr ""
+#~ "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x3E7 (Δεκαδικό 999)"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Καθαρισμός Επιτηρήσεων"
+#~ msgid "Use this if you want to poke 0x999 (BCD 999)"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x999 (BCD 999)"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Εύρεση Cheat"
+#~ msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#~ msgstr ""
+#~ "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x270F (Δεκαδικό 9999)"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Αποθήκευση ονομάτων εισόδου στο αρχείο"
+#~ msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#~ msgstr "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0x9999 (BCD 9999)"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Σφάλμα αποθήκευσης ονόματος εισόδου στο αρχείο"
+#~ msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#~ msgstr ""
+#~ "Χρησιμοποιήστε αυτό αν θέλετε να κάνετε poke το 0xFFFF (Δεκαδικό 65535)"
-#: plugins/portname/init.lua:167
#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "Το όνομα της θύρας εισόδου αποθηκεύτηκε στο αρχείο %s"
-
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "Θύρες εισόδου"
+#~ msgid "Test Cheat %08X:%02X"
+#~ msgstr "Δοκιμή Cheat %08X:%02X"
diff --git a/language/Hebrew/strings.po b/language/Hebrew/strings.po
index da110642204..40ad26f7f7d 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Hindi/strings.po b/language/Hindi/strings.po
index 4ac4d3bbaf4..c1e2d0c55eb 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Hungarian/strings.po b/language/Hungarian/strings.po
index d37e0032225..68e534baf2f 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: 2021-05-29 22:30+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,2141 +15,2606 @@ msgstr ""
"X-Generator: Poedit 1.8.11\n"
"X-Loco-Parser: loco_parse_mo\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Képernyő #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Forgatás"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Háttérfelület"
-
-#: 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/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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Átfedők"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Nyomj egy gombot a folytatáshoz"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Keretek"
+#: src/frontend/mame/ui/ui.cpp:555
+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/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Vezérlőpult"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Matricák"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Nézet"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Biztos ki akarsz lépni?\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/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Levágva"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Fő hangerő"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Teljes"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Hangerő"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Processzor túlhajtás %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Felület"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Képfrissítés"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Nyelv"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Fényerő"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Minták"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontraszt"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI fájlok"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Vízszintes nyújtás"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Vízszintes helyzet"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ikonok"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Függőleges nyújtás"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Csalások"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Függőleges helyzet"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Pillanatképek"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Lézerlemez '%1$s' vízszintes nyújtás"
-#: 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/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Lézerlemez '%1$s' vízszintes pozíció"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakátok"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Lézerlemez '%1$s' függőleges nyújtás"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Címkép"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Lézerlemez '%1$s' függőleges pozíció"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Befejezések"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vektor villogás"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB-k"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimális sugár szélesség"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Kezelő pult"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maximális sugár szélesség"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Célkeresztek"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Illusztrációk"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Sugár erősség mértéke"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Boss"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Célkereszt skála %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Illusztrációk előnézete"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Választás"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Végkép"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Célkereszt kiegyenlítés %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Hogyan"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logók"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Eredmények"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Ellen"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Borítók"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Mappa beállítások"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Célkereszt skála X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Jelenlegi %1$s mappák"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Célkereszt skála Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Mappa váltás"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Célkereszt kiegyenlítés X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Mappa létrehozása"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Célkereszt kiegyenlítés Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Mappa eltávolítása"
+#: 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/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "%1$s mappára váltás - Keresés: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr "**%s.ini mentése közben hiba történt**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "%1$s mappa létrehozása - Keresés: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Beállítás elmentve \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Beállítás a TAB billentyűvel"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" felvéve a Kedvencek listára."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "%1$s mappa eltávolítása"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" eltávolítva a Kedvencek listáról."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Kiválasztási lista - Keresés: "
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, 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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, 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 "Driver: \"%1$s\" software list "
+msgstr "Vezérlőprogram: \"%1$s\" szoftver lista "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "leállítva"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "játszva"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(lejátszás)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "felvéve"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(rögzítés)"
+#: 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/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Szünet/Állj"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Beállítások mentése"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Indítás"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Beállítások"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Felvétel"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Szűrő"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Visszatekerés"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Felület testre szabása"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Gyors előretekerés"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Könyvtár beállítások"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[üres hely]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[fájl kezelő]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[létrehozás]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[szoftver lista]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Elem sorrend beállítása"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Beállított sorrend: bejegyzések a következő sorrendben %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "rövid név"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Hozzáférési mód választás"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "leírás"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Csak olvasható"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[kompatibilitási lista]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Olvasható-írható"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Szoftver használat"
+#: src/frontend/mame/ui/filesel.cpp:542
+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/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revízió:"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "A kép beolvasása és mentése másikba"
-#: 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/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Egyéb beállítások"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nem"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Igen"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Új kép neve:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Képek nagyítása a jobb panelen"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Kép formátum:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Csalások"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Létrehozás"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Egérmutató megjelenítése"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Gépekből történő kilépés megerősítése"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Kép formátum választás"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Indításkori tájékoztató képernyő kihagyása "
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Irányítás (általános)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Kényszerített 4:3 képarány pillanatkép megjelenítéséhez"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Irányítás (ez a gép)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Kép beállítása háttérként"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analóg irányítók"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip kapcsolók"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Szoftver elemek választási menü kihagyása"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Gép beállítások"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Automata ellenőrzési infó"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Nyilvántartási infó"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Rom nélküli gépek elrejtése a meglévő listából"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Gép információk"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Haladó beállítások"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Kép információk"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Teljesítmény beállítások"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Fájl kezelő"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Automata képkocka kihagyás"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Kazetta irányítók"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Képkocka kihagyás"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Lassítás"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Behelyezhető eszközök"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Alvás"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Vonalkód olvasó"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Sebesség"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Hálózati eszközök"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Billenytűzet mód"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Csúszka irányítók"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Elforgatási beállítások"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Forgatás"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Célkereszt beállítások"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Forgatás jobbra"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Csalás"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Forgatás balra"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Beépülő beállítások"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Automatikus forgatás jobbra"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Külső DAT nézet"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Automatikus forgatás balra"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "X elfordítás"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Y elfordítás"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Új gép választás"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Illusztráció beállítások"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Új vonalkód:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Kód megadása"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Mentés/visszajátszás beállítások"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Érvénytelen vonalkód hossz!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Automata mentés/visszaállítás"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[sikertelen]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: 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/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Beállítások mentése"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Égés"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Beállítások"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Irányítás beállítások"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Szűrő"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Érme zárolás"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Felület testre szabása"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Egér"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Könyvtár beállítások"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Fénypisztoly"
-#: 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 ""
-"Gép nem található. %1$s.ini fájlban megadott rom elérési út ellenőrzése "
-"szükséges.\n"
-"\n"
-"%2$s első alkalommal történő használata esetén, tekintsd meg a docs "
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Osztott billentyűzet"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Beállítási lehetőségek"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Osztott egér"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, 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/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Gyorsbillentyű"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Név beírása vagy kiválasztás: (véletlenszerű)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Felület aktív"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Újratöltés képen kívül"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Joystick holtsáv"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Illesztőprogram: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Joystick szaturáció"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Természetes billentyűzet"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Folyamatos ellentmondá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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Érme hatás"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Gomb kiosztás"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Fénypisztoly eszköz gombkiosztás"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: Jó, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Hanyattegér eszköz beállítása"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedál eszköz gombkiosztása"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "ADStick eszköz beállítás"
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Paddle eszköz gombkiosztása"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Hang: Jó"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Dial eszköz gombkiosztása"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Positional eszköz gombkiosztása"
-#: 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/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Egér eszköz gombkiosztása"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Kép beállítások"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Mentési hely kiválasztása"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Kép mód"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Képernyők száma"
+
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Háromszoros pufferelés"
-#: 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/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mód: RÉSZLEGES emuláció"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Bilineáris szűrés"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Bekapcsolva"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bittérkép lágyítása"
-#: 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/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Ablakban futtatás"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mód: TELJES emuláció"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Kényszerített képarány"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Kikapcsolva"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Indítás teljes képernyőn"
-#: 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/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Szinkronizált frissítés"
-#: 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 ""
-"Biztos ki akarsz lépni?\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/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "V-sync-re várás"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Fő hangerő"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Be"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Hangerő"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Ki"
-#: 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/menu.cpp:678
+msgid "Auto"
+msgstr "Automata"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: 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/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Vissza a géphez"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Fényerő"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Kilépés"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontraszt"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Vissza az előző menübe"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+msgid "Screen #%d"
+msgstr "Képernyő #%d"
-#: 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/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Vízszintes helyzet"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: 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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: 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/info.cpp:31
+msgid "protection"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor villogás"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimális sugár szélesség"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximális sugár szélesség"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Sugár erősség mértéke"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr ""
-#: 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/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr ""
-#: 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/info.cpp:39
+msgid "controls"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+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/info.cpp:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: 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/info.cpp:50
+msgid "LAN"
+msgstr ""
-#: 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/info.cpp:51
+msgid "WAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Beállítás elmentve \n"
+msgstr ""
+"A géppel kapcsolatos hibák közismertek\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"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:250
+msgid "Completely unemulated features: "
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/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Automata tüzelés beállítás"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Mindet alapra"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Mind újratöltése"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Automata tüzelés állapot"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr ""
-#: 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/info.cpp:285
+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/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/info.cpp:287
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
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
+#: src/frontend/mame/ui/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%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:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-"%s\n"
-" eltávolítva a Kedvencek listáról."
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
+"\n"
+"Hang:\n"
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
msgstr ""
+"\n"
+"Kép:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Nincs\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d szoftver csomag )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Vezérlőprogram: \"%1$s\" szoftver lista "
+msgid "Screen '%1$s'"
+msgstr "Képernyő '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Képernyő"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Nem támogatott"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Részlegesen támogatva"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[üres]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[fájl kezelő]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Elem sorrend beállítása"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Beállított sorrend: bejegyzések a következő sorrendben %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "rövid név"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "leírás"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[kompatibilitási lista]"
+
+#: 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:1045
+msgid "No"
+msgstr "Nem"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Kép formátum választás"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Billenytűzet mód"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Természetes"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulálva"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Bekapcsolva"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Kikapcsolva"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Egyéni szűrő választás:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Utolsó szűrő eltávolítása"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Szűrő beállítás"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[létrehozás]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Szoftver használat"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revízió:"
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Alapra állítás"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Hozzáférési mód választás"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Játékidő: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Csak olvasható"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Kiosztott jegyek: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Olvasható-írható"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Érme %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Érme %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (zárolva)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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 "Alapra állítás"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " SZÍNEK"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " TOLLAK"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Vissza a géphez"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Látható késés"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Kilépés"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml mentve az ui mappába."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Név: Leírás:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt mentve az ui mappába."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Lista exportálása XML formátumba (mint -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automata"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Mindet mutat"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Lista exportálása TXT formátumba (mint -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Szűrők elrejtése"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Vezérlőprogram"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Infó / kép elrejtése"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Mindkettő elrejtése"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Felvétel a Kedvencekhez"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Betűk"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Eltávolítás a kedvencekből"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Színek"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Oldal panelek mutatása"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Egyedi felület beállításai"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (alap)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "alap"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Beépülők"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Felület betűkészlete"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pszeudó terminálok"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Félkövér"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[sikertelen]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Dőlt"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Vonalak"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Infó szöveg mérete"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Felület betűkészleteinek beállítása"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Minta szöveg - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normál szöveg"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Választott szín"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Felhasználói felület"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Normál szöveg háttér"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Választott háttérszín"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Egyéb irányítók"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Segédeszköz szín"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klón"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Keret"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Háttér"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Nem használható szín"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Csúszka színe"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Grafikai betekintő háttere"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Mouseover szín"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "leállítva"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Mouseover háttér szín"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "játszva"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Mousedown szín"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(lejátszás)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Mousedown háttér szín"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "felvéve"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Eredeti színek visszaállítása"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(rögzítés)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Felület színeinek beállítása"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Szünet/Állj"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dupla kattintás erre: %1$s a szín megváltoztatásához"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Indítás"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menü előnézet"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Felvétel"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normál"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Visszatekerés"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Segédeszköz"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Gyors előretekerés"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Kiválasztva"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Nem menthető el a könyvtárba"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Mouseover"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Gép nem található. %1$s.ini fájlban megadott rom elérési út ellenőrzése "
+"szükséges.\n"
+"\n"
+"%2$s első alkalommal történő használata esetén, tekintsd meg a docs "
+"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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Vörös"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Beállítási lehetőségek"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Zöld"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, 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/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Kék"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Név beírása vagy kiválasztás: (véletlenszerű)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Választás a palettából"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Szín előnézet ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Illesztőprogram: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Fehér"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Összegezve: NEM MŰKÖDIK"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Ezüst"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Összegezve: Emulálatlan védelem"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Szürke"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Összegezve: Működik"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Fekete"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Narancs"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: Hibás, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Sárga"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafika: Jó, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Ibolya"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Billenytűzet mód:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Hang: nincs beépítve"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Természetes"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Hang: Hibás"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulálva"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Hang: Jó"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Játékidő: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Csalás megjegyzés:\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Minden csalás újra betöltve"
+
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Mindet alapra"
+
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Mind újratöltése"
+
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
+
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Felület"
+
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Nyelv"
+
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Minták"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI fájlok"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
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/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ikonok"
-#: 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/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Pillanatképek"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zárolva)"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Játékgép"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Látható késés"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Plakátok"
-#: 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/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Címkép"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Név: Leírás:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Befejezések"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB-k"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Matricák"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Kezelő pult"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Célkeresztek"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Illusztrációk"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Boss"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Illusztrációk előnézete"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Választás"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Végkép"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Hogyan"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logók"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Eredmények"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Ellen"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Borítók"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Mappa beállítások"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt mentve az ui mappába."
+msgid "Current %1$s Folders"
+msgstr "Jelenlegi %1$s mappák"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Mappa váltás"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Mappa létrehozása"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Mappa eltávolítása"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Vezérlőprogram"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "%1$s mappára váltás - Keresés: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "%1$s mappa létrehozása - Keresés: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Gép beállítások mentése"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Beállítás a TAB billentyűvel"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Gép beállítások:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "%1$s mappa eltávolítása"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (alap)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " SZÍNEK"
-#: 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/viewgfx.cpp:428
+msgid " PENS"
+msgstr " TOLLAK"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Gép beállítások"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romkészlet: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Rendszer: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Kiválasztási lista - Keresés: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Hang"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Mintavételezés"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mindet mutat"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Külső minták használata"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Szűrők elrejtése"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Egyéb beállítások"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Infó / kép elrejtése"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Utoljára játszott gép kiválasztása"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Mindkettő elrejtése"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Képek nagyítása a jobb panelen"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Betűk"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Egérmutató megjelenítése"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Színek"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Gépekből történő kilépés megerősítése"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Oldal panelek mutatása"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Indításkori tájékoztató képernyő kihagyása "
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Egyedi felület beállításai"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Kényszerített 4:3 képarány pillanatkép megjelenítéséhez"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "alap"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Kép beállítása háttérként"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Felület betűkészlete"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Félkövér"
+
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Dőlt"
+
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Vonalak"
+
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Infó szöveg mérete"
+
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Felület betűkészleteinek beállítása"
+
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Minta szöveg - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Szoftver elemek választási menü kihagyása"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normál szöveg"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Automata ellenőrzési infó"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Választott szín"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Rom nélküli gépek elrejtése a meglévő listából"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Normál szöveg háttér"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Haladó beállítások"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Választott háttérszín"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Teljesítmény beállítások"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Segédeszköz szín"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Automata képkocka kihagyás"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klón"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Képkocka kihagyás"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Keret"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Lassítás"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Háttér"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Alvás"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Dipswitch"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Sebesség"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Nem használható szín"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Sebesség frissítése"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Csúszka színe"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Elforgatási beállítások"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Grafikai betekintő háttere"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Forgatás jobbra"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Mouseover szín"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Forgatás balra"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Mouseover háttér szín"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Automatikus forgatás jobbra"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Mousedown szín"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Automatikus forgatás balra"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Mousedown háttér szín"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "X elfordítás"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Eredeti színek visszaállítása"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Y elfordítás"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Felület színeinek beállítása"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Illusztráció beállítások"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dupla kattintás erre: %1$s a szín megváltoztatásához"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Illusztráció levágása"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menü előnézet"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Háttérfelületek használata"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normál"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Átfedők használata"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Segédeszköz"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Keretek használata"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Kiválasztva"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Kezelő pultok használata"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Mouseover"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Matricák használata"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Mentés/visszajátszás beállítások"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alpha"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automata mentés/visszaállítás"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Vörös"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Zöld"
+
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Kék"
+
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Választás a palettából"
+
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Szín előnézet ="
+
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Fehér"
+
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Ezüst"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Szürke"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Fekete"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Narancs"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Sárga"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Ibolya"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Új vonalkód:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Kód megadása"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Érvénytelen vonalkód hossz!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Irányítás (általános)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Irányítás (ez a gép)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analóg irányítók"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineáris pillanatkép"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Gép beállítások"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Égés"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Nyilvántartási infó"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Irányítás beállítások"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Gép információk"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Érme zárolás"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Egér"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Kép információk"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Fájl kezelő"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Fénypisztoly"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Kazetta irányítók"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Osztott billentyűzet"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Osztott egér"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Behelyezhető eszközök"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Gyorsbillentyű"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Vonalkód olvasó"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Felület aktív"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Hálózati eszközök"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Újratöltés képen kívül"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Csúszka irányítók"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Joystick holtsáv"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Célkereszt beállítások"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Joystick szaturáció"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Csalás"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Természetes billentyűzet"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Beépülő beállítások"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Folyamatos ellentmondás"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Külső DAT nézet"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Érme hatás"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Gomb kiosztás"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Új gép választás"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Fénypisztoly eszköz gombkiosztás"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Kezelő pult"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Hanyattegér eszköz beállítása"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Illusztráció előnézet"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedál eszköz gombkiosztása"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "A játék végetért"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "ADStick eszköz beállítás"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Kedvencek felvétele vagy eltávolítása"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Paddle eszköz gombkiosztása"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "A megjelenített lista exportálása fájlba"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Dial eszköz gombkiosztása"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "DAT nézet mutatása"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Positional eszköz gombkiosztása"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Szoftver rész választás:"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Egér eszköz gombkiosztása"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Kép mód"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "A szoftver a következő klónja: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Képernyők száma"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "A szoftver alap"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Háromszoros pufferelés"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Támogatás: Nem"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Támogatás: Részleges"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Támogatás: Igen"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineáris szűrés"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romkészlet: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bittérkép lágyítása"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, 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/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Ablakban futtatás"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "A vezérlőprogram alap"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Kényszerített képarány"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Képek"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Indítás teljes képernyőn"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Infók"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Szinkronizált frissítés"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "V-sync-re várás"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Használat"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Általános infók"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2160,7 +2625,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2171,952 +2636,697 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
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/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
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"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
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"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
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"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
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/info.cpp:208
-msgid "Completely unemulated features: "
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
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"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
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"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
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
-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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-"\n"
-"\n"
-"Nyomj egy gombot a folytatáshoz"
-#: 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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Vezérlőprogram: %4$s\n"
-"\n"
-"Processzor:\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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-"\n"
-"Hang:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-"\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"
-
-#: 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 "Képernyő '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Képernyő"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nem támogatott"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Részlegesen támogatva"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[üres]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kezelő pult"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Illusztráció előnézet"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "A játék végetért"
-
-#: 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/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "A megjelenített lista exportálása fájlba"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DAT nézet mutatása"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Szoftver rész választás:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, 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:624
-msgid "Software is parent"
-msgstr "A szoftver alap"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Támogatás: Nem"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Támogatás: Részleges"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Támogatás: Igen"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romkészlet: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, 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:662
-msgid "Driver is parent"
-msgstr "A vezérlőprogram alap"
-
-#: 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 "Képek"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infók"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Használat"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Általános infók"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Felhasználói felület"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Egyéb irányítók"
-
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:744
+msgid ""
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "Disabled: %s"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheat/init.lua:867
-#, lua-format
-msgid "%s added"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Parancs"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Történet"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Rendszer infó"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/autofire/autofire_menu.lua:59
#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Parancs"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Rendszer infó"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
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)"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:740
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Történet"
+
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Háttérfelület"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Átfedők"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Keretek"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Vezérlőpult"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Nézet"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Levágva"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Teljes"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "Dip kapcsolók"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Betöltési hely kiválasztása"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Mentési hely kiválasztása"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Billentyűzet emuláció állapota"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Mód: RÉSZLEGES emuláció"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Bekapcsolva"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "** Váltáshoz a ScrLock használható**"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Mód: TELJES emuláció"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Kikapcsolva"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Automata tüzelés nem kapcsolható be"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Automata tüzelés beállítás"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Automata tüzelés állapot"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Nem található gomb ezen a gépen!"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Automata tüzelés törlése"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Billenytűzet mód:"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Gép beállítások mentése"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Gép beállítások:"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Utoljára játszott gép kiválasztása"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Sebesség frissítése"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "Illusztráció levágása"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Use Backdrops"
+#~ msgstr "Háttérfelületek használata"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "Use Overlays"
+#~ msgstr "Átfedők használata"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Use Bezels"
+#~ msgstr "Keretek használata"
+
+#~ msgid "Use Control Panels"
+#~ msgstr "Kezelő pultok használata"
+
+#~ msgid "Use Marquees"
+#~ msgstr "Matricák használata"
+
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Bilineáris pillanatkép"
+
+#~ msgid ""
+#~ "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."
#~ msgid "Vertical"
#~ msgstr "Függőleges"
diff --git a/language/Indonesian/strings.po b/language/Indonesian/strings.po
index e2323eafa8a..deca891a3b5 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Italian/strings.po b/language/Italian/strings.po
index 56eeba5c6b4..44ec1b5fa30 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2017-08-30 09:37+0200\n"
"Last-Translator: theheroGAC\n"
"Language-Team: MAME Language Team\n"
@@ -17,2147 +17,2611 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.3\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Schermo #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotazione"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Sfondi (Backdrops)"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Premi un tasto per proseguire"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sovrapposizioni (Overlays)"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Cornici (Bezels)"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Pannello Comandi (CPanels)"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Sei sicuro di voler uscire?\n"
+"\n"
+"Premi ''%1$s'' per uscire,\n"
+"Premi ''%2$s'' per contrinuare l'emulazione."
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Tendoni"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volume Principale"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vista"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volume"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tagliata"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s suono"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Frequenza di aggiornamento"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Programma Multimediale"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Luminosità"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Contrasto"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Lingua"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Sample"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Allungamento Orizzontale"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Posizione Orizzontale"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Allungamento Verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Categoria INI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Posizione Verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Icone"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Allungamento Orizzontale"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheat"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Posizione Orizzontale"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Istantanee"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Allungamento Verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinati"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Posizione Verticale"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Volantini"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Sfarfallio Vettoriale"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titoli"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Larghezza Minima del Raggio"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finali"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Larghezza Massima del Raggio"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Pannelli di controllo"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Peso intensità del Raggio"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Puntatori"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Scala del Puntatore %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Disegni"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Boss"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Anteprima Disegni"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Offset del Puntatore %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Seleziona"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Come Fare"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logo"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Punteggi"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Contro"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Scala del Puntatore X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Copertine"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Scala del Puntatore Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Configura Cartelle"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Offset del Puntatore X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Cartella Corrente %1$s"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Offset del Puntatore Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Cambia Cartella"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Errore nel salvataggio del file ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Aggiungi Cartella"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Errore nel salvataggio del file %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Rimuovi Cartella"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configurazione salvata \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Cambia Cartella %1$s - Cerca: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" aggiunto ai preferiti."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Aggiungi Cartella %1$s - Cerca: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Premi TAB per impostare"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" rimosso dai preferiti."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Doppio click o premi %1$s per selezionare"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista software "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "fermato"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Cerca: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "in esecuzione"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Cerca: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(in esecuzione)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "registra"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opzioni Audio"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(registra)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Input Generali"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pausa/Stop"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Salva Configurazione"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Gioca"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Impostazioni"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Registra"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtri"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Riavvolgi"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personalizza UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avanti Veloce"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configura Cartelle"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[slot vuoto]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gestore file]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[crea]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[lista software]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Cambia Ordinamento Opzioni"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Ordinamento Cambiato: Opzioni ordinate ora per %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nome breve"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Selezione modalità di accesso"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "descrizione"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Sola-Lettura"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[lista compatibile]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lettura-Scrittura"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Utilizzo Software"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Leggi da questo file, scrivi su un altro"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisione: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Leggi da questo file, scrivi su diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "File Già Esistente - Sovrascrivo?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Opzioni Varie"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Si"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nuovo Nome Immagine:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Ingrandisci immagini nel pannello di destra"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato Immagine:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheat"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crea"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Mostra puntatore mouse"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Inserisci anche l'estensione"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confermi l'uscita"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleziona formato immagine"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Salta la schermata delle informazioni all'avvio"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (generali)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forza aspetto 4:3 per la visualizzazione istantanea"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (questa Macchina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Usa immagine come sfondo"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controlli Analogici"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Salta il menu di selezione del BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip-Switch"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Non mostrare il menu di selezione del software"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configurazione Macchina"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Info controllo automatico"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Info Crediti e Tempi di Utilizzo"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Nascondi le macchine prive di rom dalla lista disponibile"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informazioni Macchina"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Opzioni avanzate"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informazioni Software"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Opzioni prestazioni"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestore File"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Salto frame automatico"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controllo Cassetta"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Salta fotogramma"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Throttle"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selezione BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Dormi"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lettore Codice a Barre"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Velocità"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivi di Rete"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modalità Tastiera"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Regolazione Cursori"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Opzioni di rotazione"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opzioni Video"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotazione"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opzioni Puntamento"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Ruota a destra"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trucco"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Ruota a sinistra"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opzioni Plugin"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Ruota automaticamente a destra"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualizza DAT Aggiuntivi"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Ruota automaticamente a sinistra"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Inverti X"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Inverti Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Seleziona Nuova Macchina"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Opzioni Disegni"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nuovo codice a barre:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Inserisci codice a barre"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Opzioni di Stato/Riproduzione"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Lunghezza codice a barre errata!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Salvataggio e ripristino automatico"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fallito]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opzioni Audio"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Input Generali"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Salva Configurazione"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Brucia"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Impostazioni"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Opzioni di input"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtri"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Bloccaggio della moneta"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizza UI"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Mouse"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configura Cartelle"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"Il gioco selezionato è mancante di una o più ROM richieste o immagini CHD. "
-"Si prega di scegliere un gioco diverso.\n"
-"\n"
-"Premi qualsiasi tasto per continuare."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Pistola leggera"
-#: 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 ""
-"Nessuna macchina trovata. Controlla il percorso specificato nel file %1$s."
-"ini.\n"
-"\n"
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Multi-tastiera"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Configura Opzioni"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Multi-mouse"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Digita il nome o seleziona: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Tasto costante"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Digita il nome o seleziona: (casuale)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI attivo"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Ricarica schermo spento"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Punto morto joystick"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver:%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Saturazione joystick"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Tastiera naturale"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Contraddizione simultanea"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Complessivamente: Funzionante"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Impulso moneta"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mappatura Dispositivo"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Assegnazione Dispositivo Lightgun"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafica: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Assegnazione Dispositivo Trackball"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Suoni: Nessuno"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Assegnazione Dispositivo Pedaliera"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Assegnazione Dispositivo Adstick"
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Assegnazione Dispositivo Paddle"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Audio: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Assegnazione Dispositivo Dial"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carica Stato"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Assegnazione Dispositivo Posizionale"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Seleziona la posizione da cui caricare"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Assegnazione Dispositivo Mouse"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Salva Stato"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Opzioni Video"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Seleziona la posizione in cui salvare"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Modalità Video"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Numero di Schermi"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Triplo Buffering"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modalità: Emulazione PARZIALE"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Abilitato"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Filtro Bilineare"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modalità: Emulazione COMPLETA"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Divisore Bitmap"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Disabilitato"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Modalità a Finestra"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autofire non può essere abilitato"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Forza Proporzioni Video"
-#: 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 ""
-"Sei sicuro di voler uscire?\n"
-"\n"
-"Premi ''%1$s'' per uscire,\n"
-"Premi ''%2$s'' per contrinuare l'emulazione."
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Avvia Massimizzato"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Principale"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Aggiornamento Sincronizzato"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volume"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Attendi la Sincronizzazione Verticale"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Attivo"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s suono"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Non Attivo"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Frequenza di aggiornamento"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Luminosità"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Contrasto"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Ritorna alla Macchina"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Esci"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Allungamento Orizzontale"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Torna al Menu Precedente"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Posizione Orizzontale"
+msgid "Screen #%d"
+msgstr "Schermo #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Allungamento Verticale"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Posizione Verticale"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Sfarfallio Vettoriale"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Larghezza Minima del Raggio"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "protezione"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Larghezza Massima del Raggio"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "temporizzazione"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso intensità del Raggio"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "grafica"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Scala del Puntatore %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "tavolozza colore"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "audio"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Offset del Puntatore %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "camera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "microfono"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "controlli"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "tastiera"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "mouse"
-#: 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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "disco"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "stampante"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Errore nel salvataggio del file ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: 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:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configurazione salvata \n"
+msgstr ""
+"Ci sono problemi noti per questa macchina\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Commento Cheat:\n"
-"%s"
+"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/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tutti i cheat sono stati ricaricati"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Funzionalità assolutamente non emulate: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Impostazioni Autofire"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Ripristina Tutto"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ricarica Tutto"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Funzionalità emulate non perfettamente: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Stato Autofire"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nessun tasto/pulsante trovato per questa macchina!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Questa macchina richiede file di artwork extra\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Ritardo Autofire"
+#: src/frontend/mame/ui/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" aggiunto ai preferiti."
+"\n"
+"\n"
+"Ci sono Cloni funzionanti di questa macchina: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%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:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-"%s\n"
-" rimosso dai preferiti."
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Nel software selezionato mancano uno o più file richiesti. Seleziona "
-"un'altra software.\n"
"\n"
+"Audio:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Nessuno\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vettoriale"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d pacchetti software )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista software "
+msgid "Screen '%1$s'"
+msgstr "Schermo '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Schermo"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Non supportato"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Parzialmente supportato"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vuoto]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gestore file]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Cambia Ordinamento Opzioni"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Cerca: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Ordinamento Cambiato: Opzioni ordinate ora per %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nome breve"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "descrizione"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[lista compatibile]"
+
+#: 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:1045
+msgid "No"
+msgstr "No"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Seleziona formato immagine"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Modalità Tastiera"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Naturale"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulata"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Cerca: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Non filtrato"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Disponibile"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Non disponibile"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Funziona"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Non Funziona"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Meccanico"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Non Meccanico"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Categoria"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Preferiti"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Nessun BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Genitori"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Cloni"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Produttore"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Anno"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Salvataggio Supportato"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Salvataggio non Supportato"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD Richiesto"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Nessun CHD Richiesto"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Schermata Verticale"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Schermata Orizzontale"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Filtro Personalizzato"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Editore"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Supportato"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Parzialmente Supportato"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Non supportato"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Regione di Rilascio"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Tipo Dispositivo"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Lista Software"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<imposta filtri>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Seleziona filtro personalizzato:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Rimuovi ultimo filtro"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Aggiungi filtro"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Seleziona categoria:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[nessun file INI di categoria]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[nessun gruppo nel file INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Nessun file INI della categoria trovata"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "File"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Nessun gruppo trovato nel file di categoria"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Gruppo"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Cloni inclusi"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crea]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Utilizzo Software"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisione: "
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Azzera"
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selezione modalità di accesso"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tempo di utilizzo: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Sola-Lettura"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Biglietti emessi: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lettura-Scrittura"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monete %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monete %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (bloccati)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+msgid "P%d Visibility"
+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 "Azzera"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORI"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Ritardo Visibilità"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PEN"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml salvato nella cartella UI."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Ritorna alla Macchina"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nome: Descrizione:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Esci"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt salvato nella cartella UI."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Esporta lista in formato XML (come -listxml)"
-#: 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/miscmenu.cpp:693
+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/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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Esporta lista in formato TXT (come -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Mostra Tutti"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Questa macchina non ha BIOS."
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Nascondi Filtri"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Aggiungi ai Preferiti"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Nascondi Info/Immagine"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Rimuovi dai Preferiti"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Nascondi Entrambi"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr "Salva Configurazione Macchina"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Font"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Colori"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (predefinito)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Mostra pannelli laterali"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plugin"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Impostazioni UI Personalizzate"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminali"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "predefinito"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fallito]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Font UI"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Grassetto"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Carica Stato"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Corsivo"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linee"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Salva Stato"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Dimensione testo info"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Impostazioni Font UI"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interfaccia Utente"
+
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-"Testo di esempio - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Testo normale"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Altri Controlli"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Colore selezionato"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Sfondo testo normale"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Colore sfondo selezionato"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Colore opzione menu"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Bordo"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Sfondo"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Dip-Switch"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Colore non disponibile"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "fermato"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Colore cursore"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "in esecuzione"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Sfondo visualizzatore Gfx"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(in esecuzione)"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Colore mouse over"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "registra"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Colore sfondo mouse over"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(registra)"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Colore mouse down"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pausa/Stop"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Colore sfondo mouse down"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Gioca"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Ripristina colori originali"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Registra"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Impostazione Colori UI"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Riavvolgi"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avanti Veloce"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Non posso salvare in questa cartella"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Il gioco selezionato è mancante di una o più ROM richieste o immagini CHD. "
+"Si prega di scegliere un gioco diverso.\n"
+"\n"
+"Premi qualsiasi tasto per continuare."
+
+#: src/frontend/mame/ui/simpleselgame.cpp:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Doppio click o premi %1$s per cambiare colore"
+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 ""
+"Nessuna macchina trovata. Controlla il percorso specificato nel file %1$s."
+"ini.\n"
+"\n"
+"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/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Anteprima Menu"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configura Opzioni"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normale"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Digita il nome o seleziona: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Opzione menu"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Digita il nome o seleziona: (casuale)"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Selezionato"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s,%2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Mouse Sopra"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver:%1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Impostazioni ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Complessivamente: NON FUNZIONANTE"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Complessivamente: Protezione Non Emulata"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rosso"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Complessivamente: Funzionante"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Verde"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafica: Non implementata, "
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blu"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafica: Non Perfetta, "
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Seleziona dalla tavolozza"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafica: OK, "
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Anteprima colore ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Suoni: Nessuno"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Bianco"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Audio: Non Implementato"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Argento"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Audio: Non Perfetto"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Grigio"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Audio: OK"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Nero"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Commento Cheat:\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Arancio"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Tutti i cheat sono stati ricaricati"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Giallo"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Ripristina Tutto"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Viola"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Ricarica Tutto"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modalità Tastiera:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturale"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Programma Multimediale"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulata"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Lingua"
-#: 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/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Sample"
-#: 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/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI"
-#: 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/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Categoria INI"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (bloccati)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Icone"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Ritardo Visibilità"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Istantanee"
-#: 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/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Cabinati"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrizione:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Volantini"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titoli"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Finali"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Tendoni"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Pannelli di controllo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Puntatori"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Disegni"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Boss"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Anteprima Disegni"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Seleziona"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Come Fare"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Punteggi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Contro"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Copertine"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Configura Cartelle"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt salvato nella cartella UI."
+msgid "Current %1$s Folders"
+msgstr "Cartella Corrente %1$s"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Cambia Cartella"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Aggiungi Cartella"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Rimuovi Cartella"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Cambia Cartella %1$s - Cerca: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Questa macchina non ha BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Aggiungi Cartella %1$s - Cerca: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Salva configurazione per questo sistema"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Premi TAB per impostare"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configura questo sistema:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Rimuovi Cartella %1$sr"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (predefinito)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COLORI"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugin"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PEN"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configura Macchina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "Set di rom\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Anno\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Produttore\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Il Driver è un Parent\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Controlli Analogici\tSì\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Input di Tastiera\tSì\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Complessivamente\tNON FUNZIONANTE\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Complessivamente\tProtezione Non Emulata\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Complessivamente\tFunzionante\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Grafica\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Grafica\tColori Errati\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafica\tColori Non Perfetti\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Grafica\tNon Perfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Grafica\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Suoni\tNessuno\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Audio\tNon Implementato\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Audio\tNon Perfetto\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Audio\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Camera\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Camera\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Microfono\tNon implementato\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Microfono\tImperfetto\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Controlli\tNon implementati\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Controlli\tImperfetti\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Tastiera\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Tastiera\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Mouse\tNon implementato\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Mouse\tImperfetto\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disco\tNon implementato\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disco\tImperfetto\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Stampante\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Stampante\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Temporizzazione\tNon implementata\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Temporizzazione\tImperfetta\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Richiede Artwork\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Richiede Artwork\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Richiede Artwork Cliccabile\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Supporto Cocktail\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Supporto Salvataggio\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Supporto Salvataggio\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Richiede CHD\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Richiede CHD\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Set di Rom:%1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Lista Selezione - Cerca: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Doppio click o premi %1$s per selezionare"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+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/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Verifico le ROMs per tutte %1$u le macchine?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(i risultati verranno salvati su %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"Nella macchina selezionata mancano uno o più file ROM o CHD richiesti. "
-"Seleziona un'altra macchina.\n"
-"\n"
+"Verifica delle ROMs per la macchina %2$u di %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Audio"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Avvia Verifica"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Frequenza di Campionamento"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mostra Tutti"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Usa Sample Aggiuntivi"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Nascondi Filtri"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Opzioni Varie"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Nascondi Info/Immagine"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Riseleziona l'ultima macchina emulata"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Nascondi Entrambi"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Ingrandisci immagini nel pannello di destra"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Font"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mostra puntatore mouse"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Colori"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confermi l'uscita"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Mostra pannelli laterali"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Salta la schermata delle informazioni all'avvio"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Impostazioni UI Personalizzate"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Forza aspetto 4:3 per la visualizzazione istantanea"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "predefinito"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Usa immagine come sfondo"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Font UI"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Salta il menu di selezione del BIOS"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Grassetto"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Non mostrare il menu di selezione del software"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Corsivo"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Info controllo automatico"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linee"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Nascondi le macchine prive di rom dalla lista disponibile"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Dimensione testo info"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opzioni avanzate"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Impostazioni Font UI"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opzioni prestazioni"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Testo di esempio - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Salto frame automatico"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Testo normale"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Salta fotogramma"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Colore selezionato"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Throttle"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Sfondo testo normale"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Dormi"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Colore sfondo selezionato"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocità"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Colore opzione menu"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Velocità di Aggiornamento"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clone"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Opzioni di rotazione"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Bordo"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Ruota a destra"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Sfondo"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Ruota a sinistra"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Dip-Switch"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Ruota automaticamente a destra"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Colore non disponibile"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Ruota automaticamente a sinistra"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Colore cursore"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Inverti X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Sfondo visualizzatore Gfx"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Inverti Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Colore mouse over"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Opzioni Disegni"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Colore sfondo mouse over"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Taglia Disegno"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Colore mouse down"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Utilizza i Fondali"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Colore sfondo mouse down"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Utilizza le Sovrapposizioni"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Ripristina colori originali"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Utilizza le Smussature"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Impostazione Colori UI"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Utilizza i pannelli di controllo"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Doppio click o premi %1$s per cambiare colore"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Utilizza i Marquees"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Anteprima Menu"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Opzioni di Stato/Riproduzione"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normale"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Salvataggio e ripristino automatico"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Opzione menu"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Selezionato"
+
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Mouse Sopra"
+
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Impostazioni ARGB"
+
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
+
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rosso"
+
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Verde"
+
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blu"
+
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Seleziona dalla tavolozza"
+
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Anteprima colore ="
+
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Bianco"
+
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Argento"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Grigio"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Nero"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Arancio"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Giallo"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Viola"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nuovo codice a barre:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Inserisci codice a barre"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Lunghezza codice a barre errata!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Input (generali)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Input (questa Macchina)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Controlli Analogici"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Istantanea Bilineare"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configurazione Macchina"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Brucia"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Info Crediti e Tempi di Utilizzo"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opzioni di input"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informazioni Macchina"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Bloccaggio della moneta"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Mouse"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informazioni Software"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestore File"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Pistola leggera"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Controllo Cassetta"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Multi-tastiera"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Selezione BIOS"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Multi-mouse"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Slot"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Tasto costante"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Lettore Codice a Barre"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI attivo"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Dispositivi di Rete"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Ricarica schermo spento"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Regolazione Cursori"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Punto morto joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Opzioni Puntamento"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Saturazione joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Trucco"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Tastiera naturale"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Opzioni Plugin"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Contraddizione simultanea"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualizza DAT Aggiuntivi"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Impulso moneta"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mappatura Dispositivo"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Seleziona Nuova Macchina"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Assegnazione Dispositivo Lightgun"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Pannelli di controllo"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Assegnazione Dispositivo Trackball"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Anteprima Artwork"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Assegnazione Dispositivo Pedaliera"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Assegnazione Dispositivo Adstick"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Aggiungi o rimuovi preferiti"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Assegnazione Dispositivo Paddle"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Esporta la lista visualizzata in un file"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Assegnazione Dispositivo Dial"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Mostra viste DAT"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Assegnazione Dispositivo Posizionale"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Selezione parte software:"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Assegnazione Dispositivo Mouse"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Selezione BIOS:"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Modalità Video"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Il software è Clone di: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Numero di Schermi"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Il software è parent"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triplo Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Supportato: No"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Supportato: Parzialmente"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Supportato: Si"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtro Bilineare"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "set di rom:%1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Divisore Bitmap"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Il Driver è un clone di: %-.100s"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Modalità a Finestra"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Il Driver è un parent"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Forza Proporzioni Video"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Immagini"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Avvia Massimizzato"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informazioni"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Aggiornamento Sincronizzato"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Attendi la Sincronizzazione Verticale"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Premi un tasto per continuare."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Utilizzo"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Informazioni Generali"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2168,7 +2632,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2179,551 +2643,483 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Verifico le ROMs per %1$u le macchine marcate come non disponibili?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Salva Cheat"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Predefinito"
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Personalizzato"
+
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
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"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Il nome predefinito è %s"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Non posso salvare in questa cartella"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+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."
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Tipo"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporizzazione"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Salva"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafica"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "tavolozza colore"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Cheat scritto su %s e aggiunto a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "audio"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Cheat aggiunto a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "camera"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Cancella"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfono"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU o RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controlli"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr ""
+"Le modifiche avranno effetto solo quando \"Inizia nuova ricerca\" è "
+"selezionato"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastiera"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mouse"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "stampante"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Inizia nuova ricerca"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+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"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"Ci sono problemi noti per questa macchina\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 più ROM/CHD per questa macchina non è dumpato correttamente.\n"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Funzionalità assolutamente non emulate: "
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Sinistra uguale a destra"
-#: 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"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funzionalità emulate non perfettamente: "
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr ""
-#: 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"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Questa macchina richiede file di artwork extra\n"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Sinistra, inferiore al valore"
-#: 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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
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:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
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: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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
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: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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
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:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-"\n"
-"\n"
-"Ci sono Cloni funzionanti di questa macchina: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-"\n"
-"\n"
-"Premi un tasto per proseguire"
-#: 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"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Formato dati"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"Audio:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Video:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nessuno\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vettoriale"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Schermo '%1$s'"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "TUTTO"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Schermo"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Non supportato"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Cheat engine non disponibile"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parzialmente supportato"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vuoto]"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Scrivere"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Pannelli di controllo"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Anteprima Artwork"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Pagina"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Aggiungi o rimuovi preferiti"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Esporta la lista visualizzata in un file"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostra viste DAT"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selezione parte software:"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selezione BIOS:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Il software è Clone di: %1$-.100s"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Il software è parent"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Supportato: No"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Supportato: Parzialmente"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supportato: Si"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "set di rom:%1$-.100s"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Il Driver è un clone di: %-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Il Driver è un parent"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Immagini"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informazioni"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilizzo"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informazioni Generali"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfaccia Utente"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Altri Controlli"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Fatto"
+
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2741,83 +3137,56 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Seleziona cheat per impostare gli hotkey"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "Premere il pulsante per gli hotkey o attendere per cancellare"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Nessuno"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Fatto"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Imposta i tasti di scelta rapida"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Attivato: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Attivato: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Abilitato: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Disabilitato: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s aggiunto"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Comando"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
-msgstr "Punteggi Migliori"
-
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Storico"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
-msgstr ""
-
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "Info MAME"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "Info MESS"
-
#: plugins/data/data_story.lua:22
msgid "Mamescore"
msgstr "Punteggio MAME"
@@ -2826,316 +3195,182 @@ msgstr "Punteggio MAME"
msgid "Sysinfo"
msgstr "Info di Sistema"
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Inizializza Gioco"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
+msgstr "Punteggi Migliori"
-#: plugins/data/data_marp.lua:140
+#: plugins/data/data_marp.lua:136
msgid "MARPScore"
msgstr "Punteggio MARP"
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Salva Cheat"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Predefinito"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Personalizzato"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Il nome predefinito è %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Tipo"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Salva"
-
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "Cheat scritto su %s e aggiunto a cheat.simple"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Inizializza Gioco"
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "Cheat aggiunto a cheat.simple"
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Storico"
-#: plugins/cheatfind/init.lua:477
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Cancella"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU o RAM"
-
-#: plugins/cheatfind/init.lua:495
-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"
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Inizia nuova ricerca"
-
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "Info MESS"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "Info MAME"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Sfondi (Backdrops)"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Sovrapposizioni (Overlays)"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Cornici (Bezels)"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Pannello Comandi (CPanels)"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Sinistra uguale a destra"
+#~ msgid "View"
+#~ msgstr "Vista"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Tagliata"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Completa"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "Dip-Switch"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Sinistra, inferiore al valore"
+#~ msgid "Select position to load from"
+#~ msgstr "Seleziona la posizione da cui caricare"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Seleziona la posizione in cui salvare"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Stato Emulazione Tastiera"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modalità: Emulazione PARZIALE"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Abilitato"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Usa ScrLock per cambiare**"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modalità: Emulazione COMPLETA"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Formato dati"
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Disabilitato"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Autofire non può essere abilitato"
-#: 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 ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Impostazioni Autofire"
-#: 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 ""
+#~ msgid "Autofire Status"
+#~ msgstr "Stato Autofire"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Nessun tasto/pulsante trovato per questa macchina!"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Ritardo Autofire"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Modalità Tastiera:"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Salva configurazione per questo sistema"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Configura questo sistema:"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Supporto Cocktail\tSi\n"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "TUTTO"
+#~ 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"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Riseleziona l'ultima macchina emulata"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Cheat engine non disponibile"
+#~ msgid "Refresh speed"
+#~ msgstr "Velocità di Aggiornamento"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "Taglia Disegno"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Scrivere"
+#~ msgid "Use Backdrops"
+#~ msgstr "Utilizza i Fondali"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Use Overlays"
+#~ msgstr "Utilizza le Sovrapposizioni"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Pagina"
+#~ msgid "Use Bezels"
+#~ msgstr "Utilizza le Smussature"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Use Control Panels"
+#~ msgstr "Utilizza i pannelli di controllo"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Use Marquees"
+#~ msgstr "Utilizza i Marquees"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Istantanea Bilineare"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Nel software selezionato mancano una o più ROM o immagini CHD richiesti. "
+#~ "Selezionane un'altra."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Premere il pulsante per gli hotkey o attendere per cancellare"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Dati cancellati e stato attuale salvato"
@@ -3287,6 +3522,3 @@ msgstr ""
#~ msgid "Force 4:3 appearance for software snapshot"
#~ msgstr "Forza rapporto 4:3 per le schermate"
-
-#~ msgid "Save Machine Configuration"
-#~ msgstr "Salva Configurazione Macchina"
diff --git a/language/Japanese/strings.po b/language/Japanese/strings.po
index 6e984ff9259..61ee82f2fa1 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-23 01:39+0900\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1803 +18,2091 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.6.11\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "画面 #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"進めるには、何かキーを押してください。"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "このドライバは以下のデバイスでイメージの読み込みが必要です:"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "オーバーレイ画像"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "ベゼル画像"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "操作パネル画像"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "マーキー画像"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "マスター音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "ビュー"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$sの音量"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "切り落とし"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$sのオーバークロック"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全体"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "サウンド%1$sのオーバークロック"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMファイル"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$sのリフレッシュレート"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "ソフトウェア メディア"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$sの輝度"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UIファイル"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$sのコントラスト"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "言語"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$sのガンマ"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "サンプルファイル"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 横方向の拡大"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATファイル"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 横方向の位置"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIファイル"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 縦方向の拡大"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "カテゴリ INI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 縦方向の位置"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "アイコンファイル"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "レーザーディスク '%1$s' 横方向の拡大"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "チートファイル"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "レーザーディスク '%1$s' 横方向の位置"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "スクリーンショット"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "レーザーディスク '%1$s' 縦方向の拡大"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "筐体画像ファイル"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "レーザーディスク '%1$s' 縦方向の位置"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "フライヤー画像"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "ベクターのちらつき"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "タイトル画像"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "ビーム幅(最小)"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "終了画像"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "ビーム幅(最大)"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "基板画像"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "操作パネル画像"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "ビーム強度比重"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "照準画像ファイル"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "照準の大きさ %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "アートワークファイル"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "ボス画像ファイル"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "アートワークのプレビュー"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "照準のオフセット %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "選択"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "ゲームオーバー"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HOWTO"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "ロゴ"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "スコア"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "バーサス"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "照準の大きさ X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "カバー"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "照準の大きさ Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "フォルダ設定"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "照準のオフセット X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "現在の%1$sフォルダ"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "照準のオフセット Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "フォルダを変更"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "*** ui.iniの保存エラー ***"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "フォルダを追加"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "*** %s.iniの保存エラー ***"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "フォルダを削除"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" 設定を保存しました \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "%1$sフォルダを変更 〜 検索:%2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"「%s」を\n"
+"お気に入りに追加しました。"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "%1$sフォルダを追加 〜 検索:%2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "TABキーを押して設定"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"「%s」を\n"
+"お気に入りから削除しました。"
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "%1$sフォルダを削除"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "選択リスト - 検索:"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d ソフトウェアパッケージ )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "%1$sを押すかダブルクリックで選択してください"
+msgid "Driver: \"%1$s\" software list "
+msgstr "ドライバ:「%1$s」 ソフトウェアリスト"
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "停止"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s:%2$s〜検索:%3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "再生中"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "検索:%1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(再生中)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "録音中"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "サウンド設定"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(録音中)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "共通の入力設定"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "一時停止/停止"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "設定を保存する"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "再生"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "設定"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "録音"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "フィルタ"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "巻き戻す"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "UIをカスタマイズする"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "早送り"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "フォルダ設定"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "〔空のスロット〕"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "【ファイルマネージャ】"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "〔作成〕"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "〔ソフトウェアリスト〕"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "項目の並び順の切り替え"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "並び順を切り替え: 一覧は現在 %s 順"
+msgid "Error accessing %s"
+msgstr "%sのアクセスエラー"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "ソフト"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "アクセスモードの選択"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "名前"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "読み取り専用"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "【互換リスト】"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "読み取り/書き込み"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "ソフトウェアの使い方"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "このイメージから読み取り、別のイメージに書き込む"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "リビジョン:"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "このイメージから読み取り、差分(diff)に書き込む"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "ファイルが存在します-上書きしますか?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "その他の設定"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "いいえ"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "はい"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "新しいイメージ名:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "右パネルの画像を拡大する"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "イメージ形式:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "チートファイル"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "作成"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "マウスポインタを表示"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "ファイルの拡張子を入力してください"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "マシン終了時に確認"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "イメージ形式の選択"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "起動時に情報画面をスキップ"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "入力(共通)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "スナップショットの表示で4:3アスペクト比を強制"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "入力(現在のマシン)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "画像を背景に使用する"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "アナログ操作"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "BIOS選択メニューをスキップする"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIPスイッチ"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "ソフトウェアパーツ選択メニューをスキップする"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "マシン設定"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "情報の自動検査"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "ブックキーピング情報"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "ロム無しのマシンを存在するリストに表示しない"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "マシン情報"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "詳細設定"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "イメージ情報"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "パフォーマンス設定"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "ファイルマネージャ"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "自動フレームスキップ"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "テープ操作"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "フレームスキップ"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "擬似ターミナル"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "スロットル"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS選択"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "スロットデバイス"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "スリープ"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "バーコードリーダ"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "速度"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "ネットワークデバイス"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "キーボードモード"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "スライダ設定"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "回転設定"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "表示設定"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "回転"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "照準設定"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "右に回転"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "チート"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "左に回転"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "プラグイン設定"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "自動で右に回転"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "外部DATビュー"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "自動で左に回転"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "お気に入りに追加"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "X方向に反転"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "お気に入りから削除"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Y方向に反転"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "新しいマシンを選択"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "アートワーク設定"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "新しいバーコード:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "コードを入れる"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "状態/プレイバック設定"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "バーコードの長さが合いません!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "自動セーブ/ロード"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "【失敗】"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "サウンド設定"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "巻き戻し容量"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "共通の入力設定"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "設定を保存する"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "焼き付き"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "設定"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "入力設定"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "フィルタ"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "コインロックアウト"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "UIをカスタマイズする"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "マウス"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "フォルダ設定"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"選択したゲームに必要な1つ以上のROMまたはCHDが不足しています。別のゲームを選択"
-"してください。\n"
-"\n"
-"進めるには、何かキーを押してください。"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "マルチキーボード"
+
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "マルチマウス"
+
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-"マシンが見つかりません。%1$s.iniファイルで指定したrompathを確認してくださ"
-"い。\n"
-"\n"
-"もし %2$s の利用が初めてなら、%2$s の設定方法についてdocsフォルダのconfig.txt"
-"ファイルをご覧ください。"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "オプションの設定"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI有効"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "名前を入力もしくは選択: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "画面外でのリロード"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "名前を入力もしくは選択: (ランダム)"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+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 "%1$s、%2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "ナチュラルキーボード"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "ドライバ:%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "対称方向の同時入力"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "概略:動作不可"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "コインインパルス"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "概略:プロテクトが未エミュレート"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "デバイスマッピング"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "概略:動作可"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "光線銃デバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "グラフィック:未実装 "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "トラックボールデバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "グラフィック:不完全 "
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "ペダルデバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "グラフィック:正常 "
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "アナログスティックデバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "サウンド:なし"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "パドルデバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "サウンド:未実装"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "ダイヤルデバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "サウンド:不完全"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "位置デバイス割り当て"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "サウンド:正常"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "マウスデバイス割り当て"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "状態をロード"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "表示設定"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "セーブ元を選択"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "ビデオモード"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "状態をセーブ"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "画面数"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "セーブ先を選択"
+#: src/frontend/mame/ui/submenu.cpp:118
+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:119
+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:121
+msgid "GLSL"
+msgstr "GLSL"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "モード: 部分的エミュレーション"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "バイリニアフィルタリング"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 有効"
+#: src/frontend/mame/ui/submenu.cpp:123
+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:124
+msgid "Window Mode"
+msgstr "ウィンドウモード"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "モード:完全エミュレーション"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "アスペクト比を維持する"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 無効"
+#: src/frontend/mame/ui/submenu.cpp:126
+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:127
+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."
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "V-Syncを待つ"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "オン"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "オフ"
+
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "自動"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-"終了しますか?\n"
-"\n"
-"「%1$s」で終了\n"
-"「%2$s」でエミュレーションに戻る"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "マスター音量"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "マシンに戻る"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$sの音量"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "終了"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$sのオーバークロック"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "前のメニューに戻る"
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "Overclock %1$s sound"
-msgstr "サウンド%1$sのオーバークロック"
+msgid "Screen #%d"
+msgstr "画面 #%d"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$sのリフレッシュレート"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$sの輝度"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$sのコントラスト"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$sのガンマ"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 横方向の拡大"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 横方向の位置"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 縦方向の拡大"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 縦方向の位置"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "プロテクト"
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "レーザーディスク '%1$s' 横方向の拡大"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "タイミング"
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "レーザーディスク '%1$s' 横方向の位置"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "グラフィック"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "レーザーディスク '%1$s' 縦方向の拡大"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "色パレット"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "レーザーディスク '%1$s' 縦方向の位置"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "サウンド"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "ベクターのちらつき"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "ビーム幅(最小)"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "カメラ"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "ビーム幅(最大)"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "マイクロフォン"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "ビーム強度比重"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "コントロール"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "照準の大きさ %1$s"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "キーボード"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "マウス"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: 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/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "照準のオフセット %1$s"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: 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:230
+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: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/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"このマシンには以下のような問題点があります\n"
+"\n"
-#: 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/info.cpp:245
+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:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "照準の大きさ X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "全くエミュレート出来ていない機能: "
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "照準の大きさ Y %1$1.3f"
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "照準のオフセット X %1$1.3f"
+msgid ", %s"
+msgstr "、%s"
-#: 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/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "不完全なエミュレート機能: "
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "*** ui.iniの保存エラー ***"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "カクテルモードでの画面反転表示はサポートされていません。\n"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "*** %s.iniの保存エラー ***"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "このマシンは別途アートワークファイルが必要です。\n"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-"\n"
-" 設定を保存しました \n"
-"\n"
+"このマシンは未完成です。動作の不具合や不足した要素があってもエミュレーション"
+"のバグではありません。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-"チートのコメント:\n"
-"%s"
+"このマシンにはサウンドハードウェアがありません。音が出なくても正常な動作で"
+"す。\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "全チート再ロード完了"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "連射設定"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "全てリセット"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"このマシンの動作可能なクローンセット:%s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "全て再読み込み"
+#: src/frontend/mame/ui/info.cpp:339
+#, 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/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "連射設定ステータス"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "このマシンにはボタンがありません!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "連射間隔"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
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
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-"「%s」を\n"
-"お気に入りから削除しました。"
+"\n"
+"サウンド:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\n"
msgstr ""
-"選択したソフトウェアに必要な1つ以上のファイルが不足しています。別のソフトウェ"
-"アを選択してください。\n"
"\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/info.cpp:432
+msgid "None\n"
+msgstr "なし\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "ベクター"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d ソフトウェアパッケージ )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s:%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "ドライバ:「%1$s」 ソフトウェアリスト"
+msgid "Screen '%1$s'"
+msgstr "画面「%1$s」"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "画面"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "対応していません"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "部分的に対応"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "〔空〕"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "【ファイルマネージャ】"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "項目の並び順の切り替え"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s:%2$s〜検索:%3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "並び順を切り替え: 一覧は現在 %s 順"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "ソフト"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "名前"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+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:1045
+msgid "No"
+msgstr "いいえ"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "作成"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "ファイルの拡張子を入力してください"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "イメージ形式の選択"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "キーボードモード"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "ナチュラル"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "エミュレート"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "検索:%1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "有効"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "無効"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "フィルタ無し"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "存在する"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "存在しない"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "動作可"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "動作不可"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "機械仕掛け"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "機械仕掛け以外"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "カテゴリ"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "お気に入り"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "BIOS以外"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "親セット"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "クローン"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "製造元"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "年度"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "セーブ対応"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "セーブ非対応"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHDが必要"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "CHDが不要"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "縦画面"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "横画面"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "カスタムフィルタ"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "発売元"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "対応"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "一部対応"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "非対応"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "リリース地域"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "デバイスタイプ"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "ソフトウェアリスト"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "〔フィルタを設定する〕"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "カスタムフィルタ選択:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "フィルタ%1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "最後のフィルタを削除"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "フィルタを追加"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "カテゴリを選択:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[カテゴリINIファイルがありません]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[INIファイルにグループが見つかりません]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "カテゴリINIファイルがありません"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "ファイル"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "カテゴリファイルにグループが見つかりません"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "グループ"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "クローンを含める"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "〔作成〕"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "ソフトウェアの使い方"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "%sのアクセスエラー"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "リビジョン:"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "アクセスモードの選択"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "リセット"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "読み取り専用"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "読み取り/書き込み"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"稼働時間:%1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "このイメージから読み取り、別のイメージに書き込む"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"チケット発行: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "このイメージから読み取り、差分(diff)に書き込む"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "コイン%1$c:NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [内部]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "コイン%1$c:%2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr "(ロック)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ペン"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "マシンに戻る"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "表示する長さ"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "終了"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xmlをuiフォルダーに保存しました。"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "前のメニューに戻る"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "ROMセット: 名前:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txtをuiフォルダーに保存しました。"
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "XML形式でリストを出力(-listxml同様)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自動"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "XML形式でリストを出力(-listxml同様、デバイスを除く)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "全て表示"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "TXT形式でリストを出力(-listfull同様)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "フィルタを非表示にする"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "ドライバ"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "情報・画像を非表示にする"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "このマシンにはBIOSがありません。"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "両方を非表示にする"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "お気に入りに追加"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "フォント"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "お気に入りから削除"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "色"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "サイドパネルを表示"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "カスタムUI設定"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr "(デフォルト)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "デフォルト"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "プラグイン"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UIフォント"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "擬似ターミナル"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "太字"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "【失敗】"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "イタリック"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "行数"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "状態をロード"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "情報のテキストサイズ"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "UIフォント設定"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "状態をセーブ"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"サンプルテキスト - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "通常のテキスト"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [内部]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "選択色"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "ユーザーインターフェイス"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "通常テキストの背景"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "選択済テキストの背景"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "その他のコントロール"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "サブ項目の色"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "クローン"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "枠線"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "背景"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIPスイッチ"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "動作不可の色"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "スライダの色"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "グラフィックビューアの背景"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "マウスオーバー時の色"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "停止"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "マウスオーバー時の背景色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "再生中"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "マウスダウン時の色"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(再生中)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "マウスダウン時の背景色"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "録音中"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "元の色に戻す"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(録音中)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "UIの色設定"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "一時停止/停止"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "色の値を変更するには%1$sを押すかダブルクリックしてください"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "再生"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "メニューのプレビュー"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "録音"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "通常項目"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "巻き戻す"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "サブ項目"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "早送り"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "選択済の項目"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "別のフォルダには保存できません"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "マウスオーバー"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB設定"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"選択したゲームに必要な1つ以上のROMまたはCHDが不足しています。別のゲームを選択"
+"してください。\n"
+"\n"
+"進めるには、何かキーを押してください。"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "アルファ"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"マシンが見つかりません。%1$s.iniファイルで指定したrompathを確認してくださ"
+"い。\n"
+"\n"
+"もし %2$s の利用が初めてなら、%2$s の設定方法についてdocsフォルダのconfig.txt"
+"ファイルをご覧ください。"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "赤"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "オプションの設定"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "緑"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "名前を入力もしくは選択: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "青"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "名前を入力もしくは選択: (ランダム)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "パレットから選ぶ"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s、%2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "色のプレビュー ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "ドライバ:%1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "白"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "概略:動作不可"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "銀色"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "概略:プロテクトが未エミュレート"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "灰色"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "概略:動作可"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "黒"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "グラフィック:未実装 "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "オレンジ"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "グラフィック:不完全 "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "黄"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "グラフィック:正常 "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "紫"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "サウンド:なし"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "キーボードモード:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "サウンド:未実装"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "ナチュラル"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "サウンド:不完全"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "エミュレート"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "サウンド:正常"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"稼働時間:%1$d:%2$02d:%3$02d\n"
-"\n"
+"チートのコメント:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "全て再読み込み"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMファイル"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr "(ロック)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "ソフトウェア メディア"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "表示する長さ"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UIファイル"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xmlをuiフォルダーに保存しました。"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "言語"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "ROMセット: 名前:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "サンプルファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "カテゴリ INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "アイコンファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "スクリーンショット"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "筐体画像ファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "フライヤー画像"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "タイトル画像"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "終了画像"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "基板画像"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "マーキー画像"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "操作パネル画像"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "照準画像ファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "アートワークファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "ボス画像ファイル"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "アートワークのプレビュー"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "選択"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "ゲームオーバー"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "HOWTO"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "ロゴ"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "スコア"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "バーサス"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "カバー"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "フォルダ設定"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txtをuiフォルダーに保存しました。"
+msgid "Current %1$s Folders"
+msgstr "現在の%1$sフォルダ"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "XML形式でリストを出力(-listxml同様)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "フォルダを追加"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "TXT形式でリストを出力(-listfull同様)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "フォルダを削除"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "ドライバ"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "%1$sフォルダを変更 〜 検索:%2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "このマシンにはBIOSがありません。"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "%1$sフォルダを追加 〜 検索:%2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "マシン設定を保存する"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "TABキーを押して設定"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "マシン設定"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "%1$sフォルダを削除"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr "(デフォルト)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " 色"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "プラグイン"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " ペン"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "マシンの設定"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "親セットのドライバ\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "アナログコントロール\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "キーボード入力\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "概略\t動作不可\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "概略\tプロテクトが未エミュレート\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "概略\t動作可\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "グラフィック\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "グラフィック\t色の誤り\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "グラフィック\t色が不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "グラフィック\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "グラフィック\t正常\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "グラフィック\tなし\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "サウンド\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "サウンド\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "サウンド\t正常\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "カメラ\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "カメラ\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "マクロフォン\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "マクロフォン\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "コントロール\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "コントロール\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "キーボード\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "キーボード\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "マウス\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "マウス\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "ディスク\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "ディスク\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "プリンター\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "プリンター\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "タイミング\t未実装\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "タイミング\t不完全\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "機械仕掛けのマシン\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "機械仕掛けのマシン\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "アートワークが必要\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "アートワークが必要\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "クリック可のアートワークが必要\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "カクテルモード対応\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "BIOSドライバ\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "BIOSドライバ\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "セーブ対応\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "セーブ対応\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "画面の向き\t縦\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "画面の向き\t横\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "CHDが必要\tはい\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "CHDが必要\tいいえ\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "ROM検証結果\t正常\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM検証結果\t異常\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "サンプル検証結果\t不要\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "サンプル検証結果\t正常\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "サンプル検証結果\t異常\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1822,344 +2110,521 @@ msgstr ""
"ROM検証\t無効\n"
"サンプル検証\t無効\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROMセット:%1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "システム:%1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "選択リスト - 検索:"
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "%1$sを押すかダブルクリックで選択してください"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "存在しないに分類された%1$uマシンのROMを検査しますか?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "全%1$uマシンのROMを検査しますか?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(結果は%1$sに保存されます)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"選択したマシンに必要な1つ以上のROMまたはCHDが不足しています。別のマシンを選択"
-"してください。\n"
-"\n"
+"マシン%2$u/%3$uのROMを検査中...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "サウンド"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "検査を開始"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "サンプルレート"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "全て表示"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "外部サンプル使用"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "フィルタを非表示にする"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "その他の設定"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "情報・画像を非表示にする"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "最後にプレイしたマシンを再選択"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "両方を非表示にする"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "右パネルの画像を拡大する"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "フォント"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "マウスポインタを表示"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "色"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "マシン終了時に確認"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "サイドパネルを表示"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "起動時に情報画面をスキップ"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "カスタムUI設定"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "スナップショットの表示で4:3アスペクト比を強制"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "デフォルト"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "画像を背景に使用する"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UIフォント"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "BIOS選択メニューをスキップする"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "太字"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "ソフトウェアパーツ選択メニューをスキップする"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "イタリック"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "情報の自動検査"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "行数"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "ロム無しのマシンを存在するリストに表示しない"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "情報のテキストサイズ"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "詳細設定"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "UIフォント設定"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "パフォーマンス設定"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"サンプルテキスト - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "自動フレームスキップ"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "通常のテキスト"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "フレームスキップ"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "選択色"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "スロットル"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "通常テキストの背景"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "スリープ"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "選択済テキストの背景"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "速度"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "サブ項目の色"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "クローン"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "回転設定"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "枠線"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "右に回転"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "背景"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "左に回転"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIPスイッチ"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "自動で右に回転"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "動作不可の色"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "自動で左に回転"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "スライダの色"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "X方向に反転"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "グラフィックビューアの背景"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Y方向に反転"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "マウスオーバー時の色"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "アートワーク設定"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "マウスオーバー時の背景色"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "アートワーク切り落とし"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "マウスダウン時の色"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "背景画像使用"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "マウスダウン時の背景色"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "オーバーレイ画像使用"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "元の色に戻す"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "ベゼル画像使用"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "UIの色設定"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "操作パネル画像使用"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "色の値を変更するには%1$sを押すかダブルクリックしてください"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "マーキー画像使用"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "メニューのプレビュー"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "状態/プレイバック設定"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "通常項目"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "自動セーブ/ロード"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "サブ項目"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "巻き戻し容量"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "選択済の項目"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "スナップショットのバイリニア"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "マウスオーバー"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "焼き付き"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB設定"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "入力設定"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "アルファ"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "コインロックアウト"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "赤"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "マウス"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "緑"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "ジョイスティック"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "青"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "ライトガン"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "パレットから選ぶ"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "マルチキーボード"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "色のプレビュー ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "マルチマウス"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "白"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "銀色"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "灰色"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "黒"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "オレンジ"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "黄"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "紫"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI有効"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "新しいバーコード:"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "画面外でのリロード"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "コードを入れる"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "ジョイスティックデッドゾーン"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "バーコードの長さが合いません!"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "ジョイスティックサチュレーション"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "入力(共通)"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "ナチュラルキーボード"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "入力(現在のマシン)"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "対称方向の同時入力"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "アナログ操作"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "コインインパルス"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr "DIPスイッチ"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "デバイスマッピング"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "マシン設定"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "光線銃デバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "ブックキーピング情報"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "トラックボールデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "マシン情報"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "ペダルデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "アナログスティックデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "イメージ情報"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "パドルデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "ファイルマネージャ"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "ダイヤルデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "テープ操作"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "位置デバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS選択"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "マウスデバイス割り当て"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "スロットデバイス"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "ビデオモード"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "バーコードリーダ"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "画面数"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "ネットワークデバイス"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "トリプルバッファ"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "スライダ設定"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "照準設定"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "チート"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "バイリニアフィルタリング"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "プラグイン設定"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "ビットマッププレスケール"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "外部DATビュー"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "ウィンドウモード"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "アスペクト比を維持する"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "新しいマシンを選択"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "開始時に最大化する"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "操作パネル画像"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "リフレッシュを同期"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "アートワークのプレビュー"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "V-Syncを待つ"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "ゲームオーバー"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "お気に入りに追加または削除"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "表示されているリストをファイルに出力"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "DATビューを表示"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "選択中のソフトウェアパーツ:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS選択:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "次のクローンのソフトウェア:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "親セットのソフトウェア"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "対応状況:いいえ"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "対応状況:部分的"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "対応状況:はい"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ソフト:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "次のクローンのドライバ:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "親セットのドライバ"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "画像"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "情報"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "進めるには、何かキーを押してください。"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "使い方"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2176,7 +2641,7 @@ msgstr ""
"\n"
"選択されたオプションは以下の項目で有効:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2193,60 +2658,34 @@ msgstr ""
"\n"
"オプションを選択すると、以下の項目が有効になります:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr "* ビデオ:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " 画面 '%1$s': ベクター\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/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr "* サウンド:\n"
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
+msgstr "* サウンド:\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2255,491 +2694,449 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* DIPスイッチ設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* 構成設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* 入力デバイス:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* メディア設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* スロット設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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を検査しますか?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "全%1$uマシンのROMを検査しますか?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "チートを保存"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(結果は%1$sに保存されます)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "カスタム"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "検査を開始"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "チート名"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "別のフォルダには保存できません"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "デフォルト名は%s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "プレイヤー"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "タイプ"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-"選択したソフトウェアに必要な1つ以上のROMまたはCHDが不足しています。別の物を選"
-"択してください。"
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "プロテクト"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "タイミング"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "保存"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "グラフィック"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "色パレット"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "チートを%sに書き込み、cheat.simpleに追加しました"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "サウンド"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "チートをcheat.simpleに追加しました"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
+"ファイルに書き込めません\n"
+"cheatpathフォルダが存在しているか確認してください"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "カメラ"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "キャンセル"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "マイクロフォン"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPUまたはRAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "コントロール"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr "この変更は、\"新規に検索を開始\"が選択されている場合にのみ有効です"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "キーボード"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "マウス"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "ディスク"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "プリンター"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "新規に検索を開始"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "%d個の一致が見つかりました"
+
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"このマシン用のROM/CHDが正しくありません。そのため正しく動作しない可能性があり"
-"ます。\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-"このマシン用のROM/CHDは全て正しく吸い出されていません。\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "全くエミュレート出来ていない機能: "
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "左と右が一致"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+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"
-msgstr "、%s"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "右がビットマスクありで左と一致"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "不完全なエミュレート機能: "
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "右がビットマスクありで左と一致しない"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "カクテルモードでの画面反転表示はサポートされていません。\n"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "左が値よりも小さい"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "このマシンは別途アートワークファイルが必要です。\n"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+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"
-msgstr ""
-"このマシンにはサウンドハードウェアがありません。音が出なくても正常な動作で"
-"す。\n"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "値"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "全て"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "データフォーマット"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-"\n"
-"このマシンの一部の要素は、機械仕掛けのデバイスもしくは実際の動作が必要なため"
-"エミュレートできません。このマシンを完全に体験することはできません。\n"
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-"\n"
-"\n"
-"このマシンの動作可能なクローンセット:%s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"進めるには、何かキーを押してください。"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"サウンド:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"表示:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "なし\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "ベクター"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "最後の検索を取り消す -- #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s:%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "一致ブロック"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "全て"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "画面「%1$s」"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "画面"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "チートエンジンが利用できません"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "対応していません"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "テスト"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "部分的に対応"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "書き込み"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "〔空〕"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "監視"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "操作パネル画像"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "ページ"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "アートワークのプレビュー"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "監視を消去"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "ゲームオーバー"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "チートファインダ"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "お気に入りに追加または削除"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "入力名をファイルに保存"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "表示されているリストをファイルに出力"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "入力名ファイルの保存に失敗しました"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DATビューを表示"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "入力ポート名ファイルを%sに保存しました"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "選択中のソフトウェアパーツ:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "入力ポート"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS選択:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "次のクローンのソフトウェア:%1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "親セットのソフトウェア"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "対応状況:いいえ"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "対応状況:部分的"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "対応状況:はい"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ソフト:%1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "次のクローンのドライバ:%1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "親セットのドライバ"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "画像"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "情報"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "使い方"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "一般情報"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "ユーザーインターフェイス"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "決定"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "その他のコントロール"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2757,68 +3154,81 @@ msgstr "遊んだ回数"
msgid "Timer"
msgstr "タイマー"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "ホットキーを設定するチートを選択"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "ホットキーにするボタンを押すか、放置して消去"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "なし"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "決定"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "設定"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "ホットキーを設定"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "実行しました: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "実行しました: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "有効: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "無効: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%sを追加しました"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "コマンドファイル"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescoreファイル"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfoファイル"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "ハイスコア"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPスコア"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinitファイル"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "ヒストリファイル"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2830,332 +3240,155 @@ msgstr ""
"--- ドライバ情報 ---\n"
"ドライバ: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfoファイル"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfoファイル"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescoreファイル"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfoファイル"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinitファイル"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPスコア"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "チートを保存"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "デフォルト"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "カスタム"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "チート名"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "デフォルト名は%s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "プレイヤー"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "タイプ"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "保存"
-
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "チートを%sに書き込み、cheat.simpleに追加しました"
-
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "チートをcheat.simpleに追加しました"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"ファイルに書き込めません\n"
-"cheatpathフォルダが存在しているか確認してください"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "キャンセル"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPUまたはRAM"
-
-#: plugins/cheatfind/init.lua:495
-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:551
-msgid "Start new search"
-msgstr "新規に検索を開始"
-
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "%d個の一致が見つかりました"
-
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "左と右が一致"
-
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "右がビットマスクありで左と一致"
-
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "右がビットマスクありで左と一致しない"
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "左が値よりも小さい"
-
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "左が値よりも大きい"
-
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "左が値と一致"
-
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "左が値と一致しない"
-
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "値"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfoファイル"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "背景画像"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "全て"
+#~ msgid "Overlays"
+#~ msgstr "オーバーレイ画像"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "データフォーマット"
+#~ msgid "Bezels"
+#~ msgstr "ベゼル画像"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#~ msgid "CPanels"
+#~ 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 ""
+#~ msgid "View"
+#~ 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 ""
+#~ msgid "Cropped"
+#~ msgstr "切り落とし"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "全体"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "セーブ元を選択"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "セーブ先を選択"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "キーボードエミュレーションステータス"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "モード: 部分的エミュレーション"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: 有効"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "** ScrLockキーで切り替え **"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "モード:完全エミュレーション"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: 無効"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "連射機能は有効にできません"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "連射設定"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "連射設定ステータス"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "このマシンにはボタンがありません!"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "連射間隔"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "選択したソフトウェアに必要な1つ以上のファイルが不足しています。別のソフト"
+#~ "ウェアを選択してください。\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "キーボードモード:"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "マシン設定を保存する"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "マシン設定"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "最後の検索を取り消す -- #"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "カクテルモード対応\tはい\n"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "一致ブロック"
+#~ 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"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "全て"
+#~ msgid "Re-select last machine played"
+#~ msgstr "最後にプレイしたマシンを再選択"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "アートワーク切り落とし"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "チートエンジンが利用できません"
+#~ msgid "Use Backdrops"
+#~ msgstr "背景画像使用"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "テスト"
+#~ msgid "Use Overlays"
+#~ msgstr "オーバーレイ画像使用"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "書き込み"
+#~ msgid "Use Bezels"
+#~ msgstr "ベゼル画像使用"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "監視"
+#~ msgid "Use Control Panels"
+#~ msgstr "操作パネル画像使用"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "ページ"
+#~ msgid "Use Marquees"
+#~ msgstr "マーキー画像使用"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "監視を消去"
+#~ msgid "Bilinear snapshot"
+#~ msgstr "スナップショットのバイリニア"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "チートファインダ"
+#, 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"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "入力名をファイルに保存"
+#, 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"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "入力名ファイルの保存に失敗しました"
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "選択したソフトウェアに必要な1つ以上のROMまたはCHDが不足しています。別の物"
+#~ "を選択してください。"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "入力ポート名ファイルを%sに保存しました"
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "入力ポート"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "ホットキーにするボタンを押すか、放置して消去"
#~ msgid "Data cleared and current state saved"
#~ msgstr "データは消去され、現在の状態が保存されました"
diff --git a/language/Korean/strings.po b/language/Korean/strings.po
index d1e2d301ec2..283827c1b4d 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1803 +18,2090 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "화면 #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"아무 키를 누르면 진행합니다"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"이 드라이버를 사용하기 위해선 다음 장치(들)에 이미지를 불러와야 합니다: "
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "오버레이"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "베젤"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "조작반"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "간판"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "마스터 볼륨"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "시야"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 볼륨"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "잘라내기"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$s 오버클럭"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "전체"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "%1$s 사운드 오버클럭"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s 재생 빈도"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "소프트웨어 미디어"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 명도"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s 대비"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "언어"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s 감마값"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "견본"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 가로방향 연장"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 가로방향 위치"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 세로방향 연장"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "카테고리 INI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 세로방향 위치"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "아이콘"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "레이저디스크 '%1$s' 가로방향 연장"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "치트"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "레이저디스크 '%1$s' 가로방향 위치"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "스냅샷"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "레이저디스크 '%1$s' 세로방향 연장"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "캐비닛"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "레이저디스크 '%1$s' 세로방향 위치"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "전단지"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "벡터 깜빡임"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "시작화면"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "선 폭 최소량"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "종료화면"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "선 폭 최대량"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "조작반"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "선 강도 비중"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "조준선"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "조준선 크기 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "삽화"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "보스"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "삽화 미리보기"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "조준선 영점 %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "선택"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "게임오버"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "조작법"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "로고"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "점수"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "대전"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "조준선 크기 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "표지"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "조준선 크기 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "폴더 정리"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "조준선 영점 X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "현재 %1$s 폴더"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "조준선 영점 Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "폴더 변경"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**ui.ini 저장 오류**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "폴더 추가"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**%s.ini 저장 오류**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "폴더 삭제"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" 환경설정 저장됨 \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "%1$s 폴더 바꾸기 - 검색: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" 즐겨찾기 목록에 추가됐습니다."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "%1$s 폴더 추가 - 검색: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "TAB을 누르면 결정됩니다"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" 즐겨찾기 목록에서 삭제됐습니다."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "%1$s 폴더 제거"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "선택 목록 - 검색: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 소프트웨어 패키지 )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "더블 클릭 혹은 %1$s 키를 눌러 선택"
+msgid "Driver: \"%1$s\" software list "
+msgstr "드라이버: \"%1$s\" 소프트웨어 목록 "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "중지됨"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - 검색: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "재생중"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "검색: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(재생중)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "녹화중"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "사운드 설정"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(녹화중)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "일반 입력 설정"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "일시정지/중지"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "환경설정 저장"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "재생"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "설정"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "녹화"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "필터"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "되감기"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "UI 꾸미기"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "빨리감기"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "디렉토리 환경설정"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[빈 칸]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[파일 관리자]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[생성]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[소프트웨어 목록]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "항목 정렬순서 변경"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "정렬순서 변경: 현재 %s 순서로 항목이 배열됨"
+msgid "Error accessing %s"
+msgstr "%s 접근에 오류 발생"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "약칭"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "엑세스 방식 선택"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "설명"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "읽기 전용"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[호환 목록]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "읽기/쓰기"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "소프트웨어 사용"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "이 이미지를 읽고 다른 이미지에 씁니다"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "개정: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "이 이미지를 읽고 diff에 씁니다"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "그 파일이 이미 있습니다. 덮어쓰겠습니까?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "기타 선택사항"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "아니오"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "예"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "새 이미지 이름:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "오른쪽 패널 이미지 확대"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "이미지 형식:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "치트"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "생성"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "마우스 포인터 보이기"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "파일 확장자도 입력하십시오"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "장치 종료시 재확인"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "이미지 형식 선택"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "가동시 정보 화면 건너뛰기"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "입력 (일반)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "스냅샷 출력 화면비 4:3 고정"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "입력 (현재 장치)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "이미지를 배경으로 사용하기"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "아날로그 조작"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "BIOS 선택 메뉴 건너뛰기"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP 스위치"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "소프트웨어 요소 선택 메뉴 건너뛰기"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "장치 환경설정"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "정보 자동 검사"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "부가 정보"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "사용 가능 목록에서 롬이 없는 장치 숨기기"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "장치 정보"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "고급 설정"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "이미지 정보"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "사양 조절"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "파일 관리자"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "자동으로 프레임 건너뛰기"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "테이프 조작"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "프레임 건너뛰기"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "유사 터미널"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "스로틀"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "바이오스 선택"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "슬롯 장치"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "슬립"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "바코드 인식기"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "속도"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "네트워크 장치"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "키보드 모드"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "슬라이더 조작"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "회전 설정"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "비디오 설정"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "회전"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "조준선 설정"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "우측 회전"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "치트"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "좌측 회전"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "플러그인 설정"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "자동 우측 회전"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "외부 DAT 화면"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "자동 좌측 회전"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "즐겨찾기에 추가"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "X 방향으로 반전"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "즐겨찾기에서 삭제"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Y 방향으로 반전"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "새로운 장치 선택"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "삽화 설정"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "새 바코드:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "바코드 입력"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "상태/녹화재생 설정"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "바코드의 길이가 맞지 않습니다!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "자동으로 저장/복원"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[실패]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "사운드 설정"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "되감기 영역"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "일반 입력 설정"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "환경설정 저장"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "번인"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "설정"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "입력 설정"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "필터"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "코인 록아웃"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "UI 꾸미기"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "마우스"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "디렉토리 환경설정"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"이 게임에 필요한 ROM/CHD 이미지 일부가 존재하지 않습니다. 다른 게임을 선택하"
-"십시오.\n"
-"\n"
-"아무 키를 누르면 진행합니다."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+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 ""
-"장치를 찾을 수 없습니다. %1$s.ini 파일에 지정된 롬경로를 확인하십시오.\n"
-"\n"
-"이번이 처음으로 사용하는 것이라면 config.txt 파일에 적힌 문서 디렉토리를 따"
-"라 %2$s 환경설정에 관한 정보를 찾아 참고하십시오."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "멀티 키보드"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "옵션 환경설정"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "멀티 마우스"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "새 이름을 짓거나 선택하십시오: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "입력지연"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "새 이름을 짓거나 선택하십시오: (무작위)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "UI 활성"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "조이스틱 내부임계값"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "드라이버: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "조이스틱 외부임계값"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "종합: 작동 불가"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "실재 키보드"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "종합: 보호처리 에뮬레이션 미완"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "대칭방향 동시입력"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "종합: 작동 가능"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "코인 자극"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "그래픽: 적용 안 됨,"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "입력장치 매핑"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "그래픽: 불완전,"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "라이트건 장치 조정"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "그래픽: 양호,"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "트랙볼 장치 조정"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "사운드: 없음"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "페달 장치 조정"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "사운드: 적용 안 됨"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "아날로그 스틱 장치 조정"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "사운드: 불완전"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "패들 장치 조정"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "사운드: 양호"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "다이얼 장치 조정"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "상태 불러오기"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "위치기반 장치 조정"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "불러올 상태의 위치 선택"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "마우스 장치 조정"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "상태 저장하기"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "비디오 설정"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "저장할 상태의 위치 선택"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+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:116
+msgid "Number Of Screens"
+msgstr "화면 수"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "삼중 버퍼링"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "모드: 부분적 에뮬레이션"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 활성화"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "이중선형 필터링"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "모드: 전체 에뮬레이션"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "비트맵 프리스케일링"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 비활성화"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "창 모드"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "자동연사 사용 불가"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+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:126
+msgid "Start Out Maximized"
+msgstr "최대화 상태로 시작"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "마스터 볼륨"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "새로고침 동기화"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 볼륨"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "수직동기화 기다림"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$s 오버클럭"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "켜기"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "%1$s 사운드 오버클럭"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "끄기"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s 재생 빈도"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "자동"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 명도"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s 대비"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "장치로 돌아가기"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s 감마값"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "닫기"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 가로방향 연장"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "이전 메뉴로 돌아가기"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 가로방향 위치"
+msgid "Screen #%d"
+msgstr "화면 #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 세로방향 연장"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 세로방향 위치"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "레이저디스크 '%1$s' 가로방향 연장"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "레이저디스크 '%1$s' 가로방향 위치"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "레이저디스크 '%1$s' 세로방향 연장"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "레이저디스크 '%1$s' 세로방향 위치"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "벡터 깜빡임"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "선 폭 최소량"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "보호처리"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "선 폭 최대량"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "타이밍"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "선 강도 비중"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "그래픽"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "조준선 크기 %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "컬러 팔레트"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "사운드"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "조준선 영점 %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "카메라"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "마이크로폰"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "컨트롤"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "키보드"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+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:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**ui.ini 저장 오류**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**%s.ini 저장 오류**"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: 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:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" 환경설정 저장됨 \n"
+msgstr ""
+"이 장치에 다음과 같은 문제가 있습니다\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"치트 설명:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "이 장치에 필요한 ROM/CHD 일부가 정확하게 덤프되지 않았습니다.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "모든 치트 다시 불러오기 완료"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "에뮬레이션이 적용 안 된 특성: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "자동연사 설정"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "전부 리셋"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "전부 불러오기"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "에뮬레이션이 불완전한 특성: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "자동연사 현황"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "칵테일 모드의 화면 반전이 지원되지 않습니다.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "이 장치에서 버튼을 찾을 수 없습니다!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "이 장치는 외부 이미지 파일을 필요로 합니다.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "자동연사 간격"
+#: src/frontend/mame/ui/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" 즐겨찾기 목록에 추가됐습니다."
+"\n"
+"\n"
+"이 장치는 작동가능한 복제판이 있습니다: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%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:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHZ"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-"%s\n"
-" 즐겨찾기 목록에서 삭제됐습니다."
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"이 소프트웨어에 필요한 파일 일부가 존재하지 않습니다. 다른 소프트웨어를 선택"
-"하십시오.\n"
"\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"비디오:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "없음\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "벡터"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 소프트웨어 패키지 )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "드라이버: \"%1$s\" 소프트웨어 목록 "
+msgid "Screen '%1$s'"
+msgstr "화면 '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "화면"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "지원 안 함"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "부분적으로 지원함"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[공백]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[파일 관리자]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "항목 정렬순서 변경"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - 검색: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "정렬순서 변경: 현재 %s 순서로 항목이 배열됨"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "약칭"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "설명"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[호환 목록]"
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "그 파일이 이미 있습니다. 덮어쓰겠습니까?"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr "아니오"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "생성"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "파일 확장자도 입력하십시오"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "이미지 형식 선택"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "키보드 모드"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "실재"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "에뮬레이션"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "검색: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "활성"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "비활성"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "필터 미사용"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "사용 가능"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "사용 불가"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "작동함"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "작동 불가"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "기계적"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "비기계적"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "분류"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "즐겨찾기"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "바이오스"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "바이오스 아님"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "원형"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "복제"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "제조사"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "연도"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "저장 지원"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "저장 지원 안 됨"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD 필요"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "CHD 필요없음"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "세로 화면"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "가로 화면"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "사용자 제작 필터"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "배급사"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "지원됨"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "부분적으로 지원됨"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "지원 안 됨"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "발매 지역"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "장치 종류"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "소프트웨어 목록"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<필터 결정>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "사용자 제작 필터 선택:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "필터 %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "가장 최근의 필터 삭제"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "필터 추가"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "분류 선택"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[카테고리 INI 파일 없음]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[INI 파일에 그룹 없음]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "카테고리 INI 파일을 찾을 수 없습니다"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "파일"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "카테고리 파일 내에 그룹이 없습니다"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "그룹"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "복제판 포함"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[생성]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "소프트웨어 사용"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "%s 접근에 오류 발생"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "개정: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "엑세스 방식 선택"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "리셋"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "읽기 전용"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "읽기/쓰기"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"가동 시간: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "이 이미지를 읽고 다른 이미지에 씁니다"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"티켓 발행: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "이 이미지를 읽고 diff에 씁니다"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "코인 %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [내부]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "코인 %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (잠김)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "장치로 돌아가기"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "표시 지연"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "닫기"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml가 ui 폴더에 저장됐습니다.."
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "이전 메뉴로 돌아가기"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "이름: 설명:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt가 ui 폴더에 저장됐습니다.."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "XML 형식으로 명단 보내기 (-listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "자동"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "XML 형식으로 명단 보내기 (-listxml, 장치 제외)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "모두 보이기"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "TXT 형식으로 명단 보내기 (-listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "필터 숨기기"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "드라이버"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "정보 및 이미지 숨기기"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "장치에 바이오스가 없습니다."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "모두 숨기기"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "즐겨찾기에 추가"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "문자"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "즐겨찾기에서 삭제"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "색상"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "사이드 패널 보이기"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "UI 꾸미기 환경설정"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (기본)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "기본"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "플러그인"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UI 글꼴"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "유사 터미널"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "굵은 글씨"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[실패]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "이탤릭체"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "줄"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "상태 불러오기"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "정보표시 글자 크기"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "UI 문자 환경설정"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "상태 저장하기"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"예시문 - 다람쥐 헌 쳇바퀴에 타고파. ABCDEFGHIJKLMNabcdefghijklmn 1234567890"
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "보통 글자"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [내부]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "선택된 색상"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "사용자 인터페이스"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "보통 글자 배경"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "선택된 배경색"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "기타 조작"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "하위 항목 색상"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "클론"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "테두리"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "배경"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP 스위치"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "사용불가 색상"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "슬라이더 색상"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "그래픽 뷰어 배경"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "마우스 오버 색상"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "중지됨"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "마우스 오버 배경색상"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "재생중"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "마우스 다운 색상"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(재생중)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "마우스 다운 배경색상"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "녹화중"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "원래 색상으로 복귀"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(녹화중)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "UI 색상 환경설정"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "일시정지/중지"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "더블 클릭 혹은 %1$s를 눌러 색상값 변경하기"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "재생"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "메뉴 미리보기"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "녹화"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "일반"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "되감기"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "하위항목"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "빨리감기"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "선택된 항목"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "경로에 저장할 수 없습니다"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "마우스 오버"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB 설정"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"이 게임에 필요한 ROM/CHD 이미지 일부가 존재하지 않습니다. 다른 게임을 선택하"
+"십시오.\n"
+"\n"
+"아무 키를 누르면 진행합니다."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "불투명도"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"장치를 찾을 수 없습니다. %1$s.ini 파일에 지정된 롬경로를 확인하십시오.\n"
+"\n"
+"이번이 처음으로 사용하는 것이라면 config.txt 파일에 적힌 문서 디렉토리를 따"
+"라 %2$s 환경설정에 관한 정보를 찾아 참고하십시오."
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "적"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "옵션 환경설정"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "녹"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "새 이름을 짓거나 선택하십시오: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "청"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "새 이름을 짓거나 선택하십시오: (무작위)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "팔레트에서 고르기"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "색상 미리보기 ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "드라이버: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "하양"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "종합: 작동 불가"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "은색"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "종합: 보호처리 에뮬레이션 미완"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "회색"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "종합: 작동 가능"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "검정"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "그래픽: 적용 안 됨,"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "주황"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "그래픽: 불완전,"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "노랑"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "그래픽: 양호,"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "보라"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "사운드: 없음"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "키보드 모드:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "사운드: 적용 안 됨"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "실재"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "사운드: 불완전"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "에뮬레이션"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "사운드: 양호"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"가동 시간: %1$d:%2$02d:%3$02d\n"
-"\n"
+"치트 설명:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "전부 불러오기"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (잠김)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "소프트웨어 미디어"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "표시 지연"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml가 ui 폴더에 저장됐습니다.."
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "언어"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "이름: 설명:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "견본"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "카테고리 INI"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "아이콘"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "스냅샷"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "캐비닛"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "전단지"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "시작화면"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "종료화면"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "간판"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "조작반"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "조준선"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "삽화"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "보스"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "삽화 미리보기"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "선택"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "게임오버"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "조작법"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "로고"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "점수"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "대전"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "표지"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "폴더 정리"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt가 ui 폴더에 저장됐습니다.."
+msgid "Current %1$s Folders"
+msgstr "현재 %1$s 폴더"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "XML 형식으로 명단 보내기 (-listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "폴더 추가"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "TXT 형식으로 명단 보내기 (-listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "폴더 삭제"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "드라이버"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "%1$s 폴더 바꾸기 - 검색: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "장치에 바이오스가 없습니다."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "%1$s 폴더 추가 - 검색: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "장치 환경설정 저장"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "TAB을 누르면 결정됩니다"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "장치 환경설정:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "%1$s 폴더 제거"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (기본)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COLORS"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "플러그인"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "장치 환경설정"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "롬셋\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "원형 드라이버\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "아날로그 조작\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "키보드 입력\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "종합\t작동 불가\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "종합\t보호처리 에뮬레이션 미완\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "종합\t작동\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "그래픽\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "그래픽\t잘못된 색상\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "그래픽\t불완전한 색상\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "그래픽\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "그래픽\t양호\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "사운드\t없음\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "사운드\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "사운드\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "사운드\t양호\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "카메라\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "카메라\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "마이크로폰\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "마이크로폰\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "컨트롤\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "컨트롤\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "키보드\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "키보드\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "마우스\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "마우스\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "디스크\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "디스크\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "프린터\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "프린터\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "타이밍\t적용 안 됨\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "타이밍\t불완전\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "기계적 장치\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "기계적 장치\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "삽화 필요\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "삽화 필요\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "클릭가능한 삽화 필요\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "칵테일 지원\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "드라이버가 바이오스\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "드라이버가 바이오스\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "저장 지원\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "저장 지원\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "화면 방향\t세로형\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "화면 방향\t가로형\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "CHD 필요\t예\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "CHD 필요\t아니오\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "ROM 검사 결과\t양호\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM 검사 결과\t불량\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "견본 검사 결과\t불필요\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "견본 검사 결과\t양호\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "견본 검사 결과\t불량\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1822,343 +2109,521 @@ msgstr ""
"ROM 검사 \t사용 안 함\n"
"견본 검사 \t사용 안 함\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "롬셋: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "시스템: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "선택 목록 - 검색: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "더블 클릭 혹은 %1$s 키를 눌러 선택"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "현재 이용할 수 없는 %1$u 장치들에 대해 ROM 검사를 실시합니까?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "모든 %1$u 장치들에 대해 ROM 검사를 실시합니까?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(결과는 %1$s에 저장됩니다)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"선택한 장치에 필요한 ROM이나 CHD 파일이 없습니다. 다른 장치를 선택하십시오.\n"
-"\n"
+"%3$u %2$u 장치의 ROM을 검사중...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "사운드"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "검사 시작"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "샘플 레이트"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "모두 보이기"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "외부 샘플 이용"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "필터 숨기기"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "기타 선택사항"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "정보 및 이미지 숨기기"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "마지막으로 실행한 장치 재선택"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "모두 숨기기"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "오른쪽 패널 이미지 확대"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "문자"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "마우스 포인터 보이기"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "색상"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "장치 종료시 재확인"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "사이드 패널 보이기"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "가동시 정보 화면 건너뛰기"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "UI 꾸미기 환경설정"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "스냅샷 출력 화면비 4:3 고정"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "기본"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "이미지를 배경으로 사용하기"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UI 글꼴"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "BIOS 선택 메뉴 건너뛰기"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "굵은 글씨"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "소프트웨어 요소 선택 메뉴 건너뛰기"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "이탤릭체"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "정보 자동 검사"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "줄"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "사용 가능 목록에서 롬이 없는 장치 숨기기"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "정보표시 글자 크기"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "고급 설정"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "UI 문자 환경설정"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "사양 조절"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"예시문 - 다람쥐 헌 쳇바퀴에 타고파. ABCDEFGHIJKLMNabcdefghijklmn 1234567890"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "자동으로 프레임 건너뛰기"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "보통 글자"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "프레임 건너뛰기"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "선택된 색상"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "스로틀"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "보통 글자 배경"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "슬립"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "선택된 배경색"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "속도"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "하위 항목 색상"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "재생 속도"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "클론"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "회전 설정"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "테두리"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "우측 회전"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "배경"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "좌측 회전"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP 스위치"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "자동 우측 회전"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "사용불가 색상"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "자동 좌측 회전"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "슬라이더 색상"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "X 방향으로 반전"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "그래픽 뷰어 배경"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Y 방향으로 반전"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "마우스 오버 색상"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "삽화 설정"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "마우스 오버 배경색상"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "삽화 자르기"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "마우스 다운 색상"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "배경화면 사용"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "마우스 다운 배경색상"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "오버레이 사용"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "원래 색상으로 복귀"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "제벨 사용"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "UI 색상 환경설정"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "조작반 사용"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "더블 클릭 혹은 %1$s를 눌러 색상값 변경하기"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "간판 사용"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "메뉴 미리보기"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "상태/녹화재생 설정"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "일반"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "자동으로 저장/복원"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "하위항목"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "되감기 영역"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "선택된 항목"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "이중선형 스냅샷"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "마우스 오버"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "번인"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB 설정"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "입력 설정"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "불투명도"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "코인 록아웃"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "적"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "마우스"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "녹"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "조이스틱"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "청"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "라이트건"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "팔레트에서 고르기"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "멀티 키보드"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "색상 미리보기 ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "멀티 마우스"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "하양"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "입력지연"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "은색"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI 활성"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "회색"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "화면 밖에서 재실행"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "검정"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "조이스틱 내부임계값"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "주황"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "조이스틱 외부임계값"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "노랑"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "실재 키보드"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "보라"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "대칭방향 동시입력"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "코인 자극"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "새 바코드:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "입력장치 매핑"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "바코드 입력"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "라이트건 장치 조정"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "바코드의 길이가 맞지 않습니다!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "트랙볼 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "입력 (일반)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "페달 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "입력 (현재 장치)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "아날로그 스틱 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "아날로그 조작"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "패들 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "다이얼 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "장치 환경설정"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "위치기반 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "부가 정보"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "마우스 장치 조정"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "장치 정보"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "비디오 모드"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "화면 수"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "이미지 정보"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "삼중 버퍼링"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "파일 관리자"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "테이프 조작"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "바이오스 선택"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "이중선형 필터링"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "슬롯 장치"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "비트맵 프리스케일링"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "바코드 인식기"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "창 모드"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "네트워크 장치"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "가로세로비 강제 유지"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "슬라이더 조작"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "최대화 상태로 시작"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "조준선 설정"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "새로고침 동기화"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "치트"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "수직동기화 기다림"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "플러그인 설정"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "외부 DAT 화면"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "새로운 장치 선택"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "조작반"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "삽화 미리보기"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "게임 오버"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "즐겨찾기 추가 및 삭제"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "표시된 목록을 파일로 보내기"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "DAT 화면 보이기"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "선택한 소프트웨어 요소:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "바이오스 선택:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "이 소프트웨어는 다음의 복제입니다: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "이 소프트웨어는 원형입니다"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "지원여부: 아니오"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "지원여부: 부분적"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "지원여부: 예"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "롬셋: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "이 드라이버는 다음의 복제입니다: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "이 드라이버는 원형입니다"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "사진"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "정보"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "아무 키를 누르면 진행합니다."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "사용"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2175,7 +2640,7 @@ msgstr ""
"\n"
"현재 선택된 옵션은 다음 항목을 활성화합니다:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2192,60 +2657,34 @@ msgstr ""
"\n"
"이 옵션을 선택하면 다음 항목을 활성화합니다:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* 비디오:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* 사운드:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2254,491 +2693,449 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* DIP 스위치 설정:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* 환경 설정:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* 입력 장치:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* 미디어 설정:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* 슬롯 설정:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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 검사를 실시합니까?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "모든 %1$u 장치들에 대해 ROM 검사를 실시합니까?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "치트 저장"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(결과는 %1$s에 저장됩니다)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "임의"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "검사 시작"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "치트 이름"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "경로에 저장할 수 없습니다"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "기본 이름 - %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "플레이어"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "유형"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-"이 소프트웨어에 필요한 ROM/CHD 이미지 일부가 존재하지 않습니다. 다른 소프트웨"
-"어를 선택하십시오."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "보호처리"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "타이밍"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "저장"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "그래픽"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "컬러 팔레트"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "치트를 %s에 쓰고 cheat.simple에 추가합니다"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "사운드"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "치트를 cheat.simple에 추가합니다"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
+"파일을 쓸 수 없습니다\n"
+"cheatpath 폴더가 존재하는지 확인하십시오"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "카메라"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "취소"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "마이크로폰"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU 혹은 RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "컨트롤"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr "이 변경은 \"새 검색 시작\"을 선택했을 때부터 적용됩니다"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "키보드"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "마우스"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "디스크"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "프린터"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "새 검색 시작"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "총 %d개의 값이 일치함"
+
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"이 장치에 필요한 ROM/CHD 일부가 정확하지 않습니다. 장치가 제대로 작동하지 않"
-"을 수 있습니다.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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 일부가 정확하게 덤프되지 않았습니다.\n"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "에뮬레이션이 적용 안 된 특성: "
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "좌와 우가 같음"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+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"
-msgstr ", %s"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "좌와 우의 비트마스크값이 일치"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "에뮬레이션이 불완전한 특성: "
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "좌와 우의 비트마스크값이 일치하지 않음"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "칵테일 모드의 화면 반전이 지원되지 않습니다.\n"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "좌가 해당 값보다 작음"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "이 장치는 외부 이미지 파일을 필요로 합니다.\n"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+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"
-msgstr ""
-"이 장치엔 사운드 하드웨어가 없기 때문에 MAME은 소리를 출력하지 않습니다. 이"
-"는 오작동이 아닙니다.\n"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "값"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "임의"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "데이터 형식"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-"\n"
-"이 장치의 요소 일부는 직접적인 상호작용이나 별도의 보조장비에 의존하고 있습니"
-"다. 때문에 에뮬레이션만으로 이 장치를 완벽히 재현하는 것은 가능하지 않습니"
-"다.\n"
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-"\n"
-"\n"
-"이 장치는 작동가능한 복제판이 있습니다: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"아무 키를 누르면 진행합니다"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"사운드:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"비디오:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "없음\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "벡터"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "가장 최근 검색 취소 -- #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "일치 블록"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "전체"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "화면 '%1$s'"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "화면"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "치트 엔진 이용 불가"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "지원 안 함"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "시험"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "부분적으로 지원함"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "쓰기"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[공백]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "주시"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "조작반"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "쪽"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "삽화 미리보기"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "주시 항목 지우기"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "게임 오버"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "치트 탐색기"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "즐겨찾기 추가 및 삭제"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "입력 이름을 파일에 저장"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "표시된 목록을 파일로 보내기"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "입력 이름 파일 찾을 수 없음"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DAT 화면 보이기"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "입력 포트 이름 파일이 %s에 저장됨"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "선택한 소프트웨어 요소:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "입력 포트"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "바이오스 선택:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "이 소프트웨어는 다음의 복제입니다: %1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "이 소프트웨어는 원형입니다"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "지원여부: 아니오"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "지원여부: 부분적"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "지원여부: 예"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "롬셋: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "이 드라이버는 다음의 복제입니다: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "이 드라이버는 원형입니다"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "사진"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "정보"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "사용"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "일반 정보"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "사용자 인터페이스"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "완료"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "기타 조작"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2756,68 +3153,81 @@ msgstr "플레이 횟수"
msgid "Timer"
msgstr "타이머"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "단축키를 지정할 치트를 선택하십시오"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "단축키를 할당할 버튼을 누르거나 빌 때까지 기다리십시오"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "없음"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "완료"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "설정"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "단축키 설정"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "활성화: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "활성화: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "실행중: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "실행중지: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s 추가"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "커맨드"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "최고 점수"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARP 점수"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "역사"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2829,332 +3239,186 @@ msgstr ""
"--- 드라이버 정보 ---\n"
"드라이버: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARP 점수"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "치트 저장"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "기본"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "임의"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "치트 이름"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "기본 이름 - %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "플레이어"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "유형"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "저장"
-
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "치트를 %s에 쓰고 cheat.simple에 추가합니다"
-
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "치트를 cheat.simple에 추가합니다"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"파일을 쓸 수 없습니다\n"
-"cheatpath 폴더가 존재하는지 확인하십시오"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "취소"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU 혹은 RAM"
+#~ msgid "Backdrops"
+#~ msgstr "배경"
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
-msgstr "이 변경은 \"새 검색 시작\"을 선택했을 때부터 적용됩니다"
+#~ msgid "Overlays"
+#~ msgstr "오버레이"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "베젤"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "조작반"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "시야"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "새 검색 시작"
+#~ msgid "Cropped"
+#~ msgstr "잘라내기"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "전체"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP 스위치"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "총 %d개의 값이 일치함"
+#~ msgid "Select position to load from"
+#~ msgstr "불러올 상태의 위치 선택"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "저장할 상태의 위치 선택"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "키보드 에뮬레이션 현황"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "모드: 부분적 에뮬레이션"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "좌와 우가 같음"
-
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "좌와 우의 비트마스크값이 일치"
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: 활성화"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "좌와 우의 비트마스크값이 일치하지 않음"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**ScrLock 키로 전환**"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "좌가 해당 값보다 작음"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "모드: 전체 에뮬레이션"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "좌가 해당 값보다 큼"
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: 비활성화"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "좌가 해당 값과 같음"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "자동연사 사용 불가"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "좌가 해당 값과 같지 않음"
-
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "값"
-
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "임의"
-
-#: plugins/cheatfind/init.lua:725
-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 ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "자동연사 설정"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "자동연사 현황"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "이 장치에서 버튼을 찾을 수 없습니다!"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "자동연사 간격"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "이 소프트웨어에 필요한 파일 일부가 존재하지 않습니다. 다른 소프트웨어를 선"
+#~ "택하십시오.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "키보드 모드:"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "장치 환경설정 저장"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "장치 환경설정:"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "칵테일 지원\t예\n"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "마지막으로 실행한 장치 재선택"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "재생 속도"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "삽화 자르기"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Use Backdrops"
+#~ msgstr "배경화면 사용"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Use Overlays"
+#~ msgstr "오버레이 사용"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "가장 최근 검색 취소 -- #"
+#~ msgid "Use Bezels"
+#~ msgstr "제벨 사용"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "일치 블록"
+#~ msgid "Use Control Panels"
+#~ msgstr "조작반 사용"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "전체"
+#~ msgid "Use Marquees"
+#~ msgstr "간판 사용"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "이중선형 스냅샷"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "치트 엔진 이용 불가"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "시험"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "쓰기"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "주시"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "쪽"
+#, 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"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "주시 항목 지우기"
+#, 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"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "치트 탐색기"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "입력 이름을 파일에 저장"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "입력 이름 파일 찾을 수 없음"
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "이 소프트웨어에 필요한 ROM/CHD 이미지 일부가 존재하지 않습니다. 다른 소프"
+#~ "트웨어를 선택하십시오."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "입력 포트 이름 파일이 %s에 저장됨"
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "입력 포트"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "단축키를 할당할 버튼을 누르거나 빌 때까지 기다리십시오"
#~ msgid "Data cleared and current state saved"
#~ msgstr "데이터 정리 완료 및 현재 상태 저장됨"
diff --git a/language/Latvian/strings.po b/language/Latvian/strings.po
index 8bdad5c9b05..0326a8240d8 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Lithuanian/strings.po b/language/Lithuanian/strings.po
index ae4c8662526..f8dfe31ae52 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Macedonian/strings.po b/language/Macedonian/strings.po
index 96864e90464..148a058601b 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Norwegian/strings.po b/language/Norwegian/strings.po
index 641fe4d57a0..878da88a8e3 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: 2021-05-29 22:30+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,1805 +18,2095 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Skjerm nr. %d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotering"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Bakgrunner"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Trykk på enhver knapp for å fortsette"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlegg"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezeler"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "K.paneler"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Markier"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Hovedvolum"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vis"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s volum"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beskjært"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overklokk CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Full"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overklokk %1$s-lyd"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM-filer"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s-oppfriskningsfrekvens"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Programvaremedier"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s lysstyrke"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Grensesnitt"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s kontrast"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Språk"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samplinger"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s vannrett strekk"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATer"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s vannrett posisjon"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIer"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s loddrett strekk"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Kategori-INIer"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s loddrett posisjon"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ikoner"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc %1$s vannrett strekk"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Juksekoder"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc %1$s vannrett posisjon"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Skjermklipp"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc %1$s loddrett strekk"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabinetter"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc %1$s loddrett posisjon"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakater"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vektorflimring"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titteler"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimum strålebredde"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Slutter"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maks strålebredde"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBer"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Kontrollpaneler"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Stråleintensitetsvekt"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Siktehår"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Siktehårskala %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Kunstverk"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosser"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Kunstverkforhåndsvisning"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Siktehåravvik %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Velg"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Hvordan"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logoer"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scorer"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Flerspiller"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Siktehårskala X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Omslag"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Siktehårskala Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Mappeoppsett"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Siktehåravvik X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Nåværende %1$s-mapper"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Siktehåravvik Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Bytt mappe"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Feil under lagring av ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Legg til mappe"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "Feil under lagring av %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Fjern mappe"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Oppsettet er lagret \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Endre %1$s-mappe - Søk: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" ble lagt til i favorittlisten."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Legg til %1$s mappe - søk: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Trykk TAB for å velge"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" ble fjernet fra favorittlisten."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dobbeltklikk eller trykk %1$s for å velge"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: «%1$s»-programvareliste "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "stoppet"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Søk: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "spiller av"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Søk: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(spiller av)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "tar opp"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Lydinnstillinger"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(tar opp)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Kontrollerkartlegging"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pause/Stopp"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Lagre oppsettet"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Spill av"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Innstillinger"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Ta opp"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtrer"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Spol tilbake"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Tilpass grensesnittet"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Spol frem"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Sett opp mapper"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[tomt felt]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[filbehandler]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[opprett]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[programvareliste]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Bytt om på gjenstandssortering"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Byttet rekkefølge: oppføringer sorteres nå etter %s"
+msgid "Error accessing %s"
+msgstr "Feil med å få tilgang til %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "mininavn"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Velg tilgangsmodus"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "beskrivelse"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Skrivebeskyttet"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[kompatible lister]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Skriv og les"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Programvarebruk"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Les inn dette bildet, skriv til et annet bilde"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revidering: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Les dette bildet, skriv til diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Filen finnes allerede - Vil du overskrive?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Diverse innstillinger"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nei"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nytt bildenavn:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Forstørr bildene i panelet til høyre"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Bildeformat:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Juksekoder"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Opprett"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Vis musepekeren"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Bekreft at maskiner skal lukkes"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Velg bildeformat"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Vis informasjonsskjerm ved oppstart"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Kontrollere (Generelt)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Tving frem 4:3-forhold for skjermklippvisning"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Kontrollere (Denne maskinen)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Bruk bilde som bakgrunn"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge kontrollere"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Hopp over BIOS-valgmenyen"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-brytere"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Hopp over maskinvaredel-valgmenyen"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Maskinoppsett"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Autoundersøk info"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Bokføringsinfo"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Skjul ROM-løse maskiner fra Tilgjengelig-listen"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Maskininformasjon"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Avanserte innstillinger"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Bildeinformasjon"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Ytelsesinnstillinger"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Filbehandler"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Auto-hopping over rammer"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Teipkontroll"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Hopp over rammer"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Kvasiterminaler"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Flaskehals"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-valg"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Feltenheter"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Sov"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Strekkodeleser"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Fart"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Nettverksenheter"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tastaturmodus"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Glidekontrollere"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Roteringsinnstillinger"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoinnstillinger"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotering"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Siktehårinnstillinger"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Roter til høyre"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Juks"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Roter til venstre"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Tilleggsinnstillinger"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Auto-roter til høyre"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Ekstern DAT-visning"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Auto-roter til venstre"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Snu X"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Snu Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Velg en ny maskin"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Kunstverkinnstillinger"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ny strekkode:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Skriv inn kode"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Tilstands-/Tilbakespillings-innstillinger"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Strekkodelengden er ugyldig!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Automatisk lagring/gjenoppretting"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[mislyktes]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Lydinnstillinger"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Tilbakespolingskapasitet"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Kontrollerkartlegging"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Lagre oppsettet"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Innbrenning"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Innstillinger"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Inndatainnstillinger"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtrer"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Myntutlåsing"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Tilpass grensesnittet"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Mus"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Sett opp mapper"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Kontroller"
-#: 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 ""
-"Det valgte spillet mangler én eller flere påkrevde ROM- eller CHD-bilder. "
-"Vennligst velg et annet spill.\n"
-"\n"
-"Trykk på enhver knapp for å fortsette."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Lyspistol"
-#: 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 ""
-"Ingen maskiner ble funnet. Vennligst sjekk ROM-filbanen som er spesifisert i "
-"%1$s.ini-filen\n"
-"\n"
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Flere tastaturer"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Sett opp innstillingene"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Flere mus"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Skriv inn navn eller velg: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Stødigtast"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Skriv inn navn eller velg: (tilfeldig)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Grensesnitt aktivt"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Omlasting utenfor skjermen"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Kontrollerdødsone"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Kontrollermetning"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Naturlig tastatur"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Samtidige selvmotsigende"
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Myntimpuls"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Enhetskontrollvalg"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Lyspistolenhets-tilegning"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafikk: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Rulleballenhets-tilegning"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Lyd: Ingen"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedalenhets-tilegning"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Styrepinneenhets-tilegning"
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Flappeenhets-tilegning"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Lyd: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Nummerpanelenhets-tilegning"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Last inn tilstand"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Posisjoneringsenhets-tilegning"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Velg en posisjon å laste inn ifra"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Museenhets-tilegning"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Lagre tilstanden"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Videoinnstillinger"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Velg en posisjon å lagre til"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Videomodus"
-#: 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:116
+msgid "Number Of Screens"
+msgstr "Antall skjermer"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "Trippelbufring"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: DELVIS emulering"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Grensesnitt: Skrudd på"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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:122
+msgid "Bilinear Filtering"
+msgstr "Bilineær filtrering"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: FULL emulering"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap-førskalering"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Grensesnitt: Skrudd av"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Vindusmodus"
-#: 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:125
+msgid "Enforce Aspect Ratio"
+msgstr "Tving frem visningsforhold"
-#: 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:126
+msgid "Start Out Maximized"
+msgstr "Start i maksimalisert modus"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hovedvolum"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Synkronisert oppfriskning"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s volum"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Avvent V-synkro"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overklokk CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "På"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overklokk %1$s-lyd"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Av"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s-oppfriskningsfrekvens"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s lysstyrke"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s kontrast"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Tilbake til maskinen"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s gamma"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Avslutt"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s vannrett strekk"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Gå tilbake til forrige meny"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s vannrett posisjon"
+msgid "Screen #%d"
+msgstr "Skjerm nr. %d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s loddrett strekk"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s loddrett posisjon"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektorflimring"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimum strålebredde"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "beskyttelse"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maks strålebredde"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "timing"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Stråleintensitetsvekt"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "grafikk"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Siktehårskala %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "fargepalett"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "lyd"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Siktehåravvik %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "kamera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "mikrofon"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "kontrollere"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "tastatur"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "mus"
-#: 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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "disk"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "skriver"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Feil under lagring av ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: 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:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Oppsettet er lagret \n"
+msgstr ""
+"Det er noen problemer med maskinen som vi kjenner til\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Juksekodekommentar:\n"
-"%s"
+"Én eller flere av ROM- eller CHD-filene til denne maskinen har ikke blitt "
+"riktig dumpet.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle juksekoder er gjeninnlastet"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Fullstendig uemulerte egenskaper: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autoskyteinnstillinger"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tilbakestill alle"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: 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/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Funksjoner som ikke er perfekt emulert: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autoskytestatus"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Skjermvending i cocktailmodus støttes ikke.\n"
-#: 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/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Denne maskinen krever eksterne kunstverkfiler.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Autoskyteforsinkelse"
+#: src/frontend/mame/ui/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" ble lagt til i favorittlisten."
+"\n"
+"\n"
+"Denne maskinen har fungerende kloner av seg: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" ble fjernet fra favorittlisten."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Den valgte programvaren mangler én eller flere påkrevde filer. Vennligst "
-"velg en annen programver.\n"
"\n"
+"Lyd:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Ingen\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d programvarepakker )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: «%1$s»-programvareliste "
+msgid "Screen '%1$s'"
+msgstr "Skjerm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Skjerm"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Ikke støttet"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Delvis støttet"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[tom]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[filbehandler]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Bytt om på gjenstandssortering"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Søk: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Byttet rekkefølge: oppføringer sorteres nå etter %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "mininavn"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "beskrivelse"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[kompatible lister]"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: 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:1045
+msgid "No"
+msgstr "Nei"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Velg bildeformat"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Tastaturmodus"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Naturlig"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulert"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Søk: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Skrudd på"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Skrudd av"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Ufiltrert"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Tilgjengelig"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Utilgjengelig"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Fungerer"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Virker ikke"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mekanisk"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Ikke mekanisk"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Kategori"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoritter"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Ikke BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Overordnede"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Kloner"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Produsent"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "År"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Lagring er støttet"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Lagring er ikke støttet"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD er påkrevd"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Ingen CHD er påkrevd"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Loddrett skjerm"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Vannrett skjerm"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Tilpasset filter"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Publiserer"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Støttet"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Delvis støttet"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Ikke støttet"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Lanseringsregion"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Enhetstype"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Programvareliste"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<Sett opp filtre>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Velg tilpassede filtre:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtrer %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Fjern det forrige filteret"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Legg til et filter"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Velg kategori:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[ingen kategori-INI-filer]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[ingen grupper i INI-filen]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Ingen kategori-INI-filer ble funnet"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Fil"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Ingen grupper ble funnet i kategorifilen"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Gruppe"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Inkluder kloner"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[opprett]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Programvarebruk"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Feil med å få tilgang til %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revidering: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Velg tilgangsmodus"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Tilbakestill"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Skrivebeskyttet"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Skriv og les"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Oppetid: %1$d:%2$02d\n"
+"\n"
-#: 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/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Utskrevne billetter: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mynt %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [internt]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mynt %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (låst)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FARGER"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNER"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Tilbake til maskinen"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Synlig forsinkelse"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Avslutt"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml ble lagret i ui-mappen."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Navn: Beskrivelse:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt ble lagret i ui-mappen."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Eksporter listen i XML-format (som i -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Vis alle"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Eksporter listen i TXT-format (som i -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Skjul filtre"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Skjul Info/Bilder"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Denne maskinen har ingen BIOS."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Skjul begge"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Legg til i favorittene"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Skrifttyper"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Fjern fra favorittene"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Farger"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Vis sidepanelene"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Tilpassede grensesnittinnstillinger"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (standard)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "standard"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Tillegg"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Grensesnittskrifttype"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Kvasiterminaler"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Fet"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[mislyktes]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Kursiv"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linjer"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Last inn tilstand"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Info-tekststørrelse"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Grensesnittskrifttypeinnstillinger"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Lagre tilstanden"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "Prøvetekst - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Vanlig tekst"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [internt]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Valgt farge"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Brukergrensesnitt"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Bakgrunn for vanlig tekst"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Valgt bakgrunnsfarge"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Andre kontrolleringer"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Undergjenstandsfarge"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klon"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Kant"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Bakgrunn"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP-brytere"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Utilgjengelig farge"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Gliderfarge"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Grafikkviserbakgrunn"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Museoverholdingsfarge"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "stoppet"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Museoverholdingsbakgrunnsfarge"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "spiller av"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Musenedeholdingsfarge"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(spiller av)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Musenedeholdingsbakgrunnsfarge"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "tar opp"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Gjenopprett de opprinnelige fargene"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(tar opp)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Grensesnittfargeinnstillinger"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pause/Stopp"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dobbeltklikk eller trykk %1$s for å endre fargeverdien"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Spill av"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menyforhåndsvisning"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Ta opp"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Spol tilbake"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Undergjenstand"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Spol frem"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Valgt"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Kan ikke lagre over mappen"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Hold musen over"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB-innstillinger"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Det valgte spillet mangler én eller flere påkrevde ROM- eller CHD-bilder. "
+"Vennligst velg et annet spill.\n"
+"\n"
+"Trykk på enhver knapp for å fortsette."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Ingen maskiner ble funnet. Vennligst sjekk ROM-filbanen som er spesifisert i "
+"%1$s.ini-filen\n"
+"\n"
+"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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rød"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Sett opp innstillingene"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Grønn"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Skriv inn navn eller velg: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blå"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Skriv inn navn eller velg: (tilfeldig)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Velg fra palett"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Fargeforhåndsvisning ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Hvit"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Alt i alt: VIRKER IKKE"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Sølv"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Alt i alt: Uemulert beskyttelse"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Grå"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Alt i alt: Fungerer"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Svart"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafikk: Ikke implementert, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Oransje"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafikk: Ikke perfekt, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Gul"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafikk: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Fiolett"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Lyd: Ingen"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tastaturmodus:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Lyd: Ikke implementert"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturlig"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Lyd: Ikke perfekt"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulert"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Lyd: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Oppetid: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Juksekodekommentar:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Alle juksekoder er gjeninnlastet"
-#: 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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Tilbakestill alle"
-#: 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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Last inn alle på nytt"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM-filer"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (låst)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Programvaremedier"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Synlig forsinkelse"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Grensesnitt"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Språk"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Navn: Beskrivelse:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samplinger"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATer"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Kategori-INIer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ikoner"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Skjermklipp"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kabinetter"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Plakater"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titteler"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Slutter"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCBer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Markier"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Kontrollpaneler"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Siktehår"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Kunstverk"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bosser"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Kunstverkforhåndsvisning"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Velg"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Hvordan"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logoer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Scorer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Flerspiller"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Omslag"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Mappeoppsett"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt ble lagret i ui-mappen."
+msgid "Current %1$s Folders"
+msgstr "Nåværende %1$s-mapper"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Bytt mappe"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Legg til mappe"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Fjern mappe"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Endre %1$s-mappe - Søk: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Denne maskinen har ingen BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Legg til %1$s mappe - søk: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Lagre maskinoppsettet"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Trykk TAB for å velge"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Sett opp maskinen:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Fjern %1$s mappe"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standard)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " FARGER"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Tillegg"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENNER"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Sett opp maskinen"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "Driveren er overordnet\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Analog styring\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Tastaturinndata\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
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:1064
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:1066
msgid "Overall\tWorking\n"
msgstr "Alt i alt\tFungerer\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Grafikk\tIkke implementer\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Grafikk\tFeil farger\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafikk\tNoen fargeproblemer\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Grafikk\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Grafikk\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Lyd\tIngen\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Lyd\tIkke implementer\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Lyd\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Lyd\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Kamera\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Kamera\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Mikrofon\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Mikrofon\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Kontrollere\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Kontrollere\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Tastatur\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Tastatur\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Mus\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Mus\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disk\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disk\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Skriver\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Skriver\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Timing\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Timing\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Mekanisk maskin\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Mekanisk maskin\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Krever kunstverk\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Krever kunstverk\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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:1175
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Krever klikkbare kunstverk\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Støtter Cocktail\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Støtter Cocktail\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
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:1178
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:1179
msgid "Support Save\tYes\n"
msgstr "Støtter lagring\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Støtter lagring\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Skjermposisjonering\tLoddrett\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Skjermposisjonering\tVannrett\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Krever CHD\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Krever CHD\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
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:1205
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:1208
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:1210
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:1212
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:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1824,344 +2114,522 @@ 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:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM-sett: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Utvalgsliste - Søk: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dobbeltklikk eller trykk %1$s for å velge"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, 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:100
+#, 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:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(utfallene vil bli lagret til %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"Den valgte maskinen mangler én eller flere påkrevde ROM- eller CHD-bilder. "
-"Vennligst velg en annen maskin.\n"
-"\n"
+"Undersøker ROM-filene til maskin nr. %2$u av %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Lyd"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Start undersøking"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplingsfrekvens"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Vis alle"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Bruk eksterne samplinger"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Skjul filtre"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Diverse innstillinger"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Skjul Info/Bilder"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Gjenvelg den senest spilte maskinen"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Skjul begge"
-#: 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/custui.cpp:171
+msgid "Fonts"
+msgstr "Skrifttyper"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Vis musepekeren"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Farger"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Bekreft at maskiner skal lukkes"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Vis sidepanelene"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Vis informasjonsskjerm ved oppstart"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Tilpassede grensesnittinnstillinger"
-#: 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/custui.cpp:245
+msgid "default"
+msgstr "standard"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Bruk bilde som bakgrunn"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Grensesnittskrifttype"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Hopp over BIOS-valgmenyen"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Fet"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Hopp over maskinvaredel-valgmenyen"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Kursiv"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Autoundersøk info"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linjer"
-#: 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/custui.cpp:383
+msgid "Infos text size"
+msgstr "Info-tekststørrelse"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Avanserte innstillinger"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Grensesnittskrifttypeinnstillinger"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Ytelsesinnstillinger"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "Prøvetekst - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Auto-hopping over rammer"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Vanlig tekst"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Hopp over rammer"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Valgt farge"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Flaskehals"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Bakgrunn for vanlig tekst"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Sov"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Valgt bakgrunnsfarge"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Fart"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Undergjenstandsfarge"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Oppfriskningsfart"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klon"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Roteringsinnstillinger"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Kant"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Roter til høyre"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Bakgrunn"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Roter til venstre"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP-brytere"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto-roter til høyre"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Utilgjengelig farge"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto-roter til venstre"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Gliderfarge"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Snu X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Grafikkviserbakgrunn"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Snu Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Museoverholdingsfarge"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Kunstverkinnstillinger"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Museoverholdingsbakgrunnsfarge"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Kunstverkbeskjæring"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Musenedeholdingsfarge"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Bruk bakgrunner"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Musenedeholdingsbakgrunnsfarge"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Bruk overlegg"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Gjenopprett de opprinnelige fargene"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Bruk bezeler"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Grensesnittfargeinnstillinger"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Bruk kontrollpaneler"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dobbeltklikk eller trykk %1$s for å endre fargeverdien"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Bruk markier"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menyforhåndsvisning"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Tilstands-/Tilbakespillings-innstillinger"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automatisk lagring/gjenoppretting"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Undergjenstand"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Tilbakespolingskapasitet"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Valgt"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineær skjermklipp"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Hold musen over"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Innbrenning"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB-innstillinger"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Inndatainnstillinger"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Myntutlåsing"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rød"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Mus"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Grønn"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Kontroller"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blå"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lyspistol"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Velg fra palett"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Flere tastaturer"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Fargeforhåndsvisning ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Flere mus"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Hvit"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Stødigtast"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Sølv"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Grensesnitt aktivt"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Grå"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Omlasting utenfor skjermen"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Svart"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Kontrollerdødsone"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Oransje"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Kontrollermetning"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Gul"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Naturlig tastatur"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Fiolett"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Samtidige selvmotsigende"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Myntimpuls"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ny strekkode:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Enhetskontrollvalg"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Skriv inn kode"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lyspistolenhets-tilegning"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Strekkodelengden er ugyldig!"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Rulleballenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Kontrollere (Generelt)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedalenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Kontrollere (Denne maskinen)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Styrepinneenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analoge kontrollere"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Flappeenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Nummerpanelenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Maskinoppsett"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Posisjoneringsenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Bokføringsinfo"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Museenhets-tilegning"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Maskininformasjon"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Videomodus"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Antall skjermer"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Bildeinformasjon"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Trippelbufring"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Filbehandler"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Teipkontroll"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS-valg"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineær filtrering"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Feltenheter"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap-førskalering"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Strekkodeleser"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Vindusmodus"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Nettverksenheter"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Tving frem visningsforhold"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Glidekontrollere"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Start i maksimalisert modus"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Siktehårinnstillinger"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Synkronisert oppfriskning"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Juks"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Avvent V-synkro"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Tilleggsinnstillinger"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Ekstern DAT-visning"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Velg en ny maskin"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Kontrollpaneler"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Kunstverkforhåndsvisning"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Legg til eller fjern favoritter"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Eksporter den viste listen til en fil"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Vis DAT-oversikten"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Programvaredel-valg:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS-valg:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programvaren er en klone av: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Programvaren er overordnet"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Støttet: Nei"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Støttet: Delvis"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Støttet: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-sett: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driveren er en klone av: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Driveren er overordnet"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Bilder"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Info"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Trykk på enhver knapp for å fortsette."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Bruksområde"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Generell info"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Lyd"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Samplingsfrekvens"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Bruk eksterne samplinger"
+
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2178,7 +2646,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:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2197,60 +2665,34 @@ 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:54
msgid "* CPU:\n"
msgstr "* Prosessor:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Video:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Lyd:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2259,495 +2701,449 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* DIP-bryterinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* Oppsettsinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Inndatainnstillinger(s):\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* Medieinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* Feltinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr "[Ingen]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Lagre juksekoden"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Standard"
-#: 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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Tilpasset"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Start undersøking"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Juksekodens navn"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kan ikke lagre over mappen"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Standardnavnet er %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Spiller"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Type"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "timing"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Lagre"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafikk"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "fargepalett"
+#: plugins/cheatfind/init.lua:468
+#, 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"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "lyd"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Juksekoden ble lagt til i cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
+"Klarte ikke å skrive til filen\n"
+"Sørg for at juksekodefilbanens mappe eksisterer"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "kamera"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Lukk"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "mikrofon"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU eller RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "kontrollere"
+#: plugins/cheatfind/init.lua:501
+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"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastatur"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mus"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disk"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "skriver"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Start et nytt søk"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "%d antall samsvaringer ble funnet"
+
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
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: "
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Venstre er det samme som høyre"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+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"
-msgstr ", %s"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Venstre er det samme som høyre med bitmaskering"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funksjoner som ikke er perfekt emulert: "
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Venstre er ikke det samme som høyre med bitmaskering"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Venstre sin «Mindre enn»-verdi"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Denne maskinen krever eksterne kunstverkfiler.\n"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Venstre sin «Større enn»-verdi"
-#: 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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Venstre sin «Det samme som»-verdi"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Venstre sin ikke «Ikke det samme som»-verdi"
-#: 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Verdi"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Ethvert"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Dataformat"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
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"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"Trykk på enhver knapp for å fortsette"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Lyd:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ingen\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Andre det forrige søket — #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Samsvar med blokk"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Alle"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Skjerm '%1$s'"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Skjerm"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Juksekodemotoren er ikke tilgjengelig"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Ikke støttet"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Test"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Delvis støttet"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Skriv"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[tom]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Overvåk"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrollpaneler"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Side"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Kunstverkforhåndsvisning"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Tøm overvåkningene"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Juksekodefinner"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Legg til eller fjern favoritter"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Lagre inndatanavn til fil"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Eksporter den viste listen til en fil"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Mislyktes i å lagre inndatanavnefilen"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Vis DAT-oversikten"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "Inndataportnavnefilen ble lagret til %s"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Programvaredel-valg:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Inndataporter"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-valg:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programvaren er en klone av: %1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programvaren er overordnet"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Støttet: Nei"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Støttet: Delvis"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Støttet: Ja"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-sett: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Driveren er en klone av: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driveren er overordnet"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Bilder"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Info"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Bruksområde"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Generell info"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Brukergrensesnitt"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Ferdig"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andre kontrolleringer"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2765,68 +3161,81 @@ msgstr "Spillteller"
msgid "Timer"
msgstr "Nedteller"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Velg en juksekode å velge hurtigtasten til"
-#: plugins/cheat/init.lua:534
-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:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Ingen"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Ferdig"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Velg"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Velg hurtigtaster"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Aktivert: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Aktivert: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Skrudd på: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Skrudd av: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s er lagt til"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Kommando"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Highscorer"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Historikk"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2838,332 +3247,186 @@ msgstr ""
"— DRIVERINFO —\n"
"Driver: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Lagre juksekoden"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Standard"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Tilpasset"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Juksekodens navn"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Standardnavnet er %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Spiller"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Type"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Lagre"
-
-#: plugins/cheatfind/init.lua:462
-#, 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
-msgid "Cheat added to cheat.simple"
-msgstr "Juksekoden ble lagt til i cheat.simple"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Klarte ikke å skrive til filen\n"
-"Sørg for at juksekodefilbanens mappe eksisterer"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Lukk"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU eller RAM"
+#~ msgid "Backdrops"
+#~ msgstr "Bakgrunner"
-#: plugins/cheatfind/init.lua:495
-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"
+#~ msgid "Overlays"
+#~ msgstr "Overlegg"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Bezeler"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "K.paneler"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Vis"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Start et nytt søk"
+#~ msgid "Cropped"
+#~ msgstr "Beskjært"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Full"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP-brytere"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "%d antall samsvaringer ble funnet"
+#~ msgid "Select position to load from"
+#~ msgstr "Velg en posisjon å laste inn ifra"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Velg en posisjon å lagre til"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Tastaturemuleringsstatus"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modus: DELVIS emulering"
-#: plugins/cheatfind/init.lua:676
-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:680
-msgid "Left equal to right with bitmask"
-msgstr "Venstre er det samme som høyre med bitmaskering"
+#~ msgid "UI: Enabled"
+#~ msgstr "Grensesnitt: Skrudd på"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Venstre er ikke det samme som høyre med bitmaskering"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Bruk ScrLock for å skru av/på**"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Venstre sin «Mindre enn»-verdi"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modus: FULL emulering"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Venstre sin «Større enn»-verdi"
+#~ msgid "UI: Disabled"
+#~ msgstr "Grensesnitt: Skrudd av"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Venstre sin «Det samme som»-verdi"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Autoskyting kan ikke bli aktivert"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Venstre sin ikke «Ikke det samme som»-verdi"
-
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Verdi"
-
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Ethvert"
-
-#: plugins/cheatfind/init.lua:725
-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 ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Autoskyteinnstillinger"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Autoskytestatus"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Ingen knapper ble funnet på denne maskinen!"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Autoskyteforsinkelse"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Tastaturmodus:"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Lagre maskinoppsettet"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Sett opp maskinen:"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Støtter Cocktail\tJa\n"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid ""
+#~ "The selected machine is missing one or more required ROM or CHD images. "
+#~ "Please select a different machine.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Den valgte maskinen mangler én eller flere påkrevde ROM- eller CHD-"
+#~ "bilder. Vennligst velg en annen maskin.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Gjenvelg den senest spilte maskinen"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Oppfriskningsfart"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "Kunstverkbeskjæring"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Use Backdrops"
+#~ msgstr "Bruk bakgrunner"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Use Overlays"
+#~ msgstr "Bruk overlegg"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Andre det forrige søket — #"
+#~ msgid "Use Bezels"
+#~ msgstr "Bruk bezeler"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Samsvar med blokk"
+#~ msgid "Use Control Panels"
+#~ msgstr "Bruk kontrollpaneler"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Alle"
+#~ msgid "Use Marquees"
+#~ msgstr "Bruk markier"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Bilineær skjermklipp"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Juksekodemotoren er ikke tilgjengelig"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Test"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Skriv"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Overvåk"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Side"
+#, 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"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Tøm overvåkningene"
+#, 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"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Juksekodefinner"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Lagre inndatanavn til fil"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Mislyktes i å lagre inndatanavnefilen"
+#~ 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."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "Inndataportnavnefilen ble lagret til %s"
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "Inndataporter"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Trykk på en knapp for hurtigtasting eller vent på at den tømmes"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Dataene er tømt og den nåværende tilstanden har blitt lagret"
diff --git a/language/Persian/strings.po b/language/Persian/strings.po
index 8c977ff9f96..71634b6328a 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Polish/strings.po b/language/Polish/strings.po
index 2caf7214353..5efabcd7940 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,3049 +19,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Portuguese/strings.po b/language/Portuguese/strings.po
index 6a185d38dc3..bdc0ddb430e 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2017-10-26 22:51+0100\n"
"Last-Translator: pmos69\n"
"Language-Team: MAME Language Team\n"
@@ -17,2149 +17,2614 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Ecrã #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rodar"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fundos"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pressione qualquer tecla para continuar"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreposições"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Molduras"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Painéis de Controlo"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Tabuletas"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volume Global"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vista"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volume"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Cortada"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s som"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Taxa de refrescamento do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Ficheiros de Software"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brilho do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Interface"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Idioma"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gama do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Extensão Horizontal do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posição Horizontal do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Extensão Vertical do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "INIs de Categorias"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "Posição Vertical do %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ícones"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Extensão Horizontal do Laserdisc '%1$s'"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Posição Horizontal do Laserdisc '%1$s'"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Extensão Vertical do Laserdisc '%1$s'"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Armários Arcade"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Posição Vertical do Laserdisc '%1$s'"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Folhetos"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Cintilação Vetorial"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Ecrãs Iniciais"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Largura Mínima do Feixe de Luz"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Traseiras"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Largura Máxixa do Feixe de Luz"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Placas Mãe"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Painéis de Controlo"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Peso da Intensidade do Feixe"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Miras"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala da Mira %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Amostra de Artworks"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Ajuste da Mira %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecção"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Fim do Jogo"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Como Fazer"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Placares"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala X da Mira %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Capas"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala Y da Mira %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Configurar Pastas"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Ajuste X da Mira %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Pastas %1$s Atuais"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Ajuste Y da Mira %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Mudar Pasta"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erro ao gravar ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Adicionar Pasta"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erro ao gravar %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Remover Pasta"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configuração gravada \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Mudar Pasta %1$s - Procura: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" adicionado à lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Adicionar Pasta %1$s - Procura: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Pressione TAB para definir"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" removido da lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Clique duas vezes ou pressione %1$s para selecionar"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista de software "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "parado"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Procura: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "funcionando"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Procura: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(funcionando)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "gravando"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(gravando)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Inputs Gerais"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pausa/Parar"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Gravar Configuração"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Play"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Configurações"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Gravar"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtro"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Rebobinar"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personalizar Interface"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avanço Rápido"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configurar Pastas"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[slot vazio]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gestôr de ficheiros]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[criar]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[lista de software]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Alterar Ordem dos Items"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Ordem Alterada: Entradas agora ordenadas por %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nome curto"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Seleccionar modo de acesso"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "descrição"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Apenas-leitura"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[listas compatíveis]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Leitura-e-escrita"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Utilização de Software"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Ler esta imagem, escrever para outra imagem"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisão: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Ler esta imagem, escrever para diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ficheiro Já Existente - Sobrepor?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Opções Diversas"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Não"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sim"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo Nome da Imagem:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Aumentar imagens no painel direito"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato da Imagem:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Cheats"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Criar"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Mostrar ponteiro do rato"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confirmar saída das máquinas"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleccione o formato da imagem"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Saltar ecrã de informação ao iniciar"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (geral)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forçar aspecto 4:3 na exibição de snapshots"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (esta Máquina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Usar imagem como fundo"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controlos Analógicos"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Saltar menu de selecção de BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Saltar menu de selecção de item de software"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuração da Máquina"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Auditoria automática no painel de Info"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Info de Contabilidade"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Esconder máquinas sem ROMs da lista de disponíveis"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informação da Máquina"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Opções Avançadas"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informação da Imagem"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Opções de Performance"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestôr de Ficheiros"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Descarte automático de Frames"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controle da Cassete"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Descarte de Frames"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Controlo de Velocidade"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selecção de BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Dispositivos de Slot"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Dormir"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Leitor de Código de Barras"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Velocidade"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de Rede"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo do Teclado"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controlos Deslizantes"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Opções de Rotação"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rodar"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opções de Miras"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rodar para a direita"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rodar para a esquerda"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opções de Plugins"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Auto-rodar à direita"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualização de DAT Externa"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Auto rodar à esquerda"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Inverter X"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Inverter Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Seleccionar Nova Máquina"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Opções de Artwork"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novo Código de Barras:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Introduza o Código"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Opções de Estado/Reprodução"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Tamanho de código de barras inválido!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Guardar/Restaurar automático"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falhou]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Inputs Gerais"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Gravar Configuração"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Burn-in"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Configurações"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Opções de Input"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Bloqueio de Moedas"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar Interface"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Rato"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar Pastas"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"O jogo selecionado tem uma ou mais ROM ou imagem CHD em falta. Por favor "
-"selecione um jogo diferente.\n"
-"\n"
-"Pressione qualquer tecla para continuar."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Pistola de Luz"
-#: 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 ""
-"Nenhuma máquina encontrada. Por favor verifique a rompath especificada no "
-"ficheiro %1$s.ini .\n"
-"\n"
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Teclado Múltiplo"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Configurar Opções"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Rato Múltiplo"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Digite o nome ou selecione: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Steadykey"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Digite o nome ou selecione: (aleatório)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Interface activa"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Recarregar fora de ecrã"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Zona morta do Joystick"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Saturação do Joystick"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Teclado Natural"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Contraditório Simultâneo"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Global: Funcional"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Impulso da Moeda"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mapeamento de Dispositivos"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Atribuição do Dispositivo Pistola de Luz"
-#: 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/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Atribuição do Dispositivo Trackball"
-#: 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/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Atribuição do Dispositivo Pedal"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Atribuição do Dispositivo AD Stick"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Som: Imperfeito"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Atribuição do Dispositivo Paddle"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Som: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Atribuição do Dispositivo Botão Rotativo"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carregar Estado"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Atribuição do Dispositivo Posicional"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Seleccione possição do carregamento"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Atribuição do Dispositivo Rato"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Gravar Estado"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Opções de Video"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Seleccione posição de gravação"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Modo de Video"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Número de Ecrãs"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Triple Buffering"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulação PARCIAL"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface: Activa"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Filtragem Bi-linear"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulação COMPLETA"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Prescaling de Bitmaps"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface: Desactivada"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Modo de Janela"
-#: 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/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Forçar Aspecto"
-#: 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 ""
-"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/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Começar Maximizado"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Global"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Refrescamento Sincronizado"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volume"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Esperar pelo Sync Vertical"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Ligado"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s som"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Desligado"
-#: 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/menu.cpp:678
+msgid "Auto"
+msgstr "Automático"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brilho do %1$s"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste do %1$s"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Voltar à Máquina"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "Gama do %1$s"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Sair"
-#: 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/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Voltar ao Menu Anterior"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posição Horizontal do %1$s"
+msgid "Screen #%d"
+msgstr "Ecrã #%d"
-#: 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/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: 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/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Cintilação Vetorial"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largura Mínima do Feixe de Luz"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "protecção"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largura Máxixa do Feixe de Luz"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "temporização"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso da Intensidade do Feixe"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "gráficos"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Escala da Mira %1$s"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "paleta de cores"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "som"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Ajuste da Mira %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "câmara"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "microfone"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "controlos"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "teclado"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "rato"
-#: 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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "disco"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "impressora"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erro ao gravar ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erro ao gravar %s.ini**"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "rede local"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configuração gravada \n"
+msgstr ""
+"Existem problemas conhecidos com esta máquina\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Comentário de Cheat:\n"
-"%s"
+"Uma ou mais ROMs/CHDs para esta máquina não foram corretamente "
+"descarregadas.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Todos os cheats recarregados"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Funcionalidades não emuladas: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Configurações de Auto-disparo"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar Tudo"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recarregar Tudo"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Funcionalidades emuladas de forma imperfeita: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado do Auto-disparo"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Não foram encontrados botões nesta máquina!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina requer ficheiros de artwork externos.\n"
-#: 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/info.cpp:285
+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:287
+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:291
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" adicionado à lista de favoritos."
+"\n"
+"\n"
+"Existem clones funcionais desta máquina: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%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:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-"%s\n"
-" removido da lista de favoritos."
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"O software selecionado tem um ou mais ficheiros em falta. Por favor "
-"selecione um software diferente.\n"
"\n"
+"Som:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Nenhum\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vetorial"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, 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 )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista de software "
+msgid "Screen '%1$s'"
+msgstr "Ecrã '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Ecrã"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Não suportado"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Parcialmente suportado"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vazio]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gestôr de ficheiros]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Alterar Ordem dos Items"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Procura: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Ordem Alterada: Entradas agora ordenadas por %s"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nome curto"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "descrição"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[listas compatíveis]"
+
+#: 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:1045
+msgid "No"
+msgstr "Não"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Seleccione o formato da imagem"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Modo do Teclado"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natural"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulado"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Procura: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Activo"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Não filtrado"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Disponível"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Não disponível"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Funcional"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Não Funcional"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mecânico"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Não Mecânico"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Categoria"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoritos"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Não BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Originais"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Clones"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Fabricante"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Ano"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Gravação Suportada"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Gravação Não Suportada"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "Requer CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Não Requer CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Ecrã Vertical"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Ecrã Horizontal"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Filtro Personalizado"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Editor"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Suportado"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Parcialmente Suportado"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Não Suportado"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Região do Lançamento"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Tipo de Dispositivo"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Lista de Software"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<configurar filtros>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Selecionar filtros personalizados:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Remover último filtro"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Adicionar filtro"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Selecione categoria"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[sem ficheiros INI de categoria]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[sem grupos no ficheiro INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Não foram encontrados ficheiros INI da categoria"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Ficheiro"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Não foram encontrados grupos no ficheiro da categoria"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Grupo"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Incluir clones"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[criar]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Utilização de Software"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisão: "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reiniciar"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+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/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Seleccionar modo de acesso"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, 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/filesel.cpp:537
-msgid "Read-only"
-msgstr "Apenas-leitura"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Tickets emitidos: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Leitura-e-escrita"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moeda %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moeda %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (travado)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interna]"
+msgid "P%d Visibility"
+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 "Reiniciar"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " CORES"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Atraso Visível"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " CANETAS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml gravado na pasta de interface."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Voltar à Máquina"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nome: Descrição:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Sair"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt na pasta de interface."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista em formato XML (como -listxml)"
-#: 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/miscmenu.cpp:693
+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/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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista em formato TXT (como -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automático"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Mostrar Tudo"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Esta máquina não tem BIOS."
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Esconder Filtros"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Adicionar aos Favoritos"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Esconder Info/Imagem"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Remover dos Favoritos"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Esconder Ambos"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Fontes"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Cores"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr "(padrão)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Mostrar painéis laterais"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Configurações personalizadas da interface"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminais"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "padrão"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falhou]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Fonte da interface"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Negrito"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Carregar Estado"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Itálico"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linhas"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Gravar Estado"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Tamanho do texto das Infos"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Configurações das Fontes"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interna]"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interface do Utilizador"
+
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-"Exemplo de texto - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Texto normal"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Outros Controlos"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Côr seleccionada"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Fundo do texto normal"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Côr de fundo seleccionada"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Côr do sub-item"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Borda"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Fundo"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Côr indisponível"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "parado"
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Cor dos controlos deslizantes"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "funcionando"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Fundo do visualizador Gfx"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(funcionando)"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Cor do rato-sobre"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "gravando"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Cor de fundo do rato-sobre"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(gravando)"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Cor do rato-premido"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pausa/Parar"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Cor de fundo do rato-premido"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Play"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaurar cores originais"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Gravar"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Configurações de Cores da Interface"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Rebobinar"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avanço Rápido"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Não pode gravar sobre a pasta"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"O jogo selecionado tem uma ou mais ROM ou imagem CHD em falta. Por favor "
+"selecione um jogo diferente.\n"
+"\n"
+"Pressione qualquer tecla para continuar."
+
+#: src/frontend/mame/ui/simpleselgame.cpp:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Duplo-clique ou pressione %1$s para mudar o valor da cor"
+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 ""
+"Nenhuma máquina encontrada. Por favor verifique a rompath especificada no "
+"ficheiro %1$s.ini .\n"
+"\n"
+"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/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Pré-Visualização do Menu"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configurar Opções"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Digite o nome ou selecione: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Sub-Item"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Digite o nome ou selecione: (aleatório)"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Seleccionado"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Rato-Sobre"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Configurações ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Global: NÃO FUNCIONA"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Opacidade"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Global: Proteção Não Emulada"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Vermelho"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Global: Funcional"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Verde"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: Não Implementados, "
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Azul"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfeitos, "
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Escolha da paleta"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Gráficos: OK, "
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Pré-Visualização de côr ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Som: Sem Som"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Branco"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Som: Não Implementado"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Prateado"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Som: Imperfeito"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Cinzento"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Som: OK"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Preto"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Comentário de Cheat:\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Laranja"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Todos os cheats recarregados"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Amarelo"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Reiniciar Tudo"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violeta"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Recarregar Tudo"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo de Teclado:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Ficheiros de Software"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Interface"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Idioma"
-#: 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/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples"
-#: 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/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
-#: 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/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "INIs de Categorias"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (travado)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ícones"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Atraso Visível"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Snapshots"
-#: 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/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Armários Arcade"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrição:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Folhetos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Ecrãs Iniciais"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Traseiras"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Placas Mãe"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Tabuletas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Painéis de Controlo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Miras"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Artworks"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bosses"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Amostra de Artworks"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Selecção"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Fim do Jogo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Como Fazer"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Placares"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Capas"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Configurar Pastas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt na pasta de interface."
+msgid "Current %1$s Folders"
+msgstr "Pastas %1$s Atuais"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Mudar Pasta"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Adicionar Pasta"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Remover Pasta"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Mudar Pasta %1$s - Procura: %2$s_"
-#: 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/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Adicionar Pasta %1$s - Procura: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Gravar configuração da máquina"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Pressione TAB para definir"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Remover Pasta %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr "(padrão)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " CORES"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " CANETAS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configurar Máquina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Ano\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, 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:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Driver é Principal\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Controlos Analógicos\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Entradas de Teclado\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Global\tNÃO FUNCIONAL\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Global\tProteção não Emulada\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Global\tFuncional\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Gráficos\tNão Implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Gráficos\tCores Erradas\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Gráficos\tCores Imperfeitas\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Gráficos\tImperfeitos\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Gráficos\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Som\tSem Som\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Som\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Som\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Som\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Câmara\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Câmara\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Microfone\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Microfone\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Controlos\tNão Implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Controlos\tImperfeitos\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Teclado\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Teclado\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Rato\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Rato\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disco\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disco\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Impressora\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Impressora\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "Rede Local\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "Rede Local\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Temporização\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Temporização\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Máquina Mecânica\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Máquina Mecânica\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Requer Artwork\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Requer Artwork\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Requer Artwork Clicável\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Suporta Cocktail\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "Driver é BIOS\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "Driver é BIOS\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Suporta Gravação\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Suporta Gravação\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Orientação de Ecrã\tVertical\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Orientação de Ecrã\tHorizontal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Requer CHD\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Requer CHD\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "Resultado da Audit à ROM\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "Resultado da Audit à ROM\tFALHA\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Resultado da Audit às Samples\tNenhuma Necessária\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Resultado da Audit às Samples\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Resultado da Audit às Samples\tFALHA\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Lista de Seleção - Procurar: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+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/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Auditar ROMs de todas as %1$u máquinas?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(os resultados serão gravados em %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
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"
+"Auditando ROMs da máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Som"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Começar Audit"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Frequência de Amostragem"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mostrar Tudo"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utilizar Samples Externas"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Esconder Filtros"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Opções Diversas"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Esconder Info/Imagem"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Re-seleccionar última máquina usada"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Esconder Ambos"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Aumentar imagens no painel direito"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Fontes"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mostrar ponteiro do rato"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Cores"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirmar saída das máquinas"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Mostrar painéis laterais"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Saltar ecrã de informação ao iniciar"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Configurações personalizadas da interface"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Forçar aspecto 4:3 na exibição de snapshots"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "padrão"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Usar imagem como fundo"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Fonte da interface"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Saltar menu de selecção de BIOS"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Negrito"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Saltar menu de selecção de item de software"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Itálico"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Auditoria automática no painel de Info"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linhas"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Esconder máquinas sem ROMs da lista de disponíveis"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Tamanho do texto das Infos"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opções Avançadas"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Configurações das Fontes"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opções de Performance"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Exemplo de texto - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Descarte automático de Frames"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Texto normal"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Descarte de Frames"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Côr seleccionada"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Controlo de Velocidade"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Fundo do texto normal"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Dormir"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Côr de fundo seleccionada"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocidade"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Côr do sub-item"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Velocidade de Refrescamento"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clone"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Opções de Rotação"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Borda"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rodar para a direita"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Fundo"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rodar para a esquerda"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Dipswitch"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto-rodar à direita"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Côr indisponível"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto rodar à esquerda"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Cor dos controlos deslizantes"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Inverter X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Fundo do visualizador Gfx"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Inverter Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Cor do rato-sobre"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Opções de Artwork"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Cor de fundo do rato-sobre"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Crop de Artwork"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Cor do rato-premido"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Usar Fundos"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Cor de fundo do rato-premido"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Usar Sobreposições"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaurar cores originais"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Usar Molduras"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Configurações de Cores da Interface"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Usar painéis de Controlo"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Duplo-clique ou pressione %1$s para mudar o valor da cor"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Usar Tabuletas"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Pré-Visualização do Menu"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Opções de Estado/Reprodução"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Guardar/Restaurar automático"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Sub-Item"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Seleccionado"
+
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Rato-Sobre"
+
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Configurações ARGB"
+
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Opacidade"
+
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Vermelho"
+
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Verde"
+
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Azul"
+
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Escolha da paleta"
+
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Pré-Visualização de côr ="
+
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Branco"
+
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Prateado"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Cinzento"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Preto"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Laranja"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Amarelo"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violeta"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novo Código de Barras:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Introduza o Código"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Tamanho de código de barras inválido!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Input (geral)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Input (esta Máquina)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Controlos Analógicos"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Snapshot Bi-linear"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuração da Máquina"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Burn-in"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Info de Contabilidade"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opções de Input"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informação da Máquina"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Bloqueio de Moedas"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Rato"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informação da Imagem"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestôr de Ficheiros"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Pistola de Luz"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Controle da Cassete"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Teclado Múltiplo"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Selecção de BIOS"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Rato Múltiplo"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Dispositivos de Slot"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Steadykey"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Leitor de Código de Barras"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Interface activa"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Dispositivos de Rede"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Recarregar fora de ecrã"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Controlos Deslizantes"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Zona morta do Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Opções de Miras"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Saturação do Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Teclado Natural"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Opções de Plugins"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Contraditório Simultâneo"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualização de DAT Externa"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Impulso da Moeda"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapeamento de Dispositivos"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Seleccionar Nova Máquina"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Atribuição do Dispositivo Pistola de Luz"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Painéis de Controlo"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Atribuição do Dispositivo Trackball"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Pré-Visualização da Artwork"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Atribuição do Dispositivo Pedal"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Fim de Jogo"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Atribuição do Dispositivo AD Stick"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Adicionar ou remover favoritos"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Atribuição do Dispositivo Paddle"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exportar lista visível para ficheiro"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Atribuição do Dispositivo Botão Rotativo"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Exibir visualização de DATs"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Atribuição do Dispositivo Posicional"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Selecção de Item de Software:"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Atribuição do Dispositivo Rato"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Selecção de BIOS:"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Modo de Video"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "O Software é clone de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Número de Ecrãs"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "O Software é original"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Suportado: Não"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Suportado: Parcial"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Suportado: Sim"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtragem Bi-linear"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Prescaling de Bitmaps"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "O Driver é clone de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Modo de Janela"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "O Driver é original"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Forçar Aspecto"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Imagens"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Começar Maximizado"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Infos"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Refrescamento Sincronizado"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Esperar pelo Sync Vertical"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Pressione qualquer tecla para continuar"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Utilização"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Info Geral"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2170,7 +2635,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2181,551 +2646,485 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Auditar ROMs de %1$u máquinas marcadas como indisponíveis?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Gravar Cheat"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Padrão"
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Personalizado"
+
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Nome da Cheat"
+
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Nome padrão é %s"
+
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Jogador"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Tipo"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Não pode gravar sobre a pasta"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Gravar"
-#: 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."
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
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"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Cheat gravada em %s e adicionada a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporização"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Cheat adicionada a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
+msgstr ""
+"Não foi possivel escrever ficheiro\n"
+"Assegurar que a pasta cheatpath existe"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de cores"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Cancelar"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "som"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU ou RAM"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:501
+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"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "câmara"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfone"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controlos"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "rato"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Começar nova procura"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impressora"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "rede local"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
+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"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-"Existem problemas conhecidos com 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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Esquerda igual a direita"
+
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-"Uma ou mais ROMs/CHDs para esta máquina não foram corretamente "
-"descarregadas.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Funcionalidades não emuladas: "
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Esquerda igual a direita com bitmask"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Esquerda diferente da direita com bitmask"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Esquerda menor que valor"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funcionalidades emuladas de forma imperfeita: "
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Esquerda maior que valor"
-#: 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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Esquerda igual a valor"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Esquerda diferente de valor"
-#: 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Valor"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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: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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Qualquer"
-#: 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"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Formato de Dados"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-"\n"
-"\n"
-"Existem clones funcionais desta máquina: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"Pressione qualquer tecla para continuar"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Som:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nenhum\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vetorial"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Undo da última procura -- #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Match bloco"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Todos"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Ecrã '%1$s'"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Ecrã"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Motor de cheats não disponível"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Não suportado"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Teste"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parcialmente suportado"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Escrever"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vazio]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Monitorizar"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Painéis de Controlo"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Página"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Pré-Visualização da Artwork"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Limpar Monitorizações"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fim de Jogo"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Cheat Finder"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Adicionar ou remover favoritos"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar lista visível para ficheiro"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Exibir visualização de DATs"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selecção de Item de Software:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selecção de BIOS:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "O Software é clone de: %1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "O Software é original"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Suportado: Não"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Suportado: Parcial"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Suportado: Sim"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "O Driver é clone de: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "O Driver é original"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imagens"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilização"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Info Geral"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface do Utilizador"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Efectuado"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Outros Controlos"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2743,68 +3142,81 @@ msgstr "Play Count"
msgid "Timer"
msgstr "Temporizador"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Seleccione cheat para atribuir hotkey"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "pressione botão para hotkey ou espere"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Nenhum"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Efectuado"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Fixar"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Atribuir hotkeys"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Activado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Ligado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Desligado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s adicionado"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Comando"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "MAMEscore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Recordes"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Histórico"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2816,334 +3228,157 @@ msgstr ""
"--- INFO de DRIVER ---\n"
"Driver: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "MAMEscore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Gravar Cheat"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Padrão"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Personalizado"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Nome da Cheat"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Nome padrão é %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Jogador"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Tipo"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Gravar"
-
-#: plugins/cheatfind/init.lua:462
-#, 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
-msgid "Cheat added to cheat.simple"
-msgstr "Cheat adicionada a cheat.simple"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Não foi possivel escrever ficheiro\n"
-"Assegurar que a pasta cheatpath existe"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU ou RAM"
-
-#: plugins/cheatfind/init.lua:495
-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: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
-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:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:676
-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:680
-msgid "Left equal to right with bitmask"
-msgstr "Esquerda igual a direita com bitmask"
-
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Esquerda diferente da direita com bitmask"
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Esquerda menor que valor"
-
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Esquerda maior que valor"
-
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Esquerda igual a valor"
-
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Esquerda diferente de valor"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Valor"
+#~ msgid "Backdrops"
+#~ msgstr "Fundos"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Sobreposições"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Qualquer"
+#~ msgid "Bezels"
+#~ msgstr "Molduras"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Formato de Dados"
+#~ msgid "CPanels"
+#~ msgstr "Painéis de Controlo"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Vista"
-#: 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 ""
+#~ msgid "Cropped"
+#~ msgstr "Cortada"
-#: 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 ""
+#~ msgid "Full"
+#~ msgstr "Completa"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "Dip Switches"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Seleccione possição do carregamento"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Seleccione posição de gravação"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Estado da Emulação de Teclado"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modo: Emulação PARCIAL"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Interface: Activa"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Use ScrLock para alternar**"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modo: Emulação COMPLETA"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Interface: Desactivada"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Auto-disparo não pode ser ativado"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Configurações de Auto-disparo"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Estado do Auto-disparo"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Não foram encontrados botões nesta máquina!"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Atraso do Auto-disparo"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Modo de Teclado:"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Gravar configuração da máquina"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Undo da última procura -- #"
+#~ msgid "Configure machine:"
+#~ msgstr "Configurar máquina:"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Match bloco"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Suporta Cocktail\tSim\n"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Todos"
+#~ 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"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Re-seleccionar última máquina usada"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Motor de cheats não disponível"
+#~ msgid "Refresh speed"
+#~ msgstr "Velocidade de Refrescamento"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Teste"
+#~ msgid "Artwork Crop"
+#~ msgstr "Crop de Artwork"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Escrever"
+#~ msgid "Use Backdrops"
+#~ msgstr "Usar Fundos"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Monitorizar"
+#~ msgid "Use Overlays"
+#~ msgstr "Usar Sobreposições"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Página"
+#~ msgid "Use Bezels"
+#~ msgstr "Usar Molduras"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Limpar Monitorizações"
+#~ msgid "Use Control Panels"
+#~ msgstr "Usar painéis de Controlo"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Cheat Finder"
+#~ msgid "Use Marquees"
+#~ msgstr "Usar Tabuletas"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Snapshot Bi-linear"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "O software selecionado tem uma ou mais ROM ou imagens CHD necessárias em "
+#~ "falta. Por favor selecione uma diferente."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "pressione botão para hotkey ou espere"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Dados limpos e estado actual gravado"
diff --git a/language/Portuguese_Brazil/strings.po b/language/Portuguese_Brazil/strings.po
index 1d7f8813fd7..34573fb3f4e 100644
--- a/language/Portuguese_Brazil/strings.po
+++ b/language/Portuguese_Brazil/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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2019-03-17 02:30-0300\n"
"Last-Translator: Katananja, Ashura-X\n"
"Language-Team: MAME Language Team\n"
@@ -18,1805 +18,2095 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Tela #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotação"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Planos de fundo"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pressione qualquer tecla para continuar"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreposição"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Molduras"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Tem certeza que deseja sair?\n"
+"\n"
+"Pressione ''%1$s'' para sair,\n"
+"Pressione ''%2$s'' para retornar à emulação."
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquises"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volume Principal"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Visualizar"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume com %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Recortado"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Cheio"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s som"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Taxa de Atualização da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Software em Mídia"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brilho da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Interface do Usuário"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Idioma"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gama da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Amostras"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Extensão Horizontal da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posição Horizontal da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Extensão Vertical da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "INIs de Categoria"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "Posição Vertical da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ícones"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Extensão Horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Trapaças"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Posição Horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Retratos"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Extensão Vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Gabinetes"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Posição Vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Panfletos"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Cintilação Vetorial"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títulos"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Largura Mínima do Feixe de Luz"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finais"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Largura Máxima do Feixe de Luz"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Painéis de Controle"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Intensidade do tamanho do Feixe de Luz"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Miras"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala da Mira da %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Obras de arte"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Chefes"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Amostra das Artes"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Compensação da Mira %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecionado"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Fim do Jogo"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Como"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Placares"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala da Mira X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Capas"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala da Mira Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Configuração de Diretórios"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Compensação da Mira X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "%1$s Diretórios Atuais"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Compensação da Mira Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Mudar o Diretório"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erro ao salvar ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Adicionar Diretório"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erro ao salvar %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Remover Diretório"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Configuração salva \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Mudar %1$s Diretório(s) - Pesquisa: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" adicionado à lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Adicionar %1$s Diretório(s) - Pesquisa: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Pressione TAB para definir"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" removido da lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Remover %1$s Diretório(s)"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Lista de Seleção - Pesquisa: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d pacotes do programa )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, 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 "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista de programas "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "parado"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Pesquisa: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "jogando"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Pesquisa: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(jogando)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "gravando"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(gravando)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Entradas Gerais"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pausar/Parar"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Salvar Configuração"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Jogar"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Configurações"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Gravar"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtro"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Retroceder"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personalizar a Interface"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avanço Rápido"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configurar Diretórios"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[slot vazio]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[gerenciador de arquivos]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[criar]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[lista de programa]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Alterar Ordem dos Itens"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Ordem Alterada: Entradas agora ordenadas por %s"
+msgid "Error accessing %s"
+msgstr "Erro ao acessar %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nome curto"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Selecione o modo de acesso"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "descrição"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Somente-leitura"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[listas compatíveis]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Somente-escrita"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Uso do Programa"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Ler esta imagem, escrever para outra imagem"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisão: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Ler esta imagem, escrever para diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "O Arquivo já Existe - Sobrescrever?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Diversas Opções"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Não"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sim"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo Nome da Imagem:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Aumentar as imagens no painel direito"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato da Imagem:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Trapaças"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Criar"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Exibir o ponteiro do mouse"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confirmar saída das máquinas"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Selecione o formato da imagem"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Omitir a tela de informações ao iniciar"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (geral)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Manter aspecto 4:3 para os instantâneos da tela"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (esta máquina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Usar imagem como plano de fundo"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controles Analógicos"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Omitir a tela de seleção da BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Chaves DIP"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Omitir partes do cardápio de seleção de software"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuração da Máquina"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Informação automática de aferição"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Informação de Contabilidade"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Esconder máquinas sem roms da lista de disponíveis"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informação da Máquina"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Opções Avançadas"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informação da Imagem"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Opções de Performance"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gerenciador de Arquivos"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Salto de quadro Automático"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controle da Fita"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Salto de quadro"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Suprimir"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Seleção de BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Dispositivos de Slot"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Dormir"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Leitor de código de barras"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Velocidade"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de redes"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo Teclado"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controles Deslizantes"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Opções de Rotação"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotação"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opções de Mira"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rotacionar para direita"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trapaça"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rotacionar para esquerda"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opções dos Plug-ins"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Auto rotacionar para direita"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualização de DAT Externa"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Auto rotacionar para esquerda"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Giro X"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Giro Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Escolher Nova Máquina"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Opções de Obra de arte"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novo Código de Barras:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Digite o Código"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Opções de Estado/Playback"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Tamanho do código de barras inválido"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Salvar/Restaurar Automático"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falhou]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Função de rebobinamento"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entradas Gerais"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Salvar Configuração"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Burn-in"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Configurações"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Opções de Entrada"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Trava da ficha"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar a Interface"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Mouse"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar Diretórios"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Controle"
-#: 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 ""
-"Está faltando uma ou mais imagens ROM ou CHD no jogo selecionado. Por favor, "
-"selecione um jogo diferente.\n"
-"\n"
-"Pressione qualquer tecla para continuar."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Pistola de Luz"
-#: 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 ""
-"Nenhuma máquina encontrada. Por favor, verifique o caminho rompath especificado "
-"no arquivo %1$s.ini .\n"
-"\n"
-"Se esta é a sua primeira vez usando %2$s, por favor, veja o arquivo config."
-"txt no diretório de documentos para informação sobre a configuração do %2$s."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Teclado Múltiplo"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Opções de Configuração"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Mouse Múltiplo"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Digite o nome ou selecione: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Steadykey"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Digite o nome ou selecione: (aleatório)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "IU ativa"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Recarga Fora da tela"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Zona morta do Controle"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Saturação do Controle"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Teclado Natural"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Contra-diretório Simultâneo"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Geral: Funcionando"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Impulso da Ficha"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mapeamento de Dispositivo"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Atribuição do Dispositivo Pistola de Luz"
-#: 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/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Atribuição do Dispositivo Trackball"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Som: Nenhum"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Atribuição do Dispositivo Pedal"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Atribuição do Dispositivo Adstick"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Som: Imperfeito"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Atribuição do Dispositivo Paddle"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Som: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Atribuição do Dispositivo Dial"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carregar Estado"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Atribuição do Dispositivo Posicional"
-#: 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/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Atribuição do Dispositivo Mouse"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Salvar Estado"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Opções de Vídeo"
-#: 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/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Modo de Vídeo"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Número de Telas"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Buffering Triplo"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulação PARCIAL"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "IU: Ativo"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Filtragem Bilinear"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulação COMPLETA"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Pré-escala de Bitmap"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "IU: Desativado"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Modo de janela"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Fogo automático não pode ser ativado"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Manter a proporção da tela"
-#: 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 ""
-"Tem certeza que deseja sair?\n"
-"\n"
-"Pressione ''%1$s'' para sair,\n"
-"Pressione ''%2$s'' para retornar à emulação."
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Iniciar Maximizado"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Principal"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Atualização Sincronizada de Quadros"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume com %1$s"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Aguardar Sincronismo Vertical"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Ligado"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s som"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Desligado"
-#: 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/menu.cpp:678
+msgid "Auto"
+msgstr "Automático"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brilho da %1$s"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste da %1$s"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Voltar à Máquina"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "Gama da %1$s"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Sair"
-#: 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/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Voltar ao Menu Anterior"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posição Horizontal da %1$s"
+msgid "Screen #%d"
+msgstr "Tela #%d"
-#: 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/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: 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/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Cintilação Vetorial"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largura Mínima do Feixe de Luz"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "proteção"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largura Máxima do Feixe de Luz"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "temporização"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensidade do tamanho do Feixe de Luz"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "gráficos"
-#: 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/info.cpp:34
+msgid "color palette"
+msgstr "paleta de cor"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "som"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr "capturar hardware"
-#: 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/info.cpp:37
+msgid "camera"
+msgstr "câmera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "microfone"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "controles"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "teclado"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "mouse"
-#: 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/info.cpp:42
+msgid "media"
+msgstr "mídia"
-#: 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/info.cpp:43
+msgid "disk"
+msgstr "disco"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "impressora"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr "fita magnética"
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr "fita de dados em papel perfurado"
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr "cabeçote magnético"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erro ao salvar ui.ini**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr "armazenamento em estado sólido"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erro ao salvar %s.ini**"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
+msgstr "comunicações"
+
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "REDE"
+
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "WAN"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Configuração salva \n"
+msgstr ""
+"Existem problemas conhecidos com essa máquina\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Descrição da Trapaça:\n"
-"%s"
+"Uma ou mais imagens de ROMs ou CHDs não foram extraídas corretamente para "
+"essa máquina \n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Todas as trapaças foram recarregadas"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Recursos não emulados por completo: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Configurações do Fogo automático"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar Tudo"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recarregar Tudo"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Características emuladas imperfeitamente: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado do Fogo automático"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nenhum botão encontrado nesta máquina!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina precisa de arquivos externos de arte.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Atraso do Fogo automático"
+#: src/frontend/mame/ui/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" adicionado à lista de favoritos."
+"\n"
+"\n"
+"Existem clones que funcionam com esta máquina: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" removido da lista de favoritos."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Está faltando um ou mais arquivos necessários no programa selecionado. Por "
-"favor, escolha outro.\n"
"\n"
+"Som:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vídeo:\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Nenhum\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vetorial"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d pacotes do programa )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista de programas "
+msgid "Screen '%1$s'"
+msgstr "Tela '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Tela"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Sem suporte"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Suporte Parcial"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vazio]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[gerenciador de arquivos]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Alterar Ordem dos Itens"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Pesquisa: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Ordem Alterada: Entradas agora ordenadas por %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nome curto"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "descrição"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[listas compatíveis]"
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "O Arquivo já Existe - Sobrescrever?"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr "Não"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Selecione o formato da imagem"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Modo Teclado"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natural"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulado"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Pesquisa: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Ativado"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Desativado"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Não Filtrado"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Disponível"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Não Disponível"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Funcionando"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Não está funcionando"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mecânico"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Não Mecânico"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Categoria"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoritos"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Sem BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Pais"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Clones"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Fabricante"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Ano"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Com Suporte a Salvamento"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Sem Suporte a Salvamento"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD requerido"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Nenhum CHD requerido"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Tela Vertical"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Tela Horizontal"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Filtro Personalizado"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Editor"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Tem Suporte"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Suporte Parcial"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Sem Suporte"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Região do Lançamento"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Tipo de Dispositivo"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Lista de Programas"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<Configurar Filtros>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Selecionar filtros personalizados:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Remover o último filtro"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Adicionar filtro"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Escolha uma categoria"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[arquivos INI sem categoria]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[sem grupos no arquivo INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Nenhum arquivo INI contendo categorias foram encontrados"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Arquivo"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Nenhum grupo encontrado no arquivo de categoria"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Grupo"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Incluir clones"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[criar]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Uso do Programa"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Erro ao acessar %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisão: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selecione o modo de acesso"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reiniciar"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Somente-leitura"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Somente-escrita"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, 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/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Ler esta imagem, escrever para outra imagem"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Bilhetes emitidos: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Ficha %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Ficha %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr "(travado)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " CORES"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " CANETAS"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Voltar à Máquina"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Atraso Visível"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Sair"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml foi salvo no diretório ui."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nome: Descrição:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt salvo no diretório ui."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista em formato XML (igual -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automático"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Mostrar Tudo"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista em formato TXT (igual -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Esconder Filtros"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Esconder Info/Imagem"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Esta máquina não possui BIOS"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Esconder Ambos"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Adicionar aos Favoritos"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Fontes"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Remover dos Favoritos"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Cores"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Mostrar painéis laterais"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Personalizações da Interface"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (padrão)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "padrão"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plug-ins"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Tipografia da Interface"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminais"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Negrito"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falhou]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Itálico"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linhas"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Carregar Estado"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Tamanho do texto de informações"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Configurações das Fontes da Interface"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Salvar Estado"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "Exemplo - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Texto Normal"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Cor Selecionada"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interface do usuário"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Fundo do texto normal"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Cor de fundo selecionada"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Outros Controles"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Cor do Subitem"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Borda"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Fundo"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Chave DIP"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Cor indisponível"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Cor do controle deslizante"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Fundo do visualizador GFX"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Cor de sobreposição do mouse"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "parado"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Cor de fundo da sobreposição do mouse"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "jogando"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Cor de fundo da subposição do mouse"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(jogando)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Cor de fundo da subposição do mouse"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "gravando"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaurar as cores originais"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(gravando)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Configurações de cores da Interface"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pausar/Parar"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Faça um clique duplo ou pressione %1$s para mudar o valor da cor"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Jogar"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menu de Visualização"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Gravar"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Retroceder"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Subitem"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avanço Rápido"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Selecionado"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Não pode salvar sobre o diretório"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Sobreposição do mouse"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Configurações ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Está faltando uma ou mais imagens ROM ou CHD no jogo selecionado. Por favor, "
+"selecione um jogo diferente.\n"
+"\n"
+"Pressione qualquer tecla para continuar."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Opacidade"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Nenhuma máquina encontrada. Por favor, verifique o caminho rompath "
+"especificado no arquivo %1$s.ini .\n"
+"\n"
+"Se esta é a sua primeira vez usando %2$s, por favor, veja o arquivo config."
+"txt no diretório de documentos para informação sobre a configuração do %2$s."
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Vermelho"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Opções de Configuração"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Verde"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Digite o nome ou selecione: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Azul"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Digite o nome ou selecione: (aleatório)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Escolha da paleta"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Visualização da cor ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Branco"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Geral: NÃO FUNCIONA"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Prata"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Geral: Proteção Não Emulada"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Cinza"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Geral: Funcionando"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Preto"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: Não Implementado"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Laranja"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfeitos, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Amarelo"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Gráficos: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violeta"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Som: Nenhum"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo Teclado"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Som: Não Implementado"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Som: Imperfeito"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Som: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Tempo em execução: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Descrição da Trapaça:\n"
+"%s"
-#: 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/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Todas as trapaças foram recarregadas"
-#: 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/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Reiniciar Tudo"
-#: 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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Recarregar Tudo"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr "(travado)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Software em Mídia"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Atraso Visível"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Interface do Usuário"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Idioma"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrição:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Amostras"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "INIs de Categoria"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ícones"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Retratos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Gabinetes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Panfletos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Títulos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Finais"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCBs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquises"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Painéis de Controle"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Miras"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Obras de arte"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Chefes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Amostra das Artes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Selecionado"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Fim do Jogo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Como"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Placares"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Capas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Configuração de Diretórios"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt salvo no diretório ui."
+msgid "Current %1$s Folders"
+msgstr "%1$s Diretórios Atuais"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Mudar o Diretório"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Adicionar Diretório"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Remover Diretório"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Mudar %1$s Diretório(s) - Pesquisa: %2$s_"
-#: 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/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Adicionar %1$s Diretório(s) - Pesquisa: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Salvar Configuração da Máquina"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Pressione TAB para definir"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Remover %1$s Diretório(s)"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (padrão)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " CORES"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plug-ins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " CANETAS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configurar a Máquina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Ano\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, 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:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Driver é Pai\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Controles Analógicos\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Entradas do Teclado\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Geral\tNÃO FUNCIONANDO\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Geral\tProteção não Emulada\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Geral\tFuncionando\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Geral\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Graficos\tCores Erradas\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Gráficos\tCores Imperfeitas\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Gráficos\tImperfeitos\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Gráficos\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Som\tNenhum\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Som\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Som\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Som\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr "Captura\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr "Captura\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Câmera\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Câmera\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Microfone\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Microfone\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Controles\tNão Implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Controles\tImperfeitos\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Teclado\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Teclado\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Mouse\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Mouse\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr "Mídia\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr "Mídia\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disco\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disco\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Impressora\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Impressora\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr "Fita Mag.\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr "Fita Mag.\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr "Fita Perfurada\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr "Fita Perfurada\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr "Cab. Mag.\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr "Cab. Mag.\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr "(EP)ROM\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr "(EP)ROM\tImperfeito\n"
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr "Comunicações\tNão Implementadas\n"
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr "Comunicações\tImperfeitas\n"
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tNão Implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Temporização\tNão Implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Temporização\tImperfeita\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Máquina Mecânica\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Máquina Mecânica\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Precisa de Arte\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Arte Requerida\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Necessita Arte Selecionável\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Há Suporte ao Modo Coquetel\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "O Driver é BIOS\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "O Driver é BIOS\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Há Suporte para Salvamento\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Há Suporte para Salvamento\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Orientação de tela\tVertical\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Orientação de tela\tHorizontal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Precisa de CHD\tSim\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Precisa de CHD\tNão\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "Condição da ROM\tBOA\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "Condição da ROM\tRUIM\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Condição das Amostras\tNenhuma Necessária\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Condição das Amostras\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Condição das Amostras\tRUIM\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1824,344 +2114,520 @@ msgstr ""
"Aferição de ROM \tDesativado\n"
"Aferição de Amostras \tDesativado\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Lista de Seleção - Pesquisa: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, c-format
+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/auditmenu.cpp:100
+#, 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/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(os resultados serão salvos em %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
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"
+"Auditando as ROMs para a máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Som"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Iniciar Auditoria"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Taxa de Amostragem"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mostrar Tudo"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Usar Amostras Externas"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Esconder Filtros"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Diversas Opções"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Esconder Info/Imagem"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Selecione novamente a última máquina jogada"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Esconder Ambos"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Aumentar as imagens no painel direito"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Fontes"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Exibir o ponteiro do mouse"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Cores"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirmar saída das máquinas"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Mostrar painéis laterais"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Omitir a tela de informações ao iniciar"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Personalizações da Interface"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Manter aspecto 4:3 para os instantâneos da tela"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "padrão"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Usar imagem como plano de fundo"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Tipografia da Interface"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Omitir a tela de seleção da BIOS"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Negrito"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Omitir partes do cardápio de seleção de software"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Itálico"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Informação automática de aferição"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linhas"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Esconder máquinas sem roms da lista de disponíveis"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Tamanho do texto de informações"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opções Avançadas"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Configurações das Fontes da Interface"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opções de Performance"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "Exemplo - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Salto de quadro Automático"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Texto Normal"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Salto de quadro"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Cor Selecionada"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Suprimir"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Fundo do texto normal"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Dormir"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Cor de fundo selecionada"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocidade"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Cor do Subitem"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Atualização de velocidade"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Clone"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Opções de Rotação"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Borda"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rotacionar para direita"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Fundo"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rotacionar para esquerda"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Chave DIP"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto rotacionar para direita"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Cor indisponível"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto rotacionar para esquerda"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Cor do controle deslizante"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Giro X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Fundo do visualizador GFX"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Giro Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Cor de sobreposição do mouse"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Opções de Obra de arte"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Cor de fundo da sobreposição do mouse"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Recorte da Arte"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Cor de fundo da subposição do mouse"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Usar Plano de Fundo"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Cor de fundo da subposição do mouse"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Usar Sobreposições"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaurar as cores originais"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Usar Molduras"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Configurações de cores da Interface"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Usar Painéis de Controle"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Faça um clique duplo ou pressione %1$s para mudar o valor da cor"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Usar Marquises"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menu de Visualização"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Opções de Estado/Playback"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Salvar/Restaurar Automático"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Subitem"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Função de rebobinamento"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Selecionado"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Retrato bilinear"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Sobreposição do mouse"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Configurações ARGB"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opções de Entrada"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Opacidade"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Trava da ficha"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Vermelho"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Mouse"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Verde"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Controle"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Azul"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Pistola de Luz"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Escolha da paleta"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Teclado Múltiplo"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Visualização da cor ="
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Mouse Múltiplo"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Branco"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Prata"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "IU ativa"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Cinza"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Recarga Fora da tela"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Preto"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Zona morta do Controle"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Laranja"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Saturação do Controle"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Amarelo"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Teclado Natural"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violeta"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Contra-diretório Simultâneo"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Impulso da Ficha"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novo Código de Barras:"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapeamento de Dispositivo"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Digite o Código"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Atribuição do Dispositivo Pistola de Luz"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Tamanho do código de barras inválido"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Atribuição do Dispositivo Trackball"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Entrada (geral)"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Atribuição do Dispositivo Pedal"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Entrada (esta máquina)"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Atribuição do Dispositivo Adstick"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Controles Analógicos"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Atribuição do Dispositivo Paddle"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Atribuição do Dispositivo Dial"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuração da Máquina"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Atribuição do Dispositivo Posicional"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Informação de Contabilidade"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Atribuição do Dispositivo Mouse"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informação da Máquina"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Modo de Vídeo"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Número de Telas"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informação da Imagem"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Buffering Triplo"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gerenciador de Arquivos"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Controle da Fita"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Seleção de BIOS"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtragem Bilinear"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Dispositivos de Slot"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Pré-escala de Bitmap"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Leitor de código de barras"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Modo de janela"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Dispositivos de redes"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Manter a proporção da tela"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Controles Deslizantes"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Iniciar Maximizado"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Opções de Mira"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Atualização Sincronizada de Quadros"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Trapaça"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Aguardar Sincronismo Vertical"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Opções dos Plug-ins"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Visualização de DAT Externa"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
+
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Escolher Nova Máquina"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Painéis de Controle"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Visualização da Obra de arte"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Fim de Jogo"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Adicionar ou remover favoritos"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exportar lista exibida para arquivo"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Mostrar visualização de DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Seleção por parte de Programa"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Seleção da BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programa é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Programa é pai"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Há Suporte: Não"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Há Suporte: Parcial"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Há Suporte: Sim"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "O Driver é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Driver é pai"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Imagens"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informações"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Pressione qualquer tecla para continuar"
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Uso"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Informações Gerais"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2178,7 +2644,7 @@ msgstr ""
"\n"
"A opção selecionada ativa os ítens a seguir:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2195,60 +2661,34 @@ msgstr ""
"\n"
"Se você selecionar essa opção, os ítens a seguir serão ativados:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Vídeo:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Tela '%1$s': Vetor\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Som:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2257,493 +2697,457 @@ msgstr ""
"* Configurações da BIOS:\n"
" %1$d opções [padrão: %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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [padrão: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr "* Configurações das chaves DIP:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr "* Definição das configurações:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Dispositivo(s) de entrada:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Entradas do usuário [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Entradas Mahjong [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Entrada Hanafuda [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Entradas para jogos de apostas [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, 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:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Entradas Reguladoras [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Entradas de teclado numérico [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Entradas de teclado [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr "* Opções de Mídia:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [tag: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr "* Opções de Slot:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr "[Nenhum]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Auditar as ROMS para %1$u máquinas marcadas como indisponíveis?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Salvar Trapaça"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Padrão"
-#: 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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Personalizado"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Iniciar Auditoria"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Nome da Trapaça"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Não pode salvar sobre o diretório"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "O nome padrão é %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Jogador"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Tipo"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporização"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Salvar"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de cor"
+#: plugins/cheatfind/init.lua:468
+#, 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"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "som"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "A trapaça foi adicionada ao arquivo cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr "capturar hardware"
+#: plugins/cheatfind/init.lua:483
+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"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "câmera"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Cancelar"
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfone"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "CPU ou RAM"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controles"
+#: plugins/cheatfind/init.lua:501
+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"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mouse"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr "mídia"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr "Modo de Pausa"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impressora"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr "fita magnética"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
+msgstr ""
+"Todos os slots foram apagados e a condição da memória atual foi salva no "
+"Slot 1"
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr "fita de dados em papel perfurado"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Iniciar nova pesquisa"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr "cabeçote magnético"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr "armazenamento em estado sólido"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr "comunicações"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "Um total de %d correspondências foram encontradas"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "REDE"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-"Existem problemas conhecidos com essa 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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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:208
-msgid "Completely unemulated features: "
-msgstr "Recursos não emulados por completo: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr "Esquerda menor que a direita"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
+msgstr "Esquerda maior que a direita"
-#: 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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Esquerda igual à direita"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Características emuladas imperfeitamente: "
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+msgstr "Esquerda não é igual à direita"
-#: 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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Esquerdo igual ao direito com bitmask"
-#: 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"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Esquerdo não igual ao direito com bitmask"
-#: 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"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Esquerdo menor do que o valor"
-#: 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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Esquerdo maior do que o valor"
-#: 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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Esquerda igual ao valor"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Esquerda não é igual ao valor"
-#: src/frontend/mame/ui/info.cpp:273
-#, 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Valor"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Pressione qualquer tecla para continuar"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
+msgstr "Diferença"
-#: 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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Qualquer"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Formato de dados"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
+msgstr "Testar/Escrever o Valor do Poke"
-#: src/frontend/mame/ui/info.cpp:350
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"Som:\n"
+"Use isto se quiser fazer um poke o Slot 1 (Quando você começa com algo mas o "
+"perde)"
-#: src/frontend/mame/ui/info.cpp:378
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Video:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Vídeo:\n"
+"Use isto se quiser fazer um poke com o valor do Último Slot (Quando você "
+"começa sem um item e depois você o consegue por exemplo)"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nenhum\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vetorial"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Desfazer a última pesquisa -- #"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Bloco com correspondência"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Tela '%1$s'"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Todos"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Tela"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Sem suporte"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "O mecanismo de trapaça não está disponível"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Suporte Parcial"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Teste"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vazio]"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Escrever"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Painéis de Controle"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Observador"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Visualização da Obra de arte"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Página"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fim de Jogo"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Limpar pontos de observação"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Adicionar ou remover favoritos"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Localizador de Trapaças"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar lista exibida para arquivo"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Salvar os nomes de entrada para o arquivo"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostrar visualização de DATs"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Erro ao salvar os nomes de entrada ao arquivo"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Seleção por parte de Programa"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "O Arquivo com o nome das portas de entrada foi salvo em %s"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Seleção da BIOS:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Portas de entrada"
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programa é clone de: %1$-.100s"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programa é pai"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Há Suporte: Não"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Há Suporte: Parcial"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Há Suporte: Sim"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "O Driver é clone de: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver é pai"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imagens"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informações"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Uso"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informações Gerais"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface do usuário"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Outros Controles"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Feito"
+
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2761,68 +3165,81 @@ msgstr "Contador de Jogadas"
msgid "Timer"
msgstr "Temporizador"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Selecione um atalho para a trapaça"
-#: plugins/cheat/init.lua:534
-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:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Nenhum"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Feito"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Definir"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Definir teclas de atalho"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Ativado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Ativado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Habilitado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Desabilitado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s adicionado"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Comando"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "MAMEscore"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Sysinfo"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Recordes"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Gameinit"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "História"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2834,336 +3251,260 @@ msgstr ""
"--- INFO do DRIVER ---\n"
"Driver: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "MESSinfo"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "MAMEscore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Sysinfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Gameinit"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Salvar Trapaça"
+#~ msgid "Backdrops"
+#~ msgstr "Planos de fundo"
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Padrão"
+#~ msgid "Overlays"
+#~ msgstr "Sobreposição"
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Personalizado"
+#~ msgid "Bezels"
+#~ msgstr "Molduras"
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Nome da Trapaça"
+#~ msgid "CPanels"
+#~ msgstr "CPanels"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "O nome padrão é %s"
+#~ msgid "View"
+#~ msgstr "Visualizar"
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Jogador"
+#~ msgid "Cropped"
+#~ msgstr "Recortado"
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Tipo"
+#~ msgid "Full"
+#~ msgstr "Cheio"
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Salvar"
+#~ msgid "Dip Switches"
+#~ msgstr "Chaves DIP"
-#: plugins/cheatfind/init.lua:462
-#, 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"
+#~ msgid "Select position to load from"
+#~ msgstr "Selecione a posição para carregar de"
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "A trapaça foi adicionada ao arquivo cheat.simple"
+#~ msgid "Select position to save to"
+#~ msgstr "Selecione a posição para salvar em"
-#: plugins/cheatfind/init.lua:477
-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"
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Estado da Emulação do Teclado"
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Cancelar"
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modo: Emulação PARCIAL"
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "CPU ou RAM"
+#~ msgid "UI: Enabled"
+#~ msgstr "IU: Ativo"
-#: plugins/cheatfind/init.lua:495
-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"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Usar ScrLock para alternar"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr "Modo de Pausa"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modo: Emulação COMPLETA"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr "Pause Manualmente & libere o jogo quando for necessário usando a tecla para o atalho pause"
+#~ msgid "UI: Disabled"
+#~ msgstr "IU: Desativado"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr "Todos os slots foram apagados e a condição da memória atual foi salva no Slot 1"
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Fogo automático não pode ser ativado"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Iniciar nova pesquisa"
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr "A Condição da Memória foi Salva no Slot %d"
+#~ msgid "Autofire Settings"
+#~ msgstr "Configurações do Fogo automático"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr "Salvar a Condição Atual da Memória para o Slot"
+#~ msgid "Autofire Status"
+#~ msgstr "Estado do Fogo automático"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "Um total de %d correspondências foram encontradas"
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Nenhum botão encontrado nesta máquina!"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr "Fazer uma Comparação : "
+#~ msgid "Autofire Delay"
+#~ msgstr "Atraso do Fogo automático"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr "Esquerda menor que a direita"
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Está faltando um ou mais arquivos necessários no programa selecionado. "
+#~ "Por favor, escolha outro.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr "Esquerda maior que a direita"
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Modo Teclado"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Esquerda igual à direita"
+#~ msgid "Save machine configuration"
+#~ msgstr "Salvar Configuração da Máquina"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr "Esquerda não é igual à direita"
+#~ msgid "Configure machine:"
+#~ msgstr "Configurar máquina:"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Esquerdo igual ao direito com bitmask"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Há Suporte ao Modo Coquetel\tSim\n"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Esquerdo não igual ao direito com bitmask"
+#~ 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"
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Esquerdo menor do que o valor"
+#~ msgid "Re-select last machine played"
+#~ msgstr "Selecione novamente a última máquina jogada"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Esquerdo maior do que o valor"
+#~ msgid "Refresh speed"
+#~ msgstr "Atualização de velocidade"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Esquerda igual ao valor"
+#~ msgid "Artwork Crop"
+#~ msgstr "Recorte da Arte"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Esquerda não é igual ao valor"
+#~ msgid "Use Backdrops"
+#~ msgstr "Usar Plano de Fundo"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Valor"
+#~ msgid "Use Overlays"
+#~ msgstr "Usar Sobreposições"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr "Diferença"
+#~ msgid "Use Bezels"
+#~ msgstr "Usar Molduras"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Qualquer"
+#~ msgid "Use Control Panels"
+#~ msgstr "Usar Painéis de Controle"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Formato de dados"
+#~ msgid "Use Marquees"
+#~ msgstr "Usar Marquises"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr "Testar/Escrever o Valor do Poke"
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Retrato bilinear"
-#: 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 "Use isto se quiser fazer um poke o Slot 1 (Quando você "
-"começa com algo mas o perde)"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: 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 "Use isto se quiser fazer um poke com o valor do Último Slot (Quando você começa "
-"sem um item e depois você o consegue por exemplo)"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr "Use isto se quiser fazer um poke com 0x00"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr "Use isto se quiser fazer um poke com 0x01"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr "Use isto se quiser fazer um poke com 0x02"
+#, 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"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr "Use isto se quiser fazer um poke com 0x03"
+#, 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"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr "Use isto se quiser fazer um poke com 0x04"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr "Use isto se quiser fazer um poke com 0x05"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr "Use isto se quiser fazer um poke com 0x06"
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ 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."
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr "Use isto se quiser fazer um poke com 0x07"
+#~ 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"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr "Use isto se quiser fazer um poke com 0x08"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Pressione uma tecla para criar um atalho ou aguarde para limpar"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr "Use isto se quiser fazer um poke com 0x09"
+#~ msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#~ msgstr ""
+#~ "Pause Manualmente & libere o jogo quando for necessário usando a tecla "
+#~ "para o atalho pause"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr "Use isto se quiser fazer um poke com 0x63 (Decimal 99)"
+#, lua-format
+#~ msgid "Memory State saved to Slot %d"
+#~ msgstr "A Condição da Memória foi Salva no Slot %d"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr "Use isto se quiser fazer um poke com 0x99 (BCD 99)"
+#~ msgid "Save Current Memory State to Slot "
+#~ msgstr "Salvar a Condição Atual da Memória para o Slot"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr "Use isto se quiser fazer um poke com 0xFF (Decimal 255)"
+#~ msgid "Perform Compare : "
+#~ msgstr "Fazer uma Comparação : "
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr "Use isto se quiser fazer um poke com 0x3E7 (Decimal 999)"
+#~ msgid "Use this if you want to poke 0x00"
+#~ msgstr "Use isto se quiser fazer um poke com 0x00"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr "Use isto se quiser fazer um poke com 0x9999 (BCD 999)"
+#~ msgid "Use this if you want to poke 0x01"
+#~ msgstr "Use isto se quiser fazer um poke com 0x01"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr "Use isto se quiser fazer um poke com 0x27F (Decimal 9999)"
+#~ msgid "Use this if you want to poke 0x02"
+#~ msgstr "Use isto se quiser fazer um poke com 0x02"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr "Use isto se quiser fazer um poke com 0x9999 (BCD 9999)"
+#~ msgid "Use this if you want to poke 0x03"
+#~ msgstr "Use isto se quiser fazer um poke com 0x03"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr "Use isto se quiser fazer um poke com 0xFFFF (Decimal 65535)"
+#~ msgid "Use this if you want to poke 0x04"
+#~ msgstr "Use isto se quiser fazer um poke com 0x04"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Desfazer a última pesquisa -- #"
+#~ msgid "Use this if you want to poke 0x05"
+#~ msgstr "Use isto se quiser fazer um poke com 0x05"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Bloco com correspondência"
+#~ msgid "Use this if you want to poke 0x06"
+#~ msgstr "Use isto se quiser fazer um poke com 0x06"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Todos"
+#~ msgid "Use this if you want to poke 0x07"
+#~ msgstr "Use isto se quiser fazer um poke com 0x07"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr "Testar Trapaça %08X:%02X"
+#~ msgid "Use this if you want to poke 0x08"
+#~ msgstr "Use isto se quiser fazer um poke com 0x08"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "O mecanismo de trapaça não está disponível"
+#~ msgid "Use this if you want to poke 0x09"
+#~ msgstr "Use isto se quiser fazer um poke com 0x09"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Teste"
+#~ msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x63 (Decimal 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Escrever"
+#~ msgid "Use this if you want to poke 0x99 (BCD 99)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x99 (BCD 99)"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Observador"
+#~ msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#~ msgstr "Use isto se quiser fazer um poke com 0xFF (Decimal 255)"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Página"
+#~ msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x3E7 (Decimal 999)"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Limpar pontos de observação"
+#~ msgid "Use this if you want to poke 0x999 (BCD 999)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x9999 (BCD 999)"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Localizador de Trapaças"
+#~ msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x27F (Decimal 9999)"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Salvar os nomes de entrada para o arquivo"
+#~ msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#~ msgstr "Use isto se quiser fazer um poke com 0x9999 (BCD 9999)"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Erro ao salvar os nomes de entrada ao arquivo"
+#~ msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#~ msgstr "Use isto se quiser fazer um poke com 0xFFFF (Decimal 65535)"
-#: plugins/portname/init.lua:167
#, 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
-msgid "Input ports"
-msgstr "Portas de entrada"
+#~ msgid "Test Cheat %08X:%02X"
+#~ msgstr "Testar Trapaça %08X:%02X"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Os dados foram limpos e o estado atual foi salvo"
diff --git a/language/Romanian/strings.po b/language/Romanian/strings.po
index aa179ec3270..669d7e3faa8 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,3049 +19,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Russian/strings.po b/language/Russian/strings.po
index 9cccdd01649..f250ef545f3 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2017-10-23 16:22+0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,2146 +19,2609 @@ 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
-#, c-format
-msgid "Screen #%d"
-msgstr "Экран #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Нажмите любую клавишу для продолжения"
-#: 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/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "Этот драйвер требует загрузки образов в следующие устройства: "
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Оверлеи"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Обрамления"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Панели"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Маркизы"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Общая громкость"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Вид"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Громкость"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Урезанный"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Разгон процессора %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Полный"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Разгон %1$s звука"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMы"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Частота обновления"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Носители Информации"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Яркость"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Интерфейс"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Контраст"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Язык"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Гамма"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Сэмплы"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s гориз. размер"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT-файлы"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s гориз. позиция"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI-файлы"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s верт. размер"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "INI категорий"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s верт. позиция"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Иконки"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Лазердиск '%1$s' гориз. размер"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Читы"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Лазердиск '%1$s' гориз. позиция"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Снимки экрана"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Лазердиск '%1$s' верт. размер"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Кабинеты"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Лазердиск '%1$s' верт. позиция"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Буклеты"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Мерцание луча"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Титулы"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Минимальная ширина луча"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Концовки"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Максимальная ширина луча"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Платы"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Панели управления"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Насыщенность луча"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Прицелы"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Масштаб прицела %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Элементы оформления"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Боссы"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Предпросмотр оформления"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Смещение прицела %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Выбор"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3dдБ"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "КонецИгры"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Обучение"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Логотипы"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Таблицы рекордов"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Против"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Масштаб прицела X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Обложки"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Масштаб прицела Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Установки папок"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Смещение прицела X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Текущий %1$s Папок"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Смещение прицела Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Изменить папку"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Ошибка сохранения ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Добавить папку"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Ошибка сохранения %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Удалить папку"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Настройки сохранены \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Изменить папку %1$s - Поиск: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" добавлен в список избранного."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Добавить папку %1$s - Поиск: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Нажмите TAB для выбора"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" убран из списка избранного."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Убрать папку %1$s"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Список выбора - Поиск: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d пакетов программ )"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Кликние два раза или нажмите %1$s для выбора"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Драйвер: \"%1$s\" списков программ "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "остновлено"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Поиск: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "проигрывается"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Поиск: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(проигрывается)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "записывается"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Настройки звука"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(записывается)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Управление (общее)"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Пауза/Стоп"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Сохранить настройки"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Воспроизведение"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Настройки"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Запись"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Фильтр"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Перемотка"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Настройка интерфейса"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Быстрая перемотка"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Настройки путей"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[пустой слот]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[менеджер файлов]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[создать]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[список ПО]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Сменить порядок элементов"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Изменен порядок: записи теперь упорядочены по %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "сокращенное имя"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Выберите режим доступа"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "описание"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Только чтение"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[совместимые списки]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Чтение-запись"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Использование ПО"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Чтение из этого образа, запись в другой"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Ревизия: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Чтение из этого образа, запись в diff"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Файл уже существует - Заменить?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Дополнительные настройки"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Нет"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Да"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Новый образ:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Увеличивать изображения на правой панели"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Формат образа:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Читы"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Создать"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Отображать указатель мыши"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Введите также расширение файла"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Подтверждать выход из эмуляции"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Выберите формат образа"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Пропустить сведения о системе при запуске"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Управление (общее)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Принудительно 4:3 при просмотре снимков экрана"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Управление (эта система)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Использовать изображение как задний фон"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Аналоговое управление"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Пропускать меню выбора BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-переключатели"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Пропускать меню выбора частей ПО"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Настройки системы"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Авто-проверка инфо"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Статистика игры"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Скрывать из списка доступных системы без ROM"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Информация о системе"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Дополнительные настройки"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Информация о образах"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Настройки производительности"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Файловый менеджер"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Авто-пропуск кадров"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Управление лентой"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Пропуск кадров"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Псевдо-терминалы"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Троттлинг"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Выбор BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Подключаемые устройства"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Спать"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Сканер штрих-кодов"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Скорость"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Сетевые устройства"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Режим клавиатуры"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Управление слайдерами"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Настройки поворота"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Настройки видео"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Поворот"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Настройки прицела"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Поворот вправо"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Читы"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Поворот влево"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Настройки плагинов"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Авто-поворот вправо"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Просмотр DAT-файлов"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Авто-поворот влево"
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Добавить в Избранное"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr "Отражение по горизонтали"
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Удалить из Избранного"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Отражение по вертикали"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Выбрать новую систему"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Настройки оформления"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Новый штрихкод:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Введите код"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Настройки сохранения/воспроизведения"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Не верная длина штрих-кода!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Автоматическое сохранение/загрузка"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[не удалось]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Настройки звука"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Управление (общее)"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Сохранить настройки"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Сгорание"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Настройки"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Настройки ввода"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Фильтр"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Блокировка монетоприемника"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Настройка интерфейса"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Мышь"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Настройки путей"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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 ""
-"Для выбранной игры отсутствует один или более необходимых образов ROM или "
-"CHD. Пожалуйста, выберите другую игру.\n"
-"\n"
-"Нажмите любую клавишу для продолжения."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+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 ""
-"Не найдено систем. Пожалуйста, проверьте rompath указанный в файле %1$s."
-"ini.\n"
-"\n"
-"Если вы в первый раз используете %2$s, пожалуйста, посмотрите файл config."
-"txt в директории docs, чтобы получить информацию о настройке %2$s."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Мульти-клавиатура"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Изменение настроек"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Мульти-мышь"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Введите имя или выберите: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Задержка нажатий"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Введите имя или выберите: (случайно)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Мертвая зона джойстика"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Драйвер: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Сатурация джойстика"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "В целом: НЕ РАБОТАЕТ"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Обычная клавиатура"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "В целом: Не эмулируется защита"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Одновременно противоположные направления"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "В целом: Работает"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Время импульса монеты"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Графика: Не эмулируется, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Устройства управления"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Графика: Не идеально, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Назначение устройства светового пистолета"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Графика: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Назначение устройства трекбола"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Звук: Отсутствует"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Назначение устройства педали"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Звук: Не эмулируется"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Назначение устройства AD-стика"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Звук: Не идеально"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Назначение устройства Paddle"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Звук: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Назначение устройства Dial"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Загрузить сохранение"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Назначение позиционного устройства"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Укажите слот загрузки"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Назначение устройства мыши"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Записать сохранение"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Настройки видео"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Укажите слот сохранения"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+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:116
+msgid "Number Of Screens"
+msgstr "Число экранов"
-#: 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:118
+msgid "Triple Buffering"
+msgstr "Тройная буферизация"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Режим: ЧАСТИЧНАЯ эмуляция"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Включен"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+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:122
+msgid "Bilinear Filtering"
+msgstr "Билинейная фильтрация"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Режим: ПОЛНАЯ эмуляция"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Пре-масштабирование битмапов"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Выключен"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Оконный режим"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Авто-огонь не может быть включен"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+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/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Открывать максимизированным"
+
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Синхронизированное обновление"
+
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Ожидать вертикальную синхронизацию"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Вкл"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Выкл"
+
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Авто"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-"Вы действительно хотите выйти?\n"
-"\n"
-"Нажмите ''%1$s'' для выхода,\n"
-"Нажмите ''%2$s'' для возврата к эмуляции."
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Общая громкость"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Возврат к эмуляции"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Громкость"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Выход"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Разгон процессора %1$s"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Возврат в предыдущее меню"
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Разгон %1$s звука"
+msgid "Screen #%d"
+msgstr "Экран #%d"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Частота обновления"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Яркость"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Контраст"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Гамма"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s гориз. размер"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s гориз. позиция"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s верт. размер"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s верт. позиция"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "защита"
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Лазердиск '%1$s' гориз. размер"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "скорость"
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Лазердиск '%1$s' гориз. позиция"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "графика"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Лазердиск '%1$s' верт. размер"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "цветовая палитра"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Лазердиск '%1$s' верт. позиция"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "звук"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Мерцание луча"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Минимальная ширина луча"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "камера"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Максимальная ширина луча"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "микрофон"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Насыщенность луча"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "управление"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Масштаб прицела %1$s"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "клавиатура"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "мышь"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: 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/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Смещение прицела %1$s"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3dдБ"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: 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:230
+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: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/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
+"Имеются известные проблемы с этой системой\n"
+"\n"
-#: 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/info.cpp:245
+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:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Масштаб прицела X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Полностью не эмулируются возможности: "
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Масштаб прицела Y %1$1.3f"
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Смещение прицела X %1$1.3f"
+msgid ", %s"
+msgstr ""
-#: 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/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Несовершенно эмулируемые возможности: "
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Ошибка сохранения ui.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Переворот экрана в режиме коктейль-стола не поддерживается.\n"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Ошибка сохранения %s.ini**"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Эта система требует внешние графические файлы.\n"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-"\n"
-" Настройки сохранены \n"
-"\n"
+"Разработка этой системы так и не была завершена. Может наблюдаться странное "
+"поведение или отсутсвующие элементы. Это не является ошибками эмуляции.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-"Коментарий чита:\n"
-"%s"
+"У этой системы нет звукового оборудования, в процессе эмуляции не будет "
+"никаких звуков, так и должно быть.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Все читы перезагружены"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Настройка авто-огня"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Сбросить все"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Известные работающие clones этой системы: %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Перезагрузить все"
+#: src/frontend/mame/ui/info.cpp:339
+#, 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/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Состояние"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "У этой системы нет кнопок огонь!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "МГц"
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Частота"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "кГц"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
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
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-"%s\n"
-" убран из списка избранного."
+"\n"
+"Звук:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\n"
msgstr ""
-"Для выбранного ПО отсутствует один или несколько необходимых файлов. "
-"Пожалуйста, выберите другую программу.\n"
"\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/info.cpp:432
+msgid "None\n"
+msgstr "Нет\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Векторный"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d пакетов программ )"
+msgid "%1$s: %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Драйвер: \"%1$s\" списков программ "
+msgid "Screen '%1$s'"
+msgstr "Экран '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Экран"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Не поддерживается"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Частично поддерживается"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[пусто]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[менеджер файлов]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Сменить порядок элементов"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Поиск: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Изменен порядок: записи теперь упорядочены по %s"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "сокращенное имя"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "описание"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+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:1045
+msgid "No"
+msgstr "Нет"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "Создать"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Введите также расширение файла"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "Выберите формат образа"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Режим клавиатуры"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Обычная"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Эмулируется"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Поиск: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Включен"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Выключен"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Без фильтра"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Имеющиеся"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Отсутсвующие"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Работают"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Не работают"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Механические"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Не механические"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Категории"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Избранное"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Не BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Производитель"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Год"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Есть сохранения"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Нет сохранений"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "Требуют CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Не требуют CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Вертикальный экран"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Горизонтальный экран"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Пользовательский фильтр"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Издатель"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Поддерживается"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Частично поддерживается"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Не поддерживается"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Регион распространения"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Тип устройства"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Список ПО"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<настроить фильтры>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Выберите пользовательские фильтры:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Фиьтр %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Удалить последний фильтр"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Добавить фильтр"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Выберите категорию:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[INI-файлы без категорий]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[нет групп в INI-файле]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Не найдены INI-файлы категорий"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Файл"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Не найдены группы в файле категорий"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Группа"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Включить clones"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[создать]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Использование ПО"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Ревизия: "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Сброс"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
+"Время работы: %1$d:%2$02d:%3$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Выберите режим доступа"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Время работы: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Только чтение"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Выдано билетов: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Чтение-запись"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Монетоприемник %1$c: НД%3$s\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Чтение из этого образа, запись в другой"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Монетоприемник %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Чтение из этого образа, запись в diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (закрыт)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
-msgstr "%s [внутренний]"
+msgid "P%d Visibility"
+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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " ЦВЕТА"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Видимая задержка"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ПЕРЬЯ"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml сохранен в папку ui."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Возврат к эмуляции"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Имя: Описание:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Выход"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt сохранен в папку ui."
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Возврат в предыдущее меню"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Экспортировать список в формате XML (как -listxml)"
-#: 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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Экспортировать список в формате XML (как -listxml, но исключить устройства)"
-#: 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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Экспортировать список в текстовом формате (как -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Авто"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Драйвер"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Показать все"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "У этой системы нет BIOS."
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Скрыть фильтры"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Добавить в Избранное"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Скрыть информацию / изображение"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Удалить из Избранного"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Скрыть оба"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Шрифты"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Цвета"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (по-умолчанию)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Скрыть боковые панели"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Плагины"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Пользовательские настройки интерфейса"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Псевдо-терминалы"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "по-умолчанию"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[не удалось]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Шрифт интерфейса"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Жирный"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Загрузить сохранение"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Наклонный"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Линии"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Записать сохранение"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Размер инфо-текста"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Настройки шрифта интерфейса"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [внутренний]"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "Пример текста - Съешь же ещё этих французских булок, да выпей чаю."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Интерфейс пользователя"
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Обычный текст"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Выделенный цвет"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Дополнительное управление"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Обычный текст задника"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Выделенный цвет задника"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Цвет подпункта"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Бордюр"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Задний фон"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP-переключатель"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Недоступный цвет"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Цвет слайдера"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "остновлено"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Фон просмотрщика графики"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "проигрывается"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Цвет под мышью"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(проигрывается)"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Цвет фона под мышью"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "записывается"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Цвет мышь нажата"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(записывается)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Цвет фона мышь нажата"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Пауза/Стоп"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Восстановить изначальные цвета"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Воспроизведение"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Настройка цветов интерфейса"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Запись"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Перемотка"
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Быстрая перемотка"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Не удалось сохранить поверх директории"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Для выбранной игры отсутствует один или более необходимых образов ROM или "
+"CHD. Пожалуйста, выберите другую игру.\n"
+"\n"
+"Нажмите любую клавишу для продолжения."
+
+#: src/frontend/mame/ui/simpleselgame.cpp:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Кликните два раза или нажмите %1$s для изменения цвета"
+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 ""
+"Не найдено систем. Пожалуйста, проверьте rompath указанный в файле %1$s."
+"ini.\n"
+"\n"
+"Если вы в первый раз используете %2$s, пожалуйста, посмотрите файл config."
+"txt в директории docs, чтобы получить информацию о настройке %2$s."
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Предпросмотр меню"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Изменение настроек"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Обычный"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Введите имя или выберите: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Подпункт"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Введите имя или выберите: (случайно)"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Выделенный"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Под мышью"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Драйвер: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Настройки ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "В целом: НЕ РАБОТАЕТ"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Альфа"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "В целом: Не эмулируется защита"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Красный"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "В целом: Работает"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Зеленый"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Графика: Не эмулируется, "
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Синий"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Графика: Не идеально, "
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Выберите из палитры"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Графика: OK, "
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Предпросмотр цвета ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Звук: Отсутствует"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Белый"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Звук: Не эмулируется"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Серебристый"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Звук: Не идеально"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Серый"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Звук: OK"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Черный"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Коментарий чита:\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Оранжевый"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Все читы перезагружены"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Желтый"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Сбросить все"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Фиолетовый"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Перезагрузить все"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Режим клавиатуры:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMы"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Обычная"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Носители Информации"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Эмулируется"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+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/dirmenu.cpp:41
+msgid "Samples"
+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/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT-файлы"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI-файлы"
-#: 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/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "INI категорий"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (закрыт)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Иконки"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Видимая задержка"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+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/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Кабинеты"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Имя: Описание:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Буклеты"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Титулы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Концовки"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Платы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Маркизы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Панели управления"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Прицелы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Элементы оформления"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Боссы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Предпросмотр оформления"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Выбор"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "КонецИгры"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Обучение"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Логотипы"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Таблицы рекордов"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Против"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Обложки"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Установки папок"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt сохранен в папку ui."
+msgid "Current %1$s Folders"
+msgstr "Текущий %1$s Папок"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Экспортировать список в формате XML (как -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Добавить папку"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Экспортировать список в текстовом формате (как -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Удалить папку"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Драйвер"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Изменить папку %1$s - Поиск: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "У этой системы нет BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Добавить папку %1$s - Поиск: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Сохранить настройки этой системы"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Нажмите TAB для выбора"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Настроить систему:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Убрать папку %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (по-умолчанию)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " ЦВЕТА"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Плагины"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " ПЕРЬЯ"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Настройки системы"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "Драйвер - Clone от\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Драйвер - Parent\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Аналоговое управление\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Ввод с клавиатуры\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "В целом\tНЕ РАБОТАЕТ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "В целом\tНе эмулируется защита\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "В целом\tРаботает\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Графика\tНе эмуируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Графика\tНе верные цвета\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Графика\tНе точные цвета\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Графика\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Графика\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Звук\tОтсутствует\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Звук\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Звук\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Звук\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Камера\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Камера\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Микрофон\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Микрофон\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Управление\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Управление\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Клавиатура\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Клавиатура\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Мышь\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Мышь\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Диск\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Диск\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Принтер\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Принтер\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "Локальная сеть\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "Локальная сеть\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "Удаленная сеть\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "Удаленная сеть\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Скорость\tНе эмулируется\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Скорость\tНе идеально\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr "Механическая система\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr "Механическая система\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr "Требует элементы оформления\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Требует элементы оформления\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Требует кликабельное оформление\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Поддерживает режим коктейль-стола\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr "Драйвер - BIOS\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr "Драйвер - BIOS\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr "Поддерживает сохранение\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Поддерживает сохранение\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Ориентация экрана\tВертикальная\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Ориентация экрана\tГоризонтальная\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr "Требует CHD\tДа\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Требует CHD\tНет\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr "Результат проверки ROM\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr "Результат проверки ROM\tНЕУДАЧНО\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Результат проверки сэмплов\tНе требуется\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr "Результат проверки сэмплов\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr "Результат проверки сэмплов\tНЕУДАЧНО\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM-набор: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Система: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Список выбора - Поиск: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Кликние два раза или нажмите %1$s для выбора"
+
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Проверить ROMы для %1$u систем, помеченных как недоступные?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Проверить ROMы для всех %1$u систем?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(результаты будут сохранены в %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr "Проверяем ROMы для системы %2$u из %3$u...%1$s"
+
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Начать проверку"
+
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Показать все"
+
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Скрыть фильтры"
+
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Скрыть информацию / изображение"
+
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Скрыть оба"
+
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Шрифты"
+
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Цвета"
+
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Скрыть боковые панели"
+
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Пользовательские настройки интерфейса"
+
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "по-умолчанию"
+
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Шрифт интерфейса"
+
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Жирный"
+
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Наклонный"
+
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Линии"
+
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Размер инфо-текста"
+
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Настройки шрифта интерфейса"
+
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "Пример текста - Съешь же ещё этих французских булок, да выпей чаю."
+
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Обычный текст"
+
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Выделенный цвет"
+
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Обычный текст задника"
+
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Выделенный цвет задника"
+
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Цвет подпункта"
+
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-"Для выбранной машины отсутствует один или более необходимых образов ROM или "
-"CHD. Пожалуйста, выберите другую машину.\n"
-"\n"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Звук"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Бордюр"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Частота звука"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Задний фон"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Использовать внешние сэмплы"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP-переключатель"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Дополнительные настройки"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Недоступный цвет"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Пере-выбрать последнюю систему"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Цвет слайдера"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Увеличивать изображения на правой панели"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Фон просмотрщика графики"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Отображать указатель мыши"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Цвет под мышью"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Подтверждать выход из эмуляции"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Цвет фона под мышью"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Пропустить сведения о системе при запуске"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Цвет мышь нажата"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Принудительно 4:3 при просмотре снимков экрана"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Цвет фона мышь нажата"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Использовать изображение как задний фон"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Восстановить изначальные цвета"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Пропускать меню выбора BIOS"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Настройка цветов интерфейса"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Пропускать меню выбора частей ПО"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Кликните два раза или нажмите %1$s для изменения цвета"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Авто-проверка инфо"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Предпросмотр меню"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Скрывать из списка доступных системы без ROM"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Обычный"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Дополнительные настройки"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Подпункт"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Настройки производительности"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Выделенный"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Авто-пропуск кадров"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Под мышью"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Пропуск кадров"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Настройки ARGB"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Троттлинг"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Альфа"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Спать"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Красный"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Скорость"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Зеленый"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Скорость обновления"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Синий"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Настройки поворота"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Выберите из палитры"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Поворот вправо"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Предпросмотр цвета ="
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Поворот влево"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Белый"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Авто-поворот вправо"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Серебристый"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Авто-поворот влево"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Серый"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Отражение по горизонтали"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Черный"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Отражение по вертикали"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Оранжевый"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Настройки оформления"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Желтый"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Обрезка оформления"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Фиолетовый"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Использовать задники"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Использовать оверлеи"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Новый штрихкод:"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Использовать обрамление"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Введите код"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Использовать панели"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Не верная длина штрих-кода!"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Использовать маркизы"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Управление (общее)"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Настройки сохранения/воспроизведения"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Управление (эта система)"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Автоматическое сохранение/загрузка"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Аналоговое управление"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Билинейная фильтрация снимков экрана"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Настройки системы"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Сгорание"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Статистика игры"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Настройки ввода"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Информация о системе"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Блокировка монетоприемника"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Мышь"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Информация о образах"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Джойстик"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Файловый менеджер"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Световой пистолет"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Управление лентой"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Мульти-клавиатура"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Выбор BIOS"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Мульти-мышь"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Подключаемые устройства"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Задержка нажатий"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Сканер штрих-кодов"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Активный интерфейс пользователя"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Сетевые устройства"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Закадровая перезарядка"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Управление слайдерами"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Мертвая зона джойстика"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Настройки прицела"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Сатурация джойстика"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Читы"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Обычная клавиатура"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Настройки плагинов"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Одновременно противоположные направления"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Просмотр DAT-файлов"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Время импульса монеты"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Устройства управления"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Выбрать новую систему"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Назначение устройства светового пистолета"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Панели управления"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Назначение устройства трекбола"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Предпросмотр оформления"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Назначение устройства педали"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Игра Окончена"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Назначение устройства AD-стика"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Добавить или удалить избранное"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Назначение устройства Paddle"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Экспорт отображаемого списка в файл"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Назначение устройства Dial"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Показать вид DAT"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Назначение позиционного устройства"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Выбор части программы:"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Назначение устройства мыши"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Выбор BIOS:"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Видео режим"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Программа - clone от: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Число экранов"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Программа - parent"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Тройная буферизация"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Поддерживается: Нет"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Поддерживается: Частично"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Поддерживается: Да"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-набор: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Драйвер - clone от: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Драйвер - parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Изображения"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Информация"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Билинейная фильтрация"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Пре-масштабирование битмапов"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Оконный режим"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Сохранять пропорции"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Открывать максимизированным"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Синхронизированное обновление"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Нажмите любую клавишу для продолжения."
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Ожидать вертикальную синхронизацию"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Использование"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2169,7 +2632,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2180,550 +2643,484 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Проверить ROMы для %1$u систем, помеченных как недоступные?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Проверить ROMы для всех %1$u систем?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Сохранить чит"
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(результаты будут сохранены в %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+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"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Пользовательский"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Начать проверку"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Имя чита"
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Не удалось сохранить поверх директории"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "Имя по умолчанию %s"
-#: 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."
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Игрок"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Тип"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-"Для выбранной программы отсутствует один или несколько необходимых образов "
-"ROM или CHD. Пожалуйста, выберите другую."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "защита"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "скорость"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Сохранить"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "графика"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "цветовая палитра"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Чит записан в %s и добавлен в cheat.simple"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "звук"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Чит добавлен в cheat.simple"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
+"Не удалось сохранить файл\n"
+"Убедитесь что папка cheatpath существует"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "камера"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "микрофон"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Отмена"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "управление"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "Процессор или память"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "клавиатура"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
+msgstr ""
+"Эти изменения будут применены только после выбора \"Начать новый поиск\""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "мышь"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "диск"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "принтер"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Начать новый поиск"
+
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Локальная сеть"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Удаленная сеть"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
+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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-"Один или несколько ROMов/CHD этой системы не верные. Эта система может "
-"работать не правильно.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"Один или несколько ROMов/CHD этой системы не были нормально сдамплены.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Полностью не эмулируются возможности: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Левый равен правому"
+
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Несовершенно эмулируемые возможности: "
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Левый равен правому по маске"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Переворот экрана в режиме коктейль-стола не поддерживается.\n"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Левый не равен правому по маске"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Эта система требует внешние графические файлы.\n"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+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"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Левый равен значению"
+
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Левый не равен значению"
+
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Значение"
+
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Любое"
+
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Формат данных"
+
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-"\n"
-"Элементы этой системы не могут быть эмулированы, поскольку они требуют "
-"физического взаимодействия или состоят из механических устройств. Невозможно "
-"полностью ощутить опыт взаимодействия с этой системой.\n"
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"Известные работающие clones этой системы: %s"
-#: src/frontend/mame/ui/info.cpp:286
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-"\n"
-"\n"
-"Нажмите любую клавишу для продолжения"
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:746
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
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/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "кГц"
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"Звук:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-"\n"
-"Видео:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Нет\n"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Отменить последний поиск -- #"
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Векторный"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Совпадает блок"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Все"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: 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 "Экран"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Движок читов не доступен"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Не поддерживается"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Тест"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Частично поддерживается"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Запись"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[пусто]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Просмотр"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Панели управления"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Страница"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Предпросмотр оформления"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Очистить просмотр"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Игра Окончена"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Поиск читов"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Добавить или удалить избранное"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Экспорт отображаемого списка в файл"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Показать вид DAT"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Выбор части программы:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Выбор BIOS:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Программа - clone от: %1$-.100s"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Программа - parent"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Поддерживается: Нет"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Поддерживается: Частично"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Поддерживается: Да"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-набор: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Драйвер - clone от: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Драйвер - parent"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Изображения"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Информация"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Использование"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Общая информация"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Интерфейс пользователя"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Готово"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Дополнительное управление"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2741,68 +3138,81 @@ msgstr "Количество игр"
msgid "Timer"
msgstr "Таймер"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Выбрать чит для горячей клавиши"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "Нажмите клавишу для горячей клавиши или подождите для сброса"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Отсутствует"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Готово"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Установлено"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Назначить горячие клавиши"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Активировано: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Активировано: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Разрешено: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Запрещено: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s добавлено"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Команда"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr ""
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr ""
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Лучшие очки"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr ""
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Иниц. игры"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "История"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2814,333 +3224,154 @@ msgstr ""
"--- ИНФО ДРАЙВЕРА ---\n"
"Драйвер: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr ""
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr ""
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr ""
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Иниц. игры"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Сохранить чит"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "По умолчанию"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Пользовательский"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Имя чита"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "Имя по умолчанию %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Игрок"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Тип"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Сохранить"
-
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
-msgstr "Чит записан в %s и добавлен в cheat.simple"
-
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
-msgstr "Чит добавлен в cheat.simple"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-"Не удалось сохранить файл\n"
-"Убедитесь что папка cheatpath существует"
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr "Отмена"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "Процессор или память"
-
-#: plugins/cheatfind/init.lua:495
-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:551
-msgid "Start new search"
-msgstr "Начать новый поиск"
-
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
-
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Левый равен правому"
-
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Левый равен правому по маске"
-
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Левый не равен правому по маске"
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Левый меньше значения"
-
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Левый больше значения"
-
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Левый равен значению"
+#~ msgid "Backdrops"
+#~ msgstr "Задники"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Левый не равен значению"
+#~ msgid "Overlays"
+#~ msgstr "Оверлеи"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Значение"
+#~ msgid "Bezels"
+#~ msgstr "Обрамления"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Панели"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Любое"
+#~ msgid "View"
+#~ msgstr "Вид"
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
-msgstr "Формат данных"
+#~ msgid "Cropped"
+#~ msgstr "Урезанный"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
+#~ msgid "Full"
+#~ 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 ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP-переключатели"
-#: 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 ""
+#~ msgid "Select position to load from"
+#~ msgstr "Укажите слот загрузки"
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ 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 ""
+#~ msgid "Keyboard Emulation Status"
+#~ 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 ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Режим: ЧАСТИЧНАЯ эмуляция"
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Включен"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Нажмите ScrLock для переключения**"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Режим: ПОЛНАЯ эмуляция"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Выключен"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Авто-огонь не может быть включен"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Настройка авто-огня"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Состояние"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "У этой системы нет кнопок огонь!"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Частота"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Для выбранного ПО отсутствует один или несколько необходимых файлов. "
+#~ "Пожалуйста, выберите другую программу.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Режим клавиатуры:"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Сохранить настройки этой системы"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Отменить последний поиск -- #"
+#~ msgid "Configure machine:"
+#~ msgstr "Настроить систему:"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Совпадает блок"
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Поддерживает режим коктейль-стола\tДа\n"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Все"
+#~ 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"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Пере-выбрать последнюю систему"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Движок читов не доступен"
+#~ msgid "Refresh speed"
+#~ msgstr "Скорость обновления"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Тест"
+#~ msgid "Artwork Crop"
+#~ msgstr "Обрезка оформления"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Запись"
+#~ msgid "Use Backdrops"
+#~ msgstr "Использовать задники"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Просмотр"
+#~ msgid "Use Overlays"
+#~ msgstr "Использовать оверлеи"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Страница"
+#~ msgid "Use Bezels"
+#~ msgstr "Использовать обрамление"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Очистить просмотр"
+#~ msgid "Use Control Panels"
+#~ msgstr "Использовать панели"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Поиск читов"
+#~ msgid "Use Marquees"
+#~ msgstr "Использовать маркизы"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Билинейная фильтрация снимков экрана"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Для выбранной программы отсутствует один или несколько необходимых "
+#~ "образов ROM или CHD. Пожалуйста, выберите другую."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Нажмите клавишу для горячей клавиши или подождите для сброса"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Данные очищены и текущее состояние сохранено"
diff --git a/language/Serbian/strings.po b/language/Serbian/strings.po
index e7ba8b6e90b..e74e8313704 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-03-02 21:46+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,2142 +19,2604 @@ 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
-#, c-format
-msgid "Screen #%d"
-msgstr "Ekran #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotiraj"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Kulise (pozadine)"
-
-#: 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/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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Prekrivajuće ilustracije"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pritsnite bilo koji taster za nastavak"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Ivice"
+#: src/frontend/mame/ui/ui.cpp:555
+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/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Komandni paneli"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Posteri iznad kabineta"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Prikaz"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Da li ste sigurni da želite da napustite program?\n"
+"\n"
+"Pritisnite ''%s'' za napuštanje programa,\n"
+"Pritisnite ''%s'' za nastavak emulacije."
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Odsečeno"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Glavna jačina zvuka"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Potpuno"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s jačina zvuka"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROM-ovi"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Ubrzanje osnovnog takta CPU %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Korisnički interfejs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s frekvencija osvežavanja"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Jezici"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s osvetljenost"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Semplovi"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s kontrast"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT fajlovi"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s gama"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI fajlovi"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s rastezanje po horizontali"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s horizontalna pozicija"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ikone"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s rastezanje po vertikali"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Varanja"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s vertikalna pozicija"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Snimci ekrana"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' rastezanje po horizontali"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabineti"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' horizontalna pozicija"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Letci"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' rastezanje po vertikali"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Naslovni ekrani"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' vertikalna pozicija"
-#: 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/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Treperenje vektora"
-#: 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/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Minimalna širina snopa"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Upravljački paneli"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Maksimalna širinia snopa"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Nišani"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Ilustracije"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Intenzitet snopa"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Finalni protivnici"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Razmera nišana %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Umanjeni prikaz ilustracija"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Izborni ekrani"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Neuspešan kraj igre"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Pomeraj nišana %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Uputstvo"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logoi"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Najbolji rezultata"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus ekrani"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Maske"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Podešavanje direktorijuma"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Razmera nišana X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Trenutni %1$s direktorijum"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Razmera nišana Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Promeni direktorijum"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Pomeraj nišana X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Dodaj direktorijum"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Pomeraj nišana Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Ukloni direktorijum"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Greška prilikom snimanja ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Promeni %1$s direktorijum - Pretraga: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr "**Greška prlikom zapisivanja %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Dodaj %1$s direktorijum - Pretraga: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Konfiguracija sačuvana \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Pritisnite TAB da podesite"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" dodato u listu omiljenih"
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Ukloni %1$s direktorijum"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" izbrisano iz liste omiljenih."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Izborna lista - pretraga:"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, 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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dupli klik ili pritisnite %1$s za selektovanje"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Drajver: \"%1$s\" lista programa "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "stopirano"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Pretraga: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "reprodukcija"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Pretraga: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(reprodukcija)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "snimanje"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(snimanje)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Globalne kontrole"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pauza/Stop"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Sačuvaj konfiguraciju"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Pusti"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Podešavanja"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Snimi"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filter"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Premotaj"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Prilagodi korisnički interfejs"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Premotaj u napred"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Konfiguracija direktorijuma"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[prazan slot]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[upravljanje fajlovima]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[kreiraj]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[lista programa]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Promeni sortiranje"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Promenjen redosled: sada je sortirano po %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "skraćeno ime"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Odaberi mod pristupa"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "opis"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Samo čitanje"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[kompatibilne liste]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Čitanje-pisanje"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Upotreba softvera"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Čitaj ovaj fajl, piši u drugi"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revizija"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Čitaj ovaj fajl, piši razlike"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Fajl već postoji - prepiši?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ne"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Da"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo ime:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format zapisa:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Varanja"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Kreiraj"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Molim unesite i ekstenziju"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Odaberi format"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Podešavanje kontrola (globalno)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Podešavanje kontrola (ova mašina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analogne kontrole"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP prekidači"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Konfiguracija mašine"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Informacije o statistici mašine"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informacije o mašini"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informacije o programu"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Upravljanje fajlovima"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Kontrola trake"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Izbor BIOS-a"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot uređaji"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barkod čitač"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Mrežni uređaji"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mod tastature"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Kontrole klizača"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Video opcije"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotiraj"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opcije nišana"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Varanje"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opcije dodataka"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Prikaz spoljašnjeg DAT"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr ""
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Izaberi novu mašinu"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novi barkod:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Unesite barkod"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Neodgovarajuća dužina barkoda!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[neuspešno]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Globalne kontrole"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Sačuvaj konfiguraciju"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Podešavanja"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Prilagodi korisnički interfejs"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Miš"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfiguracija direktorijuma"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-"Nisu proanađene mašine. Molimo Vas, proverite putanju do ROM fajlova "
-"definisanu u %1$s.ini fajlu\n"
-"\n"
-"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
-msgid "Configure Options"
-msgstr "Konfiguracija opcija"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Otkucajte ime ili izaberite: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Otkucajte ime ili izaberite: (nasumičan izbor)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Drajver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr ""
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr ""
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr ""
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr ""
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Zvuk: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
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/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Video opcije"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr ""
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Stanje emulacije tastature"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mod: DELIMIČNA emulacija"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Korisnički interfejs: omogućen"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr ""
-#: 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 stanje**"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mod: POTPUNA emulacija"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Korisnički interfejs: onesposobljen"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr ""
-#: 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/submenu.cpp:126
+msgid "Start Out Maximized"
+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/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-"Da li ste sigurni da želite da napustite program?\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/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s jačina zvuka"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Uključeno"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Ubrzanje osnovnog takta CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Isključeno"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Automatski"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s frekvencija osvežavanja"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Podešavanje kontrola (ova mašina)"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s osvetljenost"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Izlaz"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s kontrast"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Povratak u prethodni meni"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s gama"
+msgid "Screen #%d"
+msgstr "Ekran #%d"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s rastezanje po horizontali"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s horizontalna pozicija"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s rastezanje po vertikali"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s vertikalna pozicija"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' rastezanje po horizontali"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' rastezanje po vertikali"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: 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/info.cpp:31
+msgid "protection"
+msgstr "zaštita"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Treperenje vektora"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimalna širina snopa"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "grafika"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maksimalna širinia snopa"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intenzitet snopa"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "zvuk"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Razmera nišana %1$s"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "kamera"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "mikrofon"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Pomeraj nišana %1$s"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "tastatura"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "miš"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+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/info.cpp:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Greška prilikom snimanja ui.ini**"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr ""
-#: 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/info.cpp:51
+msgid "WAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Konfiguracija sačuvana \n"
+msgstr ""
+"Postoje poznati problemi s ovom mašinom\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Komentar za varanje:\n"
-"%s"
+"Jedan ili više ROM/CHD fajlova za ovu mašinu nisu ispravno napravljeni.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Sva varanja ponovo učitana"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Podešavanja automatskog pucanja"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Resetuji sve"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ponovo učitaj sve"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Obrtanje ekrana u \"koktel\" modu nije podržano.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Stanje automatskog pucanja"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Mašina zahteva dodatne ilustracione fajlove.\n"
+
+#: src/frontend/mame/ui/info.cpp:285
+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šanje ili nedostatak "
+"elemenata sto ne predstavlja problem s emulacijom.\n"
+
+#: src/frontend/mame/ui/info.cpp:287
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nema tastera na ovoj mašini!"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Zadrška automatskog pucanja"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" dodato u listu omiljenih"
+"\n"
+"\n"
+"Postoji klonovi ove mašine koji rade: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" izbrisano iz liste omiljenih."
+"%1$s\n"
+"%2$s %3$s\n"
+"Drajver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Zvuk:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\n"
msgstr ""
-"Selektovanom programu nedostaje jedan ili više fajlova. Molim selektujte "
-"drugi program.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr "Nijedan\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d programskih paketa )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Drajver: \"%1$s\" lista programa "
+msgid "Screen '%1$s'"
+msgstr "Ekran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Ekran"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Nije podržano"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Delimično podržano"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[prazno]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[upravljanje fajlovima]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Promeni sortiranje"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Pretraga: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Promenjen redosled: sada je sortirano po %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "skraćeno ime"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "opis"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[kompatibilne liste]"
+
+#: 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:1045
+msgid "No"
+msgstr "Ne"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Odaberi format"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Mod tastature"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Prirodni"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulirani"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Pretraga: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Omogućeno"
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Onemogućeno"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Radi"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Ne radi"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Kategorija"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Lista omiljenih"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Proizvođač"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Godina"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Vertikalni ekran"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Horizontalni ekran"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Izdavač"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Tip uredjaja"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Lista programa"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Izbor proizvoljnih filtera"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Ukloni poslednji filter"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Dodaj filter"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Fajl"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[kreiraj]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Upotreba softvera"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revizija"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Odaberi mod pristupa"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Resetuj"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Samo čitanje"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Čitanje-pisanje"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Vreme rada: %1$d:%2$02d\n"
+"\n"
-#: 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/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Izdate karte: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Žeton %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Žeton %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (zaključano)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " BOJE"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " OLOVKE"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Podešavanje kontrola (ova mašina)"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Vidljivo kašnjenje"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Izlaz"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sačuvan u ui direktorijum."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Ime: Opis:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sačuvan u ui direktorijum."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Eksportuj listu u XML formatu (kao -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatski"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Prikaži sve"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Eksportuj listu u TXT formatu (kao -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Sakrij filtere"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Drajver"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Sakrij Info/Sliku"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Sakrij oboje"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Dodaj u listu omiljenih"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Fontovi"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Izbriši iz liste omiljenih"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Boje"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Prikaži bočne panele"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Podešavanja korisničkog interfejsa"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (uobičajeno)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "uobičajeno"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Dodatci"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Font korisničkog interfejsa"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo terminali"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Podebljano"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[neuspešno]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Iskošeno"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linije"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Visina teksta za informacije"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Podešavanje fontova za korisnički interfejs"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Primer teksta - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normalni tekst"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Boja izabranog"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Korisnički interfejs"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Pozadina normalnog teksta"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Boja pozadine za izabranu stavku"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Ostale kontrole"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Boja pod-stavke"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Kloniraj"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Granica"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Pozadina"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP prekidač"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Boja za nedostupno"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Boja klizača"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Grafički prikaz pozadine"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Boja pri prelasku miša"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "stopirano"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Boja pozadine pri prelasku miša"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "reprodukcija"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Boja pri pritisku miša"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(reprodukcija)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Boja pozadine miša"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "snimanje"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Vrati originalne boje"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(snimanje)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Podešavanje boja korisničkog interfejsa"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pauza/Stop"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dupli klik ili pritisnite %1$s da promenite boju"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Pusti"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Probni prikaz menija"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Snimi"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normalno"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Premotaj"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Pod-stavka"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Premotaj u napred"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Izabrano"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Nemoguće snimiti preko direktorijuma"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Prelay mišem"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB podešavanja"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Nisu proanađene mašine. Molimo Vas, proverite putanju do ROM fajlova "
+"definisanu u %1$s.ini fajlu\n"
+"\n"
+"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/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Crvenа"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Konfiguracija opcija"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Zelenа"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Otkucajte ime ili izaberite: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Plavа"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Otkucajte ime ili izaberite: (nasumičan izbor)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Izabrati iz palete"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Prikaz boja ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Drajver: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Bela"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Uopšteno: NE RADI"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Srebrna"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Uopšteno: Zaštita nije emulirana"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Siva"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Uopšteno: radi"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Crna"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafika: nije implementirana, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Narandžasta"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: nesavršena, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Žuta"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafika: OK, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Ljubičasta"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mod tastature:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Zvuk: nije implementiran"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Prirodni"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Zvuk: nesavršen"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulirani"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Zvuk: OK"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Vreme rada: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Komentar za varanje:\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Sva varanja ponovo učitana"
+
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Resetuji sve"
+
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Ponovo učitaj sve"
+
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROM-ovi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
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"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Korisnički interfejs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Jezici"
+
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Semplovi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT fajlovi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI fajlovi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
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/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ikone"
-#: 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/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Snimci ekrana"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zaključano)"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kabineti"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Vidljivo kašnjenje"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Letci"
-#: 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/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Naslovni ekrani"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Ime: Opis:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Ekrani završetka igre"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB (štampane pločice)"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Posteri iznad kabineta"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Upravljački paneli"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Nišani"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Ilustracije"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Finalni protivnici"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Umanjeni prikaz ilustracija"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Izborni ekrani"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Neuspešan kraj igre"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Uputstvo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logoi"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Najbolji rezultata"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus ekrani"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Maske"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Podešavanje direktorijuma"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sačuvan u ui direktorijum."
+msgid "Current %1$s Folders"
+msgstr "Trenutni %1$s 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Promeni direktorijum"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Dodaj direktorijum"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Ukloni direktorijum"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Drajver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Promeni %1$s direktorijum - Pretraga: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Dodaj %1$s direktorijum - Pretraga: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sačuvaj konfiguraciju mašine"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Pritisnite TAB da podesite"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Konfiguracija mašine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Ukloni %1$s direktorijum"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (uobičajeno)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " BOJE"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Dodatci"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " OLOVKE"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Konfiguracija mašine"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "ROM skup\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr "Godina\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Proizvođač\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Drajver je predak\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Uopšteno\tNE RADI\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Uopšteno\tZaštita nije emulirana\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Uopšteno\tradi\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Grafika\tnije implementirana\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafika\tnesavršene boje\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Grafika\tnesavršena\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Grafika\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Zvuk\tnije implementiran\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Zvuk\tnesavršen\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Zvuk\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Tastatura\tnije implementirana\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Tastatura\tnesavršena\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Miš\tnije implementiran\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Miš\tnesavršen\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Orijentacija ekrana\tVertikalno\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Orijentacija ekrana\tHorizontalno\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM skup: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, 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 uzorkovanja"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Izborna lista - pretraga:"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Koristi dodatne semplove"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dupli klik ili pritisnite %1$s za selektovanje"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Prikaži sve"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Sakrij filtere"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Sakrij Info/Sliku"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Sakrij oboje"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Fontovi"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Boje"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Prikaži bočne panele"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Podešavanja korisničkog interfejsa"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "uobičajeno"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Font korisničkog interfejsa"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Podebljano"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Iskošeno"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linije"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Visina teksta za informacije"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Podešavanje fontova za korisnički interfejs"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Primer teksta - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normalni tekst"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Boja izabranog"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Pozadina normalnog teksta"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Boja pozadine za izabranu stavku"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Boja pod-stavke"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Kloniraj"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Granica"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Pozadina"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP prekidač"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Boja za nedostupno"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Boja klizača"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Grafički prikaz pozadine"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Boja pri prelasku miša"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Boja pozadine pri prelasku miša"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Boja pri pritisku miša"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Boja pozadine miša"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Vrati originalne boje"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Podešavanje boja korisničkog interfejsa"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dupli klik ili pritisnite %1$s da promenite boju"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Probni prikaz menija"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Miš"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normalno"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Pod-stavka"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Izabrano"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Prelay mišem"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB podešavanja"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Crvenа"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Zelenа"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Plavа"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Izabrati iz palete"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Prikaz boja ="
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Bela"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Srebrna"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Siva"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Crna"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Narandžasta"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Žuta"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Ljubičasta"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novi barkod:"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Unesite barkod"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Neodgovarajuća dužina barkoda!"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Podešavanje kontrola (globalno)"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Podešavanje kontrola (ova mašina)"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analogne kontrole"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Konfiguracija mašine"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Informacije o statistici mašine"
+
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Informacije o mašini"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Informacije o programu"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Upravljanje fajlovima"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Kontrola trake"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Izbor BIOS-a"
+
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Slot uređaji"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Barkod čitač"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Mrežni uređaji"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Kontrole klizača"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Opcije nišana"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Varanje"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Opcije dodataka"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Prikaz spoljašnjeg DAT"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Izaberi novu mašinu"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Kontrolni panel"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Pregled artwork-a"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Završni ekran igre"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Dodavanje ili uklanjanje omiljenih"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Eksportuj prikazanu listu u fajl"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Prikaži DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Izbor dela softvera:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Izbor BIOS-a:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Softver je klon od: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Softver je predak"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Podržano: ne"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Podržano: delimično"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Podržano: da"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM skup: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Drajver je klon od: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Drajver je osnovni"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Programi"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informacije"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Pritisnite bilo koji taster za nastavak."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Upotreba"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Opšte informacije"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Zvuk"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Učestalost uzorkovanja"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Koristi dodatne semplove"
+
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2165,7 +2627,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2176,955 +2638,688 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: 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 ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
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/info.cpp:32
-msgid "timing"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafika"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "zvuk"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastatura"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "miš"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
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"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
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"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
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"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
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: "
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
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"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
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/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Mašina zahteva dodatne ilustracione fajlove.\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"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-"Mašsina nije nikad završena. Može se javiti čudno ponašanje 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"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
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"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
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
-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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-"\n"
-"\n"
-"Postoji klonovi ove mašine koji rade: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-"\n"
-"\n"
-"Pritsnite bilo koji taster za nastavak"
-#: 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"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Drajver: %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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-"\n"
-"Zvuk:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-"\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"
-#: 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 "Ekran '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Ekran"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nije podržano"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Delimično podržano"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[prazno]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrolni panel"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Pregled artwork-a"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Završni ekran igre"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Dodavanje ili uklanjanje omiljenih"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Eksportuj prikazanu listu u fajl"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Prikaži DAT"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Izbor dela softvera:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Izbor BIOS-a:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Softver je klon od: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Softver je predak"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Podržano: ne"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Podržano: delimično"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Podržano: da"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM skup: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Drajver je klon od: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Drajver je osnovni"
-
-#: 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 "Programi"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informacije"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Upotreba"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Opšte informacije"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Korisnički interfejs"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Ostale kontrole"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:744
+msgid ""
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:748
#, lua-format
-msgid "%s added"
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Komanda"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Istorija"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "МАМЕ - informacije"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "МESS - informacije"
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Systemske informacije"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Inicijalizacija"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/portname/init.lua:167
#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
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)"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
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)"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Komanda"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Systemske informacije"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Inicijalizacija"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Istorija"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "МESS - informacije"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "МАМЕ - informacije"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Kulise (pozadine)"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Prekrivajuće ilustracije"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Ivice"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Komandni paneli"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Prikaz"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Odsečeno"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Potpuno"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP prekidači"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Izaberite poziciju sa koje želite da učitate"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Izaberite poziciju na koju želite da snimite"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Stanje emulacije tastature"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Mod: DELIMIČNA emulacija"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Korisnički interfejs: omogućen"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Koristite ScrLock da promenite radno stanje**"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Mod: POTPUNA emulacija"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Korisnički interfejs: onesposobljen"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Automatsko pucanje ne može da se omogući"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Podešavanja automatskog pucanja"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Stanje automatskog pucanja"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Nema tastera na ovoj mašini!"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Zadrška automatskog pucanja"
+
+#~ 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"
+
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Mod tastature:"
+
+#~ msgid "Save machine configuration"
+#~ msgstr "Sačuvaj konfiguraciju mašine"
+
+#~ msgid "Configure machine:"
+#~ msgstr "Konfiguracija mašine:"
+
+#~ 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"
+
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Odabranom programu nedostaje jedan ili više ROM ili CHD fajlova. Molim "
+#~ "odaberite drugi."
#~ msgid "Mechanical Machine\t%1$s\n"
#~ msgstr "Mehanička mašina\t%1$s\n"
diff --git a/language/Serbian_Cyrillic/strings.po b/language/Serbian_Cyrillic/strings.po
index 1dfe8f81c25..d013e8f93d2 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-23 12:43+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,2142 +19,2604 @@ 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
-#, c-format
-msgid "Screen #%d"
-msgstr "Екран #%d"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Притисните било који тастер за наставак"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Ивице"
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "За овај драјвер је неопходно да слике буду учитане у следеће уређаје:"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Командни панели"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Постери изнад кабинета"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Приказ"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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"
+"Притисните ''%s'' за напуштање програма,\n"
+"Притисните ''%s'' за наставак емулације."
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Одсечено"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Главна јачина звука"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Потпуно"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s јачина звука"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "РОМ-ови"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Убрзање основног такта CPU %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Кориснички интерфејс"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s фреквенција освежавања"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Језици"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s осветљеност"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Семплови"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s контраст"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DAT фајлови"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s гама"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INI фајлови"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s растезање по хоризонтали"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s хоризонтална позиција"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Иконе"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s растезање по вертикали"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Варања"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s вертикална позиција"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Снимци екрана"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' растезање по хоризонтали"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Кабинети"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' хоризонтална позиција"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Летци"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' растезање по вертикали"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Насловни екрани"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' вертикална позиција"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Екрани завршетка игре"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Треперење вектора"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB (штампане плочице)"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Минимална ширина снопа"
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Управљачки панели"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Максимална шириниа снопа"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Нишани"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Илустрације"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Интензитет снопа"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Финални противници"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Размера нишана %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Умањени приказ илустрација"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Изборни екрани"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Неуспешан крај игре"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Померај нишана %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Упутство"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Логои"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Најбољи резултати"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Версус екрани"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Маске"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Подешавање директоријума"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Размера нишана X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2043
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Тренутни %1$s директоријум"
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Размера нишана Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Промени директоријум"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Померај нишана X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Додај директоријум"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Померај нишана Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Уклони директоријум"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Грешка приликом снимања ui.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/ui.cpp:2225
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Промени %1$s директоријум - Претрага: %2$s_"
+msgid "**Error saving %s.ini**"
+msgstr "**Грешка прликом записивања %s.ini**"
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Додај %1$s директоријум - Претрага: %2$s_"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Конфигурација сачувана \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Притисните TAB да подесите"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" додато у листу омиљених."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "Уклони %1$s директоријум"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" избрисано из листе омиљених."
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Изборна листа - претрага:"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, 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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Дупли клик или притисните %1$s за селектовање"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Драjвeр: \"%1$s\" листа програма "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "стопирано"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Претрага: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "репродукција"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Претрага: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(репродукција)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "снимање"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Опције за звук"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(снимање)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Глобалне контроле"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Пауза/Стоп"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Сачувај конфигурацију"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Пусти"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Подешавања"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Сними"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Филтер"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Премотај"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Прилагоди кориснички интерфејс"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Премотај у напред"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Конфигурација директоријума"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[празан слот]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[управљање фајловима]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[креирај]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[листа програма]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Промени сортирање"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Промењен редослед: сада је сортирано по %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "скраћено име"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Одабери мод приступа"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "опис"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Само читање"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[компатибилне листе]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Читање-писање"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Употреба софтвера"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Читај овај фајл, пиши у други"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Ревизија"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Читај овај фајл, пиши разлике"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Фајл већ постоји - препиши?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Не"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Да"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Ново име:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Формат записа:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Варања"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Креирај"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Молим унесите и екстензију"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Одабери формат"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Подешавање контрола (глобално)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Подешавање контрола (ова машина)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Аналогне контроле"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP прекидачи"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Конфигурација машине"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Информације о књиговодству машине"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Информације о машини"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Информације о слици"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Управљање фајловима"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Контрола траке"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Псеудо терминали"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Избор BIOS-а"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Слот уређаји"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Баркод читач"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Мрежни уређаји"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Мод тастатуре"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Контроле клизача"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Видео опције"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Ротирај"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Опције нишана"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Варање"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Опције додатака"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Приказ спољашњег DAT"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Додај у листу омиљених"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Избриши из листе омиљених"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Изабери нову машину"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Нови баркод:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Унесите баркод"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Неодговарајућа дужина баркода!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[неуспечно]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Опције за звук"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Глобалне контроле"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Сачувај конфигурацију"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Подешавања"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Филтер"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Прилагоди кориснички интерфејс"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Миш"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Конфигурација директоријума"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-"Нису проанађене машине. Молимо Вас, проверите путању до ROM фајлова "
-"дефинисану у %1$s.ini фајлу\n"
-"\n"
-"Ако је ово Ваш први пут да користите %2$s, молимо Вас погледајте config.txt "
-"фајл у docs директоријуму за информације о подешавању %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Конфигурација опција"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Откуцајте име или изаберите: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Откуцајте име или изаберите: (насумичан избор)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+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 "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Драјвер: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Уопштено: НЕ РАДИ"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Уопштено: Заштита није емулирана"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Уопштено: ради"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Графика: није имплементирана, "
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Графика: несавршена, "
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Графика: ОК, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Звук: није имплементиран"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Звук: несавршен"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Звук: ОК"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Изаберите позицију са које желите да учитате"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Видео опције"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Изаберите позицију на коју желите да снимите"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
+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:118
+msgid "Triple Buffering"
+msgstr ""
-#: 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:119
+msgid "HLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Мод: ДЕЛИМИЧНА емулација"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Кориснички интерфејс: омогућен"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+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:123
+msgid "Bitmap Prescaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Мод: ПОТПУНА емулација"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Кориснички интерфејс: онеспособљен"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Аутоматско пуцање не може да се омогући"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+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/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-"Да ли сте сигурни да желите да напустите програм?\n"
-"\n"
-"Притисните ''%s'' за напуштање програма,\n"
-"Притисните ''%s'' за наставак емулације."
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Главна јачина звука"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s јачина звука"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Укључено"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Убрзање основног такта CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Искључено"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Аутоматски"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s фреквенција освежавања"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Подешавање контрола (ова машина)"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s осветљеност"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Излаз"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s контраст"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Повратак у претходни мени"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s гама"
+msgid "Screen #%d"
+msgstr "Екран #%d"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s растезање по хоризонтали"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s хоризонтална позиција"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s растезање по вертикали"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s вертикална позиција"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' растезање по хоризонтали"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' хоризонтална позиција"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' растезање по вертикали"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' вертикална позиција"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "заштита"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Треперење вектора"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Минимална ширина снопа"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "графика"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Максимална шириниа снопа"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Интензитет снопа"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "звук"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Размера нишана %1$s"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "камера"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "микрофон"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Померај нишана %1$s"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "тастатура"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "миш"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+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/info.cpp:44
+msgid "printer"
+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/info.cpp:45
+msgid "magnetic tape"
+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:46
+msgid "punch tape"
+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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Грешка приликом снимања ui.ini**"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Грешка прликом записивања %s.ini**"
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Конфигурација сачувана \n"
+msgstr ""
+"Постоје познати проблеми с овом машином\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Коментар за варање:\n"
-"%s"
+"Један или више ROM/CHD фајлова за ову машину нису исправно направљени.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Сва варања поново учитана"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Подешавања аутоматског пуцања"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Ресетуји све"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Поново учитај све"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Обртање екрана у \"коктел\" моду није подржано.\n"
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Машина захтева додатне илустрационе фајлове.\n"
+
+#: src/frontend/mame/ui/info.cpp:285
+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/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Стање аутоматског пуцања"
+#: src/frontend/mame/ui/info.cpp:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Машина не поседује уређај за звук, МАМЕ неће пуштати звук, ово је очекивано "
+"понашање.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Нема тастера на овој машини!"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Задршка аутоматског пуцања"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" додато у листу омиљених."
+"\n"
+"\n"
+"Постоји клонови ове машине који раде: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" избрисано из листе омиљених."
+"%1$s\n"
+"%2$s %3$s\n"
+"Драjвeр: %4$s\n"
+"\n"
+"CPU:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Селектованом програму недостаје један или више фајлова. Молим изаберите "
-"други програм.\n"
"\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Видео:\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Ниједан\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Вектор"
+
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d програмских пакета )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Драjвeр: \"%1$s\" листа програма "
+msgid "Screen '%1$s'"
+msgstr "Екран '%1$s'"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Екран"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Није подржано"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Делимично подржано"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[празно]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[управљање фајловима]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Промени сортирање"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Претрага: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Промењен редослед: сада је сортирано по %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "скраћено име"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "опис"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+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:1045
+msgid "No"
+msgstr "Не"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "Креирај"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Молим унесите и екстензију"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "Одабери формат"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Мод тастатуре"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Природни"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Емулирани"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Претрага: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Омогућено"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Онемогућено"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Ради"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Не ради"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Категорија"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Листа омиљених"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Произвођач"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Година"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Вертикални екран"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Хоризонтални екран"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Издавач"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Тип уређаја"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Листа програма"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Избор произвољних филтера"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Уклони последњи филтер"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Додај филтер"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Фајл"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[креирај]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Употреба софтвера"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Ревизија"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Одабери мод приступа"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Ресетуј"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Само читање"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Читање-писање"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Време рада: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Читај овај фајл, пиши у други"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Издате карте: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Читај овај фајл, пиши разлике"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Жетон %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [интерно]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Жетон %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (закључано)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " БОЈЕ"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr "ОЛОВКЕ"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Подешавање контрола (ова машина)"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Видљиво кашњење"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Излаз"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml сачуван у ui директоријум."
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Повратак у претходни мени"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Име: Опис:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt сачуван у ui директоријум."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Експортуј листу у XML формату (као -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Аутоматски"
+#: src/frontend/mame/ui/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Експортуј листу у XML формату (као -listxml, али без уређаја)"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Прикажи све"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Експортуј листу у TXT формату (као -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Сакриј филтере"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Драјвер"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Сакриј Инфо/Слику"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Сакриј обоје"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Додај у листу омиљених"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Фонтови"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Избриши из листе омиљених"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Боје"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Прикажи бочне панеле"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Подешавања корисничког интерфејса"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (уобичајено)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "уобичајено"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Додатци"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Фонт корисничког интерфејса"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Псеудо терминали"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Подебљано"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[неуспечно]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Искошено"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Линије"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Висина текста за информације"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Подешавање фонтова за кориснички интерфејс"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Пример текста - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Нормални текст"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [интерно]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Боја изабраног"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Кориснички интерфејс"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Позадина нормалног текста"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Боја позадине за изабрану ставку"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Остале контроле"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Боја подставке"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Клонирај"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Граница"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Позадина"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP прекидач"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Боја за недоступно"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Боја клизача"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Графички приказ позадине"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Боја при преласку миша"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "стопирано"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Боја позадине при преласку миша"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "репродукција"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Боја при притиску миша"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(репродукција)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Боја позадине миша"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "снимање"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Врати оригиналне боје"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(снимање)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Подешавање боја корисничког интерфејса"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Пауза/Стоп"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Дупли клик или притисните %1$s да промените боју"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Пусти"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Пробни приказ менија"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Сними"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Нормално"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Премотај"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Под-ставка"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Премотај у напред"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Изабрано"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Немогуће снимити преко директоријума"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Прелаз мишем"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB подешавања"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Алфа"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Нису проанађене машине. Молимо Вас, проверите путању до ROM фајлова "
+"дефинисану у %1$s.ini фајлу\n"
+"\n"
+"Ако је ово Ваш први пут да користите %2$s, молимо Вас погледајте config.txt "
+"фајл у docs директоријуму за информације о подешавању %2$s."
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Црвена"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Конфигурација опција"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Зелена"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Откуцајте име или изаберите: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Плава"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Откуцајте име или изаберите: (насумичан избор)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Изабрати из палете"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Пробни приказ боја ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Драјвер: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Бела"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Уопштено: НЕ РАДИ"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Сребрна"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Уопштено: Заштита није емулирана"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Сива"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Уопштено: ради"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Црна"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Графика: није имплементирана, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Наранџаста"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Графика: несавршена, "
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Жута"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Графика: ОК, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Љубичаста"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Мод тастатуре:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Звук: није имплементиран"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Природни"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Звук: несавршен"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Емулирани"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Звук: ОК"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Време рада: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Коментар за варање:\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Сва варања поново учитана"
+
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Ресетуји све"
+
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Поново учитај све"
+
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "РОМ-ови"
+
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-"Време рада: %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/dirmenu.cpp:39
+msgid "UI"
+msgstr "Кориснички интерфејс"
+
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Језици"
+
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Семплови"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DAT фајлови"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INI фајлови"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
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/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Иконе"
-#: 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/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Снимци екрана"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (закључано)"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Кабинети"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Видљиво кашњење"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+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/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Насловни екрани"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Име: Опис:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Екрани завршетка игре"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCB (штампане плочице)"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Постери изнад кабинета"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Управљачки панели"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Нишани"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Илустрације"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Финални противници"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Умањени приказ илустрација"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Изборни екрани"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Неуспешан крај игре"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Упутство"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Логои"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Најбољи резултати"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Версус екрани"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Маске"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Подешавање директоријума"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt сачуван у ui директоријум."
+msgid "Current %1$s Folders"
+msgstr "Тренутни %1$s директоријум"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Експортуј листу у XML формату (као -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Додај директоријум"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Експортуј листу у TXT формату (као -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Уклони директоријум"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Драјвер"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Промени %1$s директоријум - Претрага: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Додај %1$s директоријум - Претрага: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Сачувај конфигурацију машине"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Притисните TAB да подесите"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Конфигурација машине:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Уклони %1$s директоријум"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (уобичајено)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " БОЈЕ"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Додатци"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr "ОЛОВКЕ"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Конфигурација машине"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "РОМ скуп\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, 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:1048
#, 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:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr "Драјвер је предак\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Уопштено\tНЕ РАДИ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Уопштено\tЗаштита није емулирана"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Уопштено\tради\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Графика\tније имплементирана\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Графика\tнесавршене боје\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Графика\tнесавршена\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Графика\tОК\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Звук\tније имплементиран\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Звук\tнесавршен\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Звук\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Тастатура\tније имплементирана\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Тастатура\tнесавршена\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Миш\tније имплементиран\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Миш\tнесавршен\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr "Оријентација екрана\tВертикално\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr "Оријентација екрана\tХоризонтално\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM скуп: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, 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/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Изборна листа - претрага:"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Користи додатне семплове"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Дупли клик или притисните %1$s за селектовање"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Прикажи све"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Сакриј филтере"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Сакриј Инфо/Слику"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Сакриј обоје"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Фонтови"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Боје"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Прикажи бочне панеле"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Подешавања корисничког интерфејса"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "уобичајено"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Фонт корисничког интерфејса"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Подебљано"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Искошено"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Линије"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Висина текста за информације"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Подешавање фонтова за кориснички интерфејс"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
+"Пример текста - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Нормални текст"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Боја изабраног"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Позадина нормалног текста"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Боја позадине за изабрану ставку"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Боја подставке"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Клонирај"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Граница"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Позадина"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP прекидач"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Боја за недоступно"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Боја клизача"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Графички приказ позадине"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Боја при преласку миша"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Боја позадине при преласку миша"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Боја при притиску миша"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Боја позадине миша"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Врати оригиналне боје"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Подешавање боја корисничког интерфејса"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Дупли клик или притисните %1$s да промените боју"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Пробни приказ менија"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Миш"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Нормално"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Под-ставка"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Изабрано"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Прелаз мишем"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB подешавања"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Алфа"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Црвена"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Зелена"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Плава"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Изабрати из палете"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Пробни приказ боја ="
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Бела"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Сребрна"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Сива"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Црна"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Наранџаста"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Жута"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Љубичаста"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Нови баркод:"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Унесите баркод"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Неодговарајућа дужина баркода!"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Подешавање контрола (глобално)"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Подешавање контрола (ова машина)"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Аналогне контроле"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Конфигурација машине"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Информације о књиговодству машине"
+
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Информације о машини"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Информације о слици"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Управљање фајловима"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Контрола траке"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Избор BIOS-а"
+
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Слот уређаји"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Баркод читач"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Мрежни уређаји"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Контроле клизача"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Опције нишана"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Варање"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Опције додатака"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Приказ спољашњег DAT"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Изабери нову машину"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Контролни панел"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Преглед artwork-а"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Завршни екран игре"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Додавање или уклањање омиљених"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Експортуј приказану листу у фајл"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Прижи DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Избор дела софтвера:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Избор BIOS-а:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Софтвер је клон од: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Софтвер је предак"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Подржано: не"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Подржано: делимично"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Подржано: да"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "РОМ скуп: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Драјвер је клон од: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Драјвер је основни"
+
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Програми"
+
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Информације"
+
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Притисните било који тастер за наставак."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Употреба"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2165,7 +2627,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2176,955 +2638,688 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
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."
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-"Одабраном програму недостаје један или више ROM или CHD фајлова. Молим "
-"одаберите други."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "заштита"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "графика"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "звук"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
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"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
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"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-"Један или више ROM/CHD фаЈлова за ову машину су неисправни. Машина можда "
-"неће исправно радити.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
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"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-"Један или више ROM/CHD фајлова за ову машину нису исправно направљени.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
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"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
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 "Машина захтева додатне илустрационе фајлове.\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"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches 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"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
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"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %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"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-"\n"
-"\n"
-"Постоји клонови ове машине који раде: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
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"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Драjвeр: %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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-"\n"
-"Звук:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
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 "Преглед artwork-а"
-
-#: 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 "Прижи DAT"
-
-#: 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 "РОМ скуп: %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"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: 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/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:744
+msgid ""
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:746
+msgid ""
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:748
#, lua-format
-msgid "%s added"
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Команда"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Историја"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAME - информације"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "MESS - информације"
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Системске информације"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Иницијализација"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/portname/init.lua:167
#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
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)"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
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)"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Команда"
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Системске информације"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Иницијализација"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Историја"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "MESS - информације"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAME - информације"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Кулисе (позадине)"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Прекривајуће илустрације"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Ивице"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Командни панели"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Приказ"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Одсечено"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Потпуно"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "DIP прекидачи"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Изаберите позицију са које желите да учитате"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Изаберите позицију на коју желите да снимите"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Стање емулације тастатуре"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Мод: ДЕЛИМИЧНА емулација"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "UI: Enabled"
+#~ msgstr "Кориснички интерфејс: омогућен"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Користите ScrLock да промените радно стање**"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Мод: ПОТПУНА емулација"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "UI: Disabled"
+#~ msgstr "Кориснички интерфејс: онеспособљен"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Аутоматско пуцање не може да се омогући"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Подешавања аутоматског пуцања"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Стање аутоматског пуцања"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Нема тастера на овој машини!"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Задршка аутоматског пуцања"
+
+#~ msgid ""
+#~ "The selected software is missing one or more required files. Please "
+#~ "select a different software.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Селектованом програму недостаје један или више фајлова. Молим изаберите "
+#~ "други програм.\n"
+#~ "\n"
+
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Мод тастатуре:"
+
+#~ msgid "Save machine configuration"
+#~ msgstr "Сачувај конфигурацију машине"
+
+#~ msgid "Configure machine:"
+#~ msgstr "Конфигурација машине:"
+
+#~ 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"
+
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Одабраном програму недостаје један или више ROM или CHD фајлова. Молим "
+#~ "одаберите други."
#~ msgid "Mechanical Machine\t%1$s\n"
#~ msgstr "Механичка машина\t%1$s\n"
diff --git a/language/Slovak/strings.po b/language/Slovak/strings.po
index ec7e80b177d..ce527f822ea 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Slovenian/strings.po b/language/Slovenian/strings.po
index f3e6695c98d..76febab025a 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,3049 +19,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Spanish/strings.po b/language/Spanish/strings.po
index 381afe5bdea..458950c78a3 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-03-05 13:02+0100\n"
"Last-Translator: aviloria\n"
"Language-Team: Español; Castellano <>\n"
@@ -21,1807 +21,2094 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "%dª pantalla"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Girar"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fondos"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pulsa cualquier tecla para continuar."
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreimpresiones"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Marcos"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Paneles de control"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Marquesinas"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Volumen principal"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Ver"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volumen %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Recortado"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Acelerar CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completo"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock de sonido %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Tasa de refresco %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Medios del Software"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brillo %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Interfaz"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Idioma"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gamma %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Muestras"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Estiramiento horizontal %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posición horizontal %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Estiramiento vertical %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "INIs de categorías"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "Posición vertical %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Iconos"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Estiramiento horizontal de Laserdisc «%1$s»"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Trucos"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Posición horizontal de Laserdisc «%1$s»"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Capturas"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Estiramiento vertical de Laserdisc «%1$s»"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinas arcade"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Posición vertical de Laserdisc «%1$s»"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Folletos"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vector de parpadeo"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títulos"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Anchura mín. del haz"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finales"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Anchura max. del haz"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Circuitos impresos"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Paneles de control"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Peso de intensidad del haz"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Dianas"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala de diana %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Arte"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "Horizontal"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Jefes"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Vertical"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Vista previa del arte"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Posición de diana %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Elegir"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "Fin de partida"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Manual"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puntuaciones"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala horizontal de diana %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Cubiertas"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala vertical de diana %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Ajustes de carpeta"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Posición horizontal de diana %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Carpetas actuales %1$s"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Posición vertical de diana %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Cambiar carpeta"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Error al guardar «ui.ini»**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Añadir carpeta"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "Error al guardar «%s.ini»**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Borrar carpeta"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Se ha guardado la configuración \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Cambiar carpeta %1$s - Buscar: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" añadido a la lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Añadir carpeta %1$s - Buscar: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Pulsa TAB para establecer"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" eliminado de la lista de favoritos."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Haz doble clic o pulsa %1$s para elegir"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Controlador: \"%1$s\" lista de software "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "detenido"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Buscar: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "en ejecución"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Buscar: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(en ejecución)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "grabando"
+#: 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/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(grabando)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Entrada general"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Pausar/Detener"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Guardar configuración"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Reproducir"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Ajustes"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Grabar"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtro"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Rebobinar"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Personalizar interfaz"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Avance rápido"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Configurar carpetas"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[ranura vacía]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[administrador de archivos]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[crear]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[lista de software]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Reordenar listado"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Orden cambiado: las entradas ahora se ordenan por %s"
+msgid "Error accessing %s"
+msgstr "Error al acceder a %s"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "nombre corto"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Elige el modo de acceso"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "descripción"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Solo lectura"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[listas compatibles]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Lectura y escritura"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Forma de uso"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Leer esta imagen, escribir en otra imagen"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revisión: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Leer esta imagen, escribir en diferencial"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "El archivo ya existe ¿Quieres sobreescribirlo?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Otras opciones"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sí"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nuevo nombre de imagen:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Agrandar imágenes en el panel derecho"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato de imagen:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Trucos"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crear"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Mostrar puntero del ratón"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Confirmar salida de máquina"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Elige el formato de imagen"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Evitar la pantalla de información al inicio"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (general)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forzar aspecto 4:3 al capturar la pantalla"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (esta máquina)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Utilizar imagen de fondo"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controles analógicos"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Saltar el menú de selección de BIOS"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Interruptores DIP"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Saltar el menú de selección de software"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuración de máquina"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Información de la auditoría automática"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Información contable"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Ocultar las máquinas sin ROMs de la lista"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Información de máquina"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Opciones avanzadas"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Información de imagen"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Opciones de rendimiento"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Administrador de archivos"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Salto de frames automático"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Control de cinta"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Salto de frame"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Acelerar"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selección de BIOS"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Ranuras de monedas"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Suspender"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lector de código de barras"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Velocidad"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de red"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo del teclado"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controles deslizantes"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Opciones de rotación"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Girar"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opciones de diana"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rotar a la derecha"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Truco"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rotar a la izquierda"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Configuración del plugin"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Rotar automáticamente a la derecha"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Vista DAT externa"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Rotar automáticamente a la izquierda"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Voltear horizontalmente"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Voltear verticalmente"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Elegir máquina nueva"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Opciones del arte"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nuevo código de barras:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Escribe el código"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Opciones de estado/reproducción"
-#: 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/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Guardado/recuperación automático/a"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falló]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: 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/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr "Capacidad de rebobinado"
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entrada general"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Guardar configuración"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Ajustes"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Opciones de entrada"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Bloqueo de monedas"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar interfaz"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Ratón"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar carpetas"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"Al juego elegido le falta una o varias ROMs o imágenes CHD necesarias. Por "
-"favor elige otro distinto.\n"
-"Pulsa cualquier tecla para continuar."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Pistola de luz"
-#: 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."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Multi-teclado"
+
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Multi-ratón"
+
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-"No se ha encontrado ninguna máquina. Comprueba el «rompath» en el archivo "
-"%1$s.ini.\n"
-"\n"
-"Si es la primera vez que utilizas %2$s, por favor, échale un vistazo al "
-"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
-msgid "Configure Options"
-msgstr "Configurar opciones"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Interfaz de usuario activa"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Escribe un nombre o elige: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Recarga no visible"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Escribe un nombre o elige: (aleatorio)"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Zona muerta de los joysticks"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Saturación de los joysticks"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Teclado natural"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Controlador: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Entradas contradictorias simultáneas"
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Impulso de monedas"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Mapeado de mandos"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Asignación de pistolas de luz"
-#: 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/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Asignación de trackballs"
-#: 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/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Asignación de pedales"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Asignación de palancas"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Sonido: No"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Asignación de paletas"
-#: 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/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Asignación de diales"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Sonido: Imperfecto"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Asignación de disp. posicionales"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Sonido: Aceptable"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Asignación de ratones"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Cargar estado de la máquina"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Opciones de vídeo"
-#: 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/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Modo de vídeo"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Guardar estado de la máquina"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Número de pantallas"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Triple búfer"
-#: 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:119
+msgid "HLSL"
+msgstr "HLSL"
-#: 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:121
+msgid "GLSL"
+msgstr "GLSL"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulación PARCIAL"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Filtrado bilineal"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interfaz: Activada"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Preescalado de texturas"
-#: 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:124
+msgid "Window Mode"
+msgstr "Modo de ventana"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulación COMPLETA"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Bloquear forma de pantalla"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interfaz: Desactivada"
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Comenzar maximizada"
-#: 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:127
+msgid "Synchronized Refresh"
+msgstr "Actualización síncrona"
-#: 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:128
+msgid "Wait Vertical Sync"
+msgstr "Esperar a la sincronización vertical"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volumen principal"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "Sí"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volumen %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "No"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Acelerar CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Automát."
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock de sonido %1$s"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "Tasa de refresco %1$s"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Volver a la máquina"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brillo %1$s"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Salir"
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste %1$s"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Volver al menú anterior"
-#: src/frontend/mame/ui/ui.cpp:1446
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Gamma"
-msgstr "Gamma %1$s"
+msgid "Screen #%d"
+msgstr "%dª pantalla"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "Estiramiento horizontal %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posición horizontal %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "Estiramiento vertical %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "Posición vertical %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: 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/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: 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/info.cpp:31
+msgid "protection"
+msgstr "protección"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vector de parpadeo"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "cronometraje"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Anchura mín. del haz"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "gráficos"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Anchura max. del haz"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "paleta de color"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso de intensidad del haz"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "sonido"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Escala de diana %1$s"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "Horizontal"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "cámara"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Vertical"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "micrófono"
-#: 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/info.cpp:39
+msgid "controls"
+msgstr "controles"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "teclado"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "ratón"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+msgstr "disco"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "impresora"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: 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/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/info.cpp:49
+msgid "communications"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Error al guardar «ui.ini»**"
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "Red local"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "Error al guardar «%s.ini»**"
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "Red global"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Se ha guardado la configuración \n"
+msgstr ""
+"Existen problemas conocidos con esta máquina\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Comentario del truco:\n"
-"%s"
+"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/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Se han recargado todos los trucos"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Características no emuladas: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Ajustes de disparo automático"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar todo"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recargar todo"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Características emuladas parcialmente: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado del disparo automático"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "No se han encontrado botones en esta máquina."
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina requiere ficheros de arte externos.\n"
-#: 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/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" añadido a la lista de favoritos."
+"\n"
+"\n"
+"Existen clones funcionales de esta máquina: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" eliminado de la lista de favoritos."
+"%1$s\n"
+"%2$s %3$s\n"
+"Controlador: %4$s\n"
+"\n"
+"Procesador:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Al software elegido le falta uno o varios archivos necesarios. Por favor, "
-"elige otro software.\n"
"\n"
+"Sonido:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vídeo:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "Ninguno\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vector"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, 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 )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Controlador: \"%1$s\" lista de software "
+msgid "Screen '%1$s'"
+msgstr "Pantalla «%1$s»"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Pantalla"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "No está soportado"
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Soportado parcialmente"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[vacío]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[administrador de archivos]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Reordenar listado"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Buscar: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Orden cambiado: las entradas ahora se ordenan por %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "nombre corto"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "descripción"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[listas compatibles]"
+
+#: 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:1045
+msgid "No"
+msgstr "No"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+msgid "Yes"
+msgstr "Sí"
+
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nuevo nombre de imagen:"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formato de imagen:"
+
+#: src/frontend/mame/ui/filecreate.cpp:183
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Elige el formato de imagen"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Modo del teclado"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Natural"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulado"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Buscar: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Activado"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Sin filtrar"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Disponible"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "No disponible"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Funciona"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "No Funciona"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mecánica"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "No mecánica"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Categoría"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoritos"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "No BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Padres"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Clones"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Fabricante"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "Año"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Soporta guardado"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "No soporta guardado"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "Requiere CHD"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "No requiere CHD"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Pantalla vertical"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Pantalla horizontal"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Filtro personalizado"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Editor"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Soportado"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Parcialmente soportado"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "No soportado"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Región de la versión"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Tipo de dispositivo"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Lista de software"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<configurar filtros>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Seleccionar filtros personalizados:"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Eliminar último filtro"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Añadir filtro"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Selecciona categoria:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[Sin ficheros INI de categorías]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[No hay grupos en el fichero INI]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "No se han encontrado ficheros INI de categorías"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Fichero"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
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:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Grupo"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Incluir clones"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crear]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Forma de uso"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Error al acceder a %s"
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revisión: "
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Elige el modo de acceso"
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Restablecer"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Solo lectura"
+#: src/frontend/mame/ui/miscmenu.cpp:235
+#, 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/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lectura y escritura"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tiempo encendido: %1$d:%2$02d\n"
+"\n"
-#: 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/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Boletos emitidos: %1$d\n"
+"\n"
-#: 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/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moneda %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:252
#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moneda %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (bloqueado)"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORES"
+#: src/frontend/mame/ui/miscmenu.cpp:455
+#, c-format
+msgid "P%d Visibility"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PLUMAS"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Volver a la máquina"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Retardo visible"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Salir"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml guardado en la carpeta «ui»."
-#: 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/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Nombre: Descripción:\n"
-#: 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/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt guardado en la carpeta «ui»."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista en formato XML (igual que -listxml)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automát."
+#: src/frontend/mame/ui/miscmenu.cpp:693
+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/custui.cpp:31
-msgid "Show All"
-msgstr "Mostrar todo"
+#: src/frontend/mame/ui/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista en formato TXT (igual que -listfull)"
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Ocultar filtros"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Controlador"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Ocultar detalles/imagen"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Esta máquina no tiene BIOS."
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Ocultar ambos"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Añadir a favoritos"
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Tipografía"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Borrar de favoritos"
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Colores"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Mostrar paneles laterales"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Ajustes de interfaz"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (predeterminado)"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "predeterminado"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Tipografía de interfaz"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Pseudo-terminales"
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Negrita"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falló]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Cursiva"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Líneas"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Cargar estado de la máquina"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Tamaño del texto informativo"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Ajustes tipográficos de interfaz"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Guardar estado de la máquina"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-"Texto de ejemplo - La cigüeña olía el paté de atún del camión más lejano."
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Texto normal"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Texto seleccionado"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Interfaz de usuario"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Fondo del texto normal"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Fondo del texto seleccionado"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Otros controles"
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Color elem. secundarios"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Copiar"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Borde"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Fondo"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "Interruptor DIP"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Color no disponible"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Color del control deslizante"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Fondo del visor de efectos"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Color al resaltar con ratón"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "detenido"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Fondo al resaltar con ratón"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "en ejecución"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Color al seleccionar con ratón"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(en ejecución)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Fondo al seleccionar con ratón"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "grabando"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Restaurar colores originales"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(grabando)"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "Ajustes de color de interfaz"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Pausar/Detener"
-#: src/frontend/mame/ui/custui.cpp:490
-#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Haz doble clic o pulsa %1$s para cambiar el color"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Reproducir"
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Vista previa"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Grabar"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Rebobinar"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Elem. secundario"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Avance rápido"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Seleccionado"
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "No se puede guardar en la carpeta"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Resaltado"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "Ajustes ARGB"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Al juego elegido le falta una o varias ROMs o imágenes CHD necesarias. Por "
+"favor elige otro distinto.\n"
+"Pulsa cualquier tecla para continuar."
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Transparencia"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"No se ha encontrado ninguna máquina. Comprueba el «rompath» en el archivo "
+"%1$s.ini.\n"
+"\n"
+"Si es la primera vez que utilizas %2$s, por favor, échale un vistazo al "
+"archivo «config.txt» de la carpeta «docs» para informarte sobre cómo "
+"configurar %2$s."
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Rojo"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Configurar opciones"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Verde"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Escribe un nombre o elige: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Azul"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Escribe un nombre o elige: (aleatorio)"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Elegir colores más básicos"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Vista previa ="
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Controlador: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Blanco"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "En general: NO FUNCIONA"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Plateado"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "En general: Protección sin emular"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Gris"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "En general: Funcionando"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Negro"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: No implementado, "
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Naranja"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfectos,"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Amarillo"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Gráficos: Aceptables, "
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Violeta"
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Sonido: No"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo del teclado:"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Sonido: No implementado"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Sonido: Imperfecto"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Sonido: Aceptable"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"Tiempo encendido: %1$d:%2$02d:%3$02d\n"
-"\n"
+"Comentario del truco:\n"
+"%s"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Tiempo encendido: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Se han recargado todos los trucos"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Boletos emitidos: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Reiniciar todo"
-#: 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/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Recargar todo"
-#: 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/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (bloqueado)"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Medios del Software"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Retardo visible"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Interfaz"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Idioma"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nombre: Descripción:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Muestras"
+
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "INIs de categorías"
+
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Iconos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Capturas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Cabinas arcade"
+
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Folletos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Títulos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Finales"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Circuitos impresos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Marquesinas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Paneles de control"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Dianas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Arte"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Jefes"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Vista previa del arte"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Elegir"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "Fin de partida"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Manual"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Puntuaciones"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Cubiertas"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Ajustes de carpeta"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt guardado en la carpeta «ui»."
+msgid "Current %1$s Folders"
+msgstr "Carpetas actuales %1$s"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Cambiar carpeta"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Añadir carpeta"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Borrar carpeta"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Controlador"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Cambiar carpeta %1$s - Buscar: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Esta máquina no tiene BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Añadir carpeta %1$s - Buscar: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Guardar ajustes de máquina"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Pulsa TAB para establecer"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Borrar carpeta %1$s"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (predeterminado)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " COLORES"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PLUMAS"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Configurar máquina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, 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:1047
#, 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:1048
#, 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:1052
#, 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:1054
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:1057
msgid "Analog Controls\tYes\n"
msgstr "Controles analógicos\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Entradas de teclado\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "En General\tNO FUNCIONA\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
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:1066
msgid "Overall\tWorking\n"
msgstr "En General\tFunciona\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Gráficos\tNo implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
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:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Gráficos\tColores imperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Gráficos\tImperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Gráficos\tAceptables"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Sonido\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Sonido\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Sonido\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Sonido\tAceptable\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Cámara\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Cámara\tImperfecta\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Micrófono\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Micrófono\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Controles\tNo implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Controles\tImperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Teclado\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Teclado\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Ratón\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Ratón\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disco\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disco\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Impresora\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Impresora\tImperfecta\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "Red local\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "Red local\tImperfecta"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "Red global\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "Red global\tImperfecta\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Cronometraje\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Cronometraje\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
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:1173
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:1174
msgid "Requires Artwork\tYes\n"
msgstr "Requiere arte\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr "Requiere arte\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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:1175
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Requiere arte clicable\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Soporta modo cocktail\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr "Soporta modo cocktail\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
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:1178
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:1179
msgid "Support Save\tYes\n"
msgstr "Soporta guardado\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr "Soporta guardado\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
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:1180
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:1190
msgid "Requires CHD\tYes\n"
msgstr "Requiere CHD\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr "Requiere CHD\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
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:1205
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:1208
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:1210
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:1212
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:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1829,344 +2116,521 @@ 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:1406
#, 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:1434
#, 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:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Lista de selección - Buscar: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, 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:100
+#, 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:105
+#, 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:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"Falta la máquina seleccionada o una o más de sus ROMs o imágenes CHD. Por "
-"favor, elige otra máquina.\n"
-"\n"
+"Auditando ROMs para la máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Sonido"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Comenzar auditoría"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Tasa de muestreo"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Mostrar todo"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utilizar muestras externas"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Ocultar filtros"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Otras opciones"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Ocultar detalles/imagen"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Elegir última máquina emulada"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Ocultar ambos"
-#: 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/custui.cpp:171
+msgid "Fonts"
+msgstr "Tipografía"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mostrar puntero del ratón"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Colores"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirmar salida de máquina"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Mostrar paneles laterales"
-#: 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/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Ajustes de interfaz"
-#: 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/custui.cpp:245
+msgid "default"
+msgstr "predeterminado"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Utilizar imagen de fondo"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Tipografía de interfaz"
-#: 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/custui.cpp:371
+msgid "Bold"
+msgstr "Negrita"
-#: 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/custui.cpp:372
+msgid "Italic"
+msgstr "Cursiva"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Información de la auditoría automática"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Líneas"
-#: 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/custui.cpp:383
+msgid "Infos text size"
+msgstr "Tamaño del texto informativo"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opciones avanzadas"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Ajustes tipográficos de interfaz"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opciones de rendimiento"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+"Texto de ejemplo - La cigüeña olía el paté de atún del camión más lejano."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Salto de frames automático"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Texto normal"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Salto de frame"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Texto seleccionado"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Acelerar"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Fondo del texto normal"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Suspender"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Fondo del texto seleccionado"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocidad"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Color elem. secundarios"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Velocidad de refresco"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Copiar"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Opciones de rotación"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Borde"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rotar a la derecha"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Fondo"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rotar a la izquierda"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "Interruptor DIP"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Rotar automáticamente a la derecha"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Color no disponible"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Rotar automáticamente a la izquierda"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Color del control deslizante"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Voltear horizontalmente"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Fondo del visor de efectos"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Voltear verticalmente"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Color al resaltar con ratón"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Opciones del arte"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Fondo al resaltar con ratón"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Recortes del arte"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Color al seleccionar con ratón"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Utilizar fondos"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Fondo al seleccionar con ratón"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Utilizar sobreimpresiones"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Restaurar colores originales"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Utilizar marcos"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "Ajustes de color de interfaz"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Utilizar paneles de control"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Haz doble clic o pulsa %1$s para cambiar el color"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Utilizar marquesinas"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Vista previa"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Opciones de estado/reproducción"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Guardado/recuperación automático/a"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Elem. secundario"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Capacidad de rebobinado"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Seleccionado"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Captura bilineal"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Resaltado"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "Ajustes ARGB"
+
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Transparencia"
+
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Rojo"
+
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Verde"
+
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Azul"
+
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Elegir colores más básicos"
+
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Vista previa ="
+
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Blanco"
+
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Plateado"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Gris"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Negro"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Naranja"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Amarillo"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Violeta"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nuevo código de barras:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Escribe el código"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "El tamaño del código de barras no es correcto."
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Entrada (general)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Entrada (esta máquina)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Controles analógicos"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opciones de entrada"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Configuración de máquina"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Bloqueo de monedas"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Información contable"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Ratón"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Información de máquina"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Pistola de luz"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Información de imagen"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Multi-teclado"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Administrador de archivos"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Multi-ratón"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Control de cinta"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "Selección de BIOS"
+
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Ranuras de monedas"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Lector de código de barras"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Dispositivos de red"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Controles deslizantes"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Opciones de diana"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Truco"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Configuración del plugin"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Vista DAT externa"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Interfaz de usuario activa"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Elegir máquina nueva"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Recarga no visible"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Paneles de control"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Zona muerta de los joysticks"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Vista previa de arte"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Saturación de los joysticks"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Fin del juego"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Teclado natural"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Añadir o borrar de favoritos"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Entradas contradictorias simultáneas"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exportar esta lista a un archivo"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Impulso de monedas"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Mostrar vista de DATs"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapeado de mandos"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Selección de partes de software:"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Asignación de pistolas de luz"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "Selección de BIOS:"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Asignación de trackballs"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "El software es un clon de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Asignación de pedales"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Es un software padre"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Asignación de palancas"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Soportado: No"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Asignación de paletas"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Soportado: Parcialmente"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Asignación de diales"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Soportado: Sí"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Asignación de disp. posicionales"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "conjunto de ROMs: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Asignación de ratones"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "El controlador es un clon de: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Modo de vídeo"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Es un controlador padre"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Número de pantallas"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Imágenes"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple búfer"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Informaciones"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtrado bilineal"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Preescalado de texturas"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Modo de ventana"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Bloquear forma de pantalla"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Comenzar maximizada"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Actualización síncrona"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Pulsa cualquier tecla para continuar."
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Esperar a la sincronización vertical"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Utilización"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Información general"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Sonido"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Tasa de muestreo"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Utilizar muestras externas"
+
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2183,7 +2647,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:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2200,60 +2664,34 @@ 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:54
msgid "* CPU:\n"
msgstr "* Procesador:\n"
-#: 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"
-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
-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
-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
-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:98
msgid "* Video:\n"
msgstr "* Vídeo:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:103
#, 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:116
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:117
#, 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"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:130
msgid "* Sound:\n"
msgstr "* Sonido:\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/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
-
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2262,491 +2700,451 @@ 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:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, 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:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
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:257
msgid "* Configuration settings:\n"
msgstr "* Configuración:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr "* Dispositivo(s) de entrada:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, 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:263
#, 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:265
#, 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:267
#, 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:269
#, 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:271
#, 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:273
#, 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:275
#, 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:280
msgid "* Media Options:\n"
msgstr "* Opciones de medios:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, 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:288
msgid "* Slot Options:\n"
msgstr "* Opciones de ranuras:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
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?"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
+msgstr ""
-#: 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?"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
+msgstr "Guardar Truco"
-#: 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)"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
+msgstr "Por defecto"
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
+msgstr "Personalizado"
+
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
+msgstr "Nombre del Truco"
+
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
+msgstr "El nombre por defecto es %s"
+
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
+msgstr "Jugador"
+
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
+msgstr "Tipo"
+
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
+msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "No se puede guardar en la carpeta"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
+msgstr "Guardar"
-#: 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."
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
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"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
+msgstr "Truco escrito en %s y añadido a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "cronometraje"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
+msgstr "Truco añadido a cheat.simple"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
+msgstr ""
+"No se ha podido escribir el fichero\n"
+"Asegúrese de que existe la ruta de la carpeta cheatpath"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de color"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
+msgstr "Cancelar"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "sonido"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
+msgstr "Procesador o Memoria RAM"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:501
+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\""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "cámara"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "micrófono"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controles"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "ratón"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
+msgstr "Comenzar nueva búsqueda"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impresora"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
+msgstr "%d coincidencias encontradas"
+
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Red local"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Red global"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
+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"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
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"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
+msgstr "Izquierdo igual que derecho"
+
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
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"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
+msgstr "Izquierdo igual que derecho con máscara de bits"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Características no emuladas: "
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
+msgstr "Izquierdo distinto que derecho con máscara de bits"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
+msgstr "Izquierdo menor que el valor"
-#: 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"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
+msgstr "Izquierdo mayor que el valor"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Características emuladas parcialmente: "
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
+msgstr "Izquierdo igual que el valor"
-#: 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"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
+msgstr "Izquierdo distinto que el valor"
-#: 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"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
+msgstr "Valor"
-#: 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"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
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"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
+msgstr "Cualquiera"
-#: 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"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
+msgstr "Formato de los datos"
-#: 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"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
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"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
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"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-"\n"
-"\n"
-"Pulsa cualquier tecla para continuar."
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
+#: plugins/cheatfind/init.lua:744
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
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
+#: plugins/cheatfind/init.lua:746
msgid ""
-"\n"
-"Sound:\n"
+"Use this if you want to poke the Last Slot value (eg. You started without an "
+"item but finally got it)"
msgstr ""
-"\n"
-"Sonido:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-"\n"
-"Vídeo:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ninguno\n"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vector"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
+msgstr "Deshacer última búsqueda -- #"
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
+msgstr "Coincidir bloque"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
+msgstr "Todo"
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Pantalla «%1$s»"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Pantalla"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
+msgstr "Motor de trucos no disponible"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "No está soportado"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
+msgstr "Probar"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Soportado parcialmente"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
+msgstr "Escribir"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vacío]"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
+msgstr "Inspeccionar"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Paneles de control"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
+msgstr "Página"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Vista previa de arte"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
+msgstr "Limpiar inspecciones"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fin del juego"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
+msgstr "Buscador de Trucos"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Añadir o borrar de favoritos"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
+msgstr "Guardar los nombres de entrada a fichero"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar esta lista a un archivo"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
+msgstr "Error al guardar el fichero nombres de entrada"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostrar vista de DATs"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
+msgstr "Fichero de nombres de puertos de entrada guardado en %s"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selección de partes de software:"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
+msgstr "Puertos de entrada"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selección de BIOS:"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
+msgstr ""
-#: 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"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Es un software padre"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Soportado: No"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Soportado: Parcialmente"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Soportado: Sí"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "conjunto de ROMs: %1$-.100s"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
+msgstr ""
-#: 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"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Es un controlador padre"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imágenes"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informaciones"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilización"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Información general"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfaz de usuario"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
+msgstr "Hecho"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Otros controles"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2764,68 +3162,81 @@ msgstr "Contador de ejecuciones"
msgid "Timer"
msgstr "Tiempo"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:606
msgid "Select cheat to set hotkey"
msgstr "Selecciona truco para configurar la tecla-rápida"
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
-msgstr "Pulsa la tecla-rápida o espera para borrar"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
+msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:645
msgid "None"
msgstr "Ninguno"
-#: plugins/cheat/init.lua:551
-msgid "Done"
-msgstr "Hecho"
-
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
msgid "Set"
msgstr "Configurar"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:697
msgid "Set hotkeys"
msgstr "Configurar teclas rápidas"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:780
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
#, lua-format
msgid "Activated: %s"
msgstr "Activado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:844
#, lua-format
msgid "Enabled: %s"
msgstr "Habilitado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "Disabled: %s"
msgstr "Deshabilitado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:908
#, lua-format
msgid "%s added"
msgstr "%s añadido"
-#: plugins/data/data_command.lua:19
+#: plugins/data/data_command.lua:23
msgid "Command"
msgstr "Orden"
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Puntuación MAME"
+
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Información del sistema"
+
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
msgid "High Scores"
msgstr "Puntuaciones más altas"
-#: plugins/data/data_history.lua:15
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "Puntuación MARP"
+
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Inicio de partida"
+
+#: plugins/data/data_history.lua:171
msgid "History"
msgstr "Historial"
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
msgid ""
"\n"
"\n"
@@ -2837,334 +3248,186 @@ msgstr ""
"--- INFORMACIÓN DEL CONTROLADOR ---\n"
"Controlador: "
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "Información de MAME"
-
#: plugins/data/data_messinfo.lua:21
msgid "MESSinfo"
msgstr "Información de MESS"
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Puntuación MAME"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Información del sistema"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Inicio de partida"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "Puntuación MARP"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr "Guardar Truco"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
-msgstr "Por defecto"
-
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
-msgstr "Personalizado"
-
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
-msgstr "Nombre del Truco"
-
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
-msgstr "El nombre por defecto es %s"
-
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
-msgstr "Jugador"
-
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
-msgstr "Tipo"
-
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
-msgstr "Guardar"
-
-#: plugins/cheatfind/init.lua:462
-#, 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
-msgid "Cheat added to cheat.simple"
-msgstr "Truco añadido a cheat.simple"
-
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-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
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr "Procesador o Memoria RAM"
-
-#: plugins/cheatfind/init.lua:495
-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/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "Información de MAME"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Fondos"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Sobreimpresiones"
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
-msgstr "Comenzar nueva búsqueda"
+#~ msgid "Bezels"
+#~ msgstr "Marcos"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Paneles de control"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Ver"
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
-msgstr "%d coincidencias encontradas"
+#~ msgid "Cropped"
+#~ msgstr "Recortado"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Completo"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "Interruptores DIP"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Selecciona la posición desde la que cargar"
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
-msgstr "Izquierdo igual que derecho"
-
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Selecciona la posición a la que guardar"
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
-msgstr "Izquierdo igual que derecho con máscara de bits"
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Estado de la emulación del teclado"
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
-msgstr "Izquierdo distinto que derecho con máscara de bits"
-
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
-msgstr "Izquierdo menor que el valor"
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Modo: Emulación PARCIAL"
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
-msgstr "Izquierdo mayor que el valor"
+#~ msgid "UI: Enabled"
+#~ msgstr "Interfaz: Activada"
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
-msgstr "Izquierdo igual que el valor"
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Utiliza ScrLock para activar y desactivar**"
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
-msgstr "Izquierdo distinto que el valor"
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Modo: Emulación COMPLETA"
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
-msgstr "Valor"
+#~ msgid "UI: Disabled"
+#~ msgstr "Interfaz: Desactivada"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "No se puede activar el disparo automático"
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
-msgstr "Cualquiera"
-
-#: plugins/cheatfind/init.lua:725
-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 ""
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#~ msgid "Autofire Settings"
+#~ msgstr "Ajustes de disparo automático"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
+#~ msgid "Autofire Status"
+#~ msgstr "Estado del disparo automático"
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "No se han encontrado botones en esta máquina."
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
+#~ msgid "Autofire Delay"
+#~ msgstr "Retardo del disparo automático"
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
+#~ 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"
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Modo del teclado:"
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
+#~ msgid "Save machine configuration"
+#~ msgstr "Guardar ajustes de máquina"
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
+#~ msgid "Configure machine:"
+#~ msgstr "Configurar máquina:"
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#~ msgid "Support Cocktail\tYes\n"
+#~ msgstr "Soporta modo cocktail\tSi\n"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
+#~ msgid ""
+#~ "The selected machine is missing one or more required ROM or CHD images. "
+#~ "Please select a different machine.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Falta la máquina seleccionada o una o más de sus ROMs o imágenes CHD. Por "
+#~ "favor, elige otra máquina.\n"
+#~ "\n"
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
+#~ msgid "Re-select last machine played"
+#~ msgstr "Elegir última máquina emulada"
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Velocidad de refresco"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
+#~ msgid "Artwork Crop"
+#~ msgstr "Recortes del arte"
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
+#~ msgid "Use Backdrops"
+#~ msgstr "Utilizar fondos"
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#~ msgid "Use Overlays"
+#~ msgstr "Utilizar sobreimpresiones"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr "Deshacer última búsqueda -- #"
+#~ msgid "Use Bezels"
+#~ msgstr "Utilizar marcos"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
-msgstr "Coincidir bloque"
+#~ msgid "Use Control Panels"
+#~ msgstr "Utilizar paneles de control"
-#: plugins/cheatfind/init.lua:823
-msgid "All"
-msgstr "Todo"
+#~ msgid "Use Marquees"
+#~ msgstr "Utilizar marquesinas"
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Captura bilineal"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr "Motor de trucos no disponible"
+#, c-format
+#~ msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr "Probar"
+#~ msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr "Escribir"
+#~ msgid " %2$s %3$d.%4$06d MHz\n"
+#~ msgstr " %2$s %3$d.%4$06d MHz\n"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr "Inspeccionar"
+#~ msgid " %2$s %5$d.%6$03d kHz\n"
+#~ msgstr " %2$s %5$d.%6$03d kHz\n"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr "Página"
+#, 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"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr "Limpiar inspecciones"
+#, 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"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr "Buscador de Trucos"
+#, c-format
+#~ msgid " %1$d×%2$s\n"
+#~ msgstr " %1$d×%2$s\n"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr "Guardar los nombres de entrada a fichero"
+#~ msgid " %2$s\n"
+#~ msgstr " %2$s\n"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr "Error al guardar el fichero nombres de entrada"
+#~ 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."
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr "Fichero de nombres de puertos de entrada guardado en %s"
+#~ 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"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr "Puertos de entrada"
+#~ msgid "Press button for hotkey or wait to clear"
+#~ msgstr "Pulsa la tecla-rápida o espera para borrar"
#~ msgid "Data cleared and current state saved"
#~ msgstr "Datos borrados y estado actual guardado"
diff --git a/language/Spanish_Mexico/strings.po b/language/Spanish_Mexico/strings.po
index e8038fbf17f..dc53475fd04 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Swedish/strings.po b/language/Swedish/strings.po
index 5b8369e7171..c2ebae0a9b6 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,2145 +17,2612 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "Skärm #%d"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotera"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Bakgrunder"
-
-#: 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Tryck på valfri tangent för att fortsätta"
-#: 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/ui.cpp:555
+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/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Överlägg"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Infattningar"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPaneler"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Ä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/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
-msgstr "Draperier"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Huvud Volym"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vy"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volym"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beskärd"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Överklocka CPU %1$s"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Full"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Överklocka %1$s ljud"
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Uppdateringsfrekvens"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Mjukvaru Media"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Ljusstyrka"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "UI"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Språk"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Samples"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horisontell utsträckning"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horisontell Position"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIs"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vertikal utsträckning"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Kategori INIs"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Vertikal Position"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Ikoner"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisk '%1$s' Horisontell utsträckning"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Fusk"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisk '%1$s' Horisontell Position"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Skärmklipp"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisk '%1$s' Vertikal utsträckning"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabinett"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisk '%1$s' Vertikal Position"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flygblad"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr "Vektor Flimmer"
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titlar"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr "Stråle Bredd Minimum"
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Slutar"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr "Elektronstråle Bredd Maximum"
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Kontrollpaneler"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr "Elektronstråle Intensitet"
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Hårkors"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Hårkors Skala %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Grafisk Layout"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bossar"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Förhandsvisning Grafisk Layout"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Hårkors Offset %1$s"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Välj"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "GameOver"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HowTo"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logotyper"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Poäng"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Mot"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Hårkors Skala X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Omslagsbilder"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Hårkors Skala Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Katalogkonfiguration"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Hårkors Offset X %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Nuvarande %1$s Kataloger"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Hårkors Offset Y %1$1.3f"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Ändra Katalog"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fel uppstod när ui.ini sparades**"
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Lägg Till Katalog"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fel uppstod när %s.ini sparades**"
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Tabort Katalog"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
+"\n"
+" Konfiguration sparad \n"
+"\n"
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Ändra %1$s Katalog - Sök: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" tillagd i favoritlistan."
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Lägg till %1$s Katalog - Sök: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Tryck TAB för att välja"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" borttagen från favoritlistan."
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-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: "
+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/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dubbelklicka eller tryck %1$s för att välja"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Drivrutin: \"%1$s\" mjukvarulista "
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "stoppad"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Sök: %3$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "spelar upp"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Sök: %1$s_"
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(spelar upp)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr "%1$-.100s"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "spelar in"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Ljudalternativ"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(spelar in)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Generell Indata"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Paus/Stopp"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Spara Konfiguration"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Spela"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Inställningar"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Spela in"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filter"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Spola tillbaka"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Skräddarsy UI"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "Snabbspola framåt"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Konfigurera Kataloger"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[tom plats]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[filhanterare]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[skapa]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[mjukvarulista]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Byt Sortering"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Bytt Sortering: poster sorteras på %s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "kortnamn"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Välj accesstyp"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "beskrivning"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Enbart läsa"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[kompatibla listor]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Läsa och skriva"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Mjukvaruanvändning"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr "Läs denna skivavbildning, skriv kopia till en annan"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Revision: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr "Läs denna skivavbildning, skriv skillnader till en annan"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Fil Finns Redan - Skriv Över?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Diverse Alternativ"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nej"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nytt Namn på Avbildning:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr "Förstora bilderna i den högra panelen"
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Avbildningsformat:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Fusk"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Skapa"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Visa muspekare"
-#: 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/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Konfirmera avsluta maskinhantering"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Välj avbildningsformat"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Hoppa över informationsdialog vid uppstart"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (generell)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Tvinga 4:3 bildförhållande för skärmavbildningsskärm"
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (denna Maskin)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Använd bild som bakgrund"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analog Kontroller"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr "Hoppa över BIOS menyn"
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip Switchar"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr "Hoppa över mjukvaru menyn"
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Maskin Konfiguration"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr "Information automatisk granskning"
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Bokföringsstatus"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr "Göm ROM lösa maskiner från tillgängliga-listan"
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Maskininformation"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Avancerade Alternativ"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Avbildningsinformation"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Prestanda Alternativ"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Filhanterare"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Automatisk skippning av bildrutor"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Bandkontroll"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Skippning av bildrutor"
-#: 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/submenu.cpp:54
+msgid "Throttle"
+msgstr "Strypning"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS val"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slitsenheter"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Sova"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Streckkodsläsare"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Hastighet"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Nätverksenheter"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tangenbordsläge"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Reglage Kontroller"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Rotationsalternativ"
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoalternativ"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Rotera"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Hårkorsalternativ"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Rotera höger"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Fusk"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Rotera vänster"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Pluginalternativ"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr "Automatisk högerrotation"
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Extern DAT vy"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+msgstr "Automatisk vänsterrotation"
-#: 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/submenu.cpp:67
+msgid "Flip X"
+msgstr "Flip X"
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr "Flip Y"
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Välj Ny Maskin"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr "Grafisk Layout Alternativ"
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ny streckkod"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Ange kod"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr "Status/Uppspelnings Alternativ"
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Streckkodens längd är felaktig!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr "Automtisk Spara/Återställning"
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[misslyckad]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Ljudalternativ"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Generell Indata"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Spara Konfiguration"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr "Burn-in"
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Inställningar"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr "Input Alternativ"
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr "Mynt lockout"
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Skräddarsy UI"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Mus"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfigurera Kataloger"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Joystick"
-#: 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 ""
-"Det valda spelet saknar en eller flera ROM eller CHS avbildningar. Välj ett "
-"annat spel.\n"
-"\n"
-"Tryck på valfri tangent för att fortsätta."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
+msgstr "Ljuspistol"
-#: 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 ""
-"Inga maskiner funna. Kontrollera sökvägar till ROMar i %1$s.ini filen.\n"
-"\n"
-"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/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Multi-tangentbord"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Konfigurationsalternativ"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Multi-mus"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "Knappa in namn eller välj; %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Stadig tangent"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "Knappa in namn eller välj: (slumpmässig)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Aktivt UI"
-#: 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"
-msgstr "%1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
+msgstr "Skärmlös omladdning"
-#: 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/submenu.cpp:90
+msgid "Joystick deadzone"
+msgstr "Joystick dödzon"
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+msgstr "Joystick mättnad"
-#: 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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Naturligt tangentbord"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr "Motsägelsefullt"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Status: Fungerar"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
+msgstr "Mynt impuls"
-#: 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/submenu.cpp:100
+msgid "Device Mapping"
+msgstr "Enhetsmappning"
-#: 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/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr "Ljuspistolstilldelning"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: OK, "
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr "Styrkuletilldening"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ljud: Inget"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr "Pedalanordningstilldelning"
-#: 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/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr "Reklamlappenhetstilldelning"
-#: 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/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Paddlingsenhetstilldelning"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ljud: OK"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Telefonenhetstilldelning"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Ladda läge"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Positionsenhetstilldelning"
-#: 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/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Musenhetstilldelning"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Spara läge"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Videoalternativ"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Välj position att spara till"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Video läge"
-#: 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/submenu.cpp:116
+msgid "Number Of Screens"
+msgstr "Antal skärmar"
-#: 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/submenu.cpp:118
+msgid "Triple Buffering"
+msgstr "Tripplebuffrande"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Läge: PARTIELL Emulering"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
+msgstr "HLSL"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Aktiverat"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
+msgstr "GLSL"
-#: 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/submenu.cpp:122
+msgid "Bilinear Filtering"
+msgstr "Bilinjär Filtrering"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Läge: FULL Emulering"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap Prescaling"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Inaktiverad"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Fönster läge"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autofire kan inte aktiveras"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "Tvinga bildförhållande"
-#: 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 ""
-"Ä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/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Starta Maximerad"
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Huvud Volym"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Synkroniserad Uppdatering"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volym"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Vänta på Vertikal Synkronisering"
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Överklocka CPU %1$s"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
+msgstr "På"
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Överklocka %1$s ljud"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
+msgstr "Av"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Uppdateringsfrekvens"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Automatisk"
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Ljusstyrka"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Tillbaka till Emuleringen"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Hoppa ur"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horisontell utsträckning"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Tillbaka till Föregående Meny"
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horisontell Position"
+msgid "Screen #%d"
+msgstr "Skärm #%d"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vertikal utsträckning"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vertikal Position"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: 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/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: 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/videoopt.cpp:204
+msgid "X or Y (Auto)"
+msgstr ""
-#: 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/videoopt.cpp:211
+msgid "Non-Integer Scaling"
+msgstr ""
-#: 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/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor Flimmer"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Stråle Bredd Minimum"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "skyddsmekanism"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Elektronstråle Bredd Maximum"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "timing"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Elektronstråle Intensitet"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "grafik"
-#: 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:34
+msgid "color palette"
+msgstr "färgpalett"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "ljud"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Hårkors Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "kamera"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "mikrofon"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "kontroller"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "tangentbord"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "mus"
-#: 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/info.cpp:42
+msgid "media"
+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/info.cpp:43
+msgid "disk"
+msgstr "disk"
-#: 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/info.cpp:44
+msgid "printer"
+msgstr "skrivare"
-#: 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/info.cpp:45
+msgid "magnetic tape"
+msgstr ""
-#: 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/info.cpp:46
+msgid "punch tape"
+msgstr ""
-#: 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/info.cpp:47
+msgid "magnetic drum"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fel uppstod när ui.ini sparades**"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
+msgstr ""
-#: 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/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/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:230
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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:240
+msgid ""
+"There are known problems with this machine\n"
"\n"
-" Konfiguration sparad \n"
+msgstr ""
+"Det finns kända problem med denna maskin\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:245
msgid ""
-"Cheat Comment:\n"
-"%s"
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-"Fusk Kommentar:\n"
-"%s"
+"En eller flera ROMs/CHDs för denna maskin har inte blivit avbildade "
+"korrekt.\n"
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alla fusk uppdaterade"
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr "Helt oemulerade funktioner: "
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autofire Inställningar"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#, c-format
+msgid "%s"
+msgstr "%s"
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Återställ Alla"
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
+#, c-format
+msgid ", %s"
+msgstr ", %s"
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ladda Om Alla"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Bristfälligt emulerade funtioner: "
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:281
+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/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Inga knappar funna för denna maskin!"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
+msgstr "Denna maskin kräver extra filer med grafisk layout.\n"
-#: 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/info.cpp:285
+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/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:287
+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:291
+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:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:315
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-"%s\n"
-" tillagd i favoritlistan."
+"\n"
+"\n"
+"Det finns fungerande varianter av denna maskin: %s"
-#: 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/info.cpp:339
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-"%s\n"
-" borttagen från favoritlistan."
+"%1$s\n"
+"%2$s %3$s\n"
+"Emulering: %4$s\n"
+"\n"
+"CPU:\n"
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Sound:\n"
msgstr ""
-"Den valda mjukvaran saknar en eller flera nödvändiga filer. Välj en annan "
-"mjukvara.\n"
"\n"
+"Ljud:\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/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
+msgstr "None\n"
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
+msgstr "Vektor"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d mjukvarupaket )"
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr "%2$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Drivrutin: \"%1$s\" mjukvarulista "
+msgid "Screen '%1$s'"
+msgstr "Skärm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
+msgstr "Skärm"
+
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr "Stöds Ej"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr "Stöds Delvis"
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr "[tom]"
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[filhanterare]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Byt Sortering"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Sök: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Bytt Sortering: poster sorteras på %s"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "kortnamn"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "beskrivning"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[kompatibla listor]"
+
+#: 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:1045
+msgid "No"
+msgstr "Nej"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: 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
+#: plugins/autofire/autofire_menu.lua:217
+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:265
+msgid "Select image format"
+msgstr "Välj avbildningsformat"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Tangenbordsläge"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Naturligt"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emulerat"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
-msgstr "Sök: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Aktiverad"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Inaktiverad"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr "Ofiltrerat"
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr "Tillgängliga"
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr "Ej tillgängliga"
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr "Fungerar"
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr "Fungerar ej"
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr "Mekaniska"
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr "Ej Mekaniska"
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr "Kategori"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr "Favoriter"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr "Ej BIOS"
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr "Har Kloner"
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr "Är Kloner"
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr "Tillverkare"
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr "År"
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr "Spara Stödda"
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr "Spara Ej Stödda"
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr "CHD avbildning krävs"
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr "Ingen CHD avbildning krävs"
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr "Vertikal skärm"
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr "Horisontell skärm"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr "Eget filter"
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr "Utgivare"
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr "Stödd"
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr "Partiellt Stöd"
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr "Ej Stödda"
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr "Utgivningsområde"
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr "Typ av apparat"
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr "Mjukvarulista"
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr "<skapa filter>"
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr "Välj eget filter"
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr "Filter %1$u"
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr "Ta bort senaste filtret"
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr "Lägg till filter"
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr "Välj kategori:"
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr "[ingen kategori INI filer]"
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr "[inga grupper i INI fil]"
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr "Inga kategorier INI filer funna"
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr "Fil"
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr "Inga grupper funna i kategorifil"
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr "Grupp"
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr "Inkludera kloner"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[skapa]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Mjukvaruanvändning"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Revision: "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Återställ"
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
+"Drifttid: %1$d:%2$02d:%3$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Välj accesstyp"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Drifttid: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Enbart läsa"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Biljetter fördelade: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Läsa och skriva"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mynt %1$c: NA%3$s\n"
-#: 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/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mynt %1$c: %2$d%3$s\n"
-#: 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/miscmenu.cpp:255
+msgid " (locked)"
+msgstr " (låst)"
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+msgid "P%d Visibility"
+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 "Återställ"
+#: src/frontend/mame/ui/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
+msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FÄRGER"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Synlig Fördröjning"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNOR"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sparad i ui katalog."
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Tillbaka till Emuleringen"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Namn: Beskrivning:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Hoppa ur"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sparad i ui katalog."
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportlista i XML format (som -listxml)"
-#: 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/miscmenu.cpp:693
+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/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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportera lista i TXT format (som -listfull)"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatisk"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Drivrutin"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Visa Alla"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr "Den här maskinen saknar BIOS."
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Göm Filter"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Lägg Till Favoriter"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Göm Info/Bild"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Tabort Från Favoriter"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Göm Båda"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Typsnitt"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Färger"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (standard)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
-msgstr "Visa sidopaneler"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
+msgstr "Tillägg"
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
-msgstr "Egna UI Inställningar"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
+msgstr "Låtsasterminaler"
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "standard"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[misslyckad]"
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "UI Typsnitt"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Fet"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Ladda läge"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Kursiv"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Linjer"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Spara läge"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Info Textstorlek"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "UI Typsnitts Inställningar"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-msgstr "Provtext - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr "Användergränssnitt"
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Vald färg"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr "Andra kontroller"
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Normal textbakgrund"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Vald backgrundsfärg"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
-msgstr "Delpost färg"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klon"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Kant"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Bakgrund"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
-msgstr "DIP switch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
-msgstr "Ej tillgänglig färg"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
-msgstr "Reglage färg"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "stoppad"
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
-msgstr "Gfx visare bakgrund"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "spelar upp"
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
-msgstr "Mouse over färg"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(spelar upp)"
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
-msgstr "Mouse over bakgrunds färg"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "spelar in"
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
-msgstr "Mouse down färg"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(spelar in)"
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
-msgstr "Mouse down bakgrundsfärg"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Paus/Stopp"
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Återställ ursprungfärger"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Spela"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr "UI färginställningar"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Spela in"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Spola tillbaka"
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "Snabbspola framåt"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr "Kan inte spara på katalog"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Det valda spelet saknar en eller flera ROM eller CHS avbildningar. Välj ett "
+"annat spel.\n"
+"\n"
+"Tryck på valfri tangent för att fortsätta."
+
+#: src/frontend/mame/ui/simpleselgame.cpp:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
-msgstr "Dubbelklicka eller tryck %1$s för att ändra färgvärde"
+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 ""
+"Inga maskiner funna. Kontrollera sökvägar till ROMar i %1$s.ini filen.\n"
+"\n"
+"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/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Förhandsvisning Meny"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Konfigurationsalternativ"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "Knappa in namn eller välj; %1$s_"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr "Delpost"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "Knappa in namn eller välj: (slumpmässig)"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Vald"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
-msgstr "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB inställningar"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Status: FUNGERAR EJ"
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Status: Oemulerad skyddsmekanism"
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Röd"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Status: Fungerar"
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Grön"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Ej implementerad, "
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Blå"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Bristfällig, "
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Välj från palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafik: OK, "
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Förhandsvisning Färg ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Ljud: Inget"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Vit"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Ljud: Ej implementerat"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Ljud: Bristfälligt"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Grå"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Ljud: OK"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Svart"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Fusk Kommentar:\n"
+"%s"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr "Alla fusk uppdaterade"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Gul"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr "Återställ Alla"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Lila"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr "Ladda Om Alla"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tangentbordsläge:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMs"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturligt"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Mjukvaru Media"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulerat"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "UI"
-#: 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/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Språk"
-#: 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/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Samples"
-#: 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/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATs"
-#: 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/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIs"
-#: 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/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Kategori INIs"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (låst)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Ikoner"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Synlig Fördröjning"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Skärmklipp"
-#: 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/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kabinett"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Namn: Beskrivning:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Flygblad"
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Titlar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Slutar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "PCBs"
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr "Draperier"
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Kontrollpaneler"
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Hårkors"
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Grafisk Layout"
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Bossar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Förhandsvisning Grafisk Layout"
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Välj"
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "GameOver"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "HowTo"
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logotyper"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Poäng"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Mot"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Omslagsbilder"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Katalogkonfiguration"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sparad i ui katalog."
+msgid "Current %1$s Folders"
+msgstr "Nuvarande %1$s Kataloger"
-#: 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/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Ändra Katalog"
-#: 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/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Lägg Till Katalog"
-#: 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/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Tabort Katalog"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Drivrutin"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "Ändra %1$s Katalog - Sök: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Den här maskinen saknar BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "Lägg till %1$s Katalog - Sök: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Spara maskinkonfiguration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Tryck TAB för att välja"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Konfigurera maskin:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "Tabort %1$s Katalog"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standard)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr " FÄRGER"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Tillägg"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
+msgstr " PENNOR"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr "Maskinkonfiguration"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "Romdistribution\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, 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:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Tillverkare\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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
+#: src/frontend/mame/ui/selgame.cpp:1054
msgid "Driver is Parent\t\n"
msgstr "Drivrutinen är oberoende\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr "Analoga kontroller\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr "Tangentbord\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr "Status\tFUNGERAR EJ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr "Status\tOemulerad skyddsmekanism\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr "Status\tFungerar\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr "Grafik\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr "Grafik\tFel Färger\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafik\tBristfälliga färger\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr "Grafik\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr "Grafik\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr "Ljud\tInget\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr "Ljud\tEj implementerat\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr "Ljud\tBristfälligt\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr "Ljud\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr "Kamera\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr "Kamera\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr "Mikrofon\tEj implememterad\n"
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr "Mikrofon\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr "Kontroller\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr "Kontroller\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr "Tangentbord\tEj implementerat\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr "Tangentbord\tBristfälligt\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr "Mus\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr "Mus\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr "Disk\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr "Disk\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr "Printer\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr "Printer\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr "LAN\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr "WAN\tBristfälligt\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr "Timing\tEj implementerad\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr "Timing\tBristfällig\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romdistribution: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Urvalslista - Sök: "
+
+#: src/frontend/mame/ui/selector.cpp:126
+#, 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/auditmenu.cpp:97
+#, 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?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Granskning av ROMs för alla %1$u maskiner?"
+
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(resultat kommer att sparas som %1$s)"
+
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-"Den valda maskinen saknar en eller flera obligtoriska ROM eller CHD "
-"avbildningar. Välj en annan maskin.\n"
-"\n"
+"Granskning av ROMs för maskin %2$u av %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Ljud"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Starta Granskning"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplingshastighet"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Visa Alla"
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Använd Externa Samplingar"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Göm Filter"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Diverse Alternativ"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Göm Info/Bild"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Välj senast spelade maskin"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Göm Båda"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Förstora bilderna i den högra panelen"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Typsnitt"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Visa muspekare"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Färger"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Konfirmera avsluta maskinhantering"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
+msgstr "Visa sidopaneler"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Hoppa över informationsdialog vid uppstart"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
+msgstr "Egna UI Inställningar"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Tvinga 4:3 bildförhållande för skärmavbildningsskärm"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "standard"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Använd bild som bakgrund"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "UI Typsnitt"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Hoppa över BIOS menyn"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Fet"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Hoppa över mjukvaru menyn"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Kursiv"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Information automatisk granskning"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Linjer"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Göm ROM lösa maskiner från tillgängliga-listan"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Info Textstorlek"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Avancerade Alternativ"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "UI Typsnitts Inställningar"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Prestanda Alternativ"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "Provtext - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Automatisk skippning av bildrutor"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normal text"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Skippning av bildrutor"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Vald färg"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Strypning"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Normal textbakgrund"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Sova"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Vald backgrundsfärg"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Hastighet"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
+msgstr "Delpost färg"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Uppdateringshastighet"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klon"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Rotationsalternativ"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Kant"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rotera höger"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Bakgrund"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rotera vänster"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
+msgstr "DIP switch"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Automatisk högerrotation"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
+msgstr "Ej tillgänglig färg"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Automatisk vänsterrotation"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
+msgstr "Reglage färg"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Flip X"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
+msgstr "Gfx visare bakgrund"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
+msgstr "Mouse over färg"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Grafisk Layout Alternativ"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
+msgstr "Mouse over bakgrunds färg"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Grafisk Layout Beskärning"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
+msgstr "Mouse down färg"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Använd Bakgrunder"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
+msgstr "Mouse down bakgrundsfärg"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Använd Överlägg"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Återställ ursprungfärger"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Använd Infattningar"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
+msgstr "UI färginställningar"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Använd Kontrollpaneler"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
+msgstr "Dubbelklicka eller tryck %1$s för att ändra färgvärde"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Använd Draperier"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Förhandsvisning Meny"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Status/Uppspelnings Alternativ"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automtisk Spara/Återställning"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
+msgstr "Delpost"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Vald"
+
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
+msgstr "Mouse Over"
+
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB inställningar"
+
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
+
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Röd"
+
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Grön"
+
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Blå"
+
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Välj från palette"
+
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Förhandsvisning Färg ="
+
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Vit"
+
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Silver"
+
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Grå"
+
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Svart"
+
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Orange"
+
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Gul"
+
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Lila"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ny streckkod"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Ange kod"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Streckkodens längd är felaktig!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Input (generell)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Input (denna Maskin)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analog Kontroller"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilinjär skärmavbildning"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Maskin Konfiguration"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Burn-in"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Bokföringsstatus"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Input Alternativ"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Maskininformation"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Mynt lockout"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Mus"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "Avbildningsinformation"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Filhanterare"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Ljuspistol"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Bandkontroll"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Multi-tangentbord"
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS val"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Multi-mus"
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Slitsenheter"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Stadig tangent"
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Streckkodsläsare"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Aktivt UI"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Nätverksenheter"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Skärmlös omladdning"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Reglage Kontroller"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Joystick dödzon"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Hårkorsalternativ"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Joystick mättnad"
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Fusk"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Naturligt tangentbord"
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Pluginalternativ"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Motsägelsefullt"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Extern DAT vy"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Mynt impuls"
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Enhetsmappning"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Välj Ny Maskin"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Ljuspistolstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Kontrollpaneler"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Styrkuletilldening"
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Förhandsvisining Grafisk Layout"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedalanordningstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Spelet Slut"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Reklamlappenhetstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Redigera favoriter"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Paddlingsenhetstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Exportera listan till fil"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Telefonenhetstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "Visa DATs vy"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Positionsenhetstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Val av mjukvarudel:"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Musenhetstilldelning"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS val:"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Video läge"
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Mjukvaran är klonad från: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Antal skärmar"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
+msgstr "Mjukvaran har kloner"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Tripplebuffrande"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Stöd: Nej"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Stöd: Delvis"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Stöd: Ja"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilinjär Filtrering"
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romdistribution: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap Prescaling"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Drivrutinen är klon av: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Fönster läge"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Drivrutinen har kloner"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Tvinga bildförhållande"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Bilder"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Starta Maximerad"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Information"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Synkroniserad Uppdatering"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Vänta på Vertikal Synkronisering"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr "Tryck på valfri tangent för att fortsätta."
+
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Användning"
+
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Generell Information"
+
+#: 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/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2166,7 +2633,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2177,965 +2644,727 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, 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?"
-
-#: 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/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/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/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Starta Granskning"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kan inte spara på katalog"
-
-#: 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 ""
-"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/info.cpp:33
-msgid "graphics"
-msgstr "grafik"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "färgpalett"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "ljud"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
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 "tangentbord"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mus"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disk"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "skrivare"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
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"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
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:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-"Det finns kända problem med denna maskin\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-"En eller flera ROMs/CHDs för denna maskin har inte blivit avbildade "
-"korrekt.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Helt oemulerade funktioner: "
-#: 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 "Bristfälligt emulerade funtioner: "
-
-#: 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/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/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"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
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:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
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: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"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
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: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"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
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:273
-#, c-format
+#: plugins/cheatfind/init.lua:483
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-"\n"
-"\n"
-"Det finns fungerande varianter av denna maskin: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-"\n"
-"\n"
-"Tryck på valfri tangent för att fortsätta"
-#: 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"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Emulering: %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"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-"\n"
-"Ljud:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-"\n"
-"Video:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "None\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 "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"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Stöds Delvis"
-
-#: 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 "Förhandsvisining Grafisk Layout"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Spelet Slut"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Redigera favoriter"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportera listan till fil"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Visa DATs vy"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Val av mjukvarudel:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS val:"
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, 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"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Stöd: Ja"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romdistribution: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Drivrutinen är klon av: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Drivrutinen har kloner"
-
-#: 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 "Information"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Användning"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Generell Information"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Användergränssnitt"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andra kontroller"
-
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
-msgstr "Ingen"
-
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "Activated: %s"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:622
#, lua-format
-msgid "Enabled: %s"
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:623
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
#, lua-format
-msgid "%s added"
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Kommando"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
-msgstr "Ranking"
-
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Historia"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr "MAMEinfo"
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr "MESSinfo"
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr "Mamescore"
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr "Systeminfo"
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr "Spelstart"
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr "MARPScore"
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:744
+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:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:746
+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:564
+#: plugins/cheatfind/init.lua:748
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:903
+#, lua-format
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
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)"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
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)"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
-msgstr ""
+#: plugins/cheat/init.lua:645
+msgid "None"
+msgstr "Ingen"
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:780
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Kommando"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
+msgstr "Mamescore"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
+msgstr "Systeminfo"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
+msgstr "Ranking"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
+msgstr "MARPScore"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
+msgstr "Spelstart"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Historia"
+
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
+msgstr "MESSinfo"
+
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
+msgstr "MAMEinfo"
+
+#~ msgid "Backdrops"
+#~ msgstr "Bakgrunder"
+
+#~ msgid "Overlays"
+#~ msgstr "Överlägg"
+
+#~ msgid "Bezels"
+#~ msgstr "Infattningar"
+
+#~ msgid "CPanels"
+#~ msgstr "CPaneler"
+
+#~ msgid "View"
+#~ msgstr "Vy"
+
+#~ msgid "Cropped"
+#~ msgstr "Beskärd"
+
+#~ msgid "Full"
+#~ msgstr "Full"
+
+#~ msgid "Dip Switches"
+#~ msgstr "Dip Switchar"
+
+#~ msgid "Select position to load from"
+#~ msgstr "Välj position att ladda från"
+
+#~ msgid "Select position to save to"
+#~ msgstr "Välj position att spara till"
+
+#~ msgid "Keyboard Emulation Status"
+#~ msgstr "Status för Tangentbordsemulering"
+
+#~ msgid "Mode: PARTIAL Emulation"
+#~ msgstr "Läge: PARTIELL Emulering"
+
+#~ msgid "UI: Enabled"
+#~ msgstr "UI: Aktiverat"
+
+#~ msgid "**Use ScrLock to toggle**"
+#~ msgstr "**Använd ScrLock för att växla**"
+
+#~ msgid "Mode: FULL Emulation"
+#~ msgstr "Läge: FULL Emulering"
+
+#~ msgid "UI: Disabled"
+#~ msgstr "UI: Inaktiverad"
+
+#~ msgid "Autofire can't be enabled"
+#~ msgstr "Autofire kan inte aktiveras"
+
+#, c-format
+#~ msgid "%1$.3ffps"
+#~ msgstr "%1$.3ffps"
+
+#~ msgid "Autofire Settings"
+#~ msgstr "Autofire Inställningar"
+
+#~ msgid "Autofire Status"
+#~ msgstr "Autofire Status"
+
+#~ msgid "No buttons found on this machine!"
+#~ msgstr "Inga knappar funna för denna maskin!"
+
+#~ msgid "Autofire Delay"
+#~ msgstr "Autofire Fördröjning"
+
+#~ 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"
+
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Tangentbordsläge:"
+
+#~ msgid "Save machine configuration"
+#~ msgstr "Spara maskinkonfiguration"
+
+#~ msgid "Configure machine:"
+#~ msgstr "Konfigurera maskin:"
+
+#~ 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"
+
+#~ msgid "Re-select last machine played"
+#~ msgstr "Välj senast spelade maskin"
+
+#~ msgid "Refresh speed"
+#~ msgstr "Uppdateringshastighet"
+
+#~ msgid "Artwork Crop"
+#~ msgstr "Grafisk Layout Beskärning"
+
+#~ msgid "Use Backdrops"
+#~ msgstr "Använd Bakgrunder"
+
+#~ msgid "Use Overlays"
+#~ msgstr "Använd Överlägg"
+
+#~ msgid "Use Bezels"
+#~ msgstr "Använd Infattningar"
+
+#~ msgid "Use Control Panels"
+#~ msgstr "Använd Kontrollpaneler"
+
+#~ msgid "Use Marquees"
+#~ msgstr "Använd Draperier"
+
+#~ msgid "Bilinear snapshot"
+#~ msgstr "Bilinjär skärmavbildning"
+
+#~ msgid ""
+#~ "The software selected is missing one or more required ROM or CHD images. "
+#~ "Please select a different one."
+#~ msgstr ""
+#~ "Den markerade mjukvaran saknar en eller flera nödvändiga ROM eller CHD "
+#~ "avbildningar. Välj en annan."
+
+#~ 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"
+
#~ msgid "Mechanical Machine\t%1$s\n"
#~ msgstr "Mekanisk Maskin\t%1$s\n"
diff --git a/language/Thai/strings.po b/language/Thai/strings.po
index d39d1112a46..936764474c4 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,3049 +16,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Turkish/strings.po b/language/Turkish/strings.po
index 24321b13517..9fb2e022169 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,2123 +18,2569 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
-#, c-format
-msgid "Screen #%d"
-msgstr "#%d Ekran"
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Döndür"
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Zeminler"
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(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 "Etkin"
+#: src/frontend/mame/ui/ui.cpp:1247
+#, c-format
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
+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 "Etkin Değil"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Kaplamalar"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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 ""
+"Çı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/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Çerçeveler"
+#: src/frontend/mame/ui/ui.cpp:1492
+msgid "Master Volume"
+msgstr "Ana Ses"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Kontrol Panelleri"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Ses"
-#: 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/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Görünüm"
-
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Kırpılmış"
-
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Tam"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
-msgstr "ROMlar"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Yenileme Oranı"
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
-msgstr "Yazılım Ortamı"
+#: src/frontend/mame/ui/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Parlaklık"
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
-msgstr "Arayüz"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Karşıtlık"
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
-msgstr "Dil"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gama"
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
-msgstr "Örneklemeler"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Yatay Uzatma"
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
-msgstr "DATlar"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Yatay Konum"
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
-msgstr "INIler"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Dikey Uzatma"
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
-msgstr "Kategori INIleri"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Dikey Konum"
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
-msgstr "Simgeler"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Lazerdisk '%1$s' Yatay Uzatma"
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
-msgstr "Hileler"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Lazerdisk '%1$s' Yatay Konum"
-#: 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/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Lazerdisk '%1$s' Dikey Uzatma"
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabinler"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Lazerdisk '%1$s' Dikey Konum"
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Posterler"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Başlıklar"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Sonlar"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Anakartlar"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
-msgstr "Kontrol Panelleri"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
-msgstr "Nişan"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
-msgstr "Çizimler"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Patronlar"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
-msgstr "Çizim Önizleme"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Seç"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
-msgstr "OyunBitti"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Nasıl"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logolar"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puanlar"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Karşılaşma"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Kapaklar"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
-msgstr "Dizin Ayarı"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/ui.cpp:2060
#, c-format
-msgid "Current %1$s Folders"
-msgstr "Şimdiki %1$s Dizinler"
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
-msgstr "Dizin Değiştir"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
-msgstr "Dizin Ekle"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
-msgstr "Dizin Kaldır"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "%1$s Dizin Değiştir - Ara: %2$s_"
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "%1$s Dizin Ekle - Ara: %2$s_"
-
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
-msgstr "Ayarlamak için TAB'a basın"
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
+#: src/frontend/mame/ui/selsoft.cpp:630
#, c-format
-msgid "Remove %1$s Folder"
-msgstr "%1$s dizinini kaldır"
-
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Seçim Listesi - Ara: "
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/selsoft.cpp:631
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Seçmek için çift tıkla veya %1$s'e bas"
+msgid "Driver: \"%1$s\" software list "
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr "durdu"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr "oynatıyor"
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr "(oynatıyor)"
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
+#, c-format
+msgid "%1$-.100s"
+msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr "kaydediyor"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Ses Seçenekleri"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr "(kaydediyor)"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
+msgstr "Genel Girişler"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr "Ara Ver/Başlat"
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
+msgstr "Yapılandırmayı kaydet"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr "Oynat"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
+msgstr "Ayarlar"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr "Kaydet"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
+msgstr "Filtre"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr "Geri Sar"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
+msgstr "Arayüzü Özelleştir"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr "İleri sar"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
+msgstr "Dizinleri yapılandır"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
#: src/frontend/mame/ui/slotopt.cpp:220
msgid "[empty slot]"
msgstr "[boş yuva]"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr "[dosya yöneticisi]"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
+msgstr "[oluştur]"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
msgid "[software list]"
msgstr "[yazılım listesi]"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr "Madde sıralamasını değiştir"
-
-#: src/frontend/mame/ui/swlist.cpp:259
+#: src/frontend/mame/ui/filesel.cpp:323
#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr "Sıralama değiştirildi: girdiler %s'e göre sıralandı"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr "kısa ad"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
+msgstr "Erişim tipini seçin"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
-msgstr "açıklama"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
+msgstr "Salt-okunur"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
-msgstr "[uyumlu listeler]"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
+msgstr "Salt-yazılır"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Yazılım Kullanımı"
+#: src/frontend/mame/ui/filesel.cpp:542
+msgid "Read this image, write to another image"
+msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr "Gözden Geçirme: "
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Dosya Zaten Var - Üzerine yazılsın mı?"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
+msgstr "Çeşitli Seçenekler"
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Hayır"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Evet"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Yeni Görüntü Adı:"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Görüntü Formatı:"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
+msgstr "Hileler"
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Oluştur"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
+msgstr "Fare işaretçisini göster"
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Lütfen bir dosya eklentiside girin"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
+msgstr "Makinelerden çıkarken onayla"
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Görüntü formatı seçin"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
+msgstr "Başlangıçta bilgi ekranını atla"
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Girdi (genel)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Girdi (bu Makine)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
+msgstr "Görüntüyü arkaplan olarak kullan"
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analog Kontroller"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip Anahtarlar"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Makine Yapılandırması"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Kayıt Bilgisi"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Makine Bilgisi"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
+msgstr "Gelişmiş Seçenekler"
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "İmaj Bilgisi"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
+msgstr "Performans Seçenekleri"
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Dosya Yöneticisi"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
+msgstr "Otomatik çerçeve atlama"
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Teyp Kontrolü"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
+msgstr "Çerçeve atlama"
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr ""
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
+msgstr "Kısma"
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS Seçimi"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Yuva Cihazları"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
+msgstr "Uyku"
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barkod okuyucu"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
+msgstr "Hız"
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Ağ Cihazları"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Klavye Modu"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Kaydırıcı Kontrolleri"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
+msgstr "Döndürme Seçenekleri"
-#: 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/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
+msgstr "Döndür"
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Nişanlayıcı Seçenekleri"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
+msgstr "Sağa döndür"
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Hile"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
+msgstr "Sola döndür"
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Eklenti Seçenekleri"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Harici DAT Görünümü"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
+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/submenu.cpp:67
+msgid "Flip X"
+msgstr ""
-#: 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/submenu.cpp:68
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Yeni Makine Seçin"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Yeni Barkod:"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Kod Girin"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
+msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Barkod uzunluğu geçersiz!"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[başarısız]"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Ses Seçenekleri"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Genel Girişler"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Yapılandırmayı kaydet"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Ayarlar"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
+msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Arayüzü Özelleştir"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
+msgstr "Fare"
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Dizinleri yapılandır"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
+msgstr "Oyun Kolu"
-#: 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."
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-"Seçtiğiniz oyun için gerekli olan bir veya daha fazla ROM veya CHD görüntüsü eksik. Lütfen "
-"başka bir oyun seçin.\n"
-"\n"
-"Devam etmek için herhangi bir tuşa basın."
-#: 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 ""
-"Makine bulunamadı. Lütfen %1$s.ini dosyasında belirtilen rom dizinini kontrol edin.\n"
-"\n"
-"Eğer %2$s ilk kez kullanıyorsanız, %2$s ayarlama bilgileri için "
-"docs dizinindeki config.txt dosyasına bakın."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
+msgstr "Çoklu Klavye"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
-msgstr "Seçenekleri Düzenle"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
+msgstr "Çoklu fare"
-#: 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/submenu.cpp:87
+msgid "Steadykey"
+msgstr "Yapışkan Tuş"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
-msgstr "İsim girin veya seçin: (rastgele)"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
+msgstr "Kullanıcı arayüzü aktif"
-#: 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/submenu.cpp:89
+msgid "Offscreen reload"
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/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
-msgstr "Sürücü: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
+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/submenu.cpp:92
+msgid "Natural keyboard"
+msgstr "Doğal Klavye"
-#: 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/submenu.cpp:93
+msgid "Simultaneous contradictory"
+msgstr ""
-#: 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/submenu.cpp:94
+msgid "Coin impulse"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafik: Uygulanmamış"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafik: Kusurlu"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: Tamam"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Trackball Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ses: Yok"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Pedal Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Ses: Uygulanmamış"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
+msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Ses: Kusurlu"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
+msgstr "Pedal Aygıtı Atama"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ses: Tamam"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
+msgstr "Tuşlama Aygıtı Atama"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Durumu yükle"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
+msgstr "Konumsal Aygıt Atama"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Yüklenecek konumu seçin"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
+msgstr "Fare Aygıtı Atama"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Durumu kaydet"
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
+msgstr "Görüntü Seçenekleri"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Kaydedilecek konumu seçin"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
+msgstr "Görüntü Kipi"
-#: 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:116
+msgid "Number Of Screens"
+msgstr "Ekran Sayısı"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
+msgstr "Bitmap ön oranlama"
+
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
+msgstr "Pencere Kipi"
+
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
+msgstr "En-boy oranını zorla"
+
+#: src/frontend/mame/ui/submenu.cpp:126
+msgid "Start Out Maximized"
+msgstr "Büyütülmüş olarak başlat"
+
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
+msgstr "Eşitlenmiş Yenileme"
+
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
+msgstr "Dikey eşitlemeyi bekle"
+
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
+msgstr "Oto"
+
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
+msgstr "Makineye Dön"
+
+#: src/frontend/mame/ui/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
+msgstr "Çıkış"
+
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
+msgstr "Önceki Menüye Dön"
+
+#: src/frontend/mame/ui/videoopt.cpp:57
#, 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."
+msgid "Screen #%d"
+msgstr "#%d Ekran"
+
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
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/videoopt.cpp:196
+msgid "X Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Ses"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Yenileme Oranı"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Parlaklık"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Karşıtlık"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
+msgstr "koruma"
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gama"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
+msgstr "zamanlama"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Yatay Uzatma"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
+msgstr "grafikler"
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Yatay Konum"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
+msgstr "renk paleti"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Dikey Uzatma"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
+msgstr "ses"
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Dikey Konum"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
+msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Lazerdisk '%1$s' Yatay Uzatma"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
+msgstr "kamera"
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Lazerdisk '%1$s' Yatay Konum"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
+msgstr "mikrofon"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Lazerdisk '%1$s' Dikey Uzatma"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
+msgstr "kontroller"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Lazerdisk '%1$s' Dikey Konum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
+msgstr "klavye"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
+msgstr "fare"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
+msgstr "disk"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
+msgstr "yazıcı"
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:50
+msgid "LAN"
+msgstr "LAN"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:51
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:230
+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/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
+"Bu makinenin bilinen problemleri var\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:245
+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:250
+msgid "Completely unemulated features: "
+msgstr "Tamamen uyarlanmamış özellikler: "
-#: 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
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "%1$.3f"
+msgid "%s"
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
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "%1$1.2f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
+msgstr "Mükemmel olmayan uyarlanmış özellikler: "
+
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:285
+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/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:287
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:291
+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/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
msgid ""
"\n"
-" Configuration saved \n"
"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
msgid ""
-"Cheat Comment:\n"
-"%s"
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:395
+msgid ""
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:428
+msgid ""
+"\n"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:432
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+msgid "%1$s: %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\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/info.cpp:472
#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
+msgid "Screen '%1$s'"
msgstr ""
-#: 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"
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
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/info.cpp:580
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr "[dosya yöneticisi]"
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr "Madde sıralamasını değiştir"
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr "Sıralama değiştirildi: girdiler %s'e göre sıralandı"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr "kısa ad"
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr "açıklama"
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr "[uyumlu listeler]"
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Dosya Zaten Var - Üzerine yazılsın mı?"
+
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr "Hayır"
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+msgid "Yes"
+msgstr "Evet"
+
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Yeni Görüntü Adı:"
+
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Görüntü Formatı:"
+
+#: src/frontend/mame/ui/filecreate.cpp:183
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr "Oluştur"
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Lütfen bir dosya eklentiside girin"
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr "Görüntü formatı seçin"
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr "Klavye Modu"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr "Doğal"
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr "Emule edilmiş"
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr "Etkin"
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr "Etkin Değil"
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[oluştur]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
+msgstr "Yazılım Kullanımı"
+
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr "Gözden Geçirme: "
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Erişim tipini seçin"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Salt-okunur"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Salt-yazılır"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
+msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr "RENKLER"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
+msgstr "Görünür Gecikme"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Makineye Dön"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
+msgstr "Ad: Açıklama:\n"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Çıkış"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr ""
-#: 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/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
+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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Oto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
+msgstr "Sürücü"
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
-msgstr "Hepsini Göster"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
-msgstr "Filtreleri Gizle"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
+msgstr "Favorilere Ekle"
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
-msgstr "Bilgi/Görüntü Gizle"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
+msgstr "Favorilerden kaldır"
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
-msgstr "Hepsini Gizle"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
-msgstr "Yazıtipleri"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
-msgstr "Renkler"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
+msgstr " (varsayılan)"
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
-msgstr "varsayılan"
-
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
-msgstr "Kullanıcı arayüzü yazıtipi"
-
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
-msgstr "Kalın"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[başarısız]"
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
-msgstr "Eğik"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
-msgstr "Çizgiler"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
+msgstr "Durumu yükle"
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
-msgstr "Bilgiler yazı boyutu"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
-msgstr "Kullanıcı arayüzü Yazıtipi Seçenekleri"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
+msgstr "Durumu kaydet"
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
-msgstr "Normal yazı"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
-msgstr "Seçilen renk"
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
-msgstr "Normal yazı arkaplanı"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
-msgstr "Seçilen arkaplan rengi"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
-msgstr "Klon"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
-msgstr "Çerçeve"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
-msgstr "Arkaplan"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
+msgstr "durdu"
+
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
+msgstr "oynatıyor"
+
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
+msgstr "(oynatıyor)"
+
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
+msgstr "kaydediyor"
+
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
+msgstr "(kaydediyor)"
+
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
+msgstr "Ara Ver/Başlat"
+
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
+msgstr "Oynat"
+
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
+msgstr "Kaydet"
+
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr "Geri Sar"
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr "İleri sar"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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 ""
+"Seçtiğiniz oyun için gerekli olan bir veya daha fazla ROM veya CHD görüntüsü "
+"eksik. Lütfen başka bir oyun seçin.\n"
+"\n"
+"Devam etmek için herhangi bir tuşa basın."
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/simpleselgame.cpp:248
+#, 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 ""
+"Makine bulunamadı. Lütfen %1$s.ini dosyasında belirtilen rom dizinini "
+"kontrol edin.\n"
+"\n"
+"Eğer %2$s ilk kez kullanıyorsanız, %2$s ayarlama bilgileri için docs "
+"dizinindeki config.txt dosyasına bakın."
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
-msgstr "Orijinal renkleri geri yükle"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
+msgstr "Seçenekleri Düzenle"
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
-msgstr ""
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
+msgstr "İsim girin veya seçin: %1$s_"
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
+msgstr "İsim girin veya seçin: (rastgele)"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
#, c-format
-msgid "Double click or press %1$s to change the color value"
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:498
-msgid "Menu Preview"
-msgstr "Menü önizleme"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
+msgstr "Sürücü: %1$-.100s"
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
-msgstr "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
+msgstr "Genel olarak: ÇALIŞMIYOR"
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
-msgstr ""
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
+msgstr "Genel olarak: Uygulanmamış Koruma"
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
-msgstr "Seçili"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
+msgstr "Genel olarak: Çalışıyor"
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Uygulanmamış"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Kusurlu"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
+msgstr "Grafik: Tamam"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
+msgstr "Ses: Yok"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
+msgstr "Ses: Uygulanmamış"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
+msgstr "Ses: Kusurlu"
+
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
+msgstr "Ses: Tamam"
+
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
-msgstr "ARGB Ayarları"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
-msgstr "Alfa"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
-msgstr "Kırmızı"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
+msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
-msgstr "Yeşil"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
+msgstr "ROMlar"
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
-msgstr "Mavi"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
+msgstr "Yazılım Ortamı"
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
-msgstr "Paletten seç"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
+msgstr "Arayüz"
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
-msgstr "Renk önizleme="
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
+msgstr "Dil"
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
-msgstr "Beyaz"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
+msgstr "Örneklemeler"
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
-msgstr "Gümüş"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
+msgstr "DATlar"
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
-msgstr "Gri"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
+msgstr "INIler"
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
-msgstr "Siyah"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
+msgstr "Kategori INIleri"
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
-msgstr "Turuncu"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
+msgstr "Simgeler"
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
-msgstr "Sarı"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
+msgstr "Ekran Görüntüleri"
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
-msgstr "Mor"
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
+msgstr "Kabinler"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Klavye Kipi"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr "Posterler"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Doğal"
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr "Başlıklar"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emule edilmiş"
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr "Sonlar"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr "Anakartlar"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr "Kontrol Panelleri"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr "Nişan"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr "Çizimler"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr "Patronlar"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Görünür Gecikme"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr "Çizim Önizleme"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr "Seç"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Ad: Açıklama:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr "OyunBitti"
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr "Nasıl"
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr "Logolar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr "Puanlar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr "Karşılaşma"
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr "Kapaklar"
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
+msgstr "Dizin Ayarı"
+
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr ""
+msgid "Current %1$s Folders"
+msgstr "Şimdiki %1$s Dizinler"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
+msgstr "Dizin Değiştir"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
+msgstr "Dizin Ekle"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
+msgstr "Dizin Kaldır"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Sürücü"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
+msgstr "%1$s Dizin Değiştir - Ara: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
+msgstr "%1$s Dizin Ekle - Ara: %2$s_"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
+msgstr "Ayarlamak için TAB'a basın"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr ""
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
+msgstr "%1$s dizinini kaldır"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (varsayılan)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
+msgstr "RENKLER"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-msgstr ""
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
+msgstr "Seçim Listesi - Ara: "
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Ses"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Seçmek için çift tıkla veya %1$s'e bas"
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Çeşitli Seçenekler"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(sonuçlar %1$s 'a kaydedilecek)"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr ""
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
+msgstr "Denetlemeyi Başlat"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Fare işaretçisini göster"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
+msgstr "Hepsini Göster"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Makinelerden çıkarken onayla"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
+msgstr "Filtreleri Gizle"
-#: 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/custui.cpp:35
+msgid "Hide Info/Image"
+msgstr "Bilgi/Görüntü Gizle"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
+msgstr "Hepsini Gizle"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Görüntüyü arkaplan olarak kullan"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
+msgstr "Yazıtipleri"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
+msgstr "Renkler"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
+msgstr "varsayılan"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Gelişmiş Seçenekler"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
+msgstr "Kullanıcı arayüzü yazıtipi"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Performans Seçenekleri"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
+msgstr "Kalın"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Otomatik çerçeve atlama"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
+msgstr "Eğik"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Çerçeve atlama"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
+msgstr "Çizgiler"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Kısma"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
+msgstr "Bilgiler yazı boyutu"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Uyku"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
+msgstr "Kullanıcı arayüzü Yazıtipi Seçenekleri"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Hız"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Yenileme Hızı"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
+msgstr "Normal yazı"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Döndürme Seçenekleri"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
+msgstr "Seçilen renk"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Sağa döndür"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
+msgstr "Normal yazı arkaplanı"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Sola döndür"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
+msgstr "Seçilen arkaplan rengi"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
+msgstr "Klon"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
+msgstr "Çerçeve"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
+msgstr "Arkaplan"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
+msgstr "Orijinal renkleri geri yükle"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
+msgstr "Menü önizleme"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
+msgstr "Normal"
+
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
+msgstr "Seçili"
+
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Fare"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
+msgstr "ARGB Ayarları"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Oyun Kolu"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
+msgstr "Alfa"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
+msgstr "Kırmızı"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Çoklu Klavye"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
+msgstr "Yeşil"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Çoklu fare"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
+msgstr "Mavi"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Yapışkan Tuş"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
+msgstr "Paletten seç"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Kullanıcı arayüzü aktif"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
+msgstr "Renk önizleme="
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
+msgstr "Beyaz"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
+msgstr "Gümüş"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
+msgstr "Gri"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Doğal Klavye"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
+msgstr "Siyah"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
+msgstr "Turuncu"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr ""
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
+msgstr "Sarı"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
+msgstr "Mor"
+
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Yeni Barkod:"
+
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
+msgstr "Kod Girin"
+
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
+msgstr "Barkod uzunluğu geçersiz!"
+
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
+msgstr "Girdi (genel)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
+msgstr "Girdi (bu Makine)"
+
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
+msgstr "Analog Kontroller"
+
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
+msgstr "Makine Yapılandırması"
+
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Kayıt Bilgisi"
+
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
+msgstr "Makine Bilgisi"
+
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:86
+msgid "Image Information"
+msgstr "İmaj Bilgisi"
+
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Dosya Yöneticisi"
+
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
+msgstr "Teyp Kontrolü"
+
+#: src/frontend/mame/ui/mainmenu.cpp:101
+msgid "BIOS Selection"
+msgstr "BIOS Seçimi"
+
+#: src/frontend/mame/ui/mainmenu.cpp:104
+msgid "Slot Devices"
+msgstr "Yuva Cihazları"
+
+#: src/frontend/mame/ui/mainmenu.cpp:107
+msgid "Barcode Reader"
+msgstr "Barkod okuyucu"
+
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Network Devices"
+msgstr "Ağ Cihazları"
+
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
+msgstr "Kaydırıcı Kontrolleri"
+
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
+msgstr "Nişanlayıcı Seçenekleri"
+
+#: src/frontend/mame/ui/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
+msgstr "Hile"
+
+#: src/frontend/mame/ui/mainmenu.cpp:126
+msgid "Plugin Options"
+msgstr "Eklenti Seçenekleri"
+
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
+msgstr "Harici DAT Görünümü"
+
+#: src/frontend/mame/ui/mainmenu.cpp:140
+#, c-format
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
+msgstr "Yeni Makine Seçin"
+
+#: src/frontend/mame/ui/selmenu.cpp:76
+msgid "Control Panels"
+msgstr "Kontrol Panelleri"
+
+#: src/frontend/mame/ui/selmenu.cpp:81
+msgid "Artwork Preview"
+msgstr "Sanat Eseri Önizleme"
+
+#: src/frontend/mame/ui/selmenu.cpp:85
+msgid "Game Over"
+msgstr "Oyun Bitti"
+
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
+msgstr "Beğenilenlere ekle veya kaldır"
+
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
+msgstr "Gösterilen dosya listesini dışa aktar"
+
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
+msgstr "DAT görünümünü göster"
+
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
+msgstr "Yazılım parça seçimi:"
+
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
+msgstr "BIOS seçimi:"
+
+#: src/frontend/mame/ui/selmenu.cpp:681
+#, 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:683
+msgid "Software is parent"
+msgstr "Yazılım esastır"
+
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
+msgstr "Destekleniyor: Hayır"
+
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
+msgstr "Destekleniyor: Kısmen"
+
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
+msgstr "Destekleniyor: Evet"
+
+#: src/frontend/mame/ui/selmenu.cpp:703
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Pedal Aygıtı Atama"
+#: src/frontend/mame/ui/selmenu.cpp:719
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Sürücü şunun kopyasıdır: %1$-.100s"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Tuşlama Aygıtı Atama"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
+msgstr "Sürücü esastır"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Konumsal Aygıt Atama"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
+msgstr "Görüntüler"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Fare Aygıtı Atama"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
+msgstr "Bilgiler"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Görüntü Kipi"
+#: src/frontend/mame/ui/selmenu.cpp:2508
+msgid ""
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Ekran Sayısı"
+#: src/frontend/mame/ui/selmenu.cpp:2524
+msgid ""
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap ön oranlama"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Pencere Kipi"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "En-boy oranını zorla"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
+msgstr "Kullanım"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Büyütülmüş olarak başlat"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
+msgstr "Genel Bilgi"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Eşitlenmiş Yenileme"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Ses"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Dikey eşitlemeyi bekle"
+#: 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/devopt.cpp:43
+#: src/frontend/mame/ui/devopt.cpp:45
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2145,7 +2591,7 @@ msgid ""
"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:46
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2156,930 +2602,623 @@ msgid ""
"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:54
msgid "* CPU:\n"
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"
-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"
-msgstr ""
-
-#: 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/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:98
msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
-
#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:116
#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
msgstr ""
#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:137
#, c-format
-msgid " %1$d×%2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
"* BIOS settings:\n"
" %1$d options [default: %2$s]\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/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:257
msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:259
msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:267
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:269
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:271
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:273
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:275
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:280
msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:282
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:288
msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:295
msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-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
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%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"
-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."
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
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"
-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"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
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"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
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 ""
-"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"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
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
-#, c-format
-msgid "%s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
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"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
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"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
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"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
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"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
+#: plugins/cheatfind/init.lua:483
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"
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
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"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: 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"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
+#: plugins/cheatfind/init.lua:565
+#, lua-format
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: plugins/cheatfind/init.lua:581
+#, lua-format
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
+#: plugins/cheatfind/init.lua:612
+#, lua-format
+msgid "%d total matches found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: plugins/cheatfind/init.lua:620
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: plugins/cheatfind/init.lua:621
+#, lua-format
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
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/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Yazılım parça seçimi:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS seçimi:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, 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"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Destekleniyor: Evet"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, 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:662
-msgid "Driver is parent"
-msgstr "Sürücü esastır"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Görüntüler"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Bilgiler"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Kullanım"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Genel Bilgi"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
-msgstr "Hiçbiri"
-
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheat/init.lua:738
-#, lua-format
-msgid "Activated: %s = %s"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
-#, lua-format
-msgid "Activated: %s"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheat/init.lua:803
-#, lua-format
-msgid "Enabled: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheat/init.lua:808
-#, lua-format
-msgid "Disabled: %s"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheat/init.lua:867
-#, lua-format
-msgid "%s added"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
-msgstr "Komut"
-
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
-msgstr "Yüksek Skorlar"
-
-#: plugins/data/data_history.lua:15
-msgid "History"
-msgstr "Tarihçe"
-
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
+#: plugins/cheatfind/init.lua:744
msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
-msgstr ""
-
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
-msgstr ""
-
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
-msgstr ""
-
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
-msgstr ""
-
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
-msgstr ""
-
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
-msgstr ""
-
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:746
+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:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:477
-msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/portname/init.lua:167
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/timer/init.lua:94
+msgid "Current time"
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)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
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)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
+#: plugins/cheat/init.lua:645
+msgid "None"
+msgstr "Hiçbiri"
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/cheat/init.lua:849
+#, lua-format
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
+#: plugins/data/data_command.lua:23
+msgid "Command"
+msgstr "Komut"
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
+msgstr "Yüksek Skorlar"
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
+#: plugins/data/data_history.lua:171
+msgid "History"
+msgstr "Tarihçe"
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:934
-#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+#~ msgid "Backdrops"
+#~ msgstr "Zeminler"
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
-msgstr ""
+#~ msgid "Overlays"
+#~ msgstr "Kaplamalar"
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
-msgstr ""
+#~ msgid "Bezels"
+#~ msgstr "Çerçeveler"
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
-msgstr ""
+#~ msgid "CPanels"
+#~ msgstr "Kontrol Panelleri"
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
-msgstr ""
+#~ msgid "View"
+#~ msgstr "Görünüm"
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
-msgstr ""
+#~ msgid "Cropped"
+#~ msgstr "Kırpılmış"
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
-msgstr ""
+#~ msgid "Full"
+#~ msgstr "Tam"
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
-msgstr ""
+#~ msgid "Dip Switches"
+#~ msgstr "Dip Anahtarlar"
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
-msgstr ""
+#~ msgid "Select position to load from"
+#~ msgstr "Yüklenecek konumu seçin"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
-msgstr ""
+#~ msgid "Select position to save to"
+#~ msgstr "Kaydedilecek konumu seçin"
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
-msgstr ""
+#~ msgid "Keyboard Mode:"
+#~ msgstr "Klavye Kipi"
-#: plugins/portname/init.lua:172
-msgid "Input ports"
-msgstr ""
+#~ msgid "Refresh speed"
+#~ msgstr "Yenileme Hızı"
#~ msgid "Unimplemented"
#~ msgstr "Uygulanmamış"
diff --git a/language/Ukrainian/strings.po b/language/Ukrainian/strings.po
index 0b3d0dbe675..605dd7fa347 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,3049 +18,3151 @@ 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/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/language/Vietnamese/strings.po b/language/Vietnamese/strings.po
index 7ae262ba014..d80e4bfa7c2 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: 2021-05-29 22:30+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,3049 +17,3151 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/ui.cpp:470 src/frontend/mame/ui/ui.cpp:543
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:555
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1247
#, c-format
-msgid "Screen #%d"
+msgid ""
+"UI controls enabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/ui.cpp:1249
+#, c-format
+msgid ""
+"UI controls disabled\n"
+"Use %1$s to toggle"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, 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/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/ui.cpp:1492
+msgid "Master Volume"
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"
+#: src/frontend/mame/ui/ui.cpp:1501
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/ui.cpp:1523
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/ui.cpp:1531
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/ui.cpp:1550
+#, c-format
+msgid "%1$s Refresh Rate"
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/ui.cpp:1555
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/ui.cpp:1557
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/ui.cpp:1559
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/ui.cpp:1563
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/ui.cpp:1565
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/ui.cpp:1567
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/ui.cpp:1569
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/ui.cpp:1585
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/ui.cpp:1588
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/ui.cpp:1590
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/ui.cpp:1593
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/ui.cpp:1603
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/ui.cpp:1604
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/ui.cpp:1605
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/ui.cpp:1606
+msgid "Beam Dot Size"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/ui.cpp:1607
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/ui.cpp:1620
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/ui.cpp:1620 src/frontend/mame/ui/ui.cpp:1622
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/ui.cpp:1622
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/ui.cpp:1654
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/ui.cpp:1697
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/ui.cpp:1712
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/ui.cpp:1735 src/frontend/mame/ui/ui.cpp:1755
+#: src/frontend/mame/ui/ui.cpp:1774 src/frontend/mame/ui/ui.cpp:1792
+#: src/frontend/mame/ui/ui.cpp:1811 src/frontend/mame/ui/ui.cpp:1830
+#: src/frontend/mame/ui/ui.cpp:1849 src/frontend/mame/ui/ui.cpp:1868
+#: src/frontend/mame/ui/ui.cpp:1889 src/frontend/mame/ui/ui.cpp:1910
+#: src/frontend/mame/ui/ui.cpp:1931 src/frontend/mame/ui/ui.cpp:1952
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/ui.cpp:1967 src/frontend/mame/ui/ui.cpp:1982
+#: src/frontend/mame/ui/ui.cpp:1997 src/frontend/mame/ui/ui.cpp:2012
+#: src/frontend/mame/ui/ui.cpp:2027
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/ui.cpp:2043
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/ui.cpp:2060
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/ui.cpp:2225
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/ui.cpp:2229 src/frontend/mame/ui/miscmenu.cpp:762
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selsoft.cpp:225 src/frontend/mame/ui/selgame.cpp:461
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selsoft.cpp:230 src/frontend/mame/ui/selgame.cpp:466
+#: src/frontend/mame/ui/selgame.cpp:472
#, c-format
-msgid "Current %1$s Folders"
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selsoft.cpp:630
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selsoft.cpp:631
+#, c-format
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selsoft.cpp:636 src/frontend/mame/ui/selgame.cpp:1422
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:638 src/frontend/mame/ui/selgame.cpp:1424
#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
+#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selsoft.cpp:652
+#: src/frontend/mame/ui/simpleselgame.cpp:315
#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/optsmenu.cpp:75
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/optsmenu.cpp:78
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/optsmenu.cpp:141
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/optsmenu.cpp:199
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/optsmenu.cpp:211
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/optsmenu.cpp:212
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/filesel.cpp:259 src/frontend/mame/ui/swlist.cpp:87
+#: src/frontend/mame/ui/slotopt.cpp:220
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/filesel.cpp:263
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/filesel.cpp:267 src/frontend/mame/ui/swlist.cpp:98
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/filesel.cpp:323
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/filesel.cpp:538
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/filesel.cpp:539
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/filesel.cpp:541
+msgid "Read-write"
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/filesel.cpp:542
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/filesel.cpp:543
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip imperfect emulation warnings"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Re-select last machine launched"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/submenu.cpp:35 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/submenu.cpp:36
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/submenu.cpp:37
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/submenu.cpp:55
+msgid "Mute when unthrottled"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Adjust speed to match refresh rate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Low latency"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/submenu.cpp:62 src/frontend/mame/ui/videoopt.cpp:180
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/submenu.cpp:63
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/submenu.cpp:66
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/submenu.cpp:70
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Zoom to screen area"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Allow rewind"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Bilinear filtering for snapshots"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/submenu.cpp:86
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/submenu.cpp:87
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/submenu.cpp:88
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Joystick saturation"
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."
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Natural keyboard"
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."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/submenu.cpp:100
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/submenu.cpp:101
+msgid "Lightgun Device Assignment"
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/submenu.cpp:102
+msgid "Trackball Device Assignment"
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/submenu.cpp:103
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/submenu.cpp:104
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/submenu.cpp:107
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/submenu.cpp:114 src/frontend/mame/ui/mainmenu.cpp:117
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/submenu.cpp:116
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/submenu.cpp:118
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/submenu.cpp:119
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/submenu.cpp:121
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/submenu.cpp:122
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/submenu.cpp:123
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/submenu.cpp:124
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/submenu.cpp:125
+msgid "Enforce Aspect Ratio"
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/submenu.cpp:126
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/submenu.cpp:127
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/submenu.cpp:128
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:672
+#: src/frontend/mame/ui/videoopt.cpp:192 plugins/cheatfind/init.lua:763
+#: plugins/cheatfind/init.lua:774 plugins/cheat/init.lua:668
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/menu.cpp:380 src/frontend/mame/ui/menu.cpp:675
+#: src/frontend/mame/ui/videoopt.cpp:208 plugins/cheatfind/init.lua:760
+#: plugins/cheatfind/init.lua:771 plugins/cheat/init.lua:671
+#: plugins/cheat/init.lua:680
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/menu.cpp:678
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/menu.cpp:1178
+msgid "Start Machine"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/menu.cpp:1180
+msgid "Return to Machine"
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/menu.cpp:1185 src/frontend/mame/ui/menu.cpp:1187
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/menu.cpp:1192 src/frontend/mame/ui/menu.cpp:1194
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/videoopt.cpp:57
#, c-format
-msgid "%1$s Volume"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:184
+msgid "Zoom to Screen Area"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/videoopt.cpp:196
+msgid "X Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/videoopt.cpp:200
+msgid "Y Only"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/videoopt.cpp:204
+msgid "X or Y (Auto)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/videoopt.cpp:211
+msgid "Non-Integer Scaling"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/videoopt.cpp:214
+msgid "Maintain Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cannot change options while recording!"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "capture hardware"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "media"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/info.cpp:44
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
+#: src/frontend/mame/ui/info.cpp:45
+msgid "magnetic tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/info.cpp:46
+msgid "punch tape"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/info.cpp:47
+msgid "magnetic drum"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/info.cpp:48
+msgid "solid state storage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/info.cpp:49
+msgid "communications"
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/info.cpp:50
+msgid "LAN"
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/info.cpp:51
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:230
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/info.cpp:240
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:245
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:250
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/info.cpp:256 src/frontend/mame/ui/info.cpp:272
+#: src/frontend/mame/ui/info.cpp:317
#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/info.cpp:266
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/info.cpp:281
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:283
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/info.cpp:285
msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+"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/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
+#: src/frontend/mame/ui/info.cpp:287
msgid ""
-"Cheat Comment:\n"
-"%s"
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/info.cpp:291
+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/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/info.cpp:293
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they require physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/info.cpp:315
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/info.cpp:339
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "GHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
+#: src/frontend/mame/ui/info.cpp:381 src/frontend/mame/ui/info.cpp:424
+#: src/frontend/mame/ui/devopt.cpp:90 src/frontend/mame/ui/devopt.cpp:163
+msgid "Hz"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
+#: src/frontend/mame/ui/info.cpp:395
msgid ""
-"%s\n"
-" removed from favorites list."
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/info.cpp:428
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
"\n"
+"Video:\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/info.cpp:432
+msgid "None\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:439
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/info.cpp:455
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
+#: src/frontend/mame/ui/info.cpp:455
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:472
#, c-format
-msgid "Driver: \"%1$s\" software list "
+msgid "Screen '%1$s'"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:474
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
+#: src/frontend/mame/ui/info.cpp:580
+msgid "Not supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:583
+msgid "Partially supported"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:592
+msgid "[empty]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:92
+msgid "[file manager]"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:234
+msgid "Switch Item Ordering"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+msgid "Switched Order: entries now ordered by %s"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "shortname"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:267
+msgid "description"
+msgstr ""
+
+#: src/frontend/mame/ui/swlist.cpp:397
+msgid "[compatible lists]"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1045
+msgid "No"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1045
+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
+#: plugins/autofire/autofire_menu.lua:217
+msgid "Create"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:265
+msgid "Select image format"
+msgstr ""
+
+#: src/frontend/mame/ui/filecreate.cpp:325
+msgid "Select initial contents"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:39 src/frontend/mame/ui/mainmenu.cpp:113
+msgid "Keyboard Mode"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Natural"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:40
+msgid "Emulated"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:53 src/frontend/mame/ui/inputmap.cpp:478
#, c-format
-msgid "Search: %1$s_"
+msgid "%1$s [root%2$s]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
+#: src/frontend/mame/ui/keyboard.cpp:53
+msgid "[root%2$s]"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Enabled"
+msgstr ""
+
+#: src/frontend/mame/ui/keyboard.cpp:56
+msgid "Disabled"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
+#: src/frontend/mame/ui/utils.cpp:63 src/frontend/mame/ui/utils.cpp:87
msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
+#: src/frontend/mame/ui/utils.cpp:64 src/frontend/mame/ui/utils.cpp:88
msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
+#: src/frontend/mame/ui/utils.cpp:65
msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
+#: src/frontend/mame/ui/utils.cpp:66
msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
+#: src/frontend/mame/ui/utils.cpp:67
msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
+#: src/frontend/mame/ui/utils.cpp:68
msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
+#: src/frontend/mame/ui/utils.cpp:69
msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
+#: src/frontend/mame/ui/utils.cpp:70 src/frontend/mame/ui/utils.cpp:89
msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/miscmenu.cpp:806
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
+#: src/frontend/mame/ui/utils.cpp:72
msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
+#: src/frontend/mame/ui/utils.cpp:73 src/frontend/mame/ui/utils.cpp:90
msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
+#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:91
msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:73
+#: src/frontend/mame/ui/utils.cpp:75
msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
+#: src/frontend/mame/ui/utils.cpp:76 src/frontend/mame/ui/utils.cpp:92
msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:75
+#: src/frontend/mame/ui/utils.cpp:77
msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:76
+#: src/frontend/mame/ui/utils.cpp:78
msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
+#: src/frontend/mame/ui/utils.cpp:79
msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
+#: src/frontend/mame/ui/utils.cpp:80
msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
+#: src/frontend/mame/ui/utils.cpp:81
msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
+#: src/frontend/mame/ui/utils.cpp:82
msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
+#: src/frontend/mame/ui/utils.cpp:83 src/frontend/mame/ui/utils.cpp:100
msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
+#: src/frontend/mame/ui/utils.cpp:93
msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
+#: src/frontend/mame/ui/utils.cpp:94
msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
+#: src/frontend/mame/ui/utils.cpp:95
msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
+#: src/frontend/mame/ui/utils.cpp:96
msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
+#: src/frontend/mame/ui/utils.cpp:97
msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
+#: src/frontend/mame/ui/utils.cpp:98
msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
+#: src/frontend/mame/ui/utils.cpp:99
msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
+#: src/frontend/mame/ui/utils.cpp:247
msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
+#: src/frontend/mame/ui/utils.cpp:351
msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
+#: src/frontend/mame/ui/utils.cpp:502
#, c-format
msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
+#: src/frontend/mame/ui/utils.cpp:516
msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
+#: src/frontend/mame/ui/utils.cpp:518
msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
+#: src/frontend/mame/ui/utils.cpp:957
msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
+#: src/frontend/mame/ui/utils.cpp:988
msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
+#: src/frontend/mame/ui/utils.cpp:996
msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
+#: src/frontend/mame/ui/utils.cpp:1030
msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
+#: src/frontend/mame/ui/utils.cpp:1035
msgid "File"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
+#: src/frontend/mame/ui/utils.cpp:1039
msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
+#: src/frontend/mame/ui/utils.cpp:1044
msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
+#: src/frontend/mame/ui/utils.cpp:1045
msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/datmenu.cpp:81
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
+#: src/frontend/mame/ui/datmenu.cpp:365
+msgid "Revision: "
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:77 src/frontend/mame/ui/confswitch.cpp:162
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr ""
+
+#: src/frontend/mame/ui/miscmenu.cpp:235
#, c-format
-msgid "Error accessing %s"
+msgid ""
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/miscmenu.cpp:237
+#, c-format
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/miscmenu.cpp:241
+#, c-format
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/miscmenu.cpp:252
+#, c-format
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/miscmenu.cpp:255
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
+#: src/frontend/mame/ui/miscmenu.cpp:455
#, c-format
-msgid "%s [internal]"
+msgid "P%d Visibility"
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/miscmenu.cpp:509
+#, c-format
+msgid "P%d Crosshair"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/miscmenu.cpp:526
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/miscmenu.cpp:664
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/miscmenu.cpp:675
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/miscmenu.cpp:692
+msgid "Export list in XML format (like -listxml)"
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/miscmenu.cpp:693
+msgid "Export list in XML format (like -listxml, but exclude devices)"
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/miscmenu.cpp:694
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/miscmenu.cpp:810
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:31
-msgid "Show All"
+#: src/frontend/mame/ui/miscmenu.cpp:813
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:32
-msgid "Hide Filters"
+#: src/frontend/mame/ui/miscmenu.cpp:822 src/frontend/mame/ui/mainmenu.cpp:134
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:33
-msgid "Hide Info/Image"
+#: src/frontend/mame/ui/miscmenu.cpp:824 src/frontend/mame/ui/mainmenu.cpp:136
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:34
-msgid "Hide Both"
+#: src/frontend/mame/ui/miscmenu.cpp:827
+msgid "Save Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:151
-msgid "Fonts"
+#: src/frontend/mame/ui/miscmenu.cpp:838
+msgid "Configure Machine:"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:152
-msgid "Colors"
+#: src/frontend/mame/ui/miscmenu.cpp:872 src/frontend/mame/ui/selmenu.cpp:2595
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:161
-msgid "Show side panels"
+#: src/frontend/mame/ui/miscmenu.cpp:954 src/frontend/mame/ui/selgame.cpp:608
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:173
-msgid "Custom UI Settings"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:98
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:223
-msgid "default"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:331
-msgid "UI Font"
+#: src/frontend/mame/ui/state.cpp:213
+msgid "No save states found"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:336
-msgid "Bold"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:337
-msgid "Italic"
+#: src/frontend/mame/ui/state.cpp:404
+msgid "Select state to load"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:342
-msgid "Lines"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:348
-msgid "Infos text size"
+#: src/frontend/mame/ui/state.cpp:428
+msgid "Press a key or joystick button, or select state to overwrite"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:362
-msgid "UI Fonts Settings"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:371
-msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+#: src/frontend/mame/ui/inputmap.cpp:38
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:451
-msgid "Normal text"
+#: src/frontend/mame/ui/inputmap.cpp:41
+#, c-format
+msgid "Player %1$d Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:452
-msgid "Selected color"
+#: src/frontend/mame/ui/inputmap.cpp:44
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:453
-msgid "Normal text background"
+#: src/frontend/mame/ui/inputmap.cpp:227
+msgid "This machine has no input map."
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:454
-msgid "Selected background color"
+#: src/frontend/mame/ui/inputmap.cpp:310
+msgid "Pressed"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:455
-msgid "Subitem color"
+#: src/frontend/mame/ui/inputmap.cpp:379 plugins/autofire/autofire_menu.lua:123
+#: plugins/cheat/init.lua:626
+msgid "Invalid sequence entered"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:456 src/frontend/mame/ui/custui.cpp:511
-msgid "Clone"
+#: src/frontend/mame/ui/inputmap.cpp:480
+#, c-format
+msgid "[root%1$s]"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:457
-msgid "Border"
+#: src/frontend/mame/ui/inputmap.cpp:507
+#, c-format
+msgid "Press %1$s to set\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:458
-msgid "Background"
+#: src/frontend/mame/ui/inputmap.cpp:508
+#, c-format
+msgid "Press %1$s to append\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:459
-msgid "Dipswitch"
+#: src/frontend/mame/ui/inputmap.cpp:509
+#, c-format
+msgid "Press %1$s to clear\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:460
-msgid "Unavailable color"
+#: src/frontend/mame/ui/inputmap.cpp:510
+#, c-format
+msgid "Press %1$s to restore default\n"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:461
-msgid "Slider color"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:462
-msgid "Gfx viewer background"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:463
-msgid "Mouse over color"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:464
-msgid "Mouse over background color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:465
-msgid "Mouse down color"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:466
-msgid "Mouse down background color"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:469
-msgid "Restore originals colors"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:481
-msgid "UI Colors Settings"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:490
+#: src/frontend/mame/ui/tapectrl.cpp:104
+msgid "Rewind"
+msgstr ""
+
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:132
+msgid "Cannot save over directory"
+msgstr ""
+
+#: src/frontend/mame/ui/imgcntrl.cpp:165
+msgid ""
+"The software selected is missing one or more required ROM or CHD images.\n"
+"Please acquire the correct files or select a different one."
+msgstr ""
+
+#: src/frontend/mame/ui/simpleselgame.cpp:150
+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:248
#, c-format
-msgid "Double click or press %1$s to change the color value"
+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/custui.cpp:498
-msgid "Menu Preview"
+#: src/frontend/mame/ui/simpleselgame.cpp:278
+#: src/frontend/mame/ui/selgame.cpp:603
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:507
-msgid "Normal"
+#: src/frontend/mame/ui/simpleselgame.cpp:299
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:508
-msgid "Subitem"
+#: src/frontend/mame/ui/simpleselgame.cpp:301
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:509
-msgid "Selected"
+#: src/frontend/mame/ui/simpleselgame.cpp:318
+#: src/frontend/mame/ui/selmenu.cpp:677 src/frontend/mame/ui/selmenu.cpp:713
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:510
-msgid "Mouse Over"
+#: src/frontend/mame/ui/simpleselgame.cpp:321
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:740
-msgid "ARGB Settings"
+#: src/frontend/mame/ui/simpleselgame.cpp:337
+#: src/frontend/mame/ui/selmenu.cpp:726
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:745 src/frontend/mame/ui/custui.cpp:748
-msgid "Alpha"
+#: src/frontend/mame/ui/simpleselgame.cpp:339
+#: src/frontend/mame/ui/selmenu.cpp:728
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:753 src/frontend/mame/ui/custui.cpp:756
-#: src/frontend/mame/ui/custui.cpp:898
-msgid "Red"
+#: src/frontend/mame/ui/simpleselgame.cpp:341
+#: src/frontend/mame/ui/selmenu.cpp:730
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:761 src/frontend/mame/ui/custui.cpp:764
-#: src/frontend/mame/ui/custui.cpp:901
-msgid "Green"
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+#: src/frontend/mame/ui/selmenu.cpp:734
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:769 src/frontend/mame/ui/custui.cpp:772
-#: src/frontend/mame/ui/custui.cpp:902
-msgid "Blue"
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+#: src/frontend/mame/ui/selmenu.cpp:736
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:775
-msgid "Choose from palette"
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+#: src/frontend/mame/ui/selmenu.cpp:738
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:813
-msgid "Color preview ="
+#: src/frontend/mame/ui/simpleselgame.cpp:352
+#: src/frontend/mame/ui/selmenu.cpp:741
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:894
-msgid "White"
+#: src/frontend/mame/ui/simpleselgame.cpp:354
+#: src/frontend/mame/ui/selmenu.cpp:743
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:895
-msgid "Silver"
+#: src/frontend/mame/ui/simpleselgame.cpp:356
+#: src/frontend/mame/ui/selmenu.cpp:745
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:896
-msgid "Gray"
+#: src/frontend/mame/ui/simpleselgame.cpp:358
+#: src/frontend/mame/ui/selmenu.cpp:747
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:897
-msgid "Black"
+#: src/frontend/mame/ui/cheatopt.cpp:87 plugins/cheat/init.lua:746
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:899
-msgid "Orange"
+#: src/frontend/mame/ui/cheatopt.cpp:100
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:900
-msgid "Yellow"
+#: src/frontend/mame/ui/cheatopt.cpp:140 plugins/cheat/init.lua:698
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/custui.cpp:903
-msgid "Violet"
+#: src/frontend/mame/ui/cheatopt.cpp:143 plugins/cheat/init.lua:699
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/dirmenu.cpp:38
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:40 src/frontend/mame/ui/custui.cpp:177
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/dirmenu.cpp:44
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:74
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:75
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:78
+msgid "Flyers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:79
+msgid "Titles"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:51 src/frontend/mame/ui/selmenu.cpp:80
+msgid "Ends"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:52 src/frontend/mame/ui/selmenu.cpp:77
+msgid "PCBs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:53 src/frontend/mame/ui/selmenu.cpp:89
+msgid "Marquees"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Controls Panels"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Crosshairs"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:82
+msgid "Bosses"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "Artworks Preview"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:88
+msgid "Select"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:60
+msgid "GameOver"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:86
+msgid "HowTo"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:83
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:64 src/frontend/mame/ui/selmenu.cpp:84
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:65 src/frontend/mame/ui/selmenu.cpp:90
+msgid "Covers"
+msgstr ""
+
+#: src/frontend/mame/ui/dirmenu.cpp:118
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
+#: src/frontend/mame/ui/dirmenu.cpp:169
#, c-format
-msgid "%s.txt saved under ui folder."
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/dirmenu.cpp:181
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/dirmenu.cpp:184
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/dirmenu.cpp:419
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/dirmenu.cpp:430
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/dirmenu.cpp:514
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " COLORS"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/viewgfx.cpp:428
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:604
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:1046
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:1047
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:1048
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:1052
#, 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:1054
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:1057
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:1059
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:1062
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:1064
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:1066
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:1069
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:1071
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:1073
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:1075
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:1077
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:1080
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:1082
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:1084
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:1086
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
+#: src/frontend/mame/ui/selgame.cpp:1089
msgid "Capture\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
+#: src/frontend/mame/ui/selgame.cpp:1091
msgid "Capture\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
+#: src/frontend/mame/ui/selgame.cpp:1094
msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
+#: src/frontend/mame/ui/selgame.cpp:1096
msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
+#: src/frontend/mame/ui/selgame.cpp:1099
msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
+#: src/frontend/mame/ui/selgame.cpp:1101
msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:1104
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:1106
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:1109
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:1111
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:1114
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:1116
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
+#: src/frontend/mame/ui/selgame.cpp:1119
msgid "Media\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
+#: src/frontend/mame/ui/selgame.cpp:1121
msgid "Media\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:1124
msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:1126
msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:1129
msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:1131
msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
+#: src/frontend/mame/ui/selgame.cpp:1134
msgid "Mag. Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
+#: src/frontend/mame/ui/selgame.cpp:1136
msgid "Mag. Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
+#: src/frontend/mame/ui/selgame.cpp:1139
msgid "Punch Tape\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
+#: src/frontend/mame/ui/selgame.cpp:1141
msgid "Punch Tape\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
+#: src/frontend/mame/ui/selgame.cpp:1144
msgid "Mag. Drum\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
+#: src/frontend/mame/ui/selgame.cpp:1146
msgid "Mag. Drum\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
+#: src/frontend/mame/ui/selgame.cpp:1149
msgid "(EP)ROM\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
+#: src/frontend/mame/ui/selgame.cpp:1151
msgid "(EP)ROM\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
+#: src/frontend/mame/ui/selgame.cpp:1154
msgid "Communications\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
+#: src/frontend/mame/ui/selgame.cpp:1156
msgid "Communications\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:1159
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:1161
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:1164
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:1166
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:1169
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:1171
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:1173
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:1174
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:1175
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
+#: src/frontend/mame/ui/selgame.cpp:1177
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:1178
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:1179
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:1180
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:1190
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:1203
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:1205
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:1208
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:1210
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:1212
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:1216
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1406
#, 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:1434
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1441
#, c-format
msgid "System: %1$-.100s"
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"
-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/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr ""
-
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selector.cpp:118
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selector.cpp:126
+#, c-format
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/auditmenu.cpp:97
+#, c-format
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/auditmenu.cpp:100
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/auditmenu.cpp:105
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/auditmenu.cpp:131
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/auditmenu.cpp:143
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/custui.cpp:33
+msgid "Show All"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/custui.cpp:34
+msgid "Hide Filters"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/custui.cpp:35
+msgid "Hide Info/Image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/custui.cpp:36
+msgid "Hide Both"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/custui.cpp:171
+msgid "Fonts"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/custui.cpp:172
+msgid "Colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/custui.cpp:181
+msgid "Show side panels"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/custui.cpp:193
+msgid "Custom UI Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/custui.cpp:245
+msgid "default"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/custui.cpp:366
+msgid "UI Font"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/custui.cpp:371
+msgid "Bold"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/custui.cpp:372
+msgid "Italic"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/custui.cpp:377
+msgid "Lines"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/custui.cpp:383
+msgid "Infos text size"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/custui.cpp:397
+msgid "UI Fonts Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/custui.cpp:406
+msgid "Sample text - Lorem ipsum dolor sit amet, consectetur adipiscing elit."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/custui.cpp:489
+msgid "Normal text"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/custui.cpp:490
+msgid "Selected color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/custui.cpp:491
+msgid "Normal text background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/custui.cpp:492
+msgid "Selected background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/custui.cpp:493
+msgid "Subitem color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/custui.cpp:494 src/frontend/mame/ui/custui.cpp:550
+msgid "Clone"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/custui.cpp:495
+msgid "Border"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/custui.cpp:496
+msgid "Background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/custui.cpp:497
+msgid "Dipswitch"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/custui.cpp:498
+msgid "Unavailable color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/custui.cpp:499
+msgid "Slider color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/custui.cpp:500
+msgid "Gfx viewer background"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/custui.cpp:501
+msgid "Mouse over color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/custui.cpp:502
+msgid "Mouse over background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/custui.cpp:503
+msgid "Mouse down color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/custui.cpp:504
+msgid "Mouse down background color"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/custui.cpp:507
+msgid "Restore originals colors"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/custui.cpp:519
+msgid "UI Colors Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/custui.cpp:528
+#, c-format
+msgid "Double click or press %1$s to change the color value"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/custui.cpp:536
+msgid "Menu Preview"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/custui.cpp:546
+msgid "Normal"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/custui.cpp:547
+msgid "Subitem"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/custui.cpp:548
+msgid "Selected"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/custui.cpp:549
+msgid "Mouse Over"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/custui.cpp:779
+msgid "ARGB Settings"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/custui.cpp:784 src/frontend/mame/ui/custui.cpp:787
+msgid "Alpha"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/custui.cpp:792 src/frontend/mame/ui/custui.cpp:795
+#: src/frontend/mame/ui/custui.cpp:938
+msgid "Red"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/custui.cpp:800 src/frontend/mame/ui/custui.cpp:803
+#: src/frontend/mame/ui/custui.cpp:941
+msgid "Green"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/custui.cpp:808 src/frontend/mame/ui/custui.cpp:811
+#: src/frontend/mame/ui/custui.cpp:942
+msgid "Blue"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/custui.cpp:814
+msgid "Choose from palette"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:853
+msgid "Color preview ="
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:934
+msgid "White"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:935
+msgid "Silver"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:936
+msgid "Gray"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:937
+msgid "Black"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:939
+msgid "Orange"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:940
+msgid "Yellow"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/custui.cpp:943
+msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/about.cpp:60 src/frontend/mame/ui/selmenu.cpp:757
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/barcode.cpp:77
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/barcode.cpp:116
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/mainmenu.cpp:64
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/mainmenu.cpp:69
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "DIP Switches"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/mainmenu.cpp:73
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/mainmenu.cpp:77
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/mainmenu.cpp:80
+msgid "Warning Information"
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/mainmenu.cpp:86
+msgid "Image Information"
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/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:95
+msgid "Tape Control"
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/mainmenu.cpp:101
+msgid "BIOS Selection"
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/mainmenu.cpp:104
+msgid "Slot Devices"
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/mainmenu.cpp:107
+msgid "Barcode Reader"
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/mainmenu.cpp:110
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:115
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/mainmenu.cpp:120
+msgid "Crosshair Options"
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/mainmenu.cpp:123 plugins/cheat/init.lua:794
+msgid "Cheat"
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/mainmenu.cpp:126
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/mainmenu.cpp:129
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/mainmenu.cpp:140
#, c-format
-msgid " %1$d×%2$s\n"
+msgid "About %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/mainmenu.cpp:146
+msgid "Select New Machine"
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/selmenu.cpp:76
+msgid "Control Panels"
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/selmenu.cpp:81
+msgid "Artwork Preview"
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/selmenu.cpp:85
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:94
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selmenu.cpp:95
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selmenu.cpp:96
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:320
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:426
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selmenu.cpp:681
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:683
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:688
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:693
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selmenu.cpp:698
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selmenu.cpp:703
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selmenu.cpp:719
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selmenu.cpp:721
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selmenu.cpp:2198
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selmenu.cpp:2199
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
+#: src/frontend/mame/ui/selmenu.cpp:2508
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr ""
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+"Required ROM/disk images for the selected system are missing or incorrect. "
+"Please acquire the correct files or select a different system.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
+#: src/frontend/mame/ui/selmenu.cpp:2524
msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-
-#: 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"
+"Required ROM/disk images for the selected software are missing or incorrect. "
+"Please acquire the correct files or select a different software item.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/selmenu.cpp:2540
+msgid "incorrect checksum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/selmenu.cpp:2543
+msgid "incorrect length"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/selmenu.cpp:2546
+msgid "not found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/selmenu.cpp:2557
+#, c-format
+msgid "%1$s (%2$s) - %3$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/selmenu.cpp:2559
+#, c-format
+msgid "%1$s - %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/selmenu.cpp:2563
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/selmenu.cpp:2664
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/selmenu.cpp:2699
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
+#: src/frontend/mame/ui/devopt.cpp:45
+#, c-format
msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+"[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:198
+#: src/frontend/mame/ui/devopt.cpp:46
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"[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:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/devopt.cpp:54
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/devopt.cpp:98
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/devopt.cpp:103
#, c-format
-msgid "%s"
+msgid " Screen '%1$s': Vector\n"
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/devopt.cpp:116
#, c-format
-msgid ", %s"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$s Hz\n"
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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:117
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$s Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:130
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:189
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:229 src/frontend/mame/ui/devopt.cpp:245
+#: src/frontend/mame/ui/devopt.cpp:290
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:234 src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:257
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:259
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:261
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:263
#, c-format
-msgid "Screen '%1$s'"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:267
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:269
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:271
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:273
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:275
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:280
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:282
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:288
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:295
+msgid "[None]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:387
+msgid "Other: "
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: plugins/cheatfind/init.lua:388
+msgid "Save Cheat"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: plugins/cheatfind/init.lua:391
+msgid "Default"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: plugins/cheatfind/init.lua:391
+msgid "Custom"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: plugins/cheatfind/init.lua:392
+msgid "Cheat Name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
+#: plugins/cheatfind/init.lua:398 plugins/cheatfind/init.lua:973
+#, lua-format
+msgid "Default name is %s"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
+#: plugins/cheatfind/init.lua:406
+msgid "Player"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: plugins/cheatfind/init.lua:411
+msgid "Type"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
+#: plugins/cheatfind/init.lua:411
+msgid "(empty)"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: plugins/cheatfind/init.lua:427
+msgid "You can enter any type name"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: plugins/cheatfind/init.lua:436
+msgid "Save"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: plugins/cheatfind/init.lua:444
+msgid "Type name is empty"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: plugins/cheatfind/init.lua:468
+#, lua-format
+msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: plugins/cheatfind/init.lua:478
+msgid "Cheat added to cheat.simple"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: plugins/cheatfind/init.lua:483
+msgid ""
+"Unable to write file\n"
+"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/timer/init.lua:94
-msgid "Current time"
+#: plugins/cheatfind/init.lua:492 plugins/autofire/autofire_menu.lua:219
+msgid "Cancel"
msgstr ""
-#: plugins/timer/init.lua:96
-msgid "Total time"
+#: plugins/cheatfind/init.lua:497
+msgid "CPU or RAM"
msgstr ""
-#: plugins/timer/init.lua:98
-msgid "Play Count"
+#: plugins/cheatfind/init.lua:501
+msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/timer/init.lua:106
-msgid "Timer"
+#: plugins/cheatfind/init.lua:510
+msgid "Automatic"
msgstr ""
-#: plugins/cheat/init.lua:528
-msgid "Select cheat to set hotkey"
+#: plugins/cheatfind/init.lua:510
+msgid "Manual"
msgstr ""
-#: plugins/cheat/init.lua:534
-msgid "Press button for hotkey or wait to clear"
+#: plugins/cheatfind/init.lua:511
+msgid "Pause Mode"
msgstr ""
-#: plugins/cheat/init.lua:546
-msgid "None"
+#: plugins/cheatfind/init.lua:518
+msgid "Manually toggle pause when needed"
msgstr ""
-#: plugins/cheat/init.lua:551
-msgid "Done"
+#: plugins/cheatfind/init.lua:521
+msgid "Automatically toggle pause with on-screen menus"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
-msgid "Set"
+#: plugins/cheatfind/init.lua:542
+msgid "All slots cleared and current state saved to Slot 1"
msgstr ""
-#: plugins/cheat/init.lua:598
-msgid "Set hotkeys"
+#: plugins/cheatfind/init.lua:554
+msgid "Start new search"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheatfind/init.lua:565
#, lua-format
-msgid "Activated: %s = %s"
+msgid "Memory state saved to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheatfind/init.lua:581
#, lua-format
-msgid "Activated: %s"
+msgid "Save current memory state to Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheatfind/init.lua:612
#, lua-format
-msgid "Enabled: %s"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheatfind/init.lua:620
#, lua-format
-msgid "Disabled: %s"
+msgid "Perform Compare : Slot %d %s Slot %d"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheatfind/init.lua:621
#, lua-format
-msgid "%s added"
+msgid "Perform Compare : Slot %d %s Slot %d %s %d"
msgstr ""
-#: plugins/data/data_command.lua:19
-msgid "Command"
+#: plugins/cheatfind/init.lua:622
+#, lua-format
+msgid "Perform Compare : Slot %d BITWISE%s Slot %d"
msgstr ""
-#: plugins/data/data_hiscore.lua:770 plugins/data/data_hiscore.lua:818
-msgid "High Scores"
+#: plugins/cheatfind/init.lua:623
+#, lua-format
+msgid "Perform Compare : Slot %d %s %d"
msgstr ""
-#: plugins/data/data_history.lua:15
-msgid "History"
+#: plugins/cheatfind/init.lua:664 plugins/cheatfind/init.lua:706
+#, lua-format
+msgid "Slot %d"
msgstr ""
-#: plugins/data/data_mameinfo.lua:18 plugins/data/data_messinfo.lua:19
-msgid ""
-"\n"
-"\n"
-"--- DRIVER INFO ---\n"
-"Driver: "
+#: plugins/cheatfind/init.lua:675
+msgid "Left less than right"
msgstr ""
-#: plugins/data/data_mameinfo.lua:20
-msgid "MAMEinfo"
+#: plugins/cheatfind/init.lua:677
+msgid "Left greater than right"
msgstr ""
-#: plugins/data/data_messinfo.lua:21
-msgid "MESSinfo"
+#: plugins/cheatfind/init.lua:679
+msgid "Left equal to right"
msgstr ""
-#: plugins/data/data_story.lua:22
-msgid "Mamescore"
+#: plugins/cheatfind/init.lua:681
+msgid "Left not equal to right"
msgstr ""
-#: plugins/data/data_sysinfo.lua:15
-msgid "Sysinfo"
+#: plugins/cheatfind/init.lua:683
+msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/data/data_gameinit.lua:16
-msgid "Gameinit"
+#: plugins/cheatfind/init.lua:685
+msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/data/data_marp.lua:140
-msgid "MARPScore"
+#: plugins/cheatfind/init.lua:687
+msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:404
-msgid "Save Cheat"
+#: plugins/cheatfind/init.lua:689
+msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Default"
+#: plugins/cheatfind/init.lua:691
+msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:407
-msgid "Custom"
+#: plugins/cheatfind/init.lua:693
+msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:408
-msgid "Cheat Name"
+#: plugins/cheatfind/init.lua:715
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
-#, lua-format
-msgid "Default name is %s"
+#: plugins/cheatfind/init.lua:717
+msgid "Difference"
msgstr ""
-#: plugins/cheatfind/init.lua:422
-msgid "Player"
+#: plugins/cheatfind/init.lua:722
+msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:427
-msgid "Type"
+#: plugins/cheatfind/init.lua:728
+msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:433
-msgid "Save"
+#: plugins/cheatfind/init.lua:734
+msgid "Slot 1 Value"
msgstr ""
-#: plugins/cheatfind/init.lua:462
-#, lua-format
-msgid "Cheat written to %s and added to cheat.simple"
+#: plugins/cheatfind/init.lua:734
+msgid "Last Slot Value"
msgstr ""
-#: plugins/cheatfind/init.lua:472
-msgid "Cheat added to cheat.simple"
+#: plugins/cheatfind/init.lua:737
+msgid "Test/Write Poke Value"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:744
msgid ""
-"Unable to write file\n"
-"Ensure that cheatpath folder exists"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:486
-msgid "Cancel"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:491
-msgid "CPU or RAM"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:495
-msgid "Changes to this only take effect when \"Start new search\" is selected"
+"Use this if you want to poke the Slot 1 value (eg. You started with "
+"something but lost it)"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:746
+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:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:748
+#, lua-format
+msgid "Use this if you want to poke %s"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:771
+msgid "Aligned only"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:787
+msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:791
+msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:794
+msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:903
#, lua-format
-msgid "%d total matches found"
+msgid "Test Cheat %08X_%02X"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:943
+msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:999
+msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:676
-msgid "Left equal to right"
+#: plugins/cheatfind/init.lua:999
+msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:1016
+msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:680
-msgid "Left equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1034
+msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:682
-msgid "Left not equal to right with bitmask"
+#: plugins/cheatfind/init.lua:1049
+msgid "Cheat Finder"
msgstr ""
-#: plugins/cheatfind/init.lua:684
-msgid "Left less than value"
+#: plugins/portname/init.lua:103
+msgid "Save input names to file"
msgstr ""
-#: plugins/cheatfind/init.lua:686
-msgid "Left greater than value"
+#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
+#: plugins/portname/init.lua:155
+msgid "Failed to save input name file"
msgstr ""
-#: plugins/cheatfind/init.lua:688
-msgid "Left equal to value"
+#: plugins/portname/init.lua:167
+#, lua-format
+msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/cheatfind/init.lua:690
-msgid "Left not equal to value"
+#: plugins/portname/init.lua:172
+msgid "Input ports"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/autofire/init.lua:103
+msgid "Failed to load autofire menu"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/autofire/init.lua:110
+msgid "Autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:719
-msgid "Any"
+#: plugins/autofire/autofire_menu.lua:58
+msgid "Autofire buttons"
msgstr ""
-#: plugins/cheatfind/init.lua:725
-msgid "Data Format"
+#: plugins/autofire/autofire_menu.lua:59
+#, lua-format
+msgid "Press %s to delete"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
+#: plugins/autofire/autofire_menu.lua:75 plugins/autofire/autofire_menu.lua:208
+msgid "Add autofire button"
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)"
+#: plugins/autofire/autofire_menu.lua:103
+#: plugins/autofire/autofire_menu.lua:104
+msgid "NOT SET"
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)"
+#: plugins/autofire/autofire_menu.lua:105
+msgid "Input"
msgstr ""
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
+#: plugins/autofire/autofire_menu.lua:106
+msgid "Hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
+#: plugins/autofire/autofire_menu.lua:107
+msgid "On frames"
msgstr ""
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
+#: plugins/autofire/autofire_menu.lua:108
+msgid "Off frames"
msgstr ""
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
+#: plugins/autofire/autofire_menu.lua:115 plugins/cheat/init.lua:618
+msgid "Press button for hotkey or wait to leave unchanged"
msgstr ""
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
+#: plugins/autofire/autofire_menu.lua:161
+msgid "Number of frames button will be pressed"
msgstr ""
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
+#: plugins/autofire/autofire_menu.lua:169
+msgid "Number of frames button will be released"
msgstr ""
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
+#: plugins/autofire/autofire_menu.lua:181
+msgid "Edit autofire button"
msgstr ""
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
+#: plugins/autofire/autofire_menu.lua:189 plugins/cheat/init.lua:650
+msgid "Done"
msgstr ""
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
+#: plugins/autofire/autofire_menu.lua:245
+msgid "Select an input for autofire"
msgstr ""
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
+#: plugins/timer/init.lua:94
+msgid "Current time"
msgstr ""
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
+#: plugins/timer/init.lua:96
+msgid "Total time"
msgstr ""
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
+#: plugins/timer/init.lua:98
+msgid "Play Count"
msgstr ""
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
+#: plugins/timer/init.lua:106
+msgid "Timer"
msgstr ""
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
+#: plugins/cheat/init.lua:606
+msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
+#: plugins/cheat/init.lua:607
+#, lua-format
+msgid "Press %s to clear hotkey"
msgstr ""
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
+#: plugins/cheat/init.lua:645
+msgid "None"
msgstr ""
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
+#: plugins/cheat/init.lua:664 plugins/cheat/init.lua:678
+msgid "Set"
msgstr ""
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
+#: plugins/cheat/init.lua:697
+msgid "Set hotkeys"
msgstr ""
-#: plugins/cheatfind/init.lua:816
-msgid "Undo last search -- #"
+#: plugins/cheat/init.lua:780
+#, lua-format
+msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheatfind/init.lua:820
-msgid "Match block"
+#: plugins/cheat/init.lua:782 plugins/cheat/init.lua:840
+#, lua-format
+msgid "Activated: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:823
-msgid "All"
+#: plugins/cheat/init.lua:844
+#, lua-format
+msgid "Enabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheat/init.lua:849
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Disabled: %s"
msgstr ""
-#: plugins/cheatfind/init.lua:974
-msgid "Cheat engine not available"
+#: plugins/cheat/init.lua:908
+#, lua-format
+msgid "%s added"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Test"
+#: plugins/data/data_command.lua:23
+msgid "Command"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Write"
+#: plugins/data/data_story.lua:22
+msgid "Mamescore"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
-msgid "Watch"
+#: plugins/data/data_sysinfo.lua:15
+msgid "Sysinfo"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
-msgid "Page"
+#: plugins/data/data_hiscore.lua:1220 plugins/data/data_hiscore.lua:1268
+msgid "High Scores"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
-msgid "Clear Watches"
+#: plugins/data/data_marp.lua:136
+msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
-msgid "Cheat Finder"
+#: plugins/data/data_gameinit.lua:16
+msgid "Gameinit"
msgstr ""
-#: plugins/portname/init.lua:103
-msgid "Save input names to file"
+#: plugins/data/data_history.lua:171
+msgid "History"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
-msgid "Failed to save input name file"
+#: plugins/data/data_messinfo.lua:19 plugins/data/data_mameinfo.lua:18
+msgid ""
+"\n"
+"\n"
+"--- DRIVER INFO ---\n"
+"Driver: "
msgstr ""
-#: plugins/portname/init.lua:167
-#, lua-format
-msgid "Input port name file saved to %s"
+#: plugins/data/data_messinfo.lua:21
+msgid "MESSinfo"
msgstr ""
-#: plugins/portname/init.lua:172
-msgid "Input ports"
+#: plugins/data/data_mameinfo.lua:20
+msgid "MAMEinfo"
msgstr ""
diff --git a/makefile b/makefile
index a98d55483cf..1097656fafd 100644
--- a/makefile
+++ b/makefile
@@ -33,6 +33,7 @@
# SDL2_MULTIAPI = 1
# NO_USE_MIDI = 1
# NO_USE_PORTAUDIO = 1
+# NO_USE_PULSEAUDIO = 1
# USE_TAPTUN = 1
# USE_PCAP = 1
# USE_QTDEBUG = 1
@@ -770,6 +771,10 @@ ifdef NO_USE_PORTAUDIO
PARAMS += --NO_USE_PORTAUDIO='$(NO_USE_PORTAUDIO)'
endif
+ifdef NO_USE_PULSEAUDIO
+PARAMS += --NO_USE_PULSEAUDIO='$(NO_USE_PULSEAUDIO)'
+endif
+
ifdef USE_QTDEBUG
PARAMS += --USE_QTDEBUG='$(USE_QTDEBUG)'
endif
@@ -1755,14 +1760,14 @@ endif
ifeq (posix,$(SHELLTYPE))
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
- @echo '#define BARE_BUILD_VERSION "0.231"' > $@
+ @echo '#define BARE_BUILD_VERSION "0.232"' > $@
@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: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
- @echo #define BARE_BUILD_VERSION "0.231" > $@
+ @echo #define BARE_BUILD_VERSION "0.232" > $@
@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/plugins/console/init.lua b/plugins/console/init.lua
index 388a1ca016b..de8a5844a68 100644
--- a/plugins/console/init.lua
+++ b/plugins/console/init.lua
@@ -296,11 +296,11 @@ function console.startplugin()
end
setmetatable(console, {
- __gc = function ()
- if history_fullpath then
- local ln = require("linenoise")
- ln.savehistory(history_fullpath)
- end
+ __gc = function ()
+ if history_fullpath then
+ local ln = require("linenoise")
+ ln.savehistory(history_fullpath)
+ end
end})
return exports
diff --git a/plugins/data/data_history.lua b/plugins/data/data_history.lua
index 78a43e1fd5e..2671d5a065d 100644
--- a/plugins/data/data_history.lua
+++ b/plugins/data/data_history.lua
@@ -119,6 +119,7 @@ local function init()
end,
text = function(text, cdata)
if lasttag == "text" then
+ text = text:gsub("\r", "") -- strip crs
stmt = db.prepare("INSERT INTO \"" .. file .. "\" VALUES (?)")
db.check("inserting values")
stmt:bind_values(text)
diff --git a/scripts/genie.lua b/scripts/genie.lua
index b68ae191860..833cb6e3712 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -1088,6 +1088,7 @@ end
"-Wno-unknown-attributes",
"-Wno-unknown-warning-option",
"-Wno-unused-value",
+ "-Wno-unused-const-variable",
}
if (version < 70000) or ((version < 100001) and (_OPTIONS["targetos"] == 'macosx')) then
buildoptions { -- clang 6.0 complains that [[maybe_unused]] is ignored for static data members
@@ -1132,6 +1133,14 @@ end
"-Wno-return-local-addr", -- sqlite3.c in GCC 10
}
end
+ if (version >= 110000) then
+ buildoptions {
+ "-Wno-nonnull", -- luaengine.cpp lambdas do not need "this" captured but GCC 11.1 erroneously insists
+ "-Wno-stringop-overread", -- machine/bbc.cpp in GCC 11.1
+ "-Wno-misleading-indentation", -- sqlite3.c in GCC 11.1
+ "-Wno-maybe-uninitialized" -- expat in GCC 11.1
+ }
+ end
end
end
@@ -1437,6 +1446,7 @@ if _OPTIONS["vs"]=="clangcl" then
"-Wno-unused-local-typedef",
"-Wno-unused-private-field",
"-Wno-unused-variable",
+ "-Wno-xor-used-as-pow",
"-Wno-microsoft-cast",
}
end
diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua
index 2056e2e95a5..f7aa6280533 100644
--- a/scripts/src/3rdparty.lua
+++ b/scripts/src/3rdparty.lua
@@ -2255,6 +2255,44 @@ project "wdlfft"
--------------------------------------------------
+-- ymfm library objects
+--------------------------------------------------
+
+project "ymfm"
+ uuid "2403a536-cb0a-4b50-b41f-10c17917689b"
+ kind "StaticLib"
+
+ configuration { }
+ defines {
+ "YMFM_MAME",
+ }
+
+ files {
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_adpcm.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_adpcm.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_fm.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_fm.ipp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_misc.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_misc.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opl.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opl.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opm.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opm.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opn.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opn.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opq.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opq.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opz.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_opz.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_pcm.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_pcm.h",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_ssg.cpp",
+ MAME_DIR .. "3rdparty/ymfm/src/ymfm_ssg.h",
+ }
+
+
+--------------------------------------------------
-- asmjit library
--------------------------------------------------
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index a996034185a..fd54182bc0a 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -201,6 +201,10 @@ if (BUSES["ADB"]~=null) then
MAME_DIR .. "src/devices/bus/adb/adb.h",
MAME_DIR .. "src/devices/bus/adb/adbhle.cpp",
MAME_DIR .. "src/devices/bus/adb/adbhle.h",
+ MAME_DIR .. "src/devices/bus/adb/a9m0330.cpp",
+ MAME_DIR .. "src/devices/bus/adb/a9m0330.h",
+ MAME_DIR .. "src/devices/bus/adb/a9m0331.cpp",
+ MAME_DIR .. "src/devices/bus/adb/a9m0331.h",
}
end
@@ -618,6 +622,8 @@ if (BUSES["BBC_TUBE"]~=null) then
MAME_DIR .. "src/devices/bus/bbc/tube/tube_a500.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.h",
+ MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm7.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm7.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_cms6809.cpp",
@@ -3449,6 +3455,8 @@ if (BUSES["COCO"]~=null) then
MAME_DIR .. "src/devices/bus/coco/coco_fdc.h",
MAME_DIR .. "src/devices/bus/coco/coco_gmc.cpp",
MAME_DIR .. "src/devices/bus/coco/coco_gmc.h",
+ MAME_DIR .. "src/devices/bus/coco/coco_max.cpp",
+ MAME_DIR .. "src/devices/bus/coco/coco_max.h",
MAME_DIR .. "src/devices/bus/coco/coco_midi.cpp",
MAME_DIR .. "src/devices/bus/coco/coco_midi.h",
MAME_DIR .. "src/devices/bus/coco/coco_multi.cpp",
@@ -3978,6 +3986,8 @@ if (BUSES["VSMILE"]~=null) then
MAME_DIR .. "src/devices/bus/vsmile/pad.h",
MAME_DIR .. "src/devices/bus/vsmile/mat.cpp",
MAME_DIR .. "src/devices/bus/vsmile/mat.h",
+ MAME_DIR .. "src/devices/bus/vsmile/keyboard.cpp",
+ MAME_DIR .. "src/devices/bus/vsmile/keyboard.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",
@@ -4004,6 +4014,8 @@ if (BUSES["VTECH_MEMEXP"]~=null) then
MAME_DIR .. "src/devices/bus/vtech/memexp/rs232.h",
MAME_DIR .. "src/devices/bus/vtech/memexp/rtty.cpp",
MAME_DIR .. "src/devices/bus/vtech/memexp/rtty.h",
+ MAME_DIR .. "src/devices/bus/vtech/memexp/sdloader.cpp",
+ MAME_DIR .. "src/devices/bus/vtech/memexp/sdloader.h",
MAME_DIR .. "src/devices/bus/vtech/memexp/wordpro.cpp",
MAME_DIR .. "src/devices/bus/vtech/memexp/wordpro.h",
}
@@ -4020,6 +4032,8 @@ if (BUSES["VTECH_IOEXP"]~=null) then
MAME_DIR .. "src/devices/bus/vtech/ioexp/ioexp.h",
MAME_DIR .. "src/devices/bus/vtech/ioexp/carts.cpp",
MAME_DIR .. "src/devices/bus/vtech/ioexp/carts.h",
+ MAME_DIR .. "src/devices/bus/vtech/ioexp/lpen.cpp",
+ MAME_DIR .. "src/devices/bus/vtech/ioexp/lpen.h",
MAME_DIR .. "src/devices/bus/vtech/ioexp/joystick.cpp",
MAME_DIR .. "src/devices/bus/vtech/ioexp/joystick.h",
MAME_DIR .. "src/devices/bus/vtech/ioexp/printer.cpp",
@@ -4444,6 +4458,26 @@ end
---------------------------------------------------
--
+--@src/devices/bus/saitek_osa/expansion.h,BUSES["SAITEK_OSA"] = true
+---------------------------------------------------
+
+if (BUSES["SAITEK_OSA"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/saitek_osa/expansion.cpp",
+ MAME_DIR .. "src/devices/bus/saitek_osa/expansion.h",
+ MAME_DIR .. "src/devices/bus/saitek_osa/modules.cpp",
+ MAME_DIR .. "src/devices/bus/saitek_osa/modules.h",
+ MAME_DIR .. "src/devices/bus/saitek_osa/maestro.cpp",
+ MAME_DIR .. "src/devices/bus/saitek_osa/maestro.h",
+ MAME_DIR .. "src/devices/bus/saitek_osa/maestroa.cpp",
+ MAME_DIR .. "src/devices/bus/saitek_osa/maestroa.h",
+ MAME_DIR .. "src/devices/bus/saitek_osa/sparc.cpp",
+ MAME_DIR .. "src/devices/bus/saitek_osa/sparc.h",
+ }
+end
+
+---------------------------------------------------
+--
--@src/devices/bus/samcoupe/drive/drive.h,BUSES["SAMCOUPE_DRIVE_PORT"] = true
---------------------------------------------------
diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua
index 4ddf33406ed..fa655d8b60b 100644
--- a/scripts/src/cpu.lua
+++ b/scripts/src/cpu.lua
@@ -555,6 +555,8 @@ end
if CPUS["PDP8"] then
files {
+ MAME_DIR .. "src/devices/cpu/pdp8/hd6120.cpp",
+ MAME_DIR .. "src/devices/cpu/pdp8/hd6120.h",
MAME_DIR .. "src/devices/cpu/pdp8/pdp8.cpp",
MAME_DIR .. "src/devices/cpu/pdp8/pdp8.h",
}
@@ -3521,3 +3523,13 @@ if opt_tool(CPUS, "MK1") then
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mk1/mk1dasm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mk1/mk1dasm.h")
end
+
+--------------------------------------------------
+-- Motorola M68HC16 (CPU16) - Disassembler only
+--@src/devices/cpu/m68hc16/m68hc16.h,CPUS["M68HC16"] = true
+--------------------------------------------------
+
+if opt_tool(CPUS, "M68HC16") then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m68hc16/cpu16dasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m68hc16/cpu16dasm.h")
+end
diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua
index 2e54bfaa999..5afef69d522 100644
--- a/scripts/src/formats.lua
+++ b/scripts/src/formats.lua
@@ -50,6 +50,8 @@ project "formats"
MAME_DIR .. "src/lib/formats/cqm_dsk.h",
MAME_DIR .. "src/lib/formats/dsk_dsk.cpp",
MAME_DIR .. "src/lib/formats/dsk_dsk.h",
+ MAME_DIR .. "src/lib/formats/ipf_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/ipf_dsk.h",
MAME_DIR .. "src/lib/formats/td0_dsk.cpp",
MAME_DIR .. "src/lib/formats/td0_dsk.h",
MAME_DIR .. "src/lib/formats/hxchfe_dsk.cpp",
@@ -1497,18 +1499,6 @@ end
--------------------------------------------------
--
---@src/lib/formats/ipf_dsk.h,FORMATS["IPF_DSK"] = true
---------------------------------------------------
-
-if opt_tool(FORMATS, "IPF_DSK") then
- files {
- MAME_DIR.. "src/lib/formats/ipf_dsk.cpp",
- MAME_DIR.. "src/lib/formats/ipf_dsk.h",
- }
-end
-
---------------------------------------------------
---
--@src/lib/formats/phc25_cas.h,FORMATS["PHC25_CAS"] = true
--------------------------------------------------
@@ -2001,6 +1991,30 @@ end
--------------------------------------------------
--
+--@src/lib/formats/vt_dsk.h,FORMATS["VT_DSK"] = true
+--------------------------------------------------
+
+if opt_tool(FORMATS, "VT_DSK") then
+ files {
+ MAME_DIR.. "src/lib/formats/vt_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/vt_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fs_vtech.h,FORMATS["FS_VTECH"] = true
+--------------------------------------------------
+
+if opt_tool(FORMATS, "FS_VTECH") then
+ files {
+ MAME_DIR.. "src/lib/formats/fs_vtech.cpp",
+ MAME_DIR.. "src/lib/formats/fs_vtech.h",
+ }
+end
+
+--------------------------------------------------
+--
--@src/lib/formats/wd177x_dsk.h,FORMATS["WD177X_DSK"] = true
--------------------------------------------------
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index 256a99c690f..992f883f3c8 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -250,6 +250,7 @@ end
"softfloat",
"softfloat3",
"wdlfft",
+ "ymfm",
ext_lib("jpeg"),
"7z",
}
diff --git a/scripts/src/sound.lua b/scripts/src/sound.lua
index 1d643268548..f9710d96547 100644
--- a/scripts/src/sound.lua
+++ b/scripts/src/sound.lua
@@ -10,12 +10,16 @@
----------------------------------------------------------------------------
files {
+ MAME_DIR .. "src/devices/sound/bbd.cpp",
+ MAME_DIR .. "src/devices/sound/bbd.h",
MAME_DIR .. "src/devices/sound/flt_biquad.cpp",
MAME_DIR .. "src/devices/sound/flt_biquad.h",
MAME_DIR .. "src/devices/sound/flt_vol.cpp",
MAME_DIR .. "src/devices/sound/flt_vol.h",
MAME_DIR .. "src/devices/sound/flt_rc.cpp",
MAME_DIR .. "src/devices/sound/flt_rc.h",
+ MAME_DIR .. "src/devices/sound/mixer.cpp",
+ MAME_DIR .. "src/devices/sound/mixer.h",
MAME_DIR .. "src/devices/sound/samples.cpp",
MAME_DIR .. "src/devices/sound/samples.h",
}
@@ -1169,124 +1173,64 @@ end
---------------------------------------------------
-- Yamaha FM synthesizers
---@src/devices/sound/ym2151.h,SOUNDS["YM2151"] = true
---@src/devices/sound/ym2203.h,SOUNDS["YM2203"] = true
---@src/devices/sound/ym2413.h,SOUNDS["YM2413"] = true
---@src/devices/sound/ym2608.h,SOUNDS["YM2608"] = true
---@src/devices/sound/ym2610.h,SOUNDS["YM2610"] = true
---@src/devices/sound/ym2612.h,SOUNDS["YM2612"] = true
---@src/devices/sound/ym3526.h,SOUNDS["YM3526"] = true
---@src/devices/sound/ym3812.h,SOUNDS["YM3812"] = true
---@src/devices/sound/ymf262.h,SOUNDS["YMF262"] = true
+--@src/devices/sound/ym2154.h,SOUNDS["YM2154"] = true
+--@src/devices/sound/ymopm.h,SOUNDS["YM2151"] = true
+--@src/devices/sound/ymopz.h,SOUNDS["YM2414"] = true
+--@src/devices/sound/ymopq.h,SOUNDS["YM3806"] = true
+--@src/devices/sound/ymopn.h,SOUNDS["YM2203"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["YM2413"] = true
+--@src/devices/sound/ymopn.h,SOUNDS["YM2608"] = true
+--@src/devices/sound/ymopn.h,SOUNDS["YM2610"] = true
+--@src/devices/sound/ymopn.h,SOUNDS["YM2612"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["YM3526"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["YM3812"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["YMF262"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["YMF278B"] = true
--@src/devices/sound/ymf271.h,SOUNDS["YMF271"] = true
---@src/devices/sound/ymf278b.h,SOUNDS["YMF278B"] = true
---@src/devices/sound/y8950.h,SOUNDS["Y8950"] = true
+--@src/devices/sound/ymopl.h,SOUNDS["Y8950"] = true
---------------------------------------------------
-if (SOUNDS["YM2151"]~=null) then
+if (SOUNDS["YM2154"]~=null) then
files {
- MAME_DIR .. "src/devices/sound/ym2151.cpp",
- MAME_DIR .. "src/devices/sound/ym2151.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ym2154.cpp",
+ MAME_DIR .. "src/devices/sound/ym2154.h",
}
end
-if (SOUNDS["YM2413"]~=null or SOUNDS["YM2423"]~=null or SOUNDS["YMF281"]~=null or SOUNDS["DS1001"]~=null) then
+if (SOUNDS["YM2151"]~=null or SOUNDS["YM2164"]~=null) then
files {
- MAME_DIR .. "src/devices/sound/ym2413.cpp",
- MAME_DIR .. "src/devices/sound/ym2413.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ymopm.cpp",
+ MAME_DIR .. "src/devices/sound/ymopm.h",
}
end
-if (SOUNDS["YM2203"]~=null or SOUNDS["YM2608"]~=null or SOUNDS["YM2610"]~=null or SOUNDS["YM2610B"]~=null or SOUNDS["YM2612"]~=null or SOUNDS["YM3438"]~=null) then
---if (SOUNDS["YM2203"]~=null) then
+if (SOUNDS["YM2414"]~=null) then
files {
- MAME_DIR .. "src/devices/sound/ay8910.cpp",
- MAME_DIR .. "src/devices/sound/ay8910.h",
- MAME_DIR .. "src/devices/sound/ym2203.cpp",
- MAME_DIR .. "src/devices/sound/ym2203.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ymopz.cpp",
+ MAME_DIR .. "src/devices/sound/ymopz.h",
}
---end
-
+end
---if (SOUNDS["YM2608"]~=null) then
+if (SOUNDS["YM3806"]~=null) then
files {
- MAME_DIR .. "src/devices/sound/ay8910.cpp",
- MAME_DIR .. "src/devices/sound/ay8910.h",
- MAME_DIR .. "src/devices/sound/ym2608.cpp",
- MAME_DIR .. "src/devices/sound/ym2608.h",
- MAME_DIR .. "src/devices/sound/ymadpcm.cpp",
- MAME_DIR .. "src/devices/sound/ymadpcm.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ymopq.cpp",
+ MAME_DIR .. "src/devices/sound/ymopq.h",
}
---end
+end
---if (SOUNDS["YM2610"]~=null or SOUNDS["YM2610B"]~=null) then
+if (SOUNDS["YM2203"]~=null or SOUNDS["YM2608"]~=null or SOUNDS["YM2610"]~=null or SOUNDS["YM2610B"]~=null or SOUNDS["YM2612"]~=null or SOUNDS["YM3438"]~=null) then
files {
MAME_DIR .. "src/devices/sound/ay8910.cpp",
MAME_DIR .. "src/devices/sound/ay8910.h",
- MAME_DIR .. "src/devices/sound/ym2610.cpp",
- MAME_DIR .. "src/devices/sound/ym2610.h",
- MAME_DIR .. "src/devices/sound/ymadpcm.cpp",
- MAME_DIR .. "src/devices/sound/ymadpcm.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
- }
---end
-
---if (SOUNDS["YM2612"]~=null or SOUNDS["YM3438"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/ym2612.cpp",
- MAME_DIR .. "src/devices/sound/ym2612.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
- }
---end
-end
-
-if (SOUNDS["YM3812"]~=null or SOUNDS["YM3526"]~=null or SOUNDS["Y8950"]~=null) then
---if (SOUNDS["YM3812"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/ym3812.cpp",
- MAME_DIR .. "src/devices/sound/ym3812.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ymopn.cpp",
+ MAME_DIR .. "src/devices/sound/ymopn.h",
}
---end
-
---if (SOUNDS["YM3526"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/ym3526.cpp",
- MAME_DIR .. "src/devices/sound/ym3526.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
- }
---end
-
---if (SOUNDS["Y8950"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/y8950.cpp",
- MAME_DIR .. "src/devices/sound/y8950.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
- MAME_DIR .. "src/devices/sound/ymadpcm.cpp",
- MAME_DIR .. "src/devices/sound/ymadpcm.h",
- }
---end
end
-if (SOUNDS["YMF262"]~=null) then
+if (SOUNDS["YM3526"]~=null or SOUNDS["Y8950"]~=null or SOUNDS["YM3812"]~=null or SOUNDS["YMF262"]~=null or SOUNDS["YMF278B"]~=null or SOUNDS["YM2413"]~=null or SOUNDS["YM2423"]~=null or SOUNDS["YMF281"]~=null or SOUNDS["DS1001"]~=null) then
files {
- MAME_DIR .. "src/devices/sound/ymf262.cpp",
- MAME_DIR .. "src/devices/sound/ymf262.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
+ MAME_DIR .. "src/devices/sound/ymopl.cpp",
+ MAME_DIR .. "src/devices/sound/ymopl.h",
}
end
@@ -1297,15 +1241,6 @@ if (SOUNDS["YMF271"]~=null) then
}
end
-if (SOUNDS["YMF278B"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/ymf278b.cpp",
- MAME_DIR .. "src/devices/sound/ymf278b.h",
- MAME_DIR .. "src/devices/sound/ymfm.cpp",
- MAME_DIR .. "src/devices/sound/ymfm.h",
- }
-end
-
---------------------------------------------------
diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua
index b3fb64c30c0..999ff594407 100644
--- a/scripts/src/tools.lua
+++ b/scripts/src/tools.lua
@@ -609,6 +609,8 @@ includedirs {
}
files {
+ MAME_DIR .. "src/tools/image_handler.cpp",
+ MAME_DIR .. "src/tools/image_handler.h",
MAME_DIR .. "src/tools/floptool.cpp",
}
@@ -677,8 +679,8 @@ files {
MAME_DIR .. "src/tools/imgtool/imghd.h",
MAME_DIR .. "src/tools/imgtool/charconv.cpp",
MAME_DIR .. "src/tools/imgtool/charconv.h",
- MAME_DIR .. "src/tools/imgtool/formats/vt_dsk.cpp",
- MAME_DIR .. "src/tools/imgtool/formats/vt_dsk.h",
+ MAME_DIR .. "src/tools/imgtool/formats/vt_dsk_legacy.cpp",
+ MAME_DIR .. "src/tools/imgtool/formats/vt_dsk_legacy.h",
MAME_DIR .. "src/tools/imgtool/formats/coco_dsk.cpp",
MAME_DIR .. "src/tools/imgtool/formats/coco_dsk.h",
MAME_DIR .. "src/tools/imgtool/formats/pc_dsk_legacy.cpp",
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 7e7e40ad40b..3535c5dfbeb 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -2554,6 +2554,8 @@ files {
MAME_DIR .. "src/mame/machine/k573dio.h",
MAME_DIR .. "src/mame/machine/k573fpga.cpp",
MAME_DIR .. "src/mame/machine/k573fpga.h",
+ MAME_DIR .. "src/mame/machine/k573kara.cpp",
+ MAME_DIR .. "src/mame/machine/k573kara.h",
MAME_DIR .. "src/mame/machine/k573mcr.cpp",
MAME_DIR .. "src/mame/machine/k573mcr.h",
MAME_DIR .. "src/mame/machine/k573msu.cpp",
@@ -2923,6 +2925,7 @@ files {
MAME_DIR .. "src/mame/drivers/cgang.cpp",
MAME_DIR .. "src/mame/drivers/cswat.cpp",
MAME_DIR .. "src/mame/drivers/dambustr.cpp",
+ MAME_DIR .. "src/mame/drivers/dangbar.cpp",
MAME_DIR .. "src/mame/drivers/dkmb.cpp",
MAME_DIR .. "src/mame/drivers/gal3.cpp",
MAME_DIR .. "src/mame/drivers/galaga.cpp",
@@ -3467,6 +3470,7 @@ files {
MAME_DIR .. "src/mame/includes/deniam.h",
MAME_DIR .. "src/mame/video/deniam.cpp",
MAME_DIR .. "src/mame/drivers/dotrikun.cpp",
+ MAME_DIR .. "src/mame/drivers/fwheel.cpp",
MAME_DIR .. "src/mame/drivers/gpworld.cpp",
MAME_DIR .. "src/mame/drivers/hikaru.cpp",
MAME_DIR .. "src/mame/drivers/hshavoc.cpp",
@@ -3676,6 +3680,8 @@ files {
MAME_DIR .. "src/mame/machine/315_5338a.h",
MAME_DIR .. "src/mame/machine/315_5649.cpp",
MAME_DIR .. "src/mame/machine/315_5649.h",
+ MAME_DIR .. "src/mame/machine/bingoct.cpp",
+ MAME_DIR .. "src/mame/machine/bingoct.h",
MAME_DIR .. "src/mame/machine/model1io.cpp",
MAME_DIR .. "src/mame/machine/model1io.h",
MAME_DIR .. "src/mame/machine/model1io2.cpp",
@@ -5058,6 +5064,7 @@ files {
MAME_DIR .. "src/mame/drivers/pipeline.cpp",
MAME_DIR .. "src/mame/drivers/pkscram.cpp",
MAME_DIR .. "src/mame/drivers/playcenter.cpp",
+ MAME_DIR .. "src/mame/drivers/plsonic4.cpp",
MAME_DIR .. "src/mame/drivers/pntnpuzl.cpp",
MAME_DIR .. "src/mame/drivers/policetr.cpp",
MAME_DIR .. "src/mame/includes/policetr.h",
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 5069b5d0fc1..a8863d06bc8 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -99,6 +99,7 @@ CPUS["F8"] = true
CPUS["LH5801"] = true
CPUS["PATINHOFEIO"] = true
CPUS["PDP1"] = true
+CPUS["PDP8"] = true
CPUS["TX0"] = true
CPUS["SATURN"] = true
CPUS["SC61860"] = true
@@ -182,7 +183,10 @@ SOUNDS["SPEAKER"] = true
SOUNDS["BEEP"] = true
SOUNDS["DISCRETE"] = true
SOUNDS["AY8910"] = true
+SOUNDS["YM2154"] = true
SOUNDS["YM2151"] = true
+SOUNDS["YM2414"] = true
+SOUNDS["YM3806"] = true
SOUNDS["YM2203"] = true
SOUNDS["YM2413"] = true
SOUNDS["YM2608"] = true
@@ -934,6 +938,7 @@ BUSES["QBUS"] = true
BUSES["RS232"] = true
BUSES["RTPC_KBD"] = true
BUSES["S100"] = true
+BUSES["SAITEK_OSA"] = true
BUSES["SAMCOUPE_DRIVE_PORT"] = true
BUSES["SAMCOUPE_EXPANSION"] = true
BUSES["SAMCOUPE_MOUSE_PORT"] = true
@@ -1150,6 +1155,8 @@ FORMATS["VECTOR06_DSK"] = true
FORMATS["VG5K_CAS"] = true
FORMATS["VICTOR9K_DSK"] = true
FORMATS["VT_CAS"] = true
+FORMATS["VT_DSK"] = true
+FORMATS["FS_VTECH"] = true
FORMATS["WD177X_DSK"] = true
FORMATS["X07_CAS"] = true
FORMATS["X1_TAP"] = true
@@ -1284,6 +1291,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"kontron",
"korg",
"kurzweil",
+ "kyber",
"kyocera",
"leapfrog",
"learsiegler",
@@ -1297,6 +1305,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"mchester",
"memotech",
"mera",
+ "mg1",
"mgu",
"microkey",
"microsoft",
@@ -2217,6 +2226,7 @@ files {
createMESSProjects(_target, _subtarget, "dec")
files {
MAME_DIR .. "src/mame/drivers/dct11em.cpp",
+ MAME_DIR .. "src/mame/drivers/decmate2.cpp",
MAME_DIR .. "src/mame/drivers/decstation.cpp",
MAME_DIR .. "src/mame/machine/decioga.cpp",
MAME_DIR .. "src/mame/machine/decioga.h",
@@ -2812,6 +2822,11 @@ files {
MAME_DIR .. "src/mame/drivers/krz2000.cpp",
}
+createMESSProjects(_target, _subtarget, "kyber")
+files {
+ MAME_DIR .. "src/mame/drivers/kminus.cpp",
+}
+
createMESSProjects(_target, _subtarget, "kyocera")
files {
MAME_DIR .. "src/mame/drivers/kyocera.cpp",
@@ -2823,6 +2838,7 @@ createMESSProjects(_target, _subtarget, "leapfrog")
files {
MAME_DIR .. "src/mame/drivers/leapster.cpp",
MAME_DIR .. "src/mame/drivers/leapfrog_leappad.cpp",
+ MAME_DIR .. "src/mame/drivers/leapfrog_leapster_explorer.cpp",
MAME_DIR .. "src/mame/drivers/leapfrog_iquest.cpp",
}
@@ -2916,6 +2932,11 @@ files {
MAME_DIR .. "src/mame/drivers/vdm7932x.cpp",
}
+createMESSProjects(_target, _subtarget, "mg1")
+files {
+ MAME_DIR .. "src/mame/drivers/mg1.cpp",
+}
+
createMESSProjects(_target, _subtarget, "mgu")
files {
MAME_DIR .. "src/mame/drivers/irisha.cpp",
@@ -3886,7 +3907,10 @@ files {
MAME_DIR .. "src/mame/includes/tek405x.h",
MAME_DIR .. "src/mame/drivers/tek410x.cpp",
MAME_DIR .. "src/mame/drivers/tek440x.cpp",
+ MAME_DIR .. "src/mame/drivers/tekigw.cpp",
MAME_DIR .. "src/mame/drivers/tekxp33x.cpp",
+ MAME_DIR .. "src/mame/machine/tek410x_kbd.cpp",
+ MAME_DIR .. "src/mame/machine/tek410x_kbd.h",
}
createMESSProjects(_target, _subtarget, "telenova")
@@ -4023,6 +4047,7 @@ files {
MAME_DIR .. "src/mame/drivers/amico2k.cpp",
MAME_DIR .. "src/mame/drivers/babbage.cpp",
MAME_DIR .. "src/mame/drivers/bob85.cpp",
+ MAME_DIR .. "src/mame/drivers/crei680.cpp",
MAME_DIR .. "src/mame/drivers/cvicny.cpp",
MAME_DIR .. "src/mame/drivers/datum.cpp",
MAME_DIR .. "src/mame/drivers/dolphunk.cpp",
@@ -4281,39 +4306,40 @@ files {
createMESSProjects(_target, _subtarget, "vtech")
files {
+ MAME_DIR .. "src/mame/drivers/clickstart.cpp",
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/audio/nl_gamemachine.h",
MAME_DIR .. "src/mame/audio/nl_gamemachine.cpp",
+ MAME_DIR .. "src/mame/audio/nl_gamemachine.h",
MAME_DIR .. "src/mame/drivers/geniusiq.cpp",
MAME_DIR .. "src/mame/drivers/geniusjr.cpp",
MAME_DIR .. "src/mame/drivers/gkidabc.cpp",
MAME_DIR .. "src/mame/drivers/glcx.cpp",
- MAME_DIR .. "src/mame/drivers/vtech_eu3a12.cpp",
+ MAME_DIR .. "src/mame/drivers/innotv_innotabmax.cpp",
+ MAME_DIR .. "src/mame/drivers/inteladv.cpp",
MAME_DIR .. "src/mame/drivers/iqunlim.cpp",
MAME_DIR .. "src/mame/drivers/laser3k.cpp",
MAME_DIR .. "src/mame/drivers/lcmate2.cpp",
+ MAME_DIR .. "src/mame/drivers/pc2000.cpp",
MAME_DIR .. "src/mame/drivers/pc4.cpp",
MAME_DIR .. "src/mame/includes/pc4.h",
MAME_DIR .. "src/mame/video/pc4.cpp",
- MAME_DIR .. "src/mame/drivers/pc2000.cpp",
MAME_DIR .. "src/mame/drivers/prestige.cpp",
- MAME_DIR .. "src/mame/drivers/vtech1.cpp",
- MAME_DIR .. "src/mame/drivers/vtech2.cpp",
- MAME_DIR .. "src/mame/includes/vtech2.h",
- MAME_DIR .. "src/mame/machine/vtech2.cpp",
- MAME_DIR .. "src/mame/video/vtech2.cpp",
MAME_DIR .. "src/mame/drivers/socrates.cpp",
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/storio.cpp",
MAME_DIR .. "src/mame/drivers/vsmile.cpp",
+ MAME_DIR .. "src/mame/includes/vsmile.h",
MAME_DIR .. "src/mame/drivers/vsmileb.cpp",
- MAME_DIR .. "src/mame/drivers/clickstart.cpp",
- MAME_DIR .. "src/mame/drivers/storio.cpp",
- MAME_DIR .. "src/mame/drivers/innotv_innotabmax.cpp",
+ MAME_DIR .. "src/mame/drivers/vtech1.cpp",
+ MAME_DIR .. "src/mame/drivers/vtech2.cpp",
+ MAME_DIR .. "src/mame/includes/vtech2.h",
+ MAME_DIR .. "src/mame/video/vtech2.cpp",
+ MAME_DIR .. "src/mame/machine/vtech2.cpp",
+ MAME_DIR .. "src/mame/drivers/vtech_eu3a12.cpp",
+ MAME_DIR .. "src/mame/drivers/vtech_innotab.cpp",
}
createMESSProjects(_target, _subtarget, "wang")
@@ -4676,6 +4702,7 @@ files {
MAME_DIR .. "src/mame/machine/nl_tp1985.cpp",
MAME_DIR .. "src/mame/drivers/palestra.cpp",
MAME_DIR .. "src/mame/machine/nl_palestra.cpp",
+ MAME_DIR .. "src/mame/drivers/philipsbo.cpp",
MAME_DIR .. "src/mame/drivers/mindset.cpp",
MAME_DIR .. "src/mame/drivers/gs6502.cpp",
MAME_DIR .. "src/mame/drivers/gs6809.cpp",
diff --git a/scripts/target/mame/virtual.lua b/scripts/target/mame/virtual.lua
index 2d1c866d51a..6bd3c77cc80 100644
--- a/scripts/target/mame/virtual.lua
+++ b/scripts/target/mame/virtual.lua
@@ -56,7 +56,10 @@ SOUNDS["VGMVIZ"] = true
SOUNDS["WAVE"] = true
SOUNDS["X1_010"] = true
SOUNDS["Y8950"] = true
+SOUNDS["YM2154"] = true
SOUNDS["YM2151"] = true
+SOUNDS["YM2414"] = true
+SOUNDS["YM3806"] = true
SOUNDS["YM2203"] = true
SOUNDS["YM2413"] = true
SOUNDS["YM2608"] = true
diff --git a/src/devices/bus/a2bus/booti.cpp b/src/devices/bus/a2bus/booti.cpp
index e365ebe2492..54e7720642f 100644
--- a/src/devices/bus/a2bus/booti.cpp
+++ b/src/devices/bus/a2bus/booti.cpp
@@ -6,14 +6,14 @@
Implementation of the BOOTI card
- The BOOTI is an Apple II interface to the CH376 USB module.
- The CH376 is intended for use with small microcontrollers (or,
- you know, the 6502) to give them access to FAT-formatted
- flash drives. See ch376.cpp for details.
-
- C0n0: read/write data to CH376
- C0n1: read status/write command to CH376
- C0n4: $C800 ROM bank (0-3)
+ The BOOTI is an Apple II interface to the CH376 USB module.
+ The CH376 is intended for use with small microcontrollers (or,
+ you know, the 6502) to give them access to FAT-formatted
+ flash drives. See ch376.cpp for details.
+
+ C0n0: read/write data to CH376
+ C0n1: read status/write command to CH376
+ C0n4: $C800 ROM bank (0-3)
*********************************************************************/
diff --git a/src/devices/bus/a2gameio/gameio.h b/src/devices/bus/a2gameio/gameio.h
index e160fc7aa1e..7ff1771b17b 100644
--- a/src/devices/bus/a2gameio/gameio.h
+++ b/src/devices/bus/a2gameio/gameio.h
@@ -67,6 +67,9 @@ public:
// utility strobe (active low)
DECLARE_WRITE_LINE_MEMBER(strobe_w);
+ // check if a device is connected
+ bool is_device_connected() { return (m_intf != nullptr); }
+
protected:
// device-level overrides
virtual void device_config_complete() override;
diff --git a/src/devices/bus/a7800/xboard.h b/src/devices/bus/a7800/xboard.h
index 8c0c6002ddb..ee4cda6c018 100644
--- a/src/devices/bus/a7800/xboard.h
+++ b/src/devices/bus/a7800/xboard.h
@@ -8,7 +8,7 @@
#include "a78_slot.h"
#include "rom.h"
#include "sound/pokey.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
// ======================> a78_xboard_device
diff --git a/src/devices/bus/adb/a9m0330.cpp b/src/devices/bus/adb/a9m0330.cpp
new file mode 100644
index 00000000000..8d3f9226299
--- /dev/null
+++ b/src/devices/bus/adb/a9m0330.cpp
@@ -0,0 +1,268 @@
+// license:BSD-3-Clause
+// copyright-holders: R. Belmont
+/*********************************************************************
+
+ a9m0330.cpp
+ Apple model A9M0330 ADB keyboard for the Apple IIgs
+ by R. Belmont, with hints from pluskbd.cpp by Vas Crabb
+
+ Port 1: Row selects 0-7
+ Port 2: Bit 0: row select bit 8
+ Bit 1: row select bit 9
+ Bit 2: Shift
+ Bit 3: Caps Lock
+ Bit 4: Option
+ Bit 5: Command
+ Bit 6: Reset/Power? Control?
+ Bit 7: ADB out
+ Bus: Matrix read input
+ T1: ADB in
+
+*********************************************************************/
+
+#include "emu.h"
+#include "a9m0330.h"
+
+DEFINE_DEVICE_TYPE(ADB_A9M0330, a9m0330_device, "a9m0330", "Apple IIgs ADB Keyboard (A9M0330)");
+
+ROM_START(a9m0330)
+ ROM_REGION(0x400, "mcu", 0)
+ // from early-production ROM 00 Woz Limited Edition IIgs. keyboard "Part Number 658-4081 825-1301-A"
+ // ROM is marked "NEC Japan 8626XD 341-0232A 543" so 26th week of 1986
+ ROM_LOAD("341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76))
+ // from later non-Woz ROM 01. keyboard "Model A9M0330"
+ // ROM is marked "NEC Japan 8806HD 8048HC610 341-0124-A (c) APPLE 87" so 6th week of 1988
+ ROM_LOAD("341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013))
+ROM_END
+
+// matrix is believed to be the same as the Mac Plus keyboard at the moment
+static INPUT_PORTS_START(a9m0330)
+ PORT_START("ROW0")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("Keypad *")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_NAME("Keypad 8")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
+
+ PORT_START("ROW1")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|')
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_NAME("Keypad /")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_NAME("Keypad 9")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
+
+ PORT_START("ROW2")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS_PAD) PORT_CHAR(UCHAR_MAMEKEY(EQUALS_PAD)) PORT_NAME("Keypad =")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_NAME("Keypad -")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
+
+ PORT_START("ROW3")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_NUMLOCK) PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK)) PORT_NAME("Keypad Clear")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
+
+ PORT_START("ROW4")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(0x08) PORT_NAME("Backspace")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_NAME("Keypad 1")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(0x0d) PORT_NAME("Return")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
+
+ PORT_START("ROW5")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_NAME("Keypad 0")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) PORT_NAME("Keypad 2")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_4_PAD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) PORT_NAME("Keypad 4")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
+
+ PORT_START("ROW6")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_NAME("Keypad .")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_')
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_NAME("Keypad 3")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_5_PAD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) PORT_NAME("Keypad 5")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
+
+ PORT_START("ROW7")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) PORT_NAME("Keypad Enter")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("Keypad +")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_NAME("Keypad 6")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("ROW8")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_TAB) PORT_CHAR(0x09) PORT_NAME("Tab")
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('`') PORT_CHAR('~')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
+
+ PORT_START("ROW9")
+ PORT_BIT(0x03, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_NAME("Keypad 7")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
+
+ PORT_START("P2")
+ PORT_BIT(0x43, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_NAME("Shift")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_NAME("Caps Lock") PORT_TOGGLE
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_LALT) PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_SHIFT_2) PORT_NAME("Option")
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_NAME("Command")
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
+INPUT_PORTS_END
+
+/***************************************************************************
+ DEVICE CONFIGURATION
+***************************************************************************/
+
+/*-------------------------------------------------
+ input_ports - device-specific input ports
+-------------------------------------------------*/
+ioport_constructor a9m0330_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(a9m0330);
+}
+
+/*-------------------------------------------------
+ device_add_mconfig - device-specific
+ machine configurations
+-------------------------------------------------*/
+void a9m0330_device::device_add_mconfig(machine_config &config)
+{
+ I8048(config, m_mcu, 6_MHz_XTAL);
+ m_mcu->set_addrmap(AS_PROGRAM, &a9m0330_device::program_map);
+ m_mcu->bus_in_cb().set(FUNC(a9m0330_device::bus_r));
+ m_mcu->p1_out_cb().set(FUNC(a9m0330_device::p1_w));
+ m_mcu->p2_in_cb().set_ioport("P2");
+ m_mcu->p2_out_cb().set(FUNC(a9m0330_device::p2_w));
+ m_mcu->t0_in_cb().set(FUNC(a9m0330_device::t0_r));
+ m_mcu->t1_in_cb().set(FUNC(a9m0330_device::t1_r));
+}
+
+/*-------------------------------------------------
+ rom_region - device-specific ROM region
+-------------------------------------------------*/
+const tiny_rom_entry *a9m0330_device::device_rom_region() const
+{
+ return ROM_NAME(a9m0330);
+}
+
+/***************************************************************************
+ DEVICE IMPLEMENTATION
+***************************************************************************/
+
+a9m0330_device::a9m0330_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ adb_device(mconfig, ADB_A9M0330, tag, owner, clock),
+ adb_slot_card_interface(mconfig, *this, DEVICE_SELF)
+ , m_mcu(*this, "mcu")
+ , m_rows{ *this, "ROW%u", 0U }
+{
+}
+
+void a9m0330_device::device_start()
+{
+ adb_device::device_start();
+
+ save_item(NAME(m_adb_state));
+ save_item(NAME(m_kbd_row));
+ save_item(NAME(m_our_last_adb_state));
+}
+
+void a9m0330_device::device_reset()
+{
+ adb_device::device_reset();
+
+ m_our_last_adb_state = 1;
+ m_adb_state = 1;
+ m_kbd_row = 0x3ff;
+}
+
+void a9m0330_device::adb_w(int state)
+{
+ m_adb_state = state;
+}
+
+void a9m0330_device::program_map(address_map &map)
+{
+ map(0x0000, 0x03ff).rom().region("mcu", 0);
+}
+
+u8 a9m0330_device::bus_r()
+{
+ u8 result = 0xffU;
+
+ for (unsigned int i = 0U; m_rows.size() > i; i++)
+ {
+ if (!BIT(m_kbd_row, i))
+ {
+ result &= m_rows[i]->read();
+ }
+ }
+
+ return result;
+}
+
+void a9m0330_device::p1_w(u8 data)
+{
+ m_kbd_row &= 0x300;
+ m_kbd_row |= data;
+}
+
+void a9m0330_device::p2_w(u8 data)
+{
+ m_kbd_row &= 0xff;
+ m_kbd_row |= (data & 0x03) << 8;
+
+ // ADB drive is through an inverting transistor
+ int adb_state = (data>>7) ^ 1;
+ if (adb_state != m_our_last_adb_state)
+ {
+ m_adb_cb(adb_state);
+ m_our_last_adb_state = adb_state;
+ }
+}
+
+DECLARE_READ_LINE_MEMBER(a9m0330_device::t0_r)
+{
+ // appears to be a config jumper of some sort
+ return 0;
+}
+
+DECLARE_READ_LINE_MEMBER(a9m0330_device::t1_r)
+{
+ return m_adb_state & 1;
+}
diff --git a/src/devices/bus/adb/a9m0330.h b/src/devices/bus/adb/a9m0330.h
new file mode 100644
index 00000000000..1d44a28bba8
--- /dev/null
+++ b/src/devices/bus/adb/a9m0330.h
@@ -0,0 +1,48 @@
+// license:BSD-3-Clause
+// copyright-holders: R. Belmont
+
+// a9m0330.h - Apple IIgs ADB keyboard
+
+#ifndef MAME_BUS_ADB_A9M0330_H
+#define MAME_BUS_ADB_A9M0330_H
+
+#pragma once
+
+#include "adb.h"
+#include "cpu/mcs48/mcs48.h"
+
+class a9m0330_device : public adb_device, public adb_slot_card_interface
+{
+public:
+ a9m0330_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ virtual void adb_w(int state) override;
+
+ required_device<i8048_device> m_mcu;
+ required_ioport_array<10> m_rows;
+
+ void program_map(address_map &map);
+
+private:
+ u8 bus_r();
+ void p1_w(u8 data);
+ void p2_w(u8 data);
+ DECLARE_READ_LINE_MEMBER(t0_r);
+ DECLARE_READ_LINE_MEMBER(t1_r);
+
+ int m_adb_state;
+ int m_kbd_row;
+ int m_our_last_adb_state;
+};
+
+DECLARE_DEVICE_TYPE(ADB_A9M0330, a9m0330_device)
+
+#endif
diff --git a/src/devices/bus/adb/a9m0331.cpp b/src/devices/bus/adb/a9m0331.cpp
new file mode 100644
index 00000000000..f0178dc4386
--- /dev/null
+++ b/src/devices/bus/adb/a9m0331.cpp
@@ -0,0 +1,125 @@
+// license:BSD-3-Clause
+// copyright-holders: R. Belmont
+/*********************************************************************
+
+ a9m0331.cpp
+ Apple standard ADB mouse
+ Skeleton by R. Belmont
+
+ TODO: Everything.
+ What 6805 or 68705 sub-model is this?
+ Is the boot vector actually correct?
+
+*********************************************************************/
+
+#include "emu.h"
+#include "a9m0331.h"
+
+DEFINE_DEVICE_TYPE(ADB_A9M0331, a9m0331_device, "a9m0331", "Apple ADB Mouse (A9M0331)");
+
+ROM_START(a9m0331)
+ ROM_REGION(0x800, "mcu", 0)
+ ROM_LOAD( "lsc84488p_1986_3.0.bin", 0x000000, 0x000800, CRC(572a11e0) SHA1(caab6c60b18670e5ea597e35e526032e33b6e8c7) )
+ ROM_LOAD( "zc84506p_1987_ea_3.2_trim.bin", 0x000000, 0x000800, CRC(85f858d9) SHA1(61ebad9953f4f88b6fcabf498f3875918493d138) )
+ROM_END
+
+static INPUT_PORTS_START(a9m0331)
+ PORT_START("button")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Button") PORT_CODE(MOUSECODE_BUTTON1)
+
+ PORT_START("mousex")
+ PORT_BIT(0xff, 0x00, IPT_MOUSE_X) PORT_SENSITIVITY(40) PORT_KEYDELTA(0) PORT_PLAYER(1)
+
+ PORT_START("mousey")
+ PORT_BIT(0xff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(40) PORT_KEYDELTA(0) PORT_PLAYER(1)
+INPUT_PORTS_END
+
+/***************************************************************************
+ DEVICE CONFIGURATION
+***************************************************************************/
+
+/*-------------------------------------------------
+ input_ports - device-specific input ports
+-------------------------------------------------*/
+ioport_constructor a9m0331_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(a9m0331);
+}
+
+/*-------------------------------------------------
+ device_add_mconfig - device-specific
+ machine configurations
+-------------------------------------------------*/
+void a9m0331_device::device_add_mconfig(machine_config &config)
+{
+ M68705P3(config, m_mcu, 2048000);
+ m_mcu->porta_r().set(FUNC(a9m0331_device::mcu_port_a_r));
+ m_mcu->portb_r().set(FUNC(a9m0331_device::mcu_port_b_r));
+ m_mcu->portc_r().set(FUNC(a9m0331_device::mcu_port_c_r));
+ m_mcu->porta_w().set(FUNC(a9m0331_device::mcu_port_a_w));
+ m_mcu->portb_w().set(FUNC(a9m0331_device::mcu_port_b_w));
+ m_mcu->portc_w().set(FUNC(a9m0331_device::mcu_port_c_w));
+}
+
+/*-------------------------------------------------
+ rom_region - device-specific ROM region
+-------------------------------------------------*/
+const tiny_rom_entry *a9m0331_device::device_rom_region() const
+{
+ return ROM_NAME(a9m0331);
+}
+
+/***************************************************************************
+ DEVICE IMPLEMENTATION
+***************************************************************************/
+
+a9m0331_device::a9m0331_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ adb_device(mconfig, ADB_A9M0331, tag, owner, clock),
+ adb_slot_card_interface(mconfig, *this, DEVICE_SELF),
+ m_mcu(*this, "mcu")
+{
+}
+
+void a9m0331_device::device_start()
+{
+ adb_device::device_start();
+}
+
+void a9m0331_device::device_reset()
+{
+ adb_device::device_reset();
+}
+
+void a9m0331_device::adb_w(int state)
+{
+}
+
+void a9m0331_device::mcu_port_a_w(u8 data)
+{
+ logerror("%02x to port A\n", data);
+}
+
+void a9m0331_device::mcu_port_b_w(u8 data)
+{
+ logerror("%02x to port B\n", data);
+}
+
+void a9m0331_device::mcu_port_c_w(u8 data)
+{
+ logerror("%02x to port C\n", data);
+}
+
+u8 a9m0331_device::mcu_port_a_r()
+{
+ return 0xff;
+}
+
+u8 a9m0331_device::mcu_port_b_r()
+{
+ return 0xff;
+}
+
+u8 a9m0331_device::mcu_port_c_r()
+{
+ return 0xff;
+}
diff --git a/src/devices/bus/adb/a9m0331.h b/src/devices/bus/adb/a9m0331.h
new file mode 100644
index 00000000000..f6fd1d145ab
--- /dev/null
+++ b/src/devices/bus/adb/a9m0331.h
@@ -0,0 +1,42 @@
+// license:BSD-3-Clause
+// copyright-holders: R. Belmont
+
+// a9m0331.h - Apple ADB mouse
+
+#ifndef MAME_BUS_ADB_A9M0331_H
+#define MAME_BUS_ADB_A9M0331_H
+
+#pragma once
+
+#include "adb.h"
+#include "cpu/m6805/m68705.h"
+
+class a9m0331_device : public adb_device, public adb_slot_card_interface
+{
+public:
+ a9m0331_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ virtual void adb_w(int state) override;
+
+ required_device<m68705p_device> m_mcu;
+
+private:
+ void mcu_port_a_w(u8 data);
+ void mcu_port_b_w(u8 data);
+ void mcu_port_c_w(u8 data);
+ u8 mcu_port_a_r();
+ u8 mcu_port_b_r();
+ u8 mcu_port_c_r();
+};
+
+DECLARE_DEVICE_TYPE(ADB_A9M0331, a9m0331_device)
+
+#endif
diff --git a/src/devices/bus/adb/adb.cpp b/src/devices/bus/adb/adb.cpp
index 3ff2ea6b382..cdf0810369a 100644
--- a/src/devices/bus/adb/adb.cpp
+++ b/src/devices/bus/adb/adb.cpp
@@ -11,6 +11,8 @@
#include "adb.h"
#include "adbhle.h"
+#include "a9m0330.h"
+#include "a9m0331.h"
DEFINE_DEVICE_TYPE(ADB_CONNECTOR, adb_connector, "adbslot", "ADB connector")
@@ -50,6 +52,8 @@ adb_device::adb_device(const machine_config &mconfig, device_type type, const ch
void adb_device::device_start()
{
+ m_adb_cb.resolve_safe();
+ m_poweron_cb.resolve_safe();
}
void adb_device::device_reset()
@@ -61,4 +65,6 @@ void adb_device::device_reset()
void adb_device::default_devices(device_slot_interface &device)
{
device.option_add("hle", ADB_HLE);
+ device.option_add("a9m0330", ADB_A9M0330);
+ device.option_add("a9m0331", ADB_A9M0331);
}
diff --git a/src/devices/bus/adb/adb.h b/src/devices/bus/adb/adb.h
index 8a07986c531..e6b15e8f61d 100644
--- a/src/devices/bus/adb/adb.h
+++ b/src/devices/bus/adb/adb.h
@@ -62,8 +62,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
-private:
devcb_write_line m_adb_cb;
+
+private:
devcb_write_line m_poweron_cb;
bool m_adb_istate, m_adb_ostate;
};
diff --git a/src/devices/bus/apricot/expansion/winchester.cpp b/src/devices/bus/apricot/expansion/winchester.cpp
index 5096cd7d4e0..e48751851fb 100644
--- a/src/devices/bus/apricot/expansion/winchester.cpp
+++ b/src/devices/bus/apricot/expansion/winchester.cpp
@@ -170,6 +170,7 @@ WRITE_LINE_MEMBER( apricot_winchester_device::head_w )
{
m_head = (m_head & ~(1 << N)) | (state << N);
LOGREGS("Select head: %d\n", m_head);
+ m_hdc->head_w(m_head);
}
template<int N>
diff --git a/src/devices/bus/bbc/1mhzbus/beebopl.h b/src/devices/bus/bbc/1mhzbus/beebopl.h
index 47769068154..618bea6af41 100644
--- a/src/devices/bus/bbc/1mhzbus/beebopl.h
+++ b/src/devices/bus/bbc/1mhzbus/beebopl.h
@@ -10,7 +10,7 @@
#define MAME_BUS_BBC_1MHZBUS_BEEBOPL_H
#include "1mhzbus.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
//**************************************************************************
diff --git a/src/devices/bus/bbc/tube/tube.cpp b/src/devices/bus/bbc/tube/tube.cpp
index 13a7318d7ef..371326cf487 100644
--- a/src/devices/bus/bbc/tube/tube.cpp
+++ b/src/devices/bus/bbc/tube/tube.cpp
@@ -95,6 +95,7 @@ void bbc_tube_slot_device::host_w(offs_t offset, uint8_t data)
#include "tube_80286.h"
#include "tube_a500.h"
#include "tube_arm.h"
+#include "tube_arm7.h"
#include "tube_casper.h"
#include "tube_cms6809.h"
//#include "tube_pmsb2p.h"
@@ -132,6 +133,7 @@ void bbc_tube_devices(device_slot_interface &device)
/* 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 */
+ 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) */
}
@@ -158,6 +160,7 @@ void bbc_extube_devices(device_slot_interface &device)
/* 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 */
+ 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) */
}
@@ -171,7 +174,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("arm7", BBC_TUBE_ARM7); /* Sprow ARM7 co-processor */
+ 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) */
}
@@ -191,6 +194,7 @@ void electron_tube_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("pcplus", BBC_TUBE_PCPLUS); /* Solidisk PC-Plus co-processor */
+ 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) */
}
diff --git a/src/devices/bus/bbc/tube/tube_arm7.cpp b/src/devices/bus/bbc/tube/tube_arm7.cpp
new file mode 100644
index 00000000000..e8396129057
--- /dev/null
+++ b/src/devices/bus/bbc/tube/tube_arm7.cpp
@@ -0,0 +1,295 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/**********************************************************************
+
+ Sprow ARM7TDMI Co-Processor (2005)
+
+ http://www.sprow.co.uk/bbc/armcopro.htm
+
+**********************************************************************/
+
+
+#include "emu.h"
+#include "tube_arm7.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(BBC_TUBE_ARM7, bbc_tube_arm7_device, "bbc_tube_arm7", "Sprow ARM7TDMI Co-Processor")
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( arm7_map )
+//-------------------------------------------------
+
+void bbc_tube_arm7_device::arm7_map(address_map &map)
+{
+ map(0x00000000, 0x07ffffff).view(m_bank0_view);
+ m_bank0_view[0](0x00000000, 0x0007ffff).rom().region("flash", 0).mirror(0x07f80000);
+ m_bank0_view[1](0x00000000, 0x07ffffff).rw(m_ram, FUNC(ram_device::read), FUNC(ram_device::write));
+ map(0x50000000, 0x50007fff).ram();
+ map(0x78000000, 0xbfffffff).rw(FUNC(bbc_tube_arm7_device::oki_reg_r), FUNC(bbc_tube_arm7_device::oki_reg_w));
+ map(0xc0000000, 0xc7ffffff).rw(m_ram, FUNC(ram_device::read), FUNC(ram_device::write));
+ map(0xc8000000, 0xc807ffff).rom().region("flash", 0).mirror(0x07f80000);
+ map(0xf0000000, 0xf000000f).rw(m_ula, FUNC(tube_device::parasite_r), FUNC(tube_device::parasite_w)).umask16(0x00ff);
+ map(0xf0000010, 0xf0000010).lrw8(NAME([this]() { return m_tube10; }), NAME([this](u8 data) { m_tube10 = data; }));
+}
+
+
+//-------------------------------------------------
+// ROM( tube_arm7 )
+//-------------------------------------------------
+
+ROM_START( tube_arm7 )
+ ROM_REGION32_LE(0x80000, "flash", 0)
+ ROM_SYSTEM_BIOS(0, "045", "ARM Tube OS 0.45")
+ ROMX_LOAD("atos045.rom", 0x00000, 0x80000, CRC(984c594e) SHA1(1909886361c2a143c02a3977f6ce1a529dfc8779), ROM_BIOS(0))
+ ROM_SYSTEM_BIOS(1, "040", "ARM Tube OS 0.40")
+ ROMX_LOAD("atos040.rom", 0x00000, 0x80000, CRC(b34b5011) SHA1(babfb5bdb8265cf3ac7feff254146cb2d2773da1), ROM_BIOS(1))
+ROM_END
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void bbc_tube_arm7_device::device_add_mconfig(machine_config &config)
+{
+ ARM7(config, m_maincpu, 64_MHz_XTAL); // Oki ML67Q5003
+ m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_arm7_device::arm7_map);
+
+ TUBE(config, m_ula);
+ m_ula->pnmi_handler().set(FUNC(bbc_tube_arm7_device::efiq_w));
+ m_ula->pirq_handler().set(FUNC(bbc_tube_arm7_device::exint3_w));
+
+ RAM(config, m_ram).set_default_size("32M").set_extra_options("16M,64M");
+}
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+const tiny_rom_entry *bbc_tube_arm7_device::device_rom_region() const
+{
+ return ROM_NAME( tube_arm7 );
+}
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// bbc_tube_arm7_device - constructor
+//-------------------------------------------------
+
+bbc_tube_arm7_device::bbc_tube_arm7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, BBC_TUBE_ARM7, tag, owner, clock)
+ , device_bbc_tube_interface(mconfig, *this)
+ , m_maincpu(*this, "maincpu")
+ , m_flash(*this, "flash")
+ , m_ula(*this, "ula")
+ , m_ram(*this, "ram")
+ , m_bank0_view(*this, "bank0")
+ , m_tube10(0)
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void bbc_tube_arm7_device::device_start()
+{
+ save_item(NAME(m_registers));
+}
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void bbc_tube_arm7_device::device_reset()
+{
+ // interrupt states
+ m_efiq_state = 0;
+ m_exint3_state = 0;
+
+ // reset registers
+ memset(m_registers, 0, sizeof(m_registers));
+ update_interrupts();
+
+ // enable rom
+ m_registers[CHIP_CONFIG][3] = 1; // ROMSEL
+ update_bank0();
+}
+
+
+//**************************************************************************
+// IMPLEMENTATION
+//**************************************************************************
+
+uint8_t bbc_tube_arm7_device::host_r(offs_t offset)
+{
+ return m_ula->host_r(offset);
+}
+
+void bbc_tube_arm7_device::host_w(offs_t offset, uint8_t data)
+{
+ m_ula->host_w(offset, data);
+}
+
+
+void bbc_tube_arm7_device::update_interrupts()
+{
+ int firq = BIT(m_registers[INTERRUPT][4], 0) && m_efiq_state;
+ int irq = BIT(m_registers[EXP_INTERRUPT][6], 28, 4) && m_exint3_state;
+
+ m_maincpu->set_input_line(ARM7_FIRQ_LINE, firq ? ASSERT_LINE : CLEAR_LINE);
+ m_maincpu->set_input_line(ARM7_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
+}
+
+WRITE_LINE_MEMBER(bbc_tube_arm7_device::efiq_w)
+{
+ m_efiq_state = state;
+ update_interrupts();
+}
+
+WRITE_LINE_MEMBER(bbc_tube_arm7_device::exint3_w)
+{
+ m_exint3_state = state;
+ if (state)
+ {
+ m_registers[INTERRUPT][5] = 31; // IRN
+ }
+ update_interrupts();
+}
+
+
+void bbc_tube_arm7_device::update_bank0()
+{
+ if (BIT(m_registers[CHIP_CONFIG][3], 0) && !BIT(m_registers[SYSTEM][4], 3))
+ {
+ m_bank0_view.select(0);
+ }
+ else
+ {
+ m_bank0_view.select(1);
+ }
+}
+
+
+uint32_t bbc_tube_arm7_device::oki_reg_r(offs_t offset)
+{
+ uint32_t data = 0x00;
+ uint32_t reg_addr = 0x78000000 + (offset * 4);
+
+ switch (reg_addr >> 4)
+ {
+ case 0x7800000: case 0x7800001: case 0x7800002:
+ data = m_registers[INTERRUPT][offset & 0x0f];
+ if (reg_addr == 0x78000014) // IRN
+ {
+ m_registers[INTERRUPT][5] = 0; // IRN
+ m_registers[INTERRUPT][6] = 0; // CIL
+ }
+ update_interrupts();
+ break;
+
+ case 0x7810000:
+ data = m_registers[EXT_MEMORY][offset & 0x03];
+ break;
+
+ case 0x7820000: case 0x7820001:
+ data = m_registers[CACHE_MEMORY][offset & 0x07];
+ break;
+
+ case 0x7818000: case 0x7818001:
+ data = m_registers[DRAM_CONTROL][offset & 0x07];
+ break;
+
+ case 0x7bf0000: case 0x7bf0001:
+ data = m_registers[EXP_INTERRUPT][offset & 0x07];
+ break;
+
+ case 0xb700000:
+ data = m_registers[CHIP_CONFIG][offset & 0x03];
+ break;
+
+ case 0xb7a0100: case 0xb7a0101: case 0xb7a0102: case 0xb7a0103: case 0xb7a0104: case 0xb7a0105:
+ data = m_registers[PORT_CONTROL][offset & 0x1f];
+ break;
+
+ case 0xb800000: case 0xb800001:
+ data = m_registers[SYSTEM][offset & 0x07];
+ break;
+
+ case 0xb800100: case 0xb800101:
+ data = m_registers[SYSTEM_TIMER][offset & 0x07];
+ break;
+
+ default:
+ logerror("oki_reg_r: Unhandled register %08x\n", reg_addr);
+ break;
+ }
+
+ return data;
+}
+
+void bbc_tube_arm7_device::oki_reg_w(offs_t offset, uint32_t data)
+{
+ uint32_t reg_addr = 0x78000000 + (offset * 4);
+
+ switch (reg_addr >> 4)
+ {
+ case 0x7800000: case 0x7800001: case 0x7800002:
+ m_registers[INTERRUPT][offset & 0x0f] = data;
+ if (reg_addr == 0x78000028) // CILCL
+ {
+ m_registers[INTERRUPT][6] = 0; // CIL
+ }
+ update_interrupts();
+ break;
+
+ case 0x7810000:
+ m_registers[EXT_MEMORY][offset & 0x03] = data;
+ break;
+
+ case 0x7820000: case 0x7820001:
+ m_registers[CACHE_MEMORY][offset & 0x07] = data;
+ break;
+
+ case 0x7818000: case 0x7818001:
+ m_registers[DRAM_CONTROL][offset & 0x07] = data;
+ break;
+
+ case 0x7bf0000: case 0x7bf0001:
+ m_registers[EXP_INTERRUPT][offset & 0x07] = data;
+ update_interrupts();
+ break;
+
+ case 0xb700000:
+ m_registers[CHIP_CONFIG][offset & 0x03] = data;
+ update_bank0();
+ break;
+
+ case 0xb7a0100: case 0xb7a0101: case 0xb7a0102: case 0xb7a0103: case 0xb7a0104: case 0xb7a0105:
+ m_registers[PORT_CONTROL][offset & 0x1f] = data;
+ break;
+
+ case 0xb800000: case 0xb800001:
+ m_registers[SYSTEM][offset & 0x07] = data;
+ update_bank0();
+ break;
+
+ case 0xb800100: case 0xb800101:
+ m_registers[SYSTEM_TIMER][offset & 0x07] = data;
+ break;
+
+ default:
+ logerror("oki_reg_w: Unhandled register %08x = %04x\n", reg_addr, data);
+ break;
+ }
+}
diff --git a/src/devices/bus/bbc/tube/tube_arm7.h b/src/devices/bus/bbc/tube/tube_arm7.h
new file mode 100644
index 00000000000..951be2d0209
--- /dev/null
+++ b/src/devices/bus/bbc/tube/tube_arm7.h
@@ -0,0 +1,92 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/**********************************************************************
+
+ Sprow ARM7TDMI Co-Processor
+
+ http://www.sprow.co.uk/bbc/armcopro.htm
+
+**********************************************************************/
+
+
+#ifndef MAME_BUS_BBC_TUBE_ARM7_H
+#define MAME_BUS_BBC_TUBE_ARM7_H
+
+#include "tube.h"
+#include "cpu/arm7/arm7.h"
+#include "cpu/arm7/arm7core.h"
+#include "machine/ram.h"
+#include "machine/tube.h"
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> bbc_tube_arm7_device
+
+class bbc_tube_arm7_device :
+ public device_t,
+ public device_bbc_tube_interface
+{
+ enum
+ {
+ INTERRUPT = 0, // 7800_0000
+ EXT_MEMORY, // 7810_0000
+ DRAM_CONTROL, // 7818_0000
+ CACHE_MEMORY, // 7820_0000
+ EXP_INTERRUPT, // 7BF0_0000
+ CHIP_CONFIG, // B700_0000
+ PORT_CONTROL, // B7A0_1000
+ SYSTEM, // B800_0000
+ SYSTEM_TIMER, // B800_1000
+ NUM_REGS
+ };
+
+public:
+ // construction/destruction
+ bbc_tube_arm7_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 uint8_t host_r(offs_t offset) override;
+ virtual void host_w(offs_t offset, uint8_t data) override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+ required_memory_region m_flash;
+ required_device<tube_device> m_ula;
+ required_device<ram_device> m_ram;
+ memory_view m_bank0_view;
+
+ void arm7_map(address_map& map);
+
+ uint32_t oki_reg_r(offs_t offset);
+ void oki_reg_w(offs_t offset, uint32_t data);
+
+ // registers
+ uint32_t m_registers[NUM_REGS][32];
+ uint8_t m_tube10;
+
+ void update_bank0();
+ void update_interrupts();
+
+ DECLARE_WRITE_LINE_MEMBER(efiq_w);
+ DECLARE_WRITE_LINE_MEMBER(exint3_w);
+
+ int m_efiq_state;
+ int m_exint3_state;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(BBC_TUBE_ARM7, bbc_tube_arm7_device)
+
+
+#endif // MAME_BUS_BBC_TUBE_ARM7_H
diff --git a/src/devices/bus/bml3/bml3mp1802.cpp b/src/devices/bus/bml3/bml3mp1802.cpp
index d00e364a093..707a0254e81 100644
--- a/src/devices/bus/bml3/bml3mp1802.cpp
+++ b/src/devices/bus/bml3/bml3mp1802.cpp
@@ -65,6 +65,7 @@ void bml3bus_mp1802_device::device_add_mconfig(machine_config &config)
FLOPPY_CONNECTOR(config, m_floppy1, mp1802_floppies, "dd", floppy_image_device::default_mfm_floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy2, mp1802_floppies, nullptr, floppy_image_device::default_mfm_floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy3, mp1802_floppies, nullptr, floppy_image_device::default_mfm_floppy_formats);
+ SOFTWARE_LIST(config, "flop_list").set_original("bml3_flop").set_filter("5");
}
//-------------------------------------------------
diff --git a/src/devices/bus/bml3/bml3mp1805.cpp b/src/devices/bus/bml3/bml3mp1805.cpp
index 663489f2cda..9d7e0823388 100644
--- a/src/devices/bus/bml3/bml3mp1805.cpp
+++ b/src/devices/bus/bml3/bml3mp1805.cpp
@@ -6,6 +6,7 @@
Hitachi MP-1805 floppy disk controller card for the MB-6890
Floppy drive is attached
+ TODO: make sure disk can be read
*********************************************************************/
@@ -31,9 +32,11 @@ ROM_START( mp1805 )
ROM_LOAD( "mp1805.rom", 0xf800, 0x0800, BAD_DUMP CRC(b532d8d9) SHA1(6f1160356d5bf64b5926b1fdb60db414edf65f22))
ROM_END
+// Although the drive is single-sided, D88 images are double-sided,
+// so we need to allocate enough space or MAME will crash.
void bml3bus_mp1805_device::floppy_drives(device_slot_interface &device)
{
- device.option_add("mb_6890", FLOPPY_3_SSDD);
+ device.option_add("mb_6890", FLOPPY_3_DSDD);
}
@@ -55,6 +58,7 @@ void bml3bus_mp1805_device::device_add_mconfig(machine_config &config)
FLOPPY_CONNECTOR(config, m_floppy[1], floppy_drives, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy[2], floppy_drives, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy[3], floppy_drives, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+ SOFTWARE_LIST(config, "flop_list").set_original("bml3_flop").set_filter("3");
}
//-------------------------------------------------
@@ -81,26 +85,42 @@ void bml3bus_mp1805_device::bml3_mp1805_w(uint8_t data)
// Dn: 1=select drive <n>
logerror("control_w %02x\n", data);
- int prev, next;
- for(prev = 0; prev != 4; prev++)
- if(m_control & (1 << prev))
- break;
- m_control = data;
- for(next = 0; next != 4; next++)
- if(m_control & (1 << next))
- break;
-
- auto fprev = m_floppy[prev]->get_device();
- auto fnext = m_floppy[next]->get_device();
-
- if(fprev && fprev != fnext)
- m_floppy[prev]->get_device()->mon_w(1);
-
- if((m_control & 0x80) && fnext) {
- logerror("motor on\n");
- fnext->mon_w(0);
+ u8 prev, next;
+ bool mon = BIT(data, 7);
+ floppy_image_device *fprev = nullptr, *fnext = nullptr;
+
+ if (!mon)
+ {
+ for(prev = 0; prev < 4; prev++)
+ if(BIT(m_control, prev))
+ break;
+
+ if (prev < 4)
+ {
+ fprev = m_floppy[prev]->get_device();
+ if (fprev)
+ {
+ logerror("Drive %d motor off\n",prev);
+ fprev->mon_w(1);
+ }
+ }
+ }
+ else
+ if (data & 15)
+ {
+ for(next = 0; next < 4; next++)
+ if(BIT(data, next))
+ break;
+
+ fnext = m_floppy[next]->get_device();
+ if (fnext)
+ {
+ logerror("Drive %d motor on\n",next);
+ fnext->mon_w(0);
+ }
}
+ m_control = data;
m_mc6843->set_floppy(fnext);
}
diff --git a/src/devices/bus/c64/sfx_sound_expander.h b/src/devices/bus/c64/sfx_sound_expander.h
index 4edb65656af..52e006ce686 100644
--- a/src/devices/bus/c64/sfx_sound_expander.h
+++ b/src/devices/bus/c64/sfx_sound_expander.h
@@ -12,7 +12,7 @@
#pragma once
#include "exp.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
diff --git a/src/devices/bus/cbus/pc9801_118.cpp b/src/devices/bus/cbus/pc9801_118.cpp
index 5054d01c69d..7f45cdf5d5e 100644
--- a/src/devices/bus/cbus/pc9801_118.cpp
+++ b/src/devices/bus/cbus/pc9801_118.cpp
@@ -15,7 +15,7 @@
#include "emu.h"
#include "bus/cbus/pc9801_118.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/devices/bus/cbus/pc9801_118.h b/src/devices/bus/cbus/pc9801_118.h
index 7ad9bbb44e2..0984a9c880c 100644
--- a/src/devices/bus/cbus/pc9801_118.h
+++ b/src/devices/bus/cbus/pc9801_118.h
@@ -12,7 +12,7 @@
#pragma once
#include "bus/cbus/pc9801_cbus.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "pc9801_snd.h"
diff --git a/src/devices/bus/cbus/pc9801_26.cpp b/src/devices/bus/cbus/pc9801_26.cpp
index ea94073e6a0..e9b9498c6ac 100644
--- a/src/devices/bus/cbus/pc9801_26.cpp
+++ b/src/devices/bus/cbus/pc9801_26.cpp
@@ -14,7 +14,7 @@
#include "emu.h"
#include "bus/cbus/pc9801_26.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/devices/bus/cbus/pc9801_26.h b/src/devices/bus/cbus/pc9801_26.h
index 06ad7f506a8..84eeaab31d4 100644
--- a/src/devices/bus/cbus/pc9801_26.h
+++ b/src/devices/bus/cbus/pc9801_26.h
@@ -12,7 +12,7 @@ Template for skeleton device
#pragma once
#include "bus/cbus/pc9801_cbus.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "pc9801_snd.h"
//**************************************************************************
diff --git a/src/devices/bus/cbus/pc9801_86.h b/src/devices/bus/cbus/pc9801_86.h
index 0e2e0bb0cb4..21de4102f01 100644
--- a/src/devices/bus/cbus/pc9801_86.h
+++ b/src/devices/bus/cbus/pc9801_86.h
@@ -13,7 +13,7 @@
#include "bus/cbus/pc9801_cbus.h"
#include "sound/dac.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "pc9801_snd.h"
//**************************************************************************
diff --git a/src/devices/bus/coco/coco_max.cpp b/src/devices/bus/coco/coco_max.cpp
new file mode 100644
index 00000000000..82103e531d9
--- /dev/null
+++ b/src/devices/bus/coco/coco_max.cpp
@@ -0,0 +1,172 @@
+// license:BSD-3-Clause
+// copyright-holders:tim lindner
+/***************************************************************************
+
+ coco_max.cpp
+
+ Code for emulating CoCo Max Hi-Res Input Module
+
+***************************************************************************/
+
+#include "emu.h"
+#include "coco_max.h"
+
+#include "machine/ram.h"
+
+#define MOUSE_SENSITIVITY 75
+#define COCOMAX_X_TAG "cocomax_x"
+#define COCOMAX_Y_TAG "cocomax_y"
+#define COCOMAX_BUTTONS "cocomax_buttons"
+
+// #define VERBOSE (LOG_GENERAL )
+#include "logmacro.h"
+
+//-------------------------------------------------
+// INPUT_PORTS( cocomax_mouse )
+//-------------------------------------------------
+
+INPUT_PORTS_START( cocomax_mouse )
+ PORT_START(COCOMAX_X_TAG)
+ PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X) PORT_NAME("CoCo Max Mouse X") PORT_SENSITIVITY(MOUSE_SENSITIVITY) PORT_MINMAX(0x00,0xff) PORT_PLAYER(1)
+ PORT_START(COCOMAX_Y_TAG)
+ PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y) PORT_NAME("CoCo Max Mouse Y") PORT_SENSITIVITY(MOUSE_SENSITIVITY) PORT_MINMAX(0x00,0xff) PORT_PLAYER(1)
+ PORT_START(COCOMAX_BUTTONS)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("CoCo Max Left Button") PORT_CODE(KEYCODE_0_PAD) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("CoCo Max Right Button") PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(1)
+INPUT_PORTS_END
+
+//**************************************************************************
+// TYPE DECLARATIONS
+//**************************************************************************
+
+namespace
+{
+ // ======================> coco_pak_device
+
+ class coco_pak_max_device :
+ public device_t,
+ public device_cococart_interface
+ {
+ public:
+ // construction/destruction
+ coco_pak_max_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 ioport_constructor device_input_ports() const override;
+
+ u8 ff90_read(offs_t offset);
+
+ private:
+ required_ioport m_mouse_x;
+ required_ioport m_mouse_y;
+ required_ioport m_buttons;
+
+ uint8_t m_a2d_result;
+ };
+};
+
+
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE_PRIVATE(COCO_PAK_MAX, device_cococart_interface, coco_pak_max_device, "cocopakmax", "CoCo Max HI-RES input module")
+
+
+
+//-------------------------------------------------
+// coco_pak_device - constructor
+//-------------------------------------------------
+
+coco_pak_max_device::coco_pak_max_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, COCO_PAK_MAX, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ , m_mouse_x(*this, COCOMAX_X_TAG)
+ , m_mouse_y(*this, COCOMAX_Y_TAG)
+ , m_buttons(*this, COCOMAX_BUTTONS)
+ , m_a2d_result(0)
+{
+}
+
+
+
+ioport_constructor coco_pak_max_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(cocomax_mouse);
+}
+
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void coco_pak_max_device::device_start()
+{
+ // initial state
+ m_a2d_result = 0;
+
+ // save state
+ save_item(NAME(m_a2d_result));
+
+ // install $ff90-$ff93 handler
+ install_read_handler(0xff90, 0xff97, read8sm_delegate(*this, FUNC(coco_pak_max_device::ff90_read)));
+}
+
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void coco_pak_max_device::device_reset()
+{
+ m_a2d_result = 0;
+}
+
+
+
+//-------------------------------------------------
+// ff90_read
+//-------------------------------------------------
+
+u8 coco_pak_max_device::ff90_read(offs_t offset)
+{
+ uint8_t result = m_a2d_result;
+
+ switch (offset & 0x08)
+ {
+ case 0:
+ m_a2d_result = m_mouse_y->read();
+ break;
+ case 1:
+ m_a2d_result = m_mouse_x->read();
+ break;
+ case 2:
+ m_a2d_result = BIT(m_buttons->read(), 0) ? 0 : 0xff;
+ break;
+ case 3:
+ m_a2d_result = BIT(m_buttons->read(), 1) ? 0 : 0xff;
+ break;
+ case 4:
+ /* not connected*/
+ break;
+ case 5:
+ /* not connected*/
+ break;
+ case 6:
+ /* not connected*/
+ break;
+ case 7:
+ /* not connected*/
+ break;
+ default:
+ break;
+ }
+
+ return result;
+}
diff --git a/src/devices/bus/coco/coco_max.h b/src/devices/bus/coco/coco_max.h
new file mode 100644
index 00000000000..22e592cff25
--- /dev/null
+++ b/src/devices/bus/coco/coco_max.h
@@ -0,0 +1,14 @@
+// license:BSD-3-Clause
+// copyright-holders:tim lindner
+#ifndef MAME_BUS_COCO_COCO_MAX_H
+#define MAME_BUS_COCO_COCO_MAX_H
+
+#pragma once
+
+#include "cococart.h"
+
+// device type definition
+DECLARE_DEVICE_TYPE(COCO_PAK_MAX, device_cococart_interface)
+
+#endif // MAME_BUS_COCO_COCO_MAX_H
+
diff --git a/src/devices/bus/coco/coco_ssc.cpp b/src/devices/bus/coco/coco_ssc.cpp
index d7836927ead..7c8d497a224 100644
--- a/src/devices/bus/coco/coco_ssc.cpp
+++ b/src/devices/bus/coco/coco_ssc.cpp
@@ -44,7 +44,7 @@
#define LOG_INTERNAL (1U << 2)
#define VERBOSE (0)
// #define VERBOSE (LOG_INTERFACE)
-// #define VERBOSE (LOG_INTERFACE | LOG_INTERNAL)
+// #define VERBOSE (LOG_INTERFACE|LOG_INTERNAL)
#include "logmacro.h"
@@ -141,7 +141,7 @@ namespace
static constexpr int BUFFER_SIZE = 4;
private:
sound_stream* m_stream;
- double m_rms[BUFFER_SIZE];
+ float m_rms[BUFFER_SIZE];
int m_index;
};
};
@@ -237,7 +237,7 @@ void coco_ssc_device::device_start()
void coco_ssc_device::device_reset()
{
- m_reset_line = 0;
+ m_reset_line = 1;
m_tms7000_busy = false;
}
@@ -314,7 +314,6 @@ u8 coco_ssc_device::ff7d_read(offs_t offset)
data & 0x02 ? '1' : '0',
data & 0x01 ? '1' : '0',
data );
-
break;
}
@@ -338,14 +337,11 @@ void coco_ssc_device::ff7d_write(offs_t offset, u8 data)
m_spo->reset();
}
- if( (m_reset_line & 1) == 1 )
+ if( ((m_reset_line & 1) == 1) && ((data & 1) == 0) )
{
- if( (data & 1) == 0 )
- {
- m_tms7040->reset();
- m_ay->reset();
- m_tms7000_busy = false;
- }
+ m_tms7040->reset();
+ m_ay->reset();
+ m_tms7000_busy = false;
}
m_reset_line = data;
@@ -369,7 +365,7 @@ u8 coco_ssc_device::ssc_port_a_r()
{
LOGINTERNAL( "[%s] port a read: %02x\n", machine().describe_context(), m_tms7000_porta );
- if (!machine().side_effects_disabled())
+ if( !machine().side_effects_disabled() )
{
m_tms7040->set_input_line(TMS7000_INT3_LINE, CLEAR_LINE);
}
@@ -393,7 +389,7 @@ u8 coco_ssc_device::ssc_port_c_r()
void coco_ssc_device::ssc_port_c_w(u8 data)
{
- if( (data & C_RCS) == 0 && (data & C_RRW) == 0) /* static RAM write */
+ if( (data & C_RCS) == 0 && (data & C_RRW) == 0 ) /* static RAM write */
{
u16 address = u16(data) << 8;
address += m_tms7000_portb;
@@ -415,9 +411,9 @@ void coco_ssc_device::ssc_port_c_w(u8 data)
}
}
- if( (data & C_ALD) == 0 )
+ if( ((m_tms7000_portc & C_ALD) == C_ALD) && ((data & C_ALD) == 0) && (m_tms7000_portd < 64) )
{
- m_spo->ald_w(m_tms7000_portd);
+ m_spo->ald_w(m_tms7000_portd); /* load allophone */
}
if( ((m_tms7000_portc & C_BSY) == 0) && ((data & C_BSY) == C_BSY) )
@@ -442,7 +438,7 @@ void coco_ssc_device::ssc_port_c_w(u8 data)
u8 coco_ssc_device::ssc_port_d_r()
{
- if( ((m_tms7000_portc & C_RCS) == 0) && ((m_tms7000_portc & C_ACS) == 0))
+ if( ((m_tms7000_portc & C_RCS) == 0) && ((m_tms7000_portc & C_ACS) == 0) )
logerror( "[%s] Warning: Reading RAM and PSG at the same time!\n", machine().describe_context() );
if( ((m_tms7000_portc & C_RCS) == 0) && ((m_tms7000_portc & C_RRW) == C_RRW)) /* static ram chip select (low) and static ram chip read (high) */
@@ -485,7 +481,7 @@ cocossc_sac_device::cocossc_sac_device(const machine_config &mconfig, const char
m_stream(nullptr),
m_index(0)
{
- std::fill(std::begin(m_rms), std::end(m_rms), 0);
+ std::fill(std::begin(m_rms), std::end(m_rms), 0.0f);
}
@@ -513,12 +509,11 @@ void cocossc_sac_device::sound_stream_update(sound_stream &stream, std::vector<r
if( count > 0 )
{
- for (int sampindex = 0; sampindex < count; sampindex++)
+ for( int sampindex = 0; sampindex < count; sampindex++ )
{
- // sum the squares
- m_rms[m_index] += src.get(sampindex) * src.get(sampindex);
- // copy from source to destination
- dst.put(sampindex, src.get(sampindex));
+ auto source_sample = src.get(sampindex);
+ m_rms[m_index] += source_sample * source_sample;
+ dst.put(sampindex, source_sample);
}
m_rms[m_index] = m_rms[m_index] / count;
@@ -526,7 +521,7 @@ void cocossc_sac_device::sound_stream_update(sound_stream &stream, std::vector<r
}
m_index++;
- m_index &= BUFFER_SIZE;
+ m_index &= (BUFFER_SIZE-1);
}
@@ -536,8 +531,8 @@ void cocossc_sac_device::sound_stream_update(sound_stream &stream, std::vector<r
bool cocossc_sac_device::sound_activity_circuit_output()
{
- double sum = std::accumulate(std::begin(m_rms), std::end(m_rms), 0.0);
- double average = (sum / BUFFER_SIZE);
+ float sum = std::accumulate(std::begin(m_rms), std::end(m_rms), 0.0f);
+ float average = (sum / BUFFER_SIZE);
- return average < 0.08;
+ return average < 0.317f;
}
diff --git a/src/devices/bus/coco/cococart.cpp b/src/devices/bus/coco/cococart.cpp
index 57e18871716..8f733cd6c6a 100644
--- a/src/devices/bus/coco/cococart.cpp
+++ b/src/devices/bus/coco/cococart.cpp
@@ -43,6 +43,7 @@
#include "coco_dcmodem.h"
#include "coco_fdc.h"
#include "coco_gmc.h"
+#include "coco_max.h"
#include "coco_midi.h"
#include "coco_multi.h"
#include "coco_orch90.h"
@@ -699,6 +700,7 @@ void coco_cart_add_basic_devices(device_slot_interface &device)
device.option_add("ccpsg", COCO_PSG);
device.option_add("dcmodem", COCO_DCMODEM);
device.option_add("gmc", COCO_PAK_GMC);
+ device.option_add("max", COCO_PAK_MAX);
device.option_add("midi", COCO_MIDI);
device.option_add("orch90", COCO_ORCH90);
device.option_add("ram", COCO_PAK_RAM);
diff --git a/src/devices/bus/isa/adlib.h b/src/devices/bus/isa/adlib.h
index 180eee3c141..511d0b4663c 100644
--- a/src/devices/bus/isa/adlib.h
+++ b/src/devices/bus/isa/adlib.h
@@ -6,7 +6,7 @@
#pragma once
#include "isa.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/isa/ibm_mfc.cpp b/src/devices/bus/isa/ibm_mfc.cpp
index 36dde1cc10a..21e388318ac 100644
--- a/src/devices/bus/isa/ibm_mfc.cpp
+++ b/src/devices/bus/isa/ibm_mfc.cpp
@@ -125,7 +125,7 @@ void isa8_ibm_mfc_device::io_map(address_map &map)
{
map.unmap_value_high();
map.global_mask(0xff);
- map(0x00, 0x01).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
+ map(0x00, 0x01).rw(m_ym2164, FUNC(ym2164_device::read), FUNC(ym2164_device::write));
map(0x10, 0x10).rw("d71051", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
map(0x11, 0x11).rw("d71051", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
map(0x20, 0x23).rw("d71055c_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
@@ -405,10 +405,10 @@ void isa8_ibm_mfc_device::device_add_mconfig(machine_config &config)
SPEAKER(config, "ymleft").front_left();
SPEAKER(config, "ymright").front_right();
- YM2164(config, m_ym2151, XTAL(4'000'000));
- 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);
+ YM2164(config, m_ym2164, XTAL(4'000'000));
+ m_ym2164->irq_handler().set(FUNC(isa8_ibm_mfc_device::ibm_mfc_ym_irq));
+ m_ym2164->add_route(0, "ymleft", 1.00);
+ m_ym2164->add_route(1, "ymright", 1.00);
}
@@ -446,7 +446,7 @@ isa8_ibm_mfc_device::isa8_ibm_mfc_device(const machine_config &mconfig, const ch
device_isa8_card_interface(mconfig, *this),
m_tcr(0), m_pc_ppi_c(0), m_z80_ppi_c(0), m_pc_irq_state(0), m_z80_irq_state(0),
m_cpu(*this, "ibm_mfc"),
- m_ym2151(*this, "ym2151"),
+ m_ym2164(*this, "ym2164"),
m_d8253(*this, "d8253"),
m_d71051(*this, "d71051"),
m_d71055c_0(*this, "d71055c_0"),
diff --git a/src/devices/bus/isa/ibm_mfc.h b/src/devices/bus/isa/ibm_mfc.h
index 770b6be7126..c6efe79d0da 100644
--- a/src/devices/bus/isa/ibm_mfc.h
+++ b/src/devices/bus/isa/ibm_mfc.h
@@ -16,7 +16,7 @@
#include "machine/i8255.h"
#include "machine/i8251.h"
#include "machine/pit8253.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -78,7 +78,7 @@ private:
uint8_t m_z80_irq_state;
required_device<cpu_device> m_cpu;
- required_device<ym2151_device> m_ym2151;
+ required_device<ym2164_device> m_ym2164;
required_device<pit8253_device> m_d8253;
required_device<i8251_device> m_d71051;
required_device<i8255_device> m_d71055c_0;
diff --git a/src/devices/bus/isa/sb16.h b/src/devices/bus/isa/sb16.h
index b64f96b4979..1ec0c722ca5 100644
--- a/src/devices/bus/isa/sb16.h
+++ b/src/devices/bus/isa/sb16.h
@@ -8,7 +8,7 @@
#include "bus/pc_joy/pc_joy.h"
#include "cpu/mcs51/mcs51.h"
#include "sound/dac.h"
-#include "sound/ymf262.h"
+#include "sound/ymopl.h"
//*********************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp
index 3242483a1b7..4e86448256a 100644
--- a/src/devices/bus/isa/sblaster.cpp
+++ b/src/devices/bus/isa/sblaster.cpp
@@ -15,7 +15,7 @@
#include "machine/pic8259.h"
#include "sound/spkrdev.h"
-#include "sound/ymf262.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/devices/bus/isa/sblaster.h b/src/devices/bus/isa/sblaster.h
index a31aa1ef33b..1c216f0a859 100644
--- a/src/devices/bus/isa/sblaster.h
+++ b/src/devices/bus/isa/sblaster.h
@@ -10,7 +10,7 @@
#include "bus/pc_joy/pc_joy.h"
#include "sound/dac.h"
#include "sound/saa1099.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "diserial.h"
//**************************************************************************
diff --git a/src/devices/bus/isa/stereo_fx.h b/src/devices/bus/isa/stereo_fx.h
index bd6a208dc9e..f61eedd4dd1 100644
--- a/src/devices/bus/isa/stereo_fx.h
+++ b/src/devices/bus/isa/stereo_fx.h
@@ -8,7 +8,7 @@
#include "isa.h"
#include "bus/pc_joy/pc_joy.h"
#include "cpu/mcs51/mcs51.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
//*********************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/msx_cart/fmpac.h b/src/devices/bus/msx_cart/fmpac.h
index a0f660b1620..9175849eaba 100644
--- a/src/devices/bus/msx_cart/fmpac.h
+++ b/src/devices/bus/msx_cart/fmpac.h
@@ -6,7 +6,7 @@
#pragma once
#include "bus/msx_cart/cartridge.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
DECLARE_DEVICE_TYPE(MSX_CART_FMPAC, msx_cart_fmpac_device)
diff --git a/src/devices/bus/msx_cart/moonsound.h b/src/devices/bus/msx_cart/moonsound.h
index ca30dfb5c35..62f614ae729 100644
--- a/src/devices/bus/msx_cart/moonsound.h
+++ b/src/devices/bus/msx_cart/moonsound.h
@@ -6,7 +6,7 @@
#pragma once
#include "bus/msx_cart/cartridge.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
DECLARE_DEVICE_TYPE(MSX_CART_MOONSOUND, msx_cart_moonsound_device)
diff --git a/src/devices/bus/msx_cart/msx_audio.h b/src/devices/bus/msx_cart/msx_audio.h
index 135dfa60519..490169244af 100644
--- a/src/devices/bus/msx_cart/msx_audio.h
+++ b/src/devices/bus/msx_cart/msx_audio.h
@@ -6,7 +6,7 @@
#pragma once
#include "bus/msx_cart/cartridge.h"
-#include "sound/y8950.h"
+#include "sound/ymopl.h"
#include "machine/6850acia.h"
#include "bus/midi/midi.h"
diff --git a/src/devices/bus/msx_cart/yamaha.cpp b/src/devices/bus/msx_cart/yamaha.cpp
index c03d44837ce..b2cb15a37b0 100644
--- a/src/devices/bus/msx_cart/yamaha.cpp
+++ b/src/devices/bus/msx_cart/yamaha.cpp
@@ -51,10 +51,10 @@ void msx_cart_sfg_device::device_add_mconfig(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- YM2151(config, m_ym2151, XTAL(3'579'545)); // The SFG01 uses a YM2151, the SFG05 uses a YM2164, input clock comes from the main cpu frequency
- m_ym2151->irq_handler().set(FUNC(msx_cart_sfg_device::ym2151_irq_w));
- m_ym2151->add_route(0, "lspeaker", 0.80);
- m_ym2151->add_route(1, "rspeaker", 0.80);
+ ym2151_device &ym2151(YM2151(config, m_ym2151, XTAL(3'579'545))); // The SFG01 uses a YM2151, the SFG05 uses a YM2164, input clock comes from the main cpu frequency
+ ym2151.irq_handler().set(FUNC(msx_cart_sfg_device::ym2151_irq_w));
+ ym2151.add_route(0, "lspeaker", 0.80);
+ ym2151.add_route(1, "rspeaker", 0.80);
YM2148(config, m_ym2148, XTAL(4'000'000));
m_ym2148->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
@@ -72,10 +72,10 @@ void msx_cart_sfg05_device::device_add_mconfig(machine_config &config)
{
msx_cart_sfg_device::device_add_mconfig(config);
- YM2164(config.replace(), m_ym2151, XTAL(3'579'545));
- m_ym2151->irq_handler().set(FUNC(msx_cart_sfg05_device::ym2151_irq_w));
- m_ym2151->add_route(0, "lspeaker", 0.80);
- m_ym2151->add_route(1, "rspeaker", 0.80);
+ ym2164_device &ym2164(YM2164(config.replace(), m_ym2151, XTAL(3'579'545)));
+ ym2164.irq_handler().set(FUNC(msx_cart_sfg05_device::ym2151_irq_w));
+ ym2164.add_route(0, "lspeaker", 0.80);
+ ym2164.add_route(1, "rspeaker", 0.80);
}
@@ -156,7 +156,7 @@ uint8_t msx_cart_sfg_device::read_cart(offs_t offset)
{
case 0x3ff0: // YM-2151 status read
case 0x3ff1: // YM-2151 status read mirror?
- return m_ym2151->status_r();
+ return m_ym2151->read(offset & 1);
case 0x3ff2: // YM-2148 keyboard column read
case 0x3ff3: // YM-2148 --
@@ -182,11 +182,8 @@ void msx_cart_sfg_device::write_cart(offs_t offset, uint8_t data)
switch (offset & 0x3fff)
{
case 0x3ff0: // YM-2151 register
- m_ym2151->register_w(data);
- break;
-
case 0x3ff1: // YM-2151 data
- m_ym2151->data_w(data);
+ m_ym2151->write(offset & 1, data);
break;
case 0x3ff2: // YM-2148 write keyboard row
diff --git a/src/devices/bus/msx_cart/yamaha.h b/src/devices/bus/msx_cart/yamaha.h
index b326bc3b20c..cd4c036cab8 100644
--- a/src/devices/bus/msx_cart/yamaha.h
+++ b/src/devices/bus/msx_cart/yamaha.h
@@ -6,7 +6,7 @@
#pragma once
#include "bus/msx_cart/cartridge.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "bus/msx_cart/msx_audio_kb.h"
#include "machine/ym2148.h"
@@ -35,7 +35,7 @@ protected:
DECLARE_WRITE_LINE_MEMBER(ym2148_irq_w);
required_memory_region m_region_sfg;
- required_device<ym2151_device> m_ym2151;
+ required_device<ym_generic_device> m_ym2151;
required_device<msx_audio_kbdc_port_device> m_kbdc;
required_device<ym2148_device> m_ym2148;
int m_ym2151_irq_state;
diff --git a/src/devices/bus/msx_slot/music.h b/src/devices/bus/msx_slot/music.h
index 385e568c4e5..0d9240079ab 100644
--- a/src/devices/bus/msx_slot/music.h
+++ b/src/devices/bus/msx_slot/music.h
@@ -7,7 +7,7 @@
#include "bus/msx_slot/slot.h"
#include "bus/msx_slot/rom.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
DECLARE_DEVICE_TYPE(MSX_SLOT_MUSIC, msx_slot_music_device)
diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h
index 1635b4707f7..7f7e7448938 100644
--- a/src/devices/bus/nes/konami.h
+++ b/src/devices/bus/nes/konami.h
@@ -7,7 +7,7 @@
#include "nxrom.h"
#include "sound/vrc6.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
// ======================> nes_konami_vrc1_device
diff --git a/src/devices/bus/rs232/mboardd.cpp b/src/devices/bus/rs232/mboardd.cpp
index cdbe002c8d1..2af648bd831 100644
--- a/src/devices/bus/rs232/mboardd.cpp
+++ b/src/devices/bus/rs232/mboardd.cpp
@@ -2,16 +2,16 @@
// copyright-holders:R. Belmont
/*
- mboardd.cpp - Mockingboard D emulation
- by R. Belmont
+ mboardd.cpp - Mockingboard D emulation
+ by R. Belmont
- The Apple IIc didn't have slots, so Sweet Micro Systems came up with this, a Mockingboard
- in a little box that attached to the IIc's modem port. There's nothing special about the
- IIc though - with a proper cable, anything that speaks 9600 8N1 RS-232 could drive this
- device.
+ The Apple IIc didn't have slots, so Sweet Micro Systems came up with this, a Mockingboard
+ in a little box that attached to the IIc's modem port. There's nothing special about the
+ IIc though - with a proper cable, anything that speaks 9600 8N1 RS-232 could drive this
+ device.
- A decent disassembly of the 6803 firmware is available from the Apple II Documentation Project:
- https://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Audio/Sweet%20Microsystems%20Mockingboard/Source%20Code/
+ A decent disassembly of the 6803 firmware is available from the Apple II Documentation Project:
+ https://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Audio/Sweet%20Microsystems%20Mockingboard/Source%20Code/
*/
@@ -35,7 +35,7 @@ mockingboard_d_device::mockingboard_d_device(const machine_config &mconfig, cons
void mockingboard_d_device::device_add_mconfig(machine_config &config)
{
- M6803(config, m_cpu, 4.9152_MHz_XTAL); // value reverse-engineered from 9600 baud SCI rate needed
+ M6803(config, m_cpu, 4.9152_MHz_XTAL); // value reverse-engineered from 9600 baud SCI rate needed
m_cpu->set_addrmap(AS_PROGRAM, &mockingboard_d_device::m6803_mem);
m_cpu->in_p2_cb().set(FUNC(mockingboard_d_device::p2_r));
m_cpu->out_p1_cb().set(FUNC(mockingboard_d_device::p1_w));
diff --git a/src/devices/bus/saitek_osa/expansion.cpp b/src/devices/bus/saitek_osa/expansion.cpp
new file mode 100644
index 00000000000..bae1dfe0eb5
--- /dev/null
+++ b/src/devices/bus/saitek_osa/expansion.cpp
@@ -0,0 +1,155 @@
+// license:BSD-3-Clause
+// copyright-holders:Dirk Best, hap
+/***************************************************************************
+
+Saitek OSA Expansion Slot
+
+Used by Saitek(SciSys) chess computers Leonardo, Galileo, Renaissance.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "expansion.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(SAITEKOSA_EXPANSION, saitekosa_expansion_device, "saitekosa_expansion", "Saitek OSA Expansion Bus")
+
+
+//**************************************************************************
+// SLOT DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// saitekosa_expansion_device - constructor
+//-------------------------------------------------
+
+saitekosa_expansion_device::saitekosa_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, SAITEKOSA_EXPANSION, tag, owner, clock),
+ device_single_card_slot_interface<device_saitekosa_expansion_interface>(mconfig, *this),
+ m_stb_handler(*this),
+ m_rts_handler(*this),
+ m_module(nullptr)
+{ }
+
+//-------------------------------------------------
+// saitekosa_expansion_device - destructor
+//-------------------------------------------------
+
+saitekosa_expansion_device::~saitekosa_expansion_device()
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void saitekosa_expansion_device::device_start()
+{
+ // get inserted module
+ m_module = get_card_device();
+
+ // resolve callbacks
+ m_stb_handler.resolve_safe();
+ m_rts_handler.resolve_safe();
+
+ // register for savestates
+ save_item(NAME(m_data));
+ save_item(NAME(m_nmi));
+ save_item(NAME(m_ack));
+}
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void saitekosa_expansion_device::device_add_mconfig(machine_config &config)
+{
+ // optional embedded screen
+ auto &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
+ screen.set_refresh_hz(60);
+ screen.set_size(99, 16);
+ screen.set_visarea_full();
+ screen.set_screen_update(FUNC(saitekosa_expansion_device::screen_update));
+}
+
+//-------------------------------------------------
+// host to module interface
+//-------------------------------------------------
+
+u8 saitekosa_expansion_device::data_r()
+{
+ if (m_module)
+ return m_module->data_r();
+
+ return 0xff;
+}
+
+void saitekosa_expansion_device::data_w(u8 data)
+{
+ if (m_module)
+ m_module->data_w(data);
+
+ m_data = data;
+}
+
+void saitekosa_expansion_device::nmi_w(int state)
+{
+ state = (state) ? 1 : 0;
+
+ if (m_module)
+ m_module->nmi_w(state);
+
+ m_nmi = state;
+}
+
+void saitekosa_expansion_device::ack_w(int state)
+{
+ state = (state) ? 1 : 0;
+
+ if (m_module)
+ m_module->ack_w(state);
+
+ m_ack = state;
+}
+
+void saitekosa_expansion_device::pw_w(int state)
+{
+ state = (state) ? 1 : 0;
+
+ if (m_module)
+ m_module->pw_w(state);
+
+ m_pw = state;
+}
+
+u32 saitekosa_expansion_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return (m_module) ? m_module->screen_update(screen, bitmap, cliprect) : UPDATE_HAS_NOT_CHANGED;
+}
+
+
+//**************************************************************************
+// MODULE INTERFACE
+//**************************************************************************
+
+//-------------------------------------------------
+// device_saitekosa_expansion_interface - constructor
+//-------------------------------------------------
+
+device_saitekosa_expansion_interface::device_saitekosa_expansion_interface(const machine_config &mconfig, device_t &device) :
+ device_interface(device, "saitekosaexp")
+{
+ m_expansion = dynamic_cast<saitekosa_expansion_device *>(device.owner());
+}
+
+//-------------------------------------------------
+// ~device_saitekosa_expansion_interface - destructor
+//-------------------------------------------------
+
+device_saitekosa_expansion_interface::~device_saitekosa_expansion_interface()
+{
+}
diff --git a/src/devices/bus/saitek_osa/expansion.h b/src/devices/bus/saitek_osa/expansion.h
new file mode 100644
index 00000000000..2c245ada301
--- /dev/null
+++ b/src/devices/bus/saitek_osa/expansion.h
@@ -0,0 +1,128 @@
+// license:BSD-3-Clause
+// copyright-holders:Dirk Best, hap
+/***************************************************************************
+
+ Saitek OSA Expansion Slot
+
+ 15-pin slot "PIO"
+
+ STB-P <
+ D0 <>
+ D1 <>
+ D2 <>
+ D3 <>
+ D4 <>
+ D5 <>
+ D6 <>
+ D7 <>
+ ACK-P >
+ RTS-P <
+ PW >
+ GND >
+ NMI-P >
+ V+ >
+
+***************************************************************************/
+
+#ifndef MAME_BUS_SAITEKOSA_EXPANSION_H
+#define MAME_BUS_SAITEKOSA_EXPANSION_H
+
+#pragma once
+
+#include "screen.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+class device_saitekosa_expansion_interface;
+
+// ======================> saitekosa_expansion_device
+
+class saitekosa_expansion_device : public device_t, public device_single_card_slot_interface<device_saitekosa_expansion_interface>
+{
+public:
+ // construction/destruction
+ template <typename T>
+ saitekosa_expansion_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts) :
+ saitekosa_expansion_device(mconfig, tag, owner, u32(0))
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
+
+ saitekosa_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ virtual ~saitekosa_expansion_device();
+
+ // callbacks
+ auto stb_handler() { return m_stb_handler.bind(); }
+ auto rts_handler() { return m_rts_handler.bind(); }
+
+ // called from module device
+ void stb_w(int state) { m_stb_handler(state); }
+ void rts_w(int state) { m_rts_handler(state); }
+
+ u8 data_state() { return m_data; }
+ int nmi_state() { return m_nmi; }
+ int ack_state() { return m_ack; }
+ int pw_state() { return m_pw; }
+
+ // called from host
+ u8 data_r();
+ void data_w(u8 data);
+ void nmi_w(int state);
+ void ack_w(int state);
+ void pw_w(int state);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ devcb_write_line m_stb_handler;
+ devcb_write_line m_rts_handler;
+
+ u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ // input pins state
+ u8 m_data = 0;
+ int m_nmi = 0;
+ int m_ack = 0;
+ int m_pw = 0;
+
+ device_saitekosa_expansion_interface *m_module;
+};
+
+// ======================> device_saitekosa_expansion_interface
+
+class device_saitekosa_expansion_interface : public device_interface
+{
+public:
+ // construction/destruction
+ virtual ~device_saitekosa_expansion_interface();
+
+ virtual u8 data_r() { return 0xff; }
+ virtual void data_w(u8 data) { }
+ virtual void nmi_w(int state) { }
+ virtual void ack_w(int state) { }
+ virtual void pw_w(int state) { }
+
+ virtual u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return UPDATE_HAS_NOT_CHANGED; }
+
+protected:
+ device_saitekosa_expansion_interface(const machine_config &mconfig, device_t &device);
+
+ saitekosa_expansion_device *m_expansion;
+};
+
+// device type definition
+DECLARE_DEVICE_TYPE(SAITEKOSA_EXPANSION, saitekosa_expansion_device)
+
+// include here so drivers don't need to
+#include "modules.h"
+
+#endif // MAME_BUS_SAITEKOSA_EXPANSION_H
diff --git a/src/devices/bus/saitek_osa/maestro.cpp b/src/devices/bus/saitek_osa/maestro.cpp
new file mode 100644
index 00000000000..6e9353ec1d9
--- /dev/null
+++ b/src/devices/bus/saitek_osa/maestro.cpp
@@ -0,0 +1,350 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+// thanks-to:Berger
+/***************************************************************************
+
+Saitek OSA Module: Kasparov Maestro/Analyst (1987-1990)
+This is for the newer versions. For Maestro A, see maestroa.*
+
+The hardware and chess engine is similar to the Stratos/Turbo King series.
+
+Version B is compatible with the 1st EGR expansion ROM, version C/D uses
+EGR II. Versions D+ and D++ are post-production improvements, they were not
+sold officially.
+
+Hardware notes:
+- CPU: see notes below
+- 64KB ROM (2*27C256)
+- 16KB RAM (2*HY62C64P-70), one of them is optional
+- 1 ROM socket for EGR expansion ROM
+
+Analyst adds a HD44780A00H and a small 16-char LCD screen.
+
+Both were sold at 4MHz, 6MHz, 8MHz speeds, Maestro also had a 10MHz version.
+CPUs used were: R65C02P4, RP65C02F, W65C02P-8. In almost all cases with the
+higher speed versions, they overclocked the CPU. And if the CPU couldn't
+handle the overclock well enough, they went for a slightly lower speed XTAL.
+
+TODO:
+- does not work if cpu speed is 4MHz
+- cpu clock divider after writing to 0x2000/0x2200
+
+***************************************************************************/
+
+#include "emu.h"
+#include "maestro.h"
+
+#include "bus/generic/carts.h"
+#include "cpu/m6502/r65c02.h"
+
+#include "softlist.h"
+
+
+DEFINE_DEVICE_TYPE(OSA_MAESTRO, saitekosa_maestro_device, "osa_maestro", "Maestro B-D")
+DEFINE_DEVICE_TYPE(OSA_ANALYST, saitekosa_analyst_device, "osa_analyst", "Analyst")
+
+
+//-------------------------------------------------
+// initialization
+//-------------------------------------------------
+
+saitekosa_maestro_device::saitekosa_maestro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_saitekosa_expansion_interface(mconfig, *this),
+ m_maincpu(*this, "maincpu"),
+ m_banked_ram(*this, "banked_ram", 0x2000, ENDIANNESS_LITTLE),
+ m_rambank(*this, "rambank"),
+ m_rombank(*this, "rombank"),
+ m_extrom(*this, "extrom")
+{ }
+
+saitekosa_maestro_device::saitekosa_maestro_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ saitekosa_maestro_device(mconfig, OSA_MAESTRO, tag, owner, clock)
+{ }
+
+saitekosa_analyst_device::saitekosa_analyst_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ saitekosa_maestro_device(mconfig, OSA_ANALYST, tag, owner, clock),
+ m_lcd(*this, "lcd")
+{ }
+
+void saitekosa_maestro_device::device_start()
+{
+ // init banks
+ m_rombank->configure_entries(0, 2, memregion("maincpu")->base(), 0x8000);
+ m_rambank->configure_entries(0, 2, m_banked_ram, 0x1000);
+
+ // register for savestates
+ save_item(NAME(m_latch_enable));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_extrom_bank));
+}
+
+void saitekosa_maestro_device::device_reset()
+{
+ set_cpu_freq();
+ control_w(0);
+}
+
+void saitekosa_maestro_device::set_cpu_freq()
+{
+ static const XTAL xtal[6] = { 4_MHz_XTAL, 5.67_MHz_XTAL, 6_MHz_XTAL, 7.2_MHz_XTAL, 8_MHz_XTAL, 10_MHz_XTAL };
+ m_maincpu->set_unscaled_clock(xtal[ioport("FAKE")->read() % 6]);
+}
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+ROM_START( maestro )
+ ROM_REGION(0x10000, "maincpu", 0)
+
+ ROM_DEFAULT_BIOS("d1")
+
+ // B (Maestro only)
+ ROM_SYSTEM_BIOS(0, "b1", "Maestro B (set 1)")
+ ROMX_LOAD("m6c_807c_u2.u2", 0x0000, 0x8000, CRC(57c34b4d) SHA1(1f436687f90b1afd4646e90d5617cf05c4465c98), ROM_BIOS(0))
+ ROMX_LOAD("b6c_721_u3.u3", 0x8000, 0x8000, CRC(b1e57023) SHA1(6cec5cdc0bf4f8ac88afb0397fcb4738136b0431), ROM_BIOS(0))
+
+ ROM_SYSTEM_BIOS(1, "b2", "Maestro B (set 2)")
+ ROMX_LOAD("m6c_807e_u2.u2", 0x0000, 0x8000, CRC(a6b11715) SHA1(18e086353d9122034f78bcd75ef5b3462c5983ac), ROM_BIOS(1))
+ ROMX_LOAD("b6c_721_u3.u3", 0x8000, 0x8000, CRC(b1e57023) SHA1(6cec5cdc0bf4f8ac88afb0397fcb4738136b0431), ROM_BIOS(1))
+
+ // C (C and above are shared Maestro/Analyst)
+ ROM_SYSTEM_BIOS(2, "c", "Maestro C")
+ ROMX_LOAD("m6l_b30d_u2.u2", 0x0000, 0x8000, CRC(bb10e15c) SHA1(7b0fb987c49da76a03b46c80d2b4eacaa785ee75), ROM_BIOS(2))
+ ROMX_LOAD("b6c_721_u3.u3", 0x8000, 0x8000, CRC(b1e57023) SHA1(6cec5cdc0bf4f8ac88afb0397fcb4738136b0431), ROM_BIOS(2))
+
+ // D
+ ROM_SYSTEM_BIOS(3, "d1", "Maestro D (set 1)")
+ ROMX_LOAD("ma3_714a_u2.u2", 0x0000, 0x8000, CRC(435e1e30) SHA1(0d82df7c40443cb341dacebdf65f33c3e03bce70), ROM_BIOS(3))
+ ROMX_LOAD("b6m_b15_u3.u3", 0x8000, 0x8000, CRC(6155de90) SHA1(bb5cdf061dde2d1dc7925d455891c3ade1d274e3), ROM_BIOS(3))
+
+ ROM_SYSTEM_BIOS(4, "d2", "Maestro D (set 2)")
+ ROMX_LOAD("ma3_714a_u2.u2", 0x0000, 0x8000, CRC(435e1e30) SHA1(0d82df7c40443cb341dacebdf65f33c3e03bce70), ROM_BIOS(4))
+ ROMX_LOAD("b6m_629_u3.u3", 0x8000, 0x8000, CRC(15e7b1f1) SHA1(d2a757114f13c6141d74a15671aa06b675304b4a), ROM_BIOS(4))
+
+ // D+
+ ROM_SYSTEM_BIOS(5, "dp", "Maestro D+")
+ ROMX_LOAD("m6m_625_u2.u2", 0x0000, 0x8000, CRC(aa7b5cfd) SHA1(e909108fdace633a519fecf0b9876fe6a46b2067), ROM_BIOS(5))
+ ROMX_LOAD("b6m_614_u3.u3", 0x8000, 0x8000, CRC(eff75543) SHA1(d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46), ROM_BIOS(5))
+
+ // D++
+ ROM_SYSTEM_BIOS(6, "dpp", "Maestro D++")
+ ROMX_LOAD("d++_u2.u2", 0x0000, 0x8000, CRC(48ef032c) SHA1(d336cb2096780b4d3bcceda0d2ed1246e780cd8d), ROM_BIOS(6))
+ ROMX_LOAD("b6m_614_u3.u3", 0x8000, 0x8000, CRC(eff75543) SHA1(d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46), ROM_BIOS(6))
+ROM_END
+
+ROM_START( analyst )
+ ROM_REGION(0x10000, "maincpu", 0)
+
+ ROM_DEFAULT_BIOS("d1")
+
+ // B (Analyst only)
+ ROM_SYSTEM_BIOS(0, "b", "Analyst B")
+ ROMX_LOAD("m6l_a15_u2.u2", 0x0000, 0x8000, CRC(91570897) SHA1(e6db36ffc87ce3941a3e12222678069cff9e47f6), ROM_BIOS(0))
+ ROMX_LOAD("b6c_721_u3.u3", 0x8000, 0x8000, CRC(b1e57023) SHA1(6cec5cdc0bf4f8ac88afb0397fcb4738136b0431), ROM_BIOS(0))
+
+ // C (C and above are shared Maestro/Analyst)
+ ROM_SYSTEM_BIOS(1, "c", "Analyst C")
+ ROMX_LOAD("m6l_b30d_u2.u2", 0x0000, 0x8000, CRC(bb10e15c) SHA1(7b0fb987c49da76a03b46c80d2b4eacaa785ee75), ROM_BIOS(1))
+ ROMX_LOAD("b6c_721_u3.u3", 0x8000, 0x8000, CRC(b1e57023) SHA1(6cec5cdc0bf4f8ac88afb0397fcb4738136b0431), ROM_BIOS(1))
+
+ // D
+ ROM_SYSTEM_BIOS(2, "d1", "Analyst D (set 1)")
+ ROMX_LOAD("ma3_714a_u2.u2", 0x0000, 0x8000, CRC(435e1e30) SHA1(0d82df7c40443cb341dacebdf65f33c3e03bce70), ROM_BIOS(2))
+ ROMX_LOAD("b6m_b15_u3.u3", 0x8000, 0x8000, CRC(6155de90) SHA1(bb5cdf061dde2d1dc7925d455891c3ade1d274e3), ROM_BIOS(2))
+
+ ROM_SYSTEM_BIOS(3, "d2", "Analyst D (set 2)")
+ ROMX_LOAD("ma3_714a_u2.u2", 0x0000, 0x8000, CRC(435e1e30) SHA1(0d82df7c40443cb341dacebdf65f33c3e03bce70), ROM_BIOS(3))
+ ROMX_LOAD("b6m_629_u3.u3", 0x8000, 0x8000, CRC(15e7b1f1) SHA1(d2a757114f13c6141d74a15671aa06b675304b4a), ROM_BIOS(3))
+
+ // D+
+ ROM_SYSTEM_BIOS(4, "dp", "Analyst D+")
+ ROMX_LOAD("m6m_625_u2.u2", 0x0000, 0x8000, CRC(aa7b5cfd) SHA1(e909108fdace633a519fecf0b9876fe6a46b2067), ROM_BIOS(4))
+ ROMX_LOAD("b6m_614_u3.u3", 0x8000, 0x8000, CRC(eff75543) SHA1(d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46), ROM_BIOS(4))
+
+ // D++
+ ROM_SYSTEM_BIOS(5, "dpp", "Analyst D++")
+ ROMX_LOAD("d++_u2.u2", 0x0000, 0x8000, CRC(48ef032c) SHA1(d336cb2096780b4d3bcceda0d2ed1246e780cd8d), ROM_BIOS(5))
+ ROMX_LOAD("b6m_614_u3.u3", 0x8000, 0x8000, CRC(eff75543) SHA1(d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46), ROM_BIOS(5))
+ROM_END
+
+const tiny_rom_entry *saitekosa_maestro_device::device_rom_region() const
+{
+ return ROM_NAME(maestro);
+}
+
+const tiny_rom_entry *saitekosa_analyst_device::device_rom_region() const
+{
+ return ROM_NAME(analyst);
+}
+
+
+//-------------------------------------------------
+// input_ports - device-specific input ports
+//-------------------------------------------------
+
+static INPUT_PORTS_START( maestro )
+ PORT_START("FAKE")
+ PORT_CONFNAME( 0x07, 0x04, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitekosa_maestro_device, switch_cpu_freq, 0) // factory set
+ PORT_CONFSETTING( 0x00, "4MHz" )
+ PORT_CONFSETTING( 0x01, "5.67MHz" )
+ PORT_CONFSETTING( 0x02, "6MHz" )
+ PORT_CONFSETTING( 0x03, "7.2MHz" )
+ PORT_CONFSETTING( 0x04, "8MHz" )
+ PORT_CONFSETTING( 0x05, "10MHz" )
+INPUT_PORTS_END
+
+ioport_constructor saitekosa_maestro_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(maestro);
+}
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void saitekosa_maestro_device::device_add_mconfig(machine_config &config)
+{
+ // basic machine hardware
+ R65C02(config, m_maincpu, 8_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &saitekosa_maestro_device::main_map);
+
+ // extension rom
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_egr");
+ SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr");
+}
+
+void saitekosa_analyst_device::device_add_mconfig(machine_config &config)
+{
+ saitekosa_maestro_device::device_add_mconfig(config);
+
+ // video hardware
+ HD44780(config, m_lcd, 0);
+ m_lcd->set_lcd_size(2, 8);
+
+ auto *screen = subdevice<screen_device>("^screen");
+ screen->set_size(6 * 16 + 3, 16);
+ screen->set_visarea_full();
+}
+
+
+//-------------------------------------------------
+// internal i/o
+//-------------------------------------------------
+
+u8 saitekosa_maestro_device::extrom_r(offs_t offset)
+{
+ u16 bank = m_extrom_bank * 0x4000;
+ return (m_extrom->exists()) ? m_extrom->read_rom(offset | bank) : 0xff;
+}
+
+template <int N> void saitekosa_maestro_device::stall_w(u8 data)
+{
+ // cpu clock divider
+}
+
+u8 saitekosa_maestro_device::rts_r()
+{
+ if (!machine().side_effects_disabled())
+ {
+ // strobe RTS-P
+ m_expansion->rts_w(1);
+ m_expansion->rts_w(0);
+ }
+
+ return 0xff;
+}
+
+void saitekosa_maestro_device::xdata_w(u8 data)
+{
+ // clock latch
+ m_latch = data;
+}
+
+u8 saitekosa_maestro_device::xdata_r()
+{
+ return m_expansion->data_state();
+}
+
+void saitekosa_maestro_device::control_w(u8 data)
+{
+ // d0: main rom bank
+ m_rombank->set_entry(data & 1);
+
+ // d1: ext rom bank
+ // d1: ram bank
+ m_extrom_bank = BIT(data, 1);
+ m_rambank->set_entry(m_extrom_bank);
+
+ // d3: enable latch output
+ m_latch_enable = bool(data & 8);
+
+ // d2: STB-P
+ m_expansion->stb_w(BIT(data, 2));
+}
+
+u8 saitekosa_maestro_device::ack_r()
+{
+ // d6: ?
+ // d7: ACK-P
+ return m_expansion->ack_state() ? 0x80 : 0x00;
+}
+
+void saitekosa_maestro_device::main_map(address_map &map)
+{
+ map(0x0000, 0x1fff).ram();
+ map(0x2000, 0x2000).mirror(0x01ff).w(FUNC(saitekosa_maestro_device::stall_w<0>));
+ map(0x2200, 0x2200).mirror(0x01ff).rw(FUNC(saitekosa_maestro_device::rts_r), FUNC(saitekosa_maestro_device::stall_w<1>));
+ map(0x2400, 0x2400).mirror(0x01ff).rw(FUNC(saitekosa_maestro_device::xdata_r), FUNC(saitekosa_maestro_device::xdata_w));
+ map(0x2600, 0x2600).mirror(0x01ff).rw(FUNC(saitekosa_maestro_device::ack_r), FUNC(saitekosa_maestro_device::control_w));
+ map(0x2800, 0x37ff).bankrw("rambank");
+ map(0x4000, 0x7fff).r(FUNC(saitekosa_maestro_device::extrom_r));
+ map(0x8000, 0xffff).bankr("rombank");
+}
+
+void saitekosa_analyst_device::main_map(address_map &map)
+{
+ saitekosa_maestro_device::main_map(map);
+ map(0x3800, 0x3801).mirror(0x07fe).rw(m_lcd, FUNC(hd44780_device::read), FUNC(hd44780_device::write));
+}
+
+
+//-------------------------------------------------
+// host i/o
+//-------------------------------------------------
+
+u8 saitekosa_maestro_device::data_r()
+{
+ return m_latch_enable ? m_latch : 0xff;
+}
+
+void saitekosa_maestro_device::nmi_w(int state)
+{
+ m_maincpu->set_input_line(0, !state ? ASSERT_LINE : CLEAR_LINE);
+}
+
+void saitekosa_maestro_device::ack_w(int state)
+{
+ if (state != m_expansion->ack_state())
+ machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
+}
+
+u32 saitekosa_analyst_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ bitmap.fill(0xffffff, cliprect);
+ const u8 *render = m_lcd->render();
+
+ // draw lcd characters
+ for (int i = 0; i < 16; i++)
+ {
+ const u8 *src = render + 16 * ((i & 7) + BIT(i, 3) * 40);
+ for (int y = 0; y < 8; y++)
+ for (int x = 0; x < 5; x++)
+ bitmap.pix(y + 4, i * 6 + x + 2) = (BIT(src[y], 4 - x) && m_expansion->pw_state()) ? 0x282828 : 0xe8e8e8;
+ }
+
+ return 0;
+}
diff --git a/src/devices/bus/saitek_osa/maestro.h b/src/devices/bus/saitek_osa/maestro.h
new file mode 100644
index 00000000000..b5739789af8
--- /dev/null
+++ b/src/devices/bus/saitek_osa/maestro.h
@@ -0,0 +1,86 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/***************************************************************************
+
+ Saitek OSA Module: Kasparov Maestro/Analyst
+
+***************************************************************************/
+
+#ifndef MAME_BUS_SAITEKOSA_MAESTRO_H
+#define MAME_BUS_SAITEKOSA_MAESTRO_H
+
+#pragma once
+
+#include "expansion.h"
+
+#include "bus/generic/slot.h"
+#include "video/hd44780.h"
+
+
+class saitekosa_maestro_device : public device_t, public device_saitekosa_expansion_interface
+{
+public:
+ // construction/destruction
+ saitekosa_maestro_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ DECLARE_INPUT_CHANGED_MEMBER(switch_cpu_freq) { set_cpu_freq(); }
+
+ // from host
+ virtual u8 data_r() override;
+ virtual void nmi_w(int state) override;
+ virtual void ack_w(int state) override;
+
+protected:
+ saitekosa_maestro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<cpu_device> m_maincpu;
+ memory_share_creator<u8> m_banked_ram;
+ required_memory_bank m_rambank;
+ required_memory_bank m_rombank;
+ required_device<generic_slot_device> m_extrom;
+
+ virtual void main_map(address_map &map);
+
+ u8 extrom_r(offs_t offset);
+ template <int N> void stall_w(u8 data = 0);
+ u8 rts_r();
+ u8 xdata_r();
+ void xdata_w(u8 data);
+ u8 ack_r();
+ void control_w(u8 data);
+
+ void set_cpu_freq();
+
+ u8 m_latch = 0xff;
+ bool m_latch_enable = false;
+ u8 m_extrom_bank = 0;
+};
+
+class saitekosa_analyst_device : public saitekosa_maestro_device
+{
+public:
+ saitekosa_analyst_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
+
+protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ required_device<hd44780_device> m_lcd;
+
+ virtual void main_map(address_map &map) override;
+};
+
+
+DECLARE_DEVICE_TYPE(OSA_MAESTRO, saitekosa_maestro_device)
+DECLARE_DEVICE_TYPE(OSA_ANALYST, saitekosa_analyst_device)
+
+#endif // MAME_BUS_SAITEKOSA_MAESTRO_H
diff --git a/src/devices/bus/saitek_osa/maestroa.cpp b/src/devices/bus/saitek_osa/maestroa.cpp
new file mode 100644
index 00000000000..aa96c7b3798
--- /dev/null
+++ b/src/devices/bus/saitek_osa/maestroa.cpp
@@ -0,0 +1,196 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+// thanks-to:Berger
+/***************************************************************************
+
+Saitek OSA Module: Kasparov Maestro A (SciSys, 1986)
+
+The chess engine revision is in-between Kaplan's Stratos and Turbostar.
+
+Hardware notes:
+- PCB label: M6L-PE-012 REV.2
+- R65C02P4 @ 4MHz / 5.67MHz / 6MHz
+- 32KB ROM (D27C256)
+- 8KB RAM (HM6264LP-15)
+- 3 more sockets, one for KSO expansion ROM, 2 unused
+
+The CPU is a 4MHz part, higher speed modules overclock it. The PCB is not
+compatible for upgrading to newer Maestro versions.
+
+TODO:
+- does not work if cpu speed is 4MHz
+
+***************************************************************************/
+
+#include "emu.h"
+#include "maestroa.h"
+
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
+#include "cpu/m6502/r65c02.h"
+
+#include "softlist.h"
+
+
+DEFINE_DEVICE_TYPE(OSA_MAESTROA, saitekosa_maestroa_device, "osa_maestroa", "Maestro A")
+
+
+//-------------------------------------------------
+// initialization
+//-------------------------------------------------
+
+saitekosa_maestroa_device::saitekosa_maestroa_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, OSA_MAESTROA, tag, owner, clock),
+ device_saitekosa_expansion_interface(mconfig, *this),
+ m_maincpu(*this, "maincpu")
+{ }
+
+void saitekosa_maestroa_device::device_start()
+{
+ save_item(NAME(m_latch_enable));
+ save_item(NAME(m_latch));
+}
+
+void saitekosa_maestroa_device::device_reset()
+{
+ set_cpu_freq();
+ control_w(0);
+}
+
+void saitekosa_maestroa_device::set_cpu_freq()
+{
+ static const XTAL xtal[3] = { 4_MHz_XTAL, 5.67_MHz_XTAL, 6_MHz_XTAL };
+ m_maincpu->set_unscaled_clock(xtal[ioport("FAKE")->read() % 3]);
+}
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+ROM_START( maestroa )
+ ROM_REGION(0x10000, "maincpu", 0)
+
+ ROM_DEFAULT_BIOS("a1")
+
+ // A
+ ROM_SYSTEM_BIOS(0, "a1", "Maestro A (set 1)")
+ ROMX_LOAD("m6a_a29b.u6", 0x8000, 0x8000, CRC(6ee0197a) SHA1(61f201ca64576aca582bc9f2a427638bd79e1fee), ROM_BIOS(0))
+
+ ROM_SYSTEM_BIOS(1, "a2", "Maestro A (set 2)")
+ ROMX_LOAD("m6a_v14b.u6", 0x8000, 0x8000, CRC(d566a476) SHA1(ef81b9a0dcfbd8427025cfe9bf738d42a7a1139a), ROM_BIOS(1))
+ROM_END
+
+const tiny_rom_entry *saitekosa_maestroa_device::device_rom_region() const
+{
+ return ROM_NAME(maestroa);
+}
+
+
+//-------------------------------------------------
+// input_ports - device-specific input ports
+//-------------------------------------------------
+
+static INPUT_PORTS_START( maestroa )
+ PORT_START("FAKE")
+ PORT_CONFNAME( 0x03, 0x02, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitekosa_maestroa_device, switch_cpu_freq, 0) // factory set
+ PORT_CONFSETTING( 0x00, "4MHz" )
+ PORT_CONFSETTING( 0x01, "5.67MHz" )
+ PORT_CONFSETTING( 0x02, "6MHz" )
+INPUT_PORTS_END
+
+ioport_constructor saitekosa_maestroa_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(maestroa);
+}
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void saitekosa_maestroa_device::device_add_mconfig(machine_config &config)
+{
+ // basic machine hardware
+ R65C02(config, m_maincpu, 6_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &saitekosa_maestroa_device::main_map);
+
+ // extension rom
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_kso");
+ SOFTWARE_LIST(config, "cart_list").set_original("saitek_kso");
+}
+
+
+//-------------------------------------------------
+// internal i/o
+//-------------------------------------------------
+
+u8 saitekosa_maestroa_device::rts_r()
+{
+ if (!machine().side_effects_disabled())
+ {
+ // strobe RTS-P
+ m_expansion->rts_w(1);
+ m_expansion->rts_w(0);
+ }
+
+ return 0xff;
+}
+
+void saitekosa_maestroa_device::xdata_w(u8 data)
+{
+ // clock latch
+ m_latch = data;
+}
+
+u8 saitekosa_maestroa_device::xdata_r()
+{
+ return m_expansion->data_state();
+}
+
+void saitekosa_maestroa_device::control_w(u8 data)
+{
+ // d3: enable latch output
+ m_latch_enable = bool(data & 8);
+
+ // d2: STB-P
+ m_expansion->stb_w(BIT(data, 2));
+}
+
+u8 saitekosa_maestroa_device::ack_r()
+{
+ // d7: ACK-P
+ return m_expansion->ack_state() ? 0x80 : 0;
+}
+
+void saitekosa_maestroa_device::main_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x1fff).ram();
+ map(0x2200, 0x2200).mirror(0x01ff).r(FUNC(saitekosa_maestroa_device::rts_r));
+ map(0x2400, 0x2400).mirror(0x01ff).rw(FUNC(saitekosa_maestroa_device::xdata_r), FUNC(saitekosa_maestroa_device::xdata_w));
+ map(0x2600, 0x2600).mirror(0x01ff).rw(FUNC(saitekosa_maestroa_device::ack_r), FUNC(saitekosa_maestroa_device::control_w));
+ map(0x4000, 0x5fff).r("extrom", FUNC(generic_slot_device::read_rom));
+ map(0x8000, 0xffff).rom();
+}
+
+
+//-------------------------------------------------
+// host i/o
+//-------------------------------------------------
+
+u8 saitekosa_maestroa_device::data_r()
+{
+ return m_latch_enable ? m_latch : 0xff;
+}
+
+void saitekosa_maestroa_device::nmi_w(int state)
+{
+ m_maincpu->set_input_line(INPUT_LINE_NMI, !state ? ASSERT_LINE : CLEAR_LINE);
+}
+
+void saitekosa_maestroa_device::ack_w(int state)
+{
+ if (state != m_expansion->ack_state())
+ machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
+}
diff --git a/src/devices/bus/saitek_osa/maestroa.h b/src/devices/bus/saitek_osa/maestroa.h
new file mode 100644
index 00000000000..11bb1a26711
--- /dev/null
+++ b/src/devices/bus/saitek_osa/maestroa.h
@@ -0,0 +1,57 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/***************************************************************************
+
+ Saitek OSA Module: Kasparov Maestro A
+
+***************************************************************************/
+
+#ifndef MAME_BUS_SAITEKOSA_MAESTROA_H
+#define MAME_BUS_SAITEKOSA_MAESTROA_H
+
+#pragma once
+
+#include "expansion.h"
+
+
+class saitekosa_maestroa_device : public device_t, public device_saitekosa_expansion_interface
+{
+public:
+ // construction/destruction
+ saitekosa_maestroa_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ DECLARE_INPUT_CHANGED_MEMBER(switch_cpu_freq) { set_cpu_freq(); }
+
+ // from host
+ virtual u8 data_r() override;
+ virtual void nmi_w(int state) override;
+ virtual void ack_w(int state) override;
+
+protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ void main_map(address_map &map);
+
+ u8 rts_r();
+ u8 xdata_r();
+ void xdata_w(u8 data);
+ u8 ack_r();
+ void control_w(u8 data);
+
+ void set_cpu_freq();
+
+ u8 m_latch = 0xff;
+ bool m_latch_enable = false;
+};
+
+
+DECLARE_DEVICE_TYPE(OSA_MAESTROA, saitekosa_maestroa_device)
+
+#endif // MAME_BUS_SAITEKOSA_MAESTROA_H
diff --git a/src/devices/bus/saitek_osa/modules.cpp b/src/devices/bus/saitek_osa/modules.cpp
new file mode 100644
index 00000000000..19b7af1ff13
--- /dev/null
+++ b/src/devices/bus/saitek_osa/modules.cpp
@@ -0,0 +1,22 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/***************************************************************************
+
+ Saitek OSA Expansion Slot modules
+
+***************************************************************************/
+
+#include "emu.h"
+#include "modules.h"
+
+#include "maestro.h"
+#include "maestroa.h"
+#include "sparc.h"
+
+void saitekosa_expansion_modules(device_slot_interface &device)
+{
+ device.option_add("analyst", OSA_ANALYST);
+ device.option_add("maestro", OSA_MAESTRO);
+ device.option_add("maestroa", OSA_MAESTROA);
+ device.option_add("sparc", OSA_SPARC);
+}
diff --git a/src/devices/bus/saitek_osa/modules.h b/src/devices/bus/saitek_osa/modules.h
new file mode 100644
index 00000000000..009daf69cec
--- /dev/null
+++ b/src/devices/bus/saitek_osa/modules.h
@@ -0,0 +1,16 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/***************************************************************************
+
+ Saitek OSA Expansion Slot modules
+
+***************************************************************************/
+
+#ifndef MAME_BUS_SAITEKOSA_MODULES_H
+#define MAME_BUS_SAITEKOSA_MODULES_H
+
+#pragma once
+
+void saitekosa_expansion_modules(device_slot_interface &device);
+
+#endif // MAME_BUS_SAITEKOSA_MODULES_H
diff --git a/src/devices/bus/saitek_osa/sparc.cpp b/src/devices/bus/saitek_osa/sparc.cpp
new file mode 100644
index 00000000000..b04ab070bce
--- /dev/null
+++ b/src/devices/bus/saitek_osa/sparc.cpp
@@ -0,0 +1,102 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+// thanks-to:Berger
+/***************************************************************************
+
+Saitek OSA Module: Kasparov Sparc (1993)
+
+The chess engine is by the Spracklen's. Their last, and also their strongest.
+
+Hardware notes:
+- Fujitsu MB86930 SPARClite @ 20MHz
+- 256KB ROM (4*AMD AM27C512)
+- 1MB DRAM (8*NEC 424256-60), expandable to 4MB
+
+The module doesn't have its own LCD screen. It has a grill+fan underneath
+at the front part, and a heatsink on the CPU.
+
+TODO:
+- skeleton device, missing SPARClite emulation, maybe only needs the MMU?
+
+***************************************************************************/
+
+#include "emu.h"
+#include "sparc.h"
+
+
+DEFINE_DEVICE_TYPE(OSA_SPARC, saitekosa_sparc_device, "osa_sparc", "Sparc")
+
+
+//-------------------------------------------------
+// initialization
+//-------------------------------------------------
+
+saitekosa_sparc_device::saitekosa_sparc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, OSA_SPARC, tag, owner, clock),
+ device_saitekosa_expansion_interface(mconfig, *this),
+ m_maincpu(*this, "maincpu")
+{ }
+
+void saitekosa_sparc_device::device_start()
+{
+}
+
+void saitekosa_sparc_device::device_reset()
+{
+}
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+ROM_START( sparc )
+ ROM_REGION32_BE(0x40000, "maincpu", 0)
+ ROM_LOAD32_BYTE("sm16b_512.u5", 0x000000, 0x10000, CRC(96bca59d) SHA1(2c7e693d0cdf69b6e566c6dd03bd24d39e32aa82) )
+ ROM_LOAD32_BYTE("sm16b_512.u4", 0x000001, 0x10000, CRC(15dd621d) SHA1(e8f7404e84fe027b086fcb918fbcaf2ce4203567) )
+ ROM_LOAD32_BYTE("sm16b_512.u3", 0x000002, 0x10000, CRC(3201c6e4) SHA1(9a209219a0ab4b4f874381a16773bf33f8f7ba25) )
+ ROM_LOAD32_BYTE("sm16b_512a.u2", 0x000003, 0x10000, CRC(56dedec7) SHA1(4f9d37e0ca639f892a574aa10a3fb42bba9b82c6) )
+
+ ROM_REGION(0x1000, "pals", 0)
+ ROM_LOAD("palce16v8h.u23.jed", 0x0000, 0x0c25, CRC(de79fabc) SHA1(27e01ec405e261109dbe10c254b7127eda0f1886) )
+ ROM_LOAD("palce16v8h.u32.jed", 0x0000, 0x0c25, CRC(422b66c8) SHA1(44b3394e0586c126ee95129c65e6692ffc01fa8e) )
+ROM_END
+
+const tiny_rom_entry *saitekosa_sparc_device::device_rom_region() const
+{
+ return ROM_NAME(sparc);
+}
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void saitekosa_sparc_device::device_add_mconfig(machine_config &config)
+{
+ // basic machine hardware
+#if 0
+ SPARCV8(config, m_maincpu, 20_MHz_XTAL);
+ m_maincpu->set_addrmap(0, &saitekosa_sparc_device::main_map);
+ m_maincpu->set_mmu(nullptr);
+#endif
+}
+
+
+//-------------------------------------------------
+// internal i/o
+//-------------------------------------------------
+
+void saitekosa_sparc_device::main_map(address_map &map)
+{
+}
+
+
+//-------------------------------------------------
+// host i/o
+//-------------------------------------------------
+
+u8 saitekosa_sparc_device::data_r()
+{
+ return 0xff;
+}
diff --git a/src/devices/bus/saitek_osa/sparc.h b/src/devices/bus/saitek_osa/sparc.h
new file mode 100644
index 00000000000..6cc3fcea950
--- /dev/null
+++ b/src/devices/bus/saitek_osa/sparc.h
@@ -0,0 +1,45 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/***************************************************************************
+
+ Saitek OSA Module: Kasparov Sparc
+
+***************************************************************************/
+
+#ifndef MAME_BUS_SAITEKOSA_SPARC_H
+#define MAME_BUS_SAITEKOSA_SPARC_H
+
+#pragma once
+
+#include "expansion.h"
+
+#include "cpu/sparc/sparc.h"
+
+
+class saitekosa_sparc_device : public device_t, public device_saitekosa_expansion_interface
+{
+public:
+ // construction/destruction
+ saitekosa_sparc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ static constexpr feature_type unemulated_features() { return feature::COMMS; }
+
+ // from host
+ virtual u8 data_r() override;
+
+protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ optional_device<sparcv8_device> m_maincpu;
+
+ void main_map(address_map &map);
+};
+
+
+DECLARE_DEVICE_TYPE(OSA_SPARC, saitekosa_sparc_device)
+
+#endif // MAME_BUS_SAITEKOSA_SPARC_H
diff --git a/src/devices/bus/samcoupe/expansion/expansion.cpp b/src/devices/bus/samcoupe/expansion/expansion.cpp
index a5d94572142..b52792eb43d 100644
--- a/src/devices/bus/samcoupe/expansion/expansion.cpp
+++ b/src/devices/bus/samcoupe/expansion/expansion.cpp
@@ -90,14 +90,14 @@ void samcoupe_expansion_device::iorq_w(offs_t offset, uint8_t data)
WRITE_LINE_MEMBER( samcoupe_expansion_device::xmem_w )
{
- if (m_module)
- m_module->xmem_w(state);
+ if (m_module)
+ m_module->xmem_w(state);
}
WRITE_LINE_MEMBER( samcoupe_expansion_device::print_w )
{
- if (m_module)
- m_module->print_w(state);
+ if (m_module)
+ m_module->print_w(state);
}
diff --git a/src/devices/bus/sg1000_exp/fm_unit.h b/src/devices/bus/sg1000_exp/fm_unit.h
index cc6a9eb5a6b..d1c80e0b178 100644
--- a/src/devices/bus/sg1000_exp/fm_unit.h
+++ b/src/devices/bus/sg1000_exp/fm_unit.h
@@ -13,7 +13,7 @@
#include "sound/sn76496.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "sg1000exp.h"
diff --git a/src/devices/bus/vsmile/keyboard.cpp b/src/devices/bus/vsmile/keyboard.cpp
new file mode 100644
index 00000000000..e91ae85c967
--- /dev/null
+++ b/src/devices/bus/vsmile/keyboard.cpp
@@ -0,0 +1,569 @@
+// license:BSD-3-Clause
+// copyright-holders:Ryan Holtz, Vas Crabb
+
+#include "emu.h"
+#include "keyboard.h"
+
+#include "machine/keyboard.ipp"
+
+#include <algorithm>
+
+//#define VERBOSE 1
+#include "logmacro.h"
+
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(VSMILE_KEYBOARD_US, vsmile_keyboard_us_device, "vsmile_keyboard_us", "V.Smile Keyboard (US)")
+DEFINE_DEVICE_TYPE(VSMILE_KEYBOARD_FR, vsmile_keyboard_fr_device, "vsmile_keyboard_fr", "V.Smile Keyboard (FR)")
+DEFINE_DEVICE_TYPE(VSMILE_KEYBOARD_GE, vsmile_keyboard_ge_device, "vsmile_keyboard_ge", "V.Smile Keyboard (GE)")
+
+
+//**************************************************************************
+// V.Smile Keyboard
+//**************************************************************************
+
+vsmile_keyboard_us_device::vsmile_keyboard_us_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+ : vsmile_keyboard_device(mconfig, VSMILE_KEYBOARD_US, tag, owner, clock, 0x40)
+{
+}
+
+vsmile_keyboard_fr_device::vsmile_keyboard_fr_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+ : vsmile_keyboard_device(mconfig, VSMILE_KEYBOARD_FR, tag, owner, clock, 0x42)
+{
+}
+
+vsmile_keyboard_ge_device::vsmile_keyboard_ge_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+ : vsmile_keyboard_device(mconfig, VSMILE_KEYBOARD_GE, tag, owner, clock, 0x44)
+{
+}
+
+vsmile_keyboard_device::vsmile_keyboard_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock, uint8_t layout_type)
+ : vsmile_ctrl_device_base(mconfig, type, tag, owner, clock)
+ , device_matrix_keyboard_interface(mconfig, *this, "ROW0", "ROW1", "ROW2", "ROW3", "ROW4")
+ , m_io_joy(*this, "JOY")
+ , m_io_keys(*this, "ROW%u", 0U)
+ , m_io_buttons(*this, "BUTTONS")
+ , m_layout_type(layout_type)
+ , m_state(STATE_HELLO_MESSAGE)
+ , m_sent_joy(0x0000U)
+ , m_sent_buttons(0x0000U)
+ , m_active(false)
+ , m_idle_timer(nullptr)
+ , m_hello_timer(nullptr)
+ , m_hello_timeout_timer(nullptr)
+{
+ std::fill(std::begin(m_ctrl_probe_history), std::end(m_ctrl_probe_history), 0U);
+ m_stale = stale_all();
+}
+
+vsmile_keyboard_device::~vsmile_keyboard_device()
+{
+}
+
+void vsmile_keyboard_device::device_start()
+{
+ vsmile_ctrl_device_base::device_start();
+
+ m_idle_timer = machine().scheduler().timer_alloc(
+ timer_expired_delegate(FUNC(vsmile_keyboard_device::handle_idle), this));
+ m_hello_timer = machine().scheduler().timer_alloc(
+ timer_expired_delegate(FUNC(vsmile_keyboard_device::handle_hello), this));
+ m_hello_timeout_timer = machine().scheduler().timer_alloc(
+ timer_expired_delegate(FUNC(vsmile_keyboard_device::handle_hello_timeout), this));
+
+ save_item(NAME(m_state));
+ save_item(NAME(m_sent_joy));
+ 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_keyboard_device::device_reset()
+{
+ m_state = STATE_HELLO_MESSAGE;
+ m_sent_joy = 0x0000U;
+ m_sent_buttons = 0x0000U;
+ m_stale = stale_all();
+ m_active = false;
+
+ m_idle_timer->adjust(attotime::never);
+ m_hello_timer->adjust(attotime::from_msec(300));
+ m_hello_timeout_timer->adjust(attotime::never);
+
+ reset_key_state();
+ typematic_stop();
+}
+
+bool vsmile_keyboard_device::translate(uint8_t code, uint8_t &translated) const
+{
+ const uint8_t row((code >> 4) & 0x0fU);
+ const uint8_t col((code >> 0) & 0x0fU);
+
+ static const uint8_t s_mapping[5][16] = {
+ { 0x33, 0x34, 0x35, 0x37, 0x36, 0x30, 0x31, 0x3e, 0x3f, 0x38, 0x29, 0x39, 0x00, 0x00, 0x00, 0x00 },
+ { 0x22, 0x23, 0x24, 0x25, 0x27, 0x26, 0x20, 0x21, 0x3a, 0x3b, 0x3c, 0x2a, 0x3d, 0x00, 0x00, 0x00 },
+ { 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e, 0x18, 0x19, 0x0a, 0x0b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ { 0xa9, 0x13, 0x14, 0x15, 0x17, 0x16, 0x08, 0x11, 0x0c, 0x2f, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ { 0x04, 0x2c, 0x05, 0x0e, 0x06, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
+ };
+
+ translated = s_mapping[row][col];
+ return translated != 0;
+}
+
+void vsmile_keyboard_device::key_make(uint8_t row, uint8_t column)
+{
+ uint8_t translated = 0;
+ if (translate((row << 4) | column, translated))
+ uart_tx_fifo_push(translated);
+}
+
+void vsmile_keyboard_device::key_break(uint8_t row, uint8_t column)
+{
+ uint8_t translated = 0;
+ if (translate((row << 4) | column, translated))
+ {
+ // Shift has a different break code than usual
+ if (translated == 0xa9)
+ uart_tx_fifo_push(0xaa);
+ else
+ uart_tx_fifo_push(translated | 0xc0);
+ }
+}
+
+void vsmile_keyboard_device::tx_complete()
+{
+ if (m_state != STATE_RUNNING)
+ {
+ return;
+ }
+
+ enter_active_state();
+}
+
+void vsmile_keyboard_device::enter_active_state()
+{
+ 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_keyboard_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_keyboard_device::rx_complete(uint8_t data, bool select)
+{
+ if (m_state != STATE_RUNNING)
+ {
+ switch (m_state)
+ {
+ case STATE_HELLO_RECEIVE_BYTE1:
+ case STATE_HELLO_RECEIVE_BYTE2:
+ if (data != 0x02)
+ LOG("unknown power-up message response byte: %02x\n", data);
+ else
+ LOG("received power-up message response byte: %02x\n", data);
+ m_state++;
+ break;
+ case STATE_HELLO_REPLY_BYTE1:
+ if (data != 0xe6)
+ LOG("unknown power-up message reply byte 1: %02x\n", data);
+ m_state++;
+ break;
+ case STATE_HELLO_REPLY_BYTE2:
+ if (data != 0xd6)
+ LOG("unknown power-up message reply byte 2: %02x\n", data);
+ m_state++;
+ break;
+ case STATE_HELLO_REPLY_BYTE3:
+ if (data != 0x60)
+ LOG("unknown power-up message reply byte 3: %02x\n", data);
+ uart_tx_fifo_push(m_layout_type);
+ m_state = STATE_RUNNING;
+ m_idle_timer->adjust(attotime::from_seconds(1));
+ start_processing(attotime::from_hz(2'400));
+ m_active = true;
+ break;
+ }
+ return;
+ }
+
+ 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_keyboard_device::uart_tx_fifo_push(uint8_t data)
+{
+ m_idle_timer->reset();
+ queue_tx(data);
+}
+
+TIMER_CALLBACK_MEMBER(vsmile_keyboard_device::handle_idle)
+{
+ LOG("idle timer expired, sending keep-alive 55\n");
+ queue_tx(0x55);
+}
+
+TIMER_CALLBACK_MEMBER(vsmile_keyboard_device::handle_hello)
+{
+ LOG("hello timer expired, raising RTS\n");
+ rts_out(1);
+ m_hello_timeout_timer->adjust(attotime::from_usec(12200));
+}
+
+TIMER_CALLBACK_MEMBER(vsmile_keyboard_device::handle_hello_timeout)
+{
+ rts_out(0);
+ if (!is_selected())
+ {
+ LOG("hello timed out without selection, restarting hello timer\n");
+ m_hello_timer->adjust(attotime::from_msec(300));
+ }
+ else
+ {
+ LOG("hello timed out and we're selected, sending hello bytes\n");
+ uart_tx_fifo_push(0x52);
+ uart_tx_fifo_push(0x52);
+ uart_tx_fifo_push(0x52);
+ m_state++;
+ }
+}
+
+INPUT_CHANGED_MEMBER(vsmile_keyboard_device::joy_changed)
+{
+ if (m_active && m_state == STATE_RUNNING)
+ {
+ if (!is_tx_empty())
+ {
+ LOG("joy changed while transmission in progress, marking stale\n");
+ m_stale |= stale_non_key_inputs(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(0x7f); // left
+ else if (BIT(joy, 3))
+ uart_tx_fifo_push(0x77); // right
+ else
+ uart_tx_fifo_push(0x70);
+ }
+ m_sent_joy = joy;
+ }
+ }
+}
+
+INPUT_CHANGED_MEMBER(vsmile_keyboard_device::button_changed)
+{
+ if (m_active && m_state == STATE_RUNNING)
+ {
+ if (!is_tx_empty())
+ {
+ LOG("buttons changed while transmission in progress, marking stale\n");
+ m_stale |= stale_non_key_inputs(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 (!buttons)
+ uart_tx_fifo_push(0xa0);
+ m_sent_buttons = buttons;
+ }
+ }
+}
+
+static INPUT_PORTS_START( vsmile_keyboard_common )
+ PORT_START("JOY")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, joy_changed, vsmile_keyboard_device::STALE_UP_DOWN) PORT_NAME("Joypad Up")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, joy_changed, vsmile_keyboard_device::STALE_UP_DOWN) PORT_NAME("Joypad Down")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, joy_changed, vsmile_keyboard_device::STALE_LEFT_RIGHT) PORT_NAME("Joypad Left")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, joy_changed, vsmile_keyboard_device::STALE_LEFT_RIGHT) PORT_NAME("Joypad Right")
+ PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("BUTTONS")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, button_changed, vsmile_keyboard_device::STALE_OK) PORT_NAME("OK") PORT_CODE(KEYCODE_ENTER)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, button_changed, vsmile_keyboard_device::STALE_QUIT) PORT_NAME("Quit/Escape")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_keyboard_device, button_changed, vsmile_keyboard_device::STALE_HELP) PORT_NAME("Help")
+ PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vsmile_keyboard_us )
+ PORT_INCLUDE( vsmile_keyboard_common )
+
+ PORT_START("ROW0")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('+')
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
+ PORT_BIT( 0xf000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW1")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TAB) PORT_NAME("Typing Time")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('\'') PORT_CHAR('"')
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("Erase")
+ PORT_BIT( 0xe000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW2")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CAPSLOCK) PORT_NAME("Caps")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_UP) PORT_NAME("Up")
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW4")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Player 1")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("Symbol")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Player 2")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Left")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Down")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right")
+ PORT_BIT( 0xff80, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vsmile_keyboard_fr )
+ PORT_INCLUDE( vsmile_keyboard_common )
+
+ PORT_START("ROW0")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('&') PORT_CHAR('1')
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR(0x00e9) PORT_CHAR('2')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('"') PORT_CHAR('3')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('\'') PORT_CHAR('4')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('(') PORT_CHAR('5')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('-') PORT_CHAR('6')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR(0x00e8) PORT_CHAR('7')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('_') PORT_CHAR('8')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR(0x00e7) PORT_CHAR('9')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR(0x00e0) PORT_CHAR('0')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR(')') PORT_CHAR(0x00ba)
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
+ PORT_BIT( 0xf000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW1")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TAB) PORT_NAME("Mode Dactylo")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('^') PORT_CHAR(0x00a8)
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("Erase")
+ PORT_BIT( 0xe000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW2")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CAPSLOCK) PORT_NAME("Verr. Maj.")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('?')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR(';') PORT_CHAR('.')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR(':') PORT_CHAR('/')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_UP) PORT_NAME("Up")
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW4")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Player 1")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("Symbol")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Player 2")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Left")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Down")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right")
+ PORT_BIT( 0xff80, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( vsmile_keyboard_ge )
+ PORT_INCLUDE( vsmile_keyboard_common )
+
+ PORT_START("ROW0")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR(0x20ac)
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('/')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR(0x00df) PORT_CHAR('?')
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
+ PORT_BIT( 0xf000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW1")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TAB) PORT_NAME("Tipp-Trainer")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0x00fc) PORT_CHAR(0x00dc)
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("Erase")
+ PORT_BIT( 0xe000, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW2")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CAPSLOCK) PORT_NAME("Feststelltaste")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(0x00f6) PORT_CHAR(0x00d6)
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR('.')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR(0x00e4) PORT_CHAR(0x00c4)
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_UP) PORT_NAME("Up")
+ PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("ROW4")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Player 1")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("Symbol")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Player 2")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Left")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Down")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right")
+ PORT_BIT( 0xff80, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+ioport_constructor vsmile_keyboard_us_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME( vsmile_keyboard_us );
+}
+
+ioport_constructor vsmile_keyboard_fr_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME( vsmile_keyboard_fr );
+}
+
+ioport_constructor vsmile_keyboard_ge_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME( vsmile_keyboard_ge );
+}
diff --git a/src/devices/bus/vsmile/keyboard.h b/src/devices/bus/vsmile/keyboard.h
new file mode 100644
index 00000000000..2d01776ee39
--- /dev/null
+++ b/src/devices/bus/vsmile/keyboard.h
@@ -0,0 +1,143 @@
+// license:BSD-3-Clause
+// copyright-holders:Ryan Holtz, Vas Crabb
+#ifndef MAME_BUS_VSMILE_KEYBOARD_H
+#define MAME_BUS_VSMILE_KEYBOARD_H
+
+#pragma once
+
+#include "vsmile_ctrl.h"
+
+#include "machine/keyboard.h"
+
+/***************************************************************************
+ TYPE DEFINITIONS
+ ***************************************************************************/
+
+// ======================> vsmile_keyboard_device
+
+class vsmile_keyboard_device : public vsmile_ctrl_device_base, protected device_matrix_keyboard_interface<5U>
+{
+public:
+ // construction/destruction
+ virtual ~vsmile_keyboard_device();
+
+ // input handlers
+ DECLARE_INPUT_CHANGED_MEMBER(joy_changed);
+ DECLARE_INPUT_CHANGED_MEMBER(key_changed);
+ DECLARE_INPUT_CHANGED_MEMBER(button_changed);
+
+ enum stale_non_key_inputs : uint16_t
+ {
+ STALE_NONE = 0U,
+ STALE_LEFT_RIGHT = 1U << 0,
+ STALE_UP_DOWN = 1U << 1,
+ STALE_OK = 1U << 3,
+ STALE_QUIT = 1U << 4,
+ STALE_HELP = 1U << 5,
+
+ STALE_JOY = STALE_LEFT_RIGHT | STALE_UP_DOWN,
+ STALE_BUTTONS = STALE_OK | STALE_QUIT | STALE_HELP,
+ STALE_ALL = STALE_JOY | STALE_BUTTONS
+ };
+
+ enum comms_state : uint8_t
+ {
+ STATE_POWERUP = 0U,
+ STATE_HELLO_MESSAGE,
+ STATE_HELLO_RECEIVE_BYTE1,
+ STATE_HELLO_RECEIVE_BYTE2,
+ STATE_HELLO_REPLY_BYTE1,
+ STATE_HELLO_REPLY_BYTE2,
+ STATE_HELLO_REPLY_BYTE3,
+ STATE_RUNNING
+ };
+
+protected:
+ vsmile_keyboard_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock, uint8_t layout_type);
+
+ // device_t implementation
+ virtual void device_start() override;
+ virtual void device_reset() 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;
+
+ // device_matrix_keyboard_interface implementation
+ virtual void key_make(uint8_t row, uint8_t column) override;
+ virtual void key_break(uint8_t row, uint8_t column) override;
+
+ uint16_t stale_all() { return STALE_ALL; }
+ bool translate(uint8_t code, uint8_t &translated) const;
+
+ void enter_active_state();
+
+ void uart_tx_fifo_push(uint8_t data);
+
+ required_ioport m_io_joy;
+ required_ioport_array<5> m_io_keys;
+ required_ioport m_io_buttons;
+
+ const uint8_t m_layout_type;
+
+ uint8_t m_state;
+
+ uint16_t m_sent_joy, m_sent_buttons;
+
+ uint16_t m_stale;
+ bool m_active;
+ emu_timer *m_idle_timer;
+ emu_timer *m_hello_timer;
+ emu_timer *m_hello_timeout_timer;
+
+private:
+ TIMER_CALLBACK_MEMBER(handle_idle);
+ TIMER_CALLBACK_MEMBER(handle_hello);
+ TIMER_CALLBACK_MEMBER(handle_hello_timeout);
+
+ uint8_t m_ctrl_probe_history[2];
+};
+
+class vsmile_keyboard_us_device : public vsmile_keyboard_device
+{
+public:
+ // construction/destruction
+ vsmile_keyboard_us_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
+
+protected:
+ // device_t implementation
+ virtual ioport_constructor device_input_ports() const override;
+};
+
+class vsmile_keyboard_fr_device : public vsmile_keyboard_device
+{
+public:
+ // construction/destruction
+ vsmile_keyboard_fr_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
+
+protected:
+ // device_t implementation
+ virtual ioport_constructor device_input_ports() const override;
+};
+
+class vsmile_keyboard_ge_device : public vsmile_keyboard_device
+{
+public:
+ // construction/destruction
+ vsmile_keyboard_ge_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
+
+protected:
+ // device_t implementation
+ virtual ioport_constructor device_input_ports() const override;
+};
+
+/***************************************************************************
+ DEVICE TYPES
+ ***************************************************************************/
+
+DECLARE_DEVICE_TYPE(VSMILE_KEYBOARD_US, vsmile_keyboard_us_device)
+DECLARE_DEVICE_TYPE(VSMILE_KEYBOARD_FR, vsmile_keyboard_fr_device)
+DECLARE_DEVICE_TYPE(VSMILE_KEYBOARD_GE, vsmile_keyboard_ge_device)
+
+#endif // MAME_BUS_VSMILE_KEYBOARD_H
diff --git a/src/devices/bus/vsmile/mat.h b/src/devices/bus/vsmile/mat.h
index ec25eba195f..253930ff085 100644
--- a/src/devices/bus/vsmile/mat.h
+++ b/src/devices/bus/vsmile/mat.h
@@ -51,7 +51,8 @@ protected:
// vsmile_pad_device implementation
virtual void tx_complete() override;
- virtual uint16_t stale_all() override { return STALE_ALL; }
+
+ uint16_t stale_all() { return STALE_ALL; }
private:
required_ioport m_io_joy;
diff --git a/src/devices/bus/vsmile/pad.h b/src/devices/bus/vsmile/pad.h
index bdf896b7646..e5e08ce410c 100644
--- a/src/devices/bus/vsmile/pad.h
+++ b/src/devices/bus/vsmile/pad.h
@@ -52,7 +52,8 @@ protected:
virtual void tx_complete() override;
virtual void tx_timeout() override;
virtual void rx_complete(uint8_t data, bool cts) override;
- virtual uint16_t stale_all() { return STALE_ALL; }
+
+ uint16_t stale_all() { return STALE_ALL; }
void uart_tx_fifo_push(uint8_t data);
diff --git a/src/devices/bus/vsmile/vsmile_ctrl.cpp b/src/devices/bus/vsmile/vsmile_ctrl.cpp
index db29bd82a9b..fa937beb1ad 100644
--- a/src/devices/bus/vsmile/vsmile_ctrl.cpp
+++ b/src/devices/bus/vsmile/vsmile_ctrl.cpp
@@ -278,9 +278,13 @@ TIMER_CALLBACK_MEMBER(vsmile_ctrl_device_base::rts_timer_expired)
#include "pad.h"
#include "mat.h"
+#include "keyboard.h"
void vsmile_controllers(device_slot_interface &device)
{
device.option_add("joy", VSMILE_PAD);
device.option_add("mat", VSMILE_MAT);
+ device.option_add("smartkb_us", VSMILE_KEYBOARD_US);
+ device.option_add("smartkb_fr", VSMILE_KEYBOARD_FR);
+ device.option_add("smartkb_ge", VSMILE_KEYBOARD_GE);
}
diff --git a/src/devices/bus/vsmile/vsmile_ctrl.h b/src/devices/bus/vsmile/vsmile_ctrl.h
index 652d4fbe362..99369dc6cbf 100644
--- a/src/devices/bus/vsmile/vsmile_ctrl.h
+++ b/src/devices/bus/vsmile/vsmile_ctrl.h
@@ -104,6 +104,7 @@ protected:
// UART simulation helpers
bool is_tx_empty() const { return m_tx_fifo_empty; }
bool queue_tx(uint8_t data);
+ bool is_selected() { return m_select; }
private:
// device_vsmile_ctrl_interfaceA implementation
diff --git a/src/devices/bus/vtech/ioexp/ioexp.cpp b/src/devices/bus/vtech/ioexp/ioexp.cpp
index 27a517fabb1..475f287201e 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.cpp
+++ b/src/devices/bus/vtech/ioexp/ioexp.cpp
@@ -1,5 +1,5 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
/***************************************************************************
VTech Laser/VZ I/O Expansion Slot
@@ -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_single_card_slot_interface<device_vtech_ioexp_interface>(mconfig, *this),
- m_io(*this, finder_base::DUMMY_TAG, -1)
+ m_iospace(*this, finder_base::DUMMY_TAG, -1)
{
}
@@ -48,6 +48,24 @@ vtech_ioexp_slot_device::~vtech_ioexp_slot_device()
void vtech_ioexp_slot_device::device_start()
{
+ // get inserted module
+ m_module = get_card_device();
+
+ // install io access taps
+ m_iospace->install_readwrite_tap
+ (
+ 0x00, 0xff, "io_tap",
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
+ {
+ if (m_module)
+ data &= m_module->iorq_r(offset);
+ },
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
+ {
+ if (m_module)
+ m_module->iorq_w(offset, data);
+ }
+ );
}
@@ -72,3 +90,52 @@ device_vtech_ioexp_interface::device_vtech_ioexp_interface(const machine_config
device_vtech_ioexp_interface::~device_vtech_ioexp_interface()
{
}
+
+
+//**************************************************************************
+// BASE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// vtech_ioexp_device - constructor
+//-------------------------------------------------
+
+vtech_ioexp_device::vtech_ioexp_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_vtech_ioexp_interface(mconfig, *this),
+ m_io(*this, "iospace")
+{
+}
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void vtech_ioexp_device::device_add_mconfig(machine_config &config)
+{
+ ADDRESS_MAP_BANK(config, m_io);
+ m_io->set_addrmap(AS_PROGRAM, &vtech_ioexp_device::io_map);
+ m_io->set_data_width(8);
+ m_io->set_addr_width(16);
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void vtech_ioexp_device::device_start()
+{
+ // silence unmapped warnings, or we'll get them for everything the
+ // expansion device doesn't handle
+ m_io->set_log_unmap(false);
+}
+
+uint8_t vtech_ioexp_device::iorq_r(offs_t offset)
+{
+ return m_io->read8(offset);
+}
+
+void vtech_ioexp_device::iorq_w(offs_t offset, uint8_t data)
+{
+ m_io->write8(offset, data);
+}
diff --git a/src/devices/bus/vtech/ioexp/ioexp.h b/src/devices/bus/vtech/ioexp/ioexp.h
index 354d9fc46a2..a4854483376 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.h
+++ b/src/devices/bus/vtech/ioexp/ioexp.h
@@ -1,5 +1,5 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
/***************************************************************************
VTech Laser/VZ I/O Expansion Slot
@@ -29,9 +29,12 @@
#pragma once
+#include "machine/bankdev.h"
+
// include here so drivers don't need to
#include "carts.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -54,13 +57,16 @@ 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); }
+ template <typename T> void set_iospace(T &&tag, int spacenum) { m_iospace.set_tag(std::forward<T>(tag), spacenum); }
protected:
// device-level overrides
virtual void device_start() override;
- required_address_space m_io;
+private:
+ required_address_space m_iospace;
+
+ device_vtech_ioexp_interface *m_module;
};
// class representing interface-specific live ioexp device
@@ -70,14 +76,35 @@ public:
// construction/destruction
virtual ~device_vtech_ioexp_interface();
+ virtual uint8_t iorq_r(offs_t offset) { return 0xff; }
+ virtual void iorq_w(offs_t offset, uint8_t data) { }
+
protected:
device_vtech_ioexp_interface(const machine_config &mconfig, device_t &device);
- address_space &io_space() { return *m_slot->m_io; }
-
vtech_ioexp_slot_device *m_slot;
};
+// base io expansion device
+class vtech_ioexp_device : public device_t, public device_vtech_ioexp_interface
+{
+public:
+ // construction/destruction
+ vtech_ioexp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // from host
+ virtual uint8_t iorq_r(offs_t offset) override;
+ virtual void iorq_w(offs_t offset, uint8_t data) override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+
+ virtual void io_map(address_map &map) { };
+
+ required_device<address_map_bank_device> m_io;
+};
+
// device type definition
DECLARE_DEVICE_TYPE(VTECH_IOEXP_SLOT, vtech_ioexp_slot_device)
diff --git a/src/devices/bus/vtech/ioexp/joystick.cpp b/src/devices/bus/vtech/ioexp/joystick.cpp
index a352c555fbd..f54125c64ae 100644
--- a/src/devices/bus/vtech/ioexp/joystick.cpp
+++ b/src/devices/bus/vtech/ioexp/joystick.cpp
@@ -20,6 +20,16 @@
DEFINE_DEVICE_TYPE(VTECH_JOYSTICK_INTERFACE, vtech_joystick_interface_device, "vtech_joystick", "Laser/VZ Joystick Interface")
//-------------------------------------------------
+// io_map - memory space address map
+//-------------------------------------------------
+
+void vtech_joystick_interface_device::io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x20, 0x2f).r(FUNC(vtech_joystick_interface_device::joystick_r));
+}
+
+//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
@@ -66,8 +76,7 @@ ioport_constructor vtech_joystick_interface_device::device_input_ports() const
//-------------------------------------------------
vtech_joystick_interface_device::vtech_joystick_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_JOYSTICK_INTERFACE, tag, owner, clock),
- device_vtech_ioexp_interface(mconfig, *this),
+ vtech_ioexp_device(mconfig, VTECH_JOYSTICK_INTERFACE, tag, owner, clock),
m_joy0(*this, "joystick_0"),
m_joy0_arm(*this, "joystick_0_arm"),
m_joy1(*this, "joystick_1"),
@@ -81,15 +90,7 @@ vtech_joystick_interface_device::vtech_joystick_interface_device(const machine_c
void vtech_joystick_interface_device::device_start()
{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void vtech_joystick_interface_device::device_reset()
-{
- io_space().install_read_handler(0x20, 0x2f, read8sm_delegate(*this, FUNC(vtech_joystick_interface_device::joystick_r)));
+ vtech_ioexp_device::device_start();
}
diff --git a/src/devices/bus/vtech/ioexp/joystick.h b/src/devices/bus/vtech/ioexp/joystick.h
index f648bb9e469..2d59f7d4951 100644
--- a/src/devices/bus/vtech/ioexp/joystick.h
+++ b/src/devices/bus/vtech/ioexp/joystick.h
@@ -21,9 +21,9 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> joystick_interface_device
+// ======================> vtech_joystick_interface_device
-class vtech_joystick_interface_device : public device_t, public device_vtech_ioexp_interface
+class vtech_joystick_interface_device : public vtech_ioexp_device
{
public:
// construction/destruction
@@ -34,7 +34,8 @@ public:
protected:
virtual ioport_constructor device_input_ports() const override;
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void io_map(address_map &map) override;
private:
required_ioport m_joy0;
diff --git a/src/devices/bus/vtech/ioexp/lpen.cpp b/src/devices/bus/vtech/ioexp/lpen.cpp
new file mode 100644
index 00000000000..aa0d9ee8e10
--- /dev/null
+++ b/src/devices/bus/vtech/ioexp/lpen.cpp
@@ -0,0 +1,63 @@
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ VTech Laser Lightpen Interface
+
+ Skeleton just to document the I/O ports used
+
+***************************************************************************/
+
+#include "emu.h"
+#include "lpen.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(VTECH_LPEN_INTERFACE, vtech_lpen_interface_device, "vtech_lpen", "Laser/VZ Lightpen Interface")
+
+//-------------------------------------------------
+// io_map - memory space address map
+//-------------------------------------------------
+
+void vtech_lpen_interface_device::io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x40, 0x4f).r(FUNC(vtech_lpen_interface_device::lpen_r));
+}
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// vtech_lpen_interface_device - constructor
+//-------------------------------------------------
+
+vtech_lpen_interface_device::vtech_lpen_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ vtech_ioexp_device(mconfig, VTECH_LPEN_INTERFACE, tag, owner, clock)
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void vtech_lpen_interface_device::device_start()
+{
+ vtech_ioexp_device::device_start();
+}
+
+
+//**************************************************************************
+// IMPLEMENTATION
+//**************************************************************************
+
+uint8_t vtech_lpen_interface_device::lpen_r(offs_t offset)
+{
+ logerror("lpen_r %02x\n", offset);
+ return 0xff;
+}
diff --git a/src/devices/bus/vtech/ioexp/lpen.h b/src/devices/bus/vtech/ioexp/lpen.h
new file mode 100644
index 00000000000..95759e5fcff
--- /dev/null
+++ b/src/devices/bus/vtech/ioexp/lpen.h
@@ -0,0 +1,43 @@
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ VTech Laser Lightpen Interface
+
+***************************************************************************/
+
+#ifndef MAME_BUS_VTECH_IOEXP_LPEN_H
+#define MAME_BUS_VTECH_IOEXP_LPEN_H
+
+#pragma once
+
+#include "ioexp.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> vtech_lpen_interface_device
+
+class vtech_lpen_interface_device : public vtech_ioexp_device
+{
+public:
+ // construction/destruction
+ vtech_lpen_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ static constexpr feature_type unemulated_features() { return feature::CONTROLS; }
+
+protected:
+ virtual void device_start() override;
+
+ virtual void io_map(address_map &map) override;
+
+private:
+ uint8_t lpen_r(offs_t offset);
+};
+
+// device type definition
+DECLARE_DEVICE_TYPE(VTECH_LPEN_INTERFACE, vtech_lpen_interface_device)
+
+#endif // MAME_BUS_VTECH_IOEXP_LPEN_H
diff --git a/src/devices/bus/vtech/ioexp/printer.cpp b/src/devices/bus/vtech/ioexp/printer.cpp
index fa452ce3928..b5eaa4e8a4b 100644
--- a/src/devices/bus/vtech/ioexp/printer.cpp
+++ b/src/devices/bus/vtech/ioexp/printer.cpp
@@ -20,11 +20,25 @@
DEFINE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device, "vtech_printer", "Laser/VZ Printer Interface")
//-------------------------------------------------
+// io_map - memory space address map
+//-------------------------------------------------
+
+void vtech_printer_interface_device::io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x00, 0x00).r(FUNC(vtech_printer_interface_device::busy_r));
+ map(0x0d, 0x0d).w(FUNC(vtech_printer_interface_device::strobe_w));
+ map(0x0e, 0x0e).w(m_latch, FUNC(output_latch_device::write));
+}
+
+//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
void vtech_printer_interface_device::device_add_mconfig(machine_config &config)
{
+ vtech_ioexp_device::device_add_mconfig(config);
+
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(vtech_printer_interface_device::busy_w));
@@ -42,8 +56,7 @@ void vtech_printer_interface_device::device_add_mconfig(machine_config &config)
//-------------------------------------------------
vtech_printer_interface_device::vtech_printer_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_PRINTER_INTERFACE, tag, owner, clock),
- device_vtech_ioexp_interface(mconfig, *this),
+ vtech_ioexp_device(mconfig, VTECH_PRINTER_INTERFACE, tag, owner, clock),
m_centronics(*this, "centronics"),
m_latch(*this, "latch"),
m_centronics_busy(0)
@@ -56,17 +69,10 @@ vtech_printer_interface_device::vtech_printer_interface_device(const machine_con
void vtech_printer_interface_device::device_start()
{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
+ vtech_ioexp_device::device_start();
-void vtech_printer_interface_device::device_reset()
-{
- io_space().install_read_handler(0x00, 0x00, read8smo_delegate(*this, FUNC(vtech_printer_interface_device::busy_r)));
- io_space().install_write_handler(0x0d, 0x0d, write8smo_delegate(*this, FUNC(vtech_printer_interface_device::strobe_w)));
- io_space().install_write_handler(0x0e, 0x0e, write8smo_delegate(*m_latch, FUNC(output_latch_device::write)));
+ // register for save states
+ save_item(NAME(m_centronics_busy));
}
diff --git a/src/devices/bus/vtech/ioexp/printer.h b/src/devices/bus/vtech/ioexp/printer.h
index 58f8493f3ab..be25c7fd614 100644
--- a/src/devices/bus/vtech/ioexp/printer.h
+++ b/src/devices/bus/vtech/ioexp/printer.h
@@ -21,9 +21,9 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> printer_interface_device
+// ======================> vtech_printer_interface_device
-class vtech_printer_interface_device : public device_t, public device_vtech_ioexp_interface
+class vtech_printer_interface_device : public vtech_ioexp_device
{
public:
// construction/destruction
@@ -32,16 +32,17 @@ public:
protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void io_map(address_map &map) override;
private:
+ required_device<centronics_device> m_centronics;
+ required_device<output_latch_device> m_latch;
+
DECLARE_WRITE_LINE_MEMBER( busy_w );
uint8_t busy_r();
void strobe_w(uint8_t data);
- required_device<centronics_device> m_centronics;
- required_device<output_latch_device> m_latch;
-
int m_centronics_busy;
};
diff --git a/src/devices/bus/vtech/memexp/carts.cpp b/src/devices/bus/vtech/memexp/carts.cpp
index 41bd9d42c0f..73a59b9fcdb 100644
--- a/src/devices/bus/vtech/memexp/carts.cpp
+++ b/src/devices/bus/vtech/memexp/carts.cpp
@@ -13,6 +13,7 @@
#include "memory.h"
#include "rs232.h"
#include "rtty.h"
+#include "sdloader.h"
#include "wordpro.h"
@@ -25,5 +26,6 @@ void vtech_memexp_carts(device_slot_interface &device)
device.option_add("laser_64k", VTECH_LASER_64K);
device.option_add("rs232", VTECH_RS232_INTERFACE);
device.option_add("rtty", VTECH_RTTY_INTERFACE);
+ device.option_add("sdloader", VTECH_SDLOADER);
device.option_add("wordpro", VTECH_WORDPRO);
}
diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp
index e1ad9939a42..47970b9a142 100644
--- a/src/devices/bus/vtech/memexp/floppy.cpp
+++ b/src/devices/bus/vtech/memexp/floppy.cpp
@@ -11,6 +11,8 @@
#include "emu.h"
#include "floppy.h"
+#include "formats/vt_dsk.h"
+#include "formats/fs_vtech.h"
//**************************************************************************
@@ -19,12 +21,27 @@
DEFINE_DEVICE_TYPE(VTECH_FLOPPY_CONTROLLER, vtech_floppy_controller_device, "vtech_fdc", "Laser/VZ Floppy Disk Controller")
-void vtech_floppy_controller_device::map(address_map &map)
+//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_floppy_controller_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x4000, 0x5fff).rom().region("software", 0);
+}
+
+//-------------------------------------------------
+// io_map - io space address map
+//-------------------------------------------------
+
+void vtech_floppy_controller_device::io_map(address_map &map)
{
- map(0, 0).w(FUNC(vtech_floppy_controller_device::latch_w));
- map(1, 1).r(FUNC(vtech_floppy_controller_device::shifter_r));
- map(2, 2).r(FUNC(vtech_floppy_controller_device::rd_r));
- map(3, 3).r(FUNC(vtech_floppy_controller_device::wpt_r));
+ map.unmap_value_high();
+ map(0x10, 0x10).w(FUNC(vtech_floppy_controller_device::latch_w));
+ map(0x11, 0x11).r(FUNC(vtech_floppy_controller_device::shifter_r));
+ map(0x12, 0x12).r(FUNC(vtech_floppy_controller_device::rd_r));
+ map(0x13, 0x13).r(FUNC(vtech_floppy_controller_device::wpt_r));
}
//-------------------------------------------------
@@ -32,7 +49,7 @@ void vtech_floppy_controller_device::map(address_map &map)
//-------------------------------------------------
ROM_START( floppy )
- ROM_REGION(0x3000, "software", 0)
+ ROM_REGION(0x2000, "software", 0)
ROM_LOAD("vzdos.rom", 0x0000, 0x2000, CRC(b6ed6084) SHA1(59d1cbcfa6c5e1906a32704fbf0d9670f0d1fd8b))
ROM_END
@@ -47,14 +64,26 @@ const tiny_rom_entry *vtech_floppy_controller_device::device_rom_region() const
static void laser_floppies(device_slot_interface &device)
{
- device.option_add("525", FLOPPY_525_SSSD);
+ device.option_add("525", FLOPPY_525_VTECH);
+}
+
+void vtech_floppy_controller_device::floppy_formats(format_registration &fr)
+{
+ fr.add(FLOPPY_VTECH_BIN_FORMAT);
+ fr.add(FLOPPY_VTECH_DSK_FORMAT);
+ fr.add(FS_VTECH);
}
void vtech_floppy_controller_device::device_add_mconfig(machine_config &config)
{
+ vtech_memexp_device::device_add_mconfig(config);
+
VTECH_MEMEXP_SLOT(config, m_memexp);
- FLOPPY_CONNECTOR(config, m_floppy0, laser_floppies, "525", floppy_image_device::default_mfm_floppy_formats);
- FLOPPY_CONNECTOR(config, m_floppy1, laser_floppies, "525", floppy_image_device::default_mfm_floppy_formats);
+ m_memexp->set_memspace(m_mem, AS_PROGRAM);
+ m_memexp->set_iospace(m_io, AS_PROGRAM);
+
+ FLOPPY_CONNECTOR(config, m_floppy0, laser_floppies, "525", floppy_formats);
+ FLOPPY_CONNECTOR(config, m_floppy1, laser_floppies, "525", floppy_formats);
}
@@ -67,8 +96,7 @@ void vtech_floppy_controller_device::device_add_mconfig(machine_config &config)
//-------------------------------------------------
vtech_floppy_controller_device::vtech_floppy_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_FLOPPY_CONTROLLER, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this),
+ vtech_memexp_device(mconfig, VTECH_FLOPPY_CONTROLLER, tag, owner, clock),
m_memexp(*this, "mem"),
m_floppy0(*this, "0"),
m_floppy1(*this, "1"),
@@ -82,6 +110,9 @@ vtech_floppy_controller_device::vtech_floppy_controller_device(const machine_con
void vtech_floppy_controller_device::device_start()
{
+ vtech_memexp_device::device_start();
+
+ // register for save states
save_item(NAME(m_latch));
save_item(NAME(m_shifter));
save_item(NAME(m_latching_inverter));
@@ -92,13 +123,11 @@ void vtech_floppy_controller_device::device_start()
// TODO: save m_write_buffer and rebuild m_floppy after load
- uint8_t *bios = memregion("software")->base();
-
// Obvious bugs... must have worked by sheer luck and very subtle
// timings. Our current z80 is not subtle enough.
-
- bios[0x1678] = 0x75;
- bios[0x1688] = 0x85;
+ uint8_t *rom = memregion("software")->base();
+ rom[0x1678] = 0x75;
+ rom[0x1688] = 0x85;
}
//-------------------------------------------------
@@ -107,10 +136,6 @@ void vtech_floppy_controller_device::device_start()
void vtech_floppy_controller_device::device_reset()
{
- program_space().install_rom(0x4000, 0x5fff, memregion("software")->base());
-
- io_space().install_device(0x10, 0x1f, *this, &vtech_floppy_controller_device::map);
-
m_latch = 0x00;
m_floppy = nullptr;
m_current_cyl = 0;
@@ -152,7 +177,6 @@ void vtech_floppy_controller_device::latch_w(uint8_t data)
m_floppy->setup_index_pulse_cb(floppy_image_device::index_pulse_cb());
}
if(newflop) {
- newflop->set_rpm(85);
newflop->mon_w(0);
newflop->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&vtech_floppy_controller_device::index_callback, this));
m_current_cyl = newflop->get_cyl() << 1;
diff --git a/src/devices/bus/vtech/memexp/floppy.h b/src/devices/bus/vtech/memexp/floppy.h
index 56a926e17b1..167cbf5ba63 100644
--- a/src/devices/bus/vtech/memexp/floppy.h
+++ b/src/devices/bus/vtech/memexp/floppy.h
@@ -24,7 +24,7 @@
// ======================> vtech_floppy_controller_device
-class vtech_floppy_controller_device : public device_t, public device_vtech_memexp_interface
+class vtech_floppy_controller_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -36,8 +36,15 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void mem_map(address_map &map) override;
+ virtual void io_map(address_map &map) override;
+
private:
- void map(address_map &map);
+ required_device<vtech_memexp_slot_device> m_memexp;
+ required_device<floppy_connector> m_floppy0, m_floppy1;
+ floppy_image_device *m_floppy;
+
+ static void floppy_formats(format_registration &fr);
void latch_w(uint8_t data);
uint8_t shifter_r();
@@ -48,10 +55,6 @@ private:
void update_latching_inverter();
void flush_writes(bool keep_margin = false);
- required_device<vtech_memexp_slot_device> m_memexp;
- required_device<floppy_connector> m_floppy0, m_floppy1;
- floppy_image_device *m_floppy;
-
uint8_t m_latch, m_shifter;
bool m_latching_inverter;
int m_current_cyl;
diff --git a/src/devices/bus/vtech/memexp/memexp.cpp b/src/devices/bus/vtech/memexp/memexp.cpp
index d857ccf3d0b..74d2213009a 100644
--- a/src/devices/bus/vtech/memexp/memexp.cpp
+++ b/src/devices/bus/vtech/memexp/memexp.cpp
@@ -1,5 +1,5 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
/***************************************************************************
VTech Laser/VZ Memory Expansion Slot
@@ -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_single_card_slot_interface<device_vtech_memexp_interface>(mconfig, *this),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_memspace(*this, finder_base::DUMMY_TAG, -1),
+ m_iospace(*this, finder_base::DUMMY_TAG, -1),
m_int_handler(*this),
m_nmi_handler(*this),
m_reset_handler(*this)
@@ -47,33 +47,46 @@ vtech_memexp_slot_device::~vtech_memexp_slot_device()
}
//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
+// device_start - device-specific startup
//-------------------------------------------------
-void vtech_memexp_slot_device::device_config_complete()
+void vtech_memexp_slot_device::device_start()
{
- // 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)
+ // get inserted module
+ m_module = get_card_device();
+
+ // install memory access taps
+ m_memspace->install_readwrite_tap
+ (
+ 0x0000, 0xffff, "mem_tap",
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
+ {
+ if (m_module)
+ data &= m_module->mreq_r(offset);
+ },
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
{
- 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());
+ if (m_module)
+ m_module->mreq_w(offset, data);
}
- }
-}
+ );
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
+ // install io access taps
+ m_iospace->install_readwrite_tap
+ (
+ 0x00, 0xff, "io_tap",
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
+ {
+ if (m_module)
+ data &= m_module->iorq_r(offset);
+ },
+ [this](offs_t offset, uint8_t &data, uint8_t mem_mask)
+ {
+ if (m_module)
+ m_module->iorq_w(offset, data);
+ }
+ );
-void vtech_memexp_slot_device::device_start()
-{
// resolve callbacks
m_int_handler.resolve_safe();
m_nmi_handler.resolve_safe();
@@ -102,3 +115,69 @@ device_vtech_memexp_interface::device_vtech_memexp_interface(const machine_confi
device_vtech_memexp_interface::~device_vtech_memexp_interface()
{
}
+
+
+//**************************************************************************
+// BASE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// vtech_memexp_device - constructor
+//-------------------------------------------------
+
+vtech_memexp_device::vtech_memexp_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_vtech_memexp_interface(mconfig, *this),
+ m_mem(*this, "memspace"),
+ m_io(*this, "iospace")
+{
+}
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void vtech_memexp_device::device_add_mconfig(machine_config &config)
+{
+ ADDRESS_MAP_BANK(config, m_mem);
+ m_mem->set_addrmap(AS_PROGRAM, &vtech_memexp_device::mem_map);
+ m_mem->set_data_width(8);
+ m_mem->set_addr_width(16);
+
+ ADDRESS_MAP_BANK(config, m_io);
+ m_io->set_addrmap(AS_PROGRAM, &vtech_memexp_device::io_map);
+ m_io->set_data_width(8);
+ m_io->set_addr_width(16);
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void vtech_memexp_device::device_start()
+{
+ // silence unmapped warnings, or we'll get them for everything the
+ // expansion device doesn't handle
+ m_mem->set_log_unmap(false);
+ m_io->set_log_unmap(false);
+}
+
+uint8_t vtech_memexp_device::mreq_r(offs_t offset)
+{
+ return m_mem->read8(offset);
+}
+
+void vtech_memexp_device::mreq_w(offs_t offset, uint8_t data)
+{
+ m_mem->write8(offset, data);
+}
+
+uint8_t vtech_memexp_device::iorq_r(offs_t offset)
+{
+ return m_io->read8(offset);
+}
+
+void vtech_memexp_device::iorq_w(offs_t offset, uint8_t data)
+{
+ m_io->write8(offset, data);
+}
diff --git a/src/devices/bus/vtech/memexp/memexp.h b/src/devices/bus/vtech/memexp/memexp.h
index 28c7453be4a..a4ab93e92f7 100644
--- a/src/devices/bus/vtech/memexp/memexp.h
+++ b/src/devices/bus/vtech/memexp/memexp.h
@@ -1,5 +1,5 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
/***************************************************************************
VTech Laser/VZ Memory Expansion Slot
@@ -36,9 +36,12 @@
#pragma once
+#include "machine/bankdev.h"
+
// include here so drivers don't need to
#include "carts.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -61,8 +64,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); }
+ 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); }
// callbacks
auto int_handler() { return m_int_handler.bind(); }
@@ -76,16 +79,17 @@ public:
protected:
// device-level overrides
- virtual void device_config_complete() override;
virtual void device_start() override;
- required_address_space m_program;
- required_address_space m_io;
-
private:
+ required_address_space m_memspace;
+ required_address_space m_iospace;
+
devcb_write_line m_int_handler;
devcb_write_line m_nmi_handler;
devcb_write_line m_reset_handler;
+
+ device_vtech_memexp_interface *m_module;
};
// class representing interface-specific live memexp device
@@ -96,13 +100,39 @@ public:
device_vtech_memexp_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vtech_memexp_interface();
-protected:
- address_space &program_space() { return *m_slot->m_program; }
- address_space &io_space() { return *m_slot->m_io; }
+ 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) { }
+protected:
vtech_memexp_slot_device *m_slot;
};
+// base memory expansion device
+class vtech_memexp_device : public device_t, public device_vtech_memexp_interface
+{
+public:
+ // construction/destruction
+ vtech_memexp_device(const machine_config &mconfig, device_type type, 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;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+
+ virtual void mem_map(address_map &map) { };
+ virtual void io_map(address_map &map) { };
+
+ required_device<address_map_bank_device> m_mem;
+ required_device<address_map_bank_device> m_io;
+};
+
// device type definition
DECLARE_DEVICE_TYPE(VTECH_MEMEXP_SLOT, vtech_memexp_slot_device)
diff --git a/src/devices/bus/vtech/memexp/memory.cpp b/src/devices/bus/vtech/memexp/memory.cpp
index 1b9465d9da9..bfac5f06b4c 100644
--- a/src/devices/bus/vtech/memexp/memory.cpp
+++ b/src/devices/bus/vtech/memexp/memory.cpp
@@ -25,31 +25,31 @@ DEFINE_DEVICE_TYPE(VTECH_LASER_64K, vtech_laser_64k_device, "vtech_laser_6
//**************************************************************************
//-------------------------------------------------
-// laser110_16k_device - constructor
+// mem_map - memory space address map
//-------------------------------------------------
-vtech_laser110_16k_device::vtech_laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_LASER110_16K, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this)
+void vtech_laser110_16k_device::mem_map(address_map &map)
{
+ map.unmap_value_high();
+ map(0x8000, 0xbfff).ram();
}
//-------------------------------------------------
-// device_start - device-specific startup
+// laser110_16k_device - constructor
//-------------------------------------------------
-void vtech_laser110_16k_device::device_start()
+vtech_laser110_16k_device::vtech_laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ vtech_memexp_device(mconfig, VTECH_LASER110_16K, tag, owner, clock)
{
- m_ram.resize(16 * 1024);
}
//-------------------------------------------------
-// device_reset - device-specific reset
+// device_start - device-specific startup
//-------------------------------------------------
-void vtech_laser110_16k_device::device_reset()
+void vtech_laser110_16k_device::device_start()
{
- program_space().install_ram(0x8000, 0xbfff, &m_ram[0]);
+ vtech_memexp_device::device_start();
}
@@ -58,31 +58,31 @@ void vtech_laser110_16k_device::device_reset()
//**************************************************************************
//-------------------------------------------------
-// vtech_laser210_16k_device - constructor
+// mem_map - memory space address map
//-------------------------------------------------
-vtech_laser210_16k_device::vtech_laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_LASER210_16K, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this)
+void vtech_laser210_16k_device::mem_map(address_map &map)
{
+ map.unmap_value_high();
+ map(0x9000, 0xcfff).ram();
}
//-------------------------------------------------
-// device_start - device-specific startup
+// vtech_laser210_16k_device - constructor
//-------------------------------------------------
-void vtech_laser210_16k_device::device_start()
+vtech_laser210_16k_device::vtech_laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ vtech_memexp_device(mconfig, VTECH_LASER210_16K, tag, owner, clock)
{
- m_ram.resize(16 * 1024);
}
//-------------------------------------------------
-// device_reset - device-specific reset
+// device_start - device-specific startup
//-------------------------------------------------
-void vtech_laser210_16k_device::device_reset()
+void vtech_laser210_16k_device::device_start()
{
- program_space().install_ram(0x9000, 0xcfff, &m_ram[0]);
+ vtech_memexp_device::device_start();
}
@@ -91,12 +91,21 @@ void vtech_laser210_16k_device::device_reset()
//**************************************************************************
//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_laser310_16k_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0xb800, 0xf7ff).ram();
+}
+
+//-------------------------------------------------
// vtech_laser310_16k_device - constructor
//-------------------------------------------------
vtech_laser310_16k_device::vtech_laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_LASER310_16K, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this)
+ vtech_memexp_device(mconfig, VTECH_LASER310_16K, tag, owner, clock)
{
}
@@ -106,30 +115,42 @@ vtech_laser310_16k_device::vtech_laser310_16k_device(const machine_config &mconf
void vtech_laser310_16k_device::device_start()
{
- m_ram.resize(16 * 1024);
+ vtech_memexp_device::device_start();
}
+
+//**************************************************************************
+// VZ300 64K DEVICE
+//**************************************************************************
+
//-------------------------------------------------
-// device_reset - device-specific reset
+// mem_map - memory space address map
//-------------------------------------------------
-void vtech_laser310_16k_device::device_reset()
+void vtech_laser_64k_device::mem_map(address_map &map)
{
- program_space().install_ram(0xb800, 0xf7ff, &m_ram[0]);
+ map.unmap_value_high();
+ map(0x8000, 0xbfff).bankrw(m_fixed_bank);
+ map(0xc000, 0xffff).bankrw(m_bank);
}
+//-------------------------------------------------
+// io_map - memory space address map
+//-------------------------------------------------
-//**************************************************************************
-// VZ300 64K DEVICE
-//**************************************************************************
+void vtech_laser_64k_device::io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x70, 0x70).mirror(0x0f).lw8(NAME([this] (uint8_t data) { m_bank->set_entry(data & 0x03); }));
+}
//-------------------------------------------------
// vtech_laser_64k_device - constructor
//-------------------------------------------------
vtech_laser_64k_device::vtech_laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_LASER_64K, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this),
+ vtech_memexp_device(mconfig, VTECH_LASER_64K, tag, owner, clock),
+ m_fixed_bank(*this, "fixed_bank"),
m_bank(*this, "bank")
{
}
@@ -140,29 +161,17 @@ vtech_laser_64k_device::vtech_laser_64k_device(const machine_config &mconfig, co
void vtech_laser_64k_device::device_start()
{
- m_ram.resize(64 * 1024);
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
+ vtech_memexp_device::device_start();
-void vtech_laser_64k_device::device_reset()
-{
- // fixed first bank
- program_space().install_ram(0x8000, 0xbfff, &m_ram[0]);
+ // init ram
+ m_ram = std::make_unique<uint8_t[]>(0x10000);
- // other banks
- program_space().install_readwrite_bank(0xc000, 0xffff, m_bank);
+ // configure banking
+ m_fixed_bank->set_base(m_ram.get());
- m_bank->configure_entries(0, 4, &m_ram[0], 0x4000);
+ m_bank->configure_entries(0, 4, m_ram.get(), 0x4000);
m_bank->set_entry(1);
- // bank switch
- io_space().install_write_handler(0x70, 0x7f, write8smo_delegate(*this, FUNC(vtech_laser_64k_device::bankswitch_w)));
-}
-
-void vtech_laser_64k_device::bankswitch_w(uint8_t data)
-{
- m_bank->set_entry(data & 0x03);
+ // register for savestates
+ save_pointer(NAME(m_ram), 0x10000);
}
diff --git a/src/devices/bus/vtech/memexp/memory.h b/src/devices/bus/vtech/memexp/memory.h
index 84c3952fb67..5af19fd27f1 100644
--- a/src/devices/bus/vtech/memexp/memory.h
+++ b/src/devices/bus/vtech/memexp/memory.h
@@ -20,7 +20,7 @@
// ======================> vtech_laser110_16k_device
-class vtech_laser110_16k_device : public device_t, public device_vtech_memexp_interface
+class vtech_laser110_16k_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -28,15 +28,13 @@ public:
protected:
virtual void device_start() override;
- virtual void device_reset() override;
-private:
- std::vector<uint8_t> m_ram;
+ virtual void mem_map(address_map &map) override;
};
// ======================> vtech_laser210_16k_device
-class vtech_laser210_16k_device : public device_t, public device_vtech_memexp_interface
+class vtech_laser210_16k_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -44,15 +42,13 @@ public:
protected:
virtual void device_start() override;
- virtual void device_reset() override;
-private:
- std::vector<uint8_t> m_ram;
+ virtual void mem_map(address_map &map) override;
};
// ======================> vtech_laser310_16k_device
-class vtech_laser310_16k_device : public device_t, public device_vtech_memexp_interface
+class vtech_laser310_16k_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -60,29 +56,29 @@ public:
protected:
virtual void device_start() override;
- virtual void device_reset() override;
-private:
- std::vector<uint8_t> m_ram;
+ virtual void mem_map(address_map &map) override;
};
// ======================> vtech_laser_64k_device
-class vtech_laser_64k_device : public device_t, public device_vtech_memexp_interface
+class vtech_laser_64k_device : public vtech_memexp_device
{
public:
// construction/destruction
vtech_laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void bankswitch_w(uint8_t data);
-
protected:
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void mem_map(address_map &map) override;
+ virtual void io_map(address_map &map) override;
private:
- memory_bank_creator m_bank;
- std::vector<uint8_t> m_ram;
+ required_memory_bank m_fixed_bank;
+ required_memory_bank m_bank;
+
+ std::unique_ptr<uint8_t[]> m_ram;
};
// device type definition
diff --git a/src/devices/bus/vtech/memexp/rs232.cpp b/src/devices/bus/vtech/memexp/rs232.cpp
index d731880d2b7..cf07b2055d6 100644
--- a/src/devices/bus/vtech/memexp/rs232.cpp
+++ b/src/devices/bus/vtech/memexp/rs232.cpp
@@ -17,12 +17,28 @@
DEFINE_DEVICE_TYPE(VTECH_RS232_INTERFACE, vtech_rs232_interface_device, "vtech_rs232", "DSE VZ-200/300 RS-232 Interface")
//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_rs232_interface_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x4000, 0x47ff).rom().region("software", 0);
+ map(0x5000, 0x5000).mirror(0x7ff).r(FUNC(vtech_rs232_interface_device::receive_data_r));
+ map(0x5800, 0x5800).mirror(0x7ff).w(FUNC(vtech_rs232_interface_device::transmit_data_w));
+}
+
+//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
ROM_START( rs232 )
ROM_REGION(0x800, "software", 0)
- ROM_LOAD("rs232_v15.ic2", 0x000, 0x800, CRC(6545260d) SHA1(4042f6f1e09e383f3c92f628c6187dc5f072fdb2))
+ ROM_DEFAULT_BIOS("16")
+ ROM_SYSTEM_BIOS(0, "15", "Version 1.5") // 1985
+ ROMX_LOAD("rs232_v15.ic2", 0x000, 0x800, CRC(6545260d) SHA1(4042f6f1e09e383f3c92f628c6187dc5f072fdb2), ROM_BIOS(0))
+ ROM_SYSTEM_BIOS(1, "16", "Version 1.6") // 1987
+ ROMX_LOAD("rs232_v16.ic2", 0x000, 0x800, CRC(d761fc79) SHA1(28e00c7ff33143a948308330859bee54b474e114), ROM_BIOS(1))
ROM_END
const tiny_rom_entry *vtech_rs232_interface_device::device_rom_region() const
@@ -36,8 +52,10 @@ const tiny_rom_entry *vtech_rs232_interface_device::device_rom_region() const
void vtech_rs232_interface_device::device_add_mconfig(machine_config &config)
{
+ vtech_memexp_device::device_add_mconfig(config);
+
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
- m_rs232->rxd_handler().set(FUNC(vtech_rs232_interface_device::rs232_rx_w));
+ m_rs232->rxd_handler().set([this](int state) { m_rx = state; });
}
@@ -50,8 +68,7 @@ void vtech_rs232_interface_device::device_add_mconfig(machine_config &config)
//-------------------------------------------------
vtech_rs232_interface_device::vtech_rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_RS232_INTERFACE, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this),
+ vtech_memexp_device(mconfig, VTECH_RS232_INTERFACE, tag, owner, clock),
m_rs232(*this, "rs232"),
m_rx(1)
{
@@ -63,20 +80,10 @@ vtech_rs232_interface_device::vtech_rs232_interface_device(const machine_config
void vtech_rs232_interface_device::device_start()
{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void vtech_rs232_interface_device::device_reset()
-{
- // program
- program_space().install_rom(0x4000, 0x47ff, 0x800, memregion("software")->base());
+ vtech_memexp_device::device_start();
- // data
- program_space().install_read_handler(0x5000, 0x57ff, read8smo_delegate(*this, FUNC(vtech_rs232_interface_device::receive_data_r)));
- program_space().install_write_handler(0x5800, 0x5fff, write8smo_delegate(*this, FUNC(vtech_rs232_interface_device::transmit_data_w)));
+ // register for save states
+ save_item(NAME(m_rx));
}
@@ -84,11 +91,6 @@ void vtech_rs232_interface_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-WRITE_LINE_MEMBER( vtech_rs232_interface_device::rs232_rx_w )
-{
- m_rx = state;
-}
-
uint8_t vtech_rs232_interface_device::receive_data_r()
{
return 0x7f | (m_rx << 7);
diff --git a/src/devices/bus/vtech/memexp/rs232.h b/src/devices/bus/vtech/memexp/rs232.h
index 25094dcc7a2..d713aec9151 100644
--- a/src/devices/bus/vtech/memexp/rs232.h
+++ b/src/devices/bus/vtech/memexp/rs232.h
@@ -21,7 +21,7 @@
// ======================> vtech_rs232_interface_device
-class vtech_rs232_interface_device : public device_t, public device_vtech_memexp_interface
+class vtech_rs232_interface_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -31,15 +31,15 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void mem_map(address_map &map) override;
private:
- DECLARE_WRITE_LINE_MEMBER( rs232_rx_w );
+ required_device<rs232_port_device> m_rs232;
+
uint8_t receive_data_r();
void transmit_data_w(uint8_t data);
-
- required_device<rs232_port_device> m_rs232;
-
+
int m_rx;
};
diff --git a/src/devices/bus/vtech/memexp/rtty.cpp b/src/devices/bus/vtech/memexp/rtty.cpp
index 6830ff14c13..6a0f96c58a8 100644
--- a/src/devices/bus/vtech/memexp/rtty.cpp
+++ b/src/devices/bus/vtech/memexp/rtty.cpp
@@ -17,6 +17,19 @@
DEFINE_DEVICE_TYPE(VTECH_RTTY_INTERFACE, vtech_rtty_interface_device, "vtech_rtty", "DSE VZ-200/300 RTTY Interface")
//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_rtty_interface_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x4000, 0x4fff).rom().region("software", 0);
+ map(0x5000, 0x5000).mirror(0x7ff).r(FUNC(vtech_rtty_interface_device::receive_data_r));
+ map(0x5800, 0x5800).mirror(0x7ff).w(FUNC(vtech_rtty_interface_device::transmit_data_w));
+ map(0x6000, 0x6000).mirror(0x7ff).w(FUNC(vtech_rtty_interface_device::relay_w));
+}
+
+//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -40,8 +53,7 @@ const tiny_rom_entry *vtech_rtty_interface_device::device_rom_region() const
//-------------------------------------------------
vtech_rtty_interface_device::vtech_rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_RTTY_INTERFACE, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this)
+ vtech_memexp_device(mconfig, VTECH_RTTY_INTERFACE, tag, owner, clock)
{
}
@@ -51,21 +63,7 @@ vtech_rtty_interface_device::vtech_rtty_interface_device(const machine_config &m
void vtech_rtty_interface_device::device_start()
{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void vtech_rtty_interface_device::device_reset()
-{
- // program
- program_space().install_rom(0x4000, 0x4fff, 0x1000, memregion("software")->base());
-
- // data
- program_space().install_read_handler(0x5000, 0x57ff, read8smo_delegate(*this, FUNC(vtech_rtty_interface_device::receive_data_r)));
- program_space().install_write_handler(0x5800, 0x5fff, write8smo_delegate(*this, FUNC(vtech_rtty_interface_device::transmit_data_w)));
- program_space().install_write_handler(0x6000, 0x67ff, write8smo_delegate(*this, FUNC(vtech_rtty_interface_device::relay_w)));
+ vtech_memexp_device::device_start();
}
diff --git a/src/devices/bus/vtech/memexp/rtty.h b/src/devices/bus/vtech/memexp/rtty.h
index 9868bef9bee..62d1f5b94af 100644
--- a/src/devices/bus/vtech/memexp/rtty.h
+++ b/src/devices/bus/vtech/memexp/rtty.h
@@ -20,20 +20,22 @@
// ======================> vtech_rtty_interface_device
-class vtech_rtty_interface_device : public device_t, public device_vtech_memexp_interface
+class vtech_rtty_interface_device : public vtech_memexp_device
{
public:
// construction/destruction
vtech_rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t receive_data_r();
- void transmit_data_w(uint8_t data);
- void relay_w(uint8_t data);
-
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void mem_map(address_map &map) override;
+
+private:
+ uint8_t receive_data_r();
+ void transmit_data_w(uint8_t data);
+ void relay_w(uint8_t data);
};
// device type definition
diff --git a/src/devices/bus/vtech/memexp/sdloader.cpp b/src/devices/bus/vtech/memexp/sdloader.cpp
new file mode 100644
index 00000000000..f20c19ebbc8
--- /dev/null
+++ b/src/devices/bus/vtech/memexp/sdloader.cpp
@@ -0,0 +1,180 @@
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ BennVenn SD Loader for VZ300
+
+ Notes:
+ - Also works for VZ200
+
+ TODO:
+ - No SD card emulation, so only the memory expansion part works
+
+***************************************************************************/
+
+#include "emu.h"
+#include "sdloader.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(VTECH_SDLOADER, vtech_sdloader_device, "vtech_sdloader", "BennVenn SD Loader")
+
+//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_sdloader_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x4000, 0x67ff).view(m_dosview);
+ m_dosview[0](0x4000, 0x67ff).rom().region("software", 0).bankw(m_dosbank);
+ m_dosview[1](0x4000, 0x67ff).bankrw(m_dosbank);
+ map(0x9000, 0xffff).rw(FUNC(vtech_sdloader_device::exp_ram_r), FUNC(vtech_sdloader_device::exp_ram_w));
+}
+
+//-------------------------------------------------
+// io_map - io space address map
+//-------------------------------------------------
+
+void vtech_sdloader_device::io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x37, 0x37).w(FUNC(vtech_sdloader_device::mapper_w));
+ map(0x38, 0x38).w(FUNC(vtech_sdloader_device::sdcfg_w));
+ map(0x39, 0x39).rw(FUNC(vtech_sdloader_device::sdio_r), FUNC(vtech_sdloader_device::sdio_w));
+ map(0x3a, 0x3a).w(FUNC(vtech_sdloader_device::mode_w));
+}
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+ROM_START( sdloader )
+ ROM_REGION(0x2800, "software", 0)
+ ROM_DEFAULT_BIOS("18")
+ ROM_SYSTEM_BIOS(0, "15", "Version 1.5")
+ ROMX_LOAD("vzdos15.bin", 0x0000, 0x16c2, CRC(828f7703) SHA1(150c6e5a8f20416c0dab1fa96f68726f415a8b7e), ROM_BIOS(0))
+ ROM_SYSTEM_BIOS(1, "17", "Version 1.7")
+ ROMX_LOAD("vzdos17.bin", 0x0000, 0x1783, CRC(7ef7fb1e) SHA1(6278ac675d6c08dca39a5a7f4c72988a178eff8a), ROM_BIOS(1))
+ ROM_SYSTEM_BIOS(2, "18", "Version 1.8")
+ ROMX_LOAD("vzdos18.bin", 0x0000, 0x1795, CRC(2b1cec28) SHA1(d4f8fa0c7a70984334be3e5c831017cfc53683b2), ROM_BIOS(2))
+ROM_END
+
+const tiny_rom_entry *vtech_sdloader_device::device_rom_region() const
+{
+ return ROM_NAME( sdloader );
+}
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// vtech_sdloader_device - constructor
+//-------------------------------------------------
+
+vtech_sdloader_device::vtech_sdloader_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ vtech_memexp_device(mconfig, VTECH_SDLOADER, tag, owner, clock),
+ m_dosbank(*this, "dosbank"),
+ m_dosview(*this, "dosview"),
+ m_expbank(*this, "expbank"),
+ m_vz300_mode(false)
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void vtech_sdloader_device::device_start()
+{
+ vtech_memexp_device::device_start();
+
+ // init ram
+ m_ram = std::make_unique<uint8_t[]>(0x20000);
+
+ // configure banks
+ m_dosbank->configure_entry(0, m_ram.get() + 0x00000);
+ m_dosbank->configure_entry(1, m_ram.get() + 0x08000);
+ m_expbank->configure_entry(0, m_ram.get() + 0x10000);
+ m_expbank->configure_entry(1, m_ram.get() + 0x18000);
+
+ // register for savestates
+ save_item(NAME(m_vz300_mode));
+ save_pointer(NAME(m_ram), 0x20000);
+}
+
+//-------------------------------------------------
+// device_reset - device-specific startup
+//-------------------------------------------------
+
+void vtech_sdloader_device::device_reset()
+{
+ // startup in vz200 mode
+ m_vz300_mode = false;
+
+ // rom enabled
+ m_dosview.select(0);
+}
+
+
+//**************************************************************************
+// IMPLEMENTATION
+//**************************************************************************
+
+void vtech_sdloader_device::mapper_w(uint8_t data)
+{
+ // 7654---- not used
+ // ----3--- led
+ // -----2-- expansion ram bank
+ // ------1- dos ram bank
+ // -------0 dos rom/ram switch
+
+ m_dosview.select(BIT(data, 0));
+ m_dosbank->set_entry(BIT(data, 1));
+ m_expbank->set_entry(BIT(data, 2));
+}
+
+void vtech_sdloader_device::sdcfg_w(uint8_t data)
+{
+ logerror("sdcfg_w: %02x\n", data);
+}
+
+uint8_t vtech_sdloader_device::sdio_r()
+{
+ logerror("sdio_r\n");
+ return 0xff;
+}
+
+void vtech_sdloader_device::sdio_w(uint8_t data)
+{
+ logerror("sdio_w: %02x\n", data);
+}
+
+void vtech_sdloader_device::mode_w(uint8_t data)
+{
+ logerror("Switching to %s mode\n", BIT(data, 0) ? "VZ-300" : "VZ-200");
+ m_vz300_mode = bool(BIT(data, 0));
+}
+
+uint8_t vtech_sdloader_device::exp_ram_r(offs_t offset)
+{
+ offset += 0x9000;
+
+ if (!m_vz300_mode || (m_vz300_mode && offset >= 0xb800))
+ return reinterpret_cast<uint8_t *>(m_expbank->base())[offset & 0x7fff];
+
+ return 0xff;
+}
+
+void vtech_sdloader_device::exp_ram_w(offs_t offset, uint8_t data)
+{
+ offset += 0x9000;
+
+ if (!m_vz300_mode || (m_vz300_mode && offset >= 0xb800))
+ reinterpret_cast<uint8_t *>(m_expbank->base())[offset & 0x7fff] = data;
+}
diff --git a/src/devices/bus/vtech/memexp/sdloader.h b/src/devices/bus/vtech/memexp/sdloader.h
new file mode 100644
index 00000000000..e2c80302ef6
--- /dev/null
+++ b/src/devices/bus/vtech/memexp/sdloader.h
@@ -0,0 +1,60 @@
+// license: GPL-2.0+
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ BennVenn SD Loader for VZ300
+
+***************************************************************************/
+
+#ifndef MAME_BUS_VTECH_MEMEXP_SDLOADER_H
+#define MAME_BUS_VTECH_MEMEXP_SDLOADER_H
+
+#pragma once
+
+#include "memexp.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> vtech_sdloader_device
+
+class vtech_sdloader_device : public vtech_memexp_device
+{
+public:
+ // construction/destruction
+ vtech_sdloader_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ static constexpr feature_type unemulated_features() { return feature::DISK; }
+
+protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ virtual void mem_map(address_map &map) override;
+ virtual void io_map(address_map &map) override;
+
+private:
+ required_memory_bank m_dosbank;
+ memory_view m_dosview;
+ memory_bank_creator m_expbank;
+
+ void mapper_w(uint8_t data);
+ void sdcfg_w(uint8_t data);
+ uint8_t sdio_r();
+ void sdio_w(uint8_t data);
+ void mode_w(uint8_t data);
+
+ uint8_t exp_ram_r(offs_t offset);
+ void exp_ram_w(offs_t offset, uint8_t data);
+
+ std::unique_ptr<uint8_t[]> m_ram;
+ bool m_vz300_mode;
+};
+
+// device type definition
+DECLARE_DEVICE_TYPE(VTECH_SDLOADER, vtech_sdloader_device)
+
+#endif // MAME_BUS_VTECH_MEMEXP_SDLOADER_H
diff --git a/src/devices/bus/vtech/memexp/wordpro.cpp b/src/devices/bus/vtech/memexp/wordpro.cpp
index 099702ef844..811cb953a83 100644
--- a/src/devices/bus/vtech/memexp/wordpro.cpp
+++ b/src/devices/bus/vtech/memexp/wordpro.cpp
@@ -17,6 +17,17 @@
DEFINE_DEVICE_TYPE(VTECH_WORDPRO, vtech_wordpro_device, "vtech_wordpro", "DSE VZ-300 WordPro")
//-------------------------------------------------
+// mem_map - memory space address map
+//-------------------------------------------------
+
+void vtech_wordpro_device::mem_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x6000, 0x67ff).rom().region("software", 0);
+ map(0xd000, 0xffff).rom().region("software", 0);
+}
+
+//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -42,8 +53,7 @@ const tiny_rom_entry *vtech_wordpro_device::device_rom_region() const
//-------------------------------------------------
vtech_wordpro_device::vtech_wordpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VTECH_WORDPRO, tag, owner, clock),
- device_vtech_memexp_interface(mconfig, *this)
+ vtech_memexp_device(mconfig, VTECH_WORDPRO, tag, owner, clock)
{
}
@@ -53,14 +63,5 @@ vtech_wordpro_device::vtech_wordpro_device(const machine_config &mconfig, const
void vtech_wordpro_device::device_start()
{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void vtech_wordpro_device::device_reset()
-{
- program_space().install_rom(0x6000, 0x67ff, memregion("software")->base());
- program_space().install_rom(0xd000, 0xffff, memregion("software")->base());
+ vtech_memexp_device::device_start();
}
diff --git a/src/devices/bus/vtech/memexp/wordpro.h b/src/devices/bus/vtech/memexp/wordpro.h
index f7b6422a319..0515a12bb36 100644
--- a/src/devices/bus/vtech/memexp/wordpro.h
+++ b/src/devices/bus/vtech/memexp/wordpro.h
@@ -20,7 +20,7 @@
// ======================> vtech_wordpro_device
-class vtech_wordpro_device : public device_t, public device_vtech_memexp_interface
+class vtech_wordpro_device : public vtech_memexp_device
{
public:
// construction/destruction
@@ -29,7 +29,8 @@ public:
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_start() override;
- virtual void device_reset() override;
+
+ virtual void mem_map(address_map &map) override;
};
// device type definition
diff --git a/src/devices/cpu/dsp56000/dsp56000d.cpp b/src/devices/cpu/dsp56000/dsp56000d.cpp
index d4eca19f3c6..d01d16f2d58 100644
--- a/src/devices/cpu/dsp56000/dsp56000d.cpp
+++ b/src/devices/cpu/dsp56000/dsp56000d.cpp
@@ -17,7 +17,7 @@ static char const* const JJD[] =
static char const* const JJJD[] =
{
- "b,a", "a,b", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ "b,a", "a,b", "?", "?", "?", "?", "?", "?",
"x0,a", "x0,b", "y0,a", "y0,b", "x1,a", "x1,b", "y1,a", "y1,b",
};
@@ -35,7 +35,7 @@ static char const* const LLL[] = { "a10", "b10", "x", "y", "a", "b", "ab", "ba"
static char const* const FFF[] = { "m0", "m1", "m2", "m3", "m4", "m5", "m6", "m7" };
static char const* const NNN[] = { "n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7" };
static char const* const TTT[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7" };
-static char const* const GGG[] = { nullptr, "sr", "omr", "sp", "ssh", "ssl", "la", "lc" };
+static char const* const GGG[] = { "?", "sr", "omr", "sp", "ssh", "ssl", "la", "lc" };
static char const* const QQQ[] = { "x0,x0", "y0,y0", "x1,x0", "y1,y0", "x0,y1", "y0,x0", "x1,y0", "y1,x1" };
diff --git a/src/devices/cpu/i86/i286.cpp b/src/devices/cpu/i86/i286.cpp
index dfa37f022f8..1cf74bfca01 100644
--- a/src/devices/cpu/i86/i286.cpp
+++ b/src/devices/cpu/i86/i286.cpp
@@ -1091,8 +1091,8 @@ void i80286_cpu_device::execute_run()
{
if ( m_fire_trap >= 2 )
{
- interrupt(1);
m_fire_trap = 0;
+ interrupt(1);
}
else
{
diff --git a/src/devices/cpu/m6502/m5074x.cpp b/src/devices/cpu/m6502/m5074x.cpp
index 5df0e863a0c..deb79eb0585 100644
--- a/src/devices/cpu/m6502/m5074x.cpp
+++ b/src/devices/cpu/m6502/m5074x.cpp
@@ -370,7 +370,7 @@ void m5074x_device::ports_w(offs_t offset, uint8_t data)
break;
case 0xa: // p4 (4-bit open drain)
- send_port(4, (data & m_ddrs[4] & 0x0f) | (m_pullups[4] & ~m_ddrs[4]));
+ send_port(4, (data & m_ddrs[4] & 0x0f) | (m_pullups[4] & ~m_ddrs[4]));
m_ports[4] = data & 0x0f;
break;
diff --git a/src/devices/cpu/m6800/6800dasm.cpp b/src/devices/cpu/m6800/6800dasm.cpp
index 8ced48044dc..7b5e1227425 100644
--- a/src/devices/cpu/m6800/6800dasm.cpp
+++ b/src/devices/cpu/m6800/6800dasm.cpp
@@ -7,16 +7,6 @@
*
* I'm afraid to put my name on it, but I feel obligated:
* This code written by Aaron Giles (agiles@sirius.com) for the MAME project
- *
- * History:
- * 990314 HJB
- * The disassembler knows about valid opcodes for M6800/1/2/3/8 and HD63701.
- * 990302 HJB
- * Changed the string array into a table of opcode names (or tokens) and
- * argument types. This second try should give somewhat better results.
- * Named the undocumented HD63701YO opcodes $12 and $13 'asx1' and 'asx2',
- * since 'add contents of stack to x register' is what they do.
- *
*/
#include "emu.h"
@@ -45,7 +35,7 @@ const char *const m680x_disassembler::op_name_str[] = {
/*
* This table defines the opcodes:
* byte meaning
- * 0 token (menmonic)
+ * 0 token (mnemonic)
* 1 addressing mode
* 2 invalid opcode for 1:6800/6802/6808, 2:6801/6803, 4:HD63701
*/
diff --git a/src/devices/cpu/m6800/6800dasm.h b/src/devices/cpu/m6800/6800dasm.h
index 86ab1728b18..9caf9b1b7ff 100644
--- a/src/devices/cpu/m6800/6800dasm.h
+++ b/src/devices/cpu/m6800/6800dasm.h
@@ -7,16 +7,6 @@
*
* I'm afraid to put my name on it, but I feel obligated:
* This code written by Aaron Giles (agiles@sirius.com) for the MAME project
- *
- * History:
- * 990314 HJB
- * The disassembler knows about valid opcodes for M6800/1/2/3/8 and HD63701.
- * 990302 HJB
- * Changed the string array into a table of opcode names (or tokens) and
- * argument types. This second try should give somewhat better results.
- * Named the undocumented HD63701YO opcodes $12 and $13 'asx1' and 'asx2',
- * since 'add contents of stack to x register' is what they do.
- *
*/
#ifndef MAME_CPU_M6800_6800DASM_H
diff --git a/src/devices/cpu/m6800/6800ops.hxx b/src/devices/cpu/m6800/6800ops.hxx
index a498c846df7..97b995f7686 100644
--- a/src/devices/cpu/m6800/6800ops.hxx
+++ b/src/devices/cpu/m6800/6800ops.hxx
@@ -41,7 +41,7 @@ OP_HANDLER( illegl3 )
OP_HANDLER( trap )
{
logerror("m6800: illegal opcode: address %04X, op %02X\n",PC-1,(int) M_RDOP_ARG(PC-1)&0xFF);
- TAKE_TRAP();
+ take_trap();
}
/* $00 ILLEGAL */
@@ -80,7 +80,7 @@ OP_HANDLER( tap )
{
CC=A;
ONE_MORE_INSN();
- CHECK_IRQ_LINES(); /* HJB 990417 */
+ check_irq_lines();
}
/* $07 TPA inherent ----- */
@@ -132,7 +132,7 @@ OP_HANDLER( cli )
{
CLI;
ONE_MORE_INSN();
- CHECK_IRQ_LINES(); /* HJB 990417 */
+ check_irq_lines();
}
/* $0f SEI */
@@ -140,7 +140,7 @@ OP_HANDLER( sei )
{
SEI;
ONE_MORE_INSN();
- CHECK_IRQ_LINES(); /* HJB 990417 */
+ check_irq_lines();
}
/* $10 SBA inherent -**** */
@@ -205,9 +205,9 @@ OP_HANDLER( daa )
uint8_t msn, lsn;
uint16_t t, cf = 0;
msn=A & 0xf0; lsn=A & 0x0f;
- if( lsn>0x09 || CC&0x20 ) cf |= 0x06;
- if( msn>0x80 && lsn>0x09 ) cf |= 0x60;
- if( msn>0x90 || CC&0x01 ) cf |= 0x60;
+ if (lsn>0x09 || CC&0x20) cf |= 0x06;
+ if (msn>0x80 && lsn>0x09) cf |= 0x60;
+ if (msn>0x90 || CC&0x01) cf |= 0x60;
t = cf + A;
CLR_NZV; /* keep carry from previous operation */
SET_NZ8((uint8_t)t); SET_C8(t);
@@ -221,7 +221,7 @@ OP_HANDLER( slp )
{
/* wait for next IRQ (same as waiting of wai) */
m_wai_state |= M6800_SLP;
- EAT_CYCLES();
+ eat_cycles();
}
/* $1b ABA inherent ***** */
@@ -427,7 +427,7 @@ OP_HANDLER( rti )
PULLBYTE(A);
PULLWORD(pX);
PULLWORD(pPC);
- CHECK_IRQ_LINES(); /* HJB 990417 */
+ check_irq_lines();
}
/* $3c PSHX inherent ----- */
@@ -442,7 +442,7 @@ OP_HANDLER( mul )
uint16_t t;
t=A*B;
CLR_C;
- if(t&0x80) SEC;
+ if (t & 0x80) SEC;
D=t;
}
@@ -459,8 +459,8 @@ OP_HANDLER( wai )
PUSHBYTE(A);
PUSHBYTE(B);
PUSHBYTE(CC);
- CHECK_IRQ_LINES();
- if (m_wai_state & M6800_WAI) EAT_CYCLES();
+ check_irq_lines();
+ if (m_wai_state & M6800_WAI) eat_cycles();
}
/* $3f SWI absolute indirect ----- */
diff --git a/src/devices/cpu/m6800/m6800.cpp b/src/devices/cpu/m6800/m6800.cpp
index 7eab9292599..17e9cfbd5d4 100644
--- a/src/devices/cpu/m6800/m6800.cpp
+++ b/src/devices/cpu/m6800/m6800.cpp
@@ -1,55 +1,36 @@
// license:BSD-3-Clause
// copyright-holders:Aaron Giles
-/*** m6800: Portable 6800 class emulator *************************************
+/*** m6800: Portable 6800 class emulator *************************************
- m68xx.c
+m68xx.cpp
- References:
+References:
- 6809 Simulator V09, By L.C. Benschop, Eindhoven The Netherlands.
+ 6809 Simulator V09, By L.C. Benschop, Eindhoven The Netherlands.
- m6809: Portable 6809 emulator, DS (6809 code in MAME, derived from
- the 6809 Simulator V09)
+ m6809: Portable 6809 emulator, DS (6809 code in MAME, derived from
+ the 6809 Simulator V09)
- 6809 Microcomputer Programming & Interfacing with Experiments"
- by Andrew C. Staugaard, Jr.; Howard W. Sams & Co., Inc.
+ 6809 Microcomputer Programming & Interfacing with Experiments"
+ by Andrew C. Staugaard, Jr.; Howard W. Sams & Co., Inc.
- System dependencies: uint16_t must be 16 bit unsigned int
- uint8_t must be 8 bit unsigned int
- uint32_t must be more than 16 bits
- arrays up to 65536 bytes must be supported
- machine must be twos complement
+System dependencies: uint16_t must be 16 bit unsigned int
+ uint8_t must be 8 bit unsigned int
+ uint32_t must be more than 16 bits
+ arrays up to 65536 bytes must be supported
+ machine must be twos complement
-History
-991031 ZV
- Added NSC-8105 support
-
-990319 HJB
- Fixed wrong LSB/MSB order for push/pull word.
- Subtract .extra_cycles at the beginning/end of the exectution loops.
-
-990316 HJB
- Renamed to 6800, since that's the basic CPU.
- Added different cycle count tables for M6800/2/8, M6801/3 and m68xx.
-
-990314 HJB
- Also added the M6800 subtype.
-
-990311 HJB
- Added _info functions. Now uses static m6808_Regs struct instead
- of single statics. Changed the 16 bit registers to use the generic
- PAIR union. Registers defined using macros. Split the core into
- four execution loops for M6802, M6803, M6808 and HD63701.
- TST, TSTA and TSTB opcodes reset carry flag.
TODO:
- Verify invalid opcodes for the different CPU types.
- Add proper credits to _info functions.
- Integrate m6808_Flags into the registers (multiple m6808 type CPUs?)
-
-990301 HJB
- Modified the interrupt handling. No more pending interrupt checks.
- WAI opcode saves state, when an interrupt is taken (IRQ or OCI),
- the state is only saved if not already done by WAI.
+- verify invalid opcodes for the different CPU types
+- cleanups (difficult to do maintenance work right now)
+- improve 6801 and derivatives:
+ * make internal I/O map really internal
+ * RAM control register (eg. nvram)
+ * IS3 interrupt for 6801 port 3 handshake (already implemented for 6301Y)
+ * finish 6301Y port 6 handshake, share implementation with p3csr?
+ * 6301Y sci_trcsr2_r/w
+ * add 6801U4 extra timer registers (bublbobl, kikikai, though they seem
+ to work fine without)
*****************************************************************************/
@@ -453,7 +434,7 @@ nsc8105_cpu_device::nsc8105_cpu_device(const machine_config &mconfig, const char
device_memory_interface::space_config_vector m6800_cpu_device::memory_space_config() const
{
- if(has_configured_map(AS_OPCODES))
+ if (has_configured_map(AS_OPCODES))
return space_config_vector {
std::make_pair(AS_PROGRAM, &m_program_config),
std::make_pair(AS_OPCODES, &m_decrypted_opcodes_config)
@@ -467,24 +448,26 @@ device_memory_interface::space_config_vector m6800_cpu_device::memory_space_conf
uint32_t m6800_cpu_device::RM16(uint32_t Addr )
{
uint32_t result = RM(Addr) << 8;
- return result | RM((Addr+1)&0xffff);
+ return result | RM((Addr+1) & 0xffff);
}
void m6800_cpu_device::WM16(uint32_t Addr, PAIR *p )
{
- WM( Addr, p->b.h );
- WM( (Addr+1)&0xffff, p->b.l );
+ WM(Addr, p->b.h);
+ WM((Addr+1) & 0xffff, p->b.l);
}
/* IRQ enter */
void m6800_cpu_device::enter_interrupt(const char *message,uint16_t irq_vector)
{
+ int cycles_to_eat = 0;
+
LOG((message));
- if( m_wai_state & (M6800_WAI|M6800_SLP) )
+ if (m_wai_state & (M6800_WAI | M6800_SLP))
{
- if( m_wai_state & M6800_WAI )
- m_icount -= 4;
- m_wai_state &= ~(M6800_WAI|M6800_SLP);
+ if (m_wai_state & M6800_WAI)
+ cycles_to_eat = 4;
+ m_wai_state &= ~(M6800_WAI | M6800_SLP);
}
else
{
@@ -493,22 +476,23 @@ void m6800_cpu_device::enter_interrupt(const char *message,uint16_t irq_vector)
PUSHBYTE(A);
PUSHBYTE(B);
PUSHBYTE(CC);
- m_icount -= 12;
+ cycles_to_eat = 12;
}
SEI;
- PCD = RM16( irq_vector );
-}
-
+ PCD = RM16(irq_vector);
+ if (cycles_to_eat > 0)
+ increment_counter(cycles_to_eat);
+}
/* check the IRQ lines for pending interrupts */
-void m6800_cpu_device::CHECK_IRQ_LINES()
+void m6800_cpu_device::check_irq_lines()
{
// TODO: IS3 interrupt
if (m_nmi_pending)
{
- if(m_wai_state & M6800_SLP)
+ if (m_wai_state & M6800_SLP)
m_wai_state &= ~M6800_SLP;
m_nmi_pending = false;
@@ -516,19 +500,20 @@ void m6800_cpu_device::CHECK_IRQ_LINES()
}
else
{
- if( m_irq_state[M6800_IRQ_LINE] != CLEAR_LINE )
- { /* standard IRQ */
- if(m_wai_state & M6800_SLP)
+ if (m_irq_state[M6800_IRQ_LINE] != CLEAR_LINE)
+ {
+ /* standard IRQ */
+ if (m_wai_state & M6800_SLP)
m_wai_state &= ~M6800_SLP;
- if( !(CC & 0x10) )
+ if (!(CC & 0x10))
{
enter_interrupt("take IRQ1\n", 0xfff8);
standard_irq_callback(M6800_IRQ_LINE);
}
}
else
- if( !(CC & 0x10) )
+ if (!(CC & 0x10))
m6800_check_irq2();
}
}
@@ -538,9 +523,10 @@ void m6800_cpu_device::increment_counter(int amount)
m_icount -= amount;
}
-void m6800_cpu_device::EAT_CYCLES()
+void m6800_cpu_device::eat_cycles()
{
- increment_counter(m_icount);
+ if (m_icount > 0)
+ increment_counter(m_icount);
}
@@ -605,8 +591,8 @@ void m6800_cpu_device::state_string_export(const device_state_entry &entry, std:
void m6800_cpu_device::device_reset()
{
m_cc = 0xc0;
- SEI; /* IRQ disabled */
- PCD = RM16( 0xfffe );
+ SEI; /* IRQ disabled */
+ PCD = RM16(0xfffe);
m_wai_state = 0;
m_nmi_state = 0;
@@ -637,28 +623,26 @@ void m6800_cpu_device::execute_set_input(int irqline, int state)
****************************************************************************/
void m6800_cpu_device::execute_run()
{
- uint8_t ireg;
-
- CHECK_IRQ_LINES(); /* HJB 990417 */
+ check_irq_lines();
- CLEANUP_COUNTERS();
+ cleanup_counters();
do
{
- if( m_wai_state & (M6800_WAI|M6800_SLP) )
+ if (m_wai_state & (M6800_WAI | M6800_SLP))
{
- EAT_CYCLES();
+ eat_cycles();
}
else
{
pPPC = pPC;
debugger_instruction_hook(PCD);
- ireg=M_RDOP(PCD);
+ uint8_t ireg=M_RDOP(PCD);
PC++;
(this->*m_insn[ireg])();
increment_counter(m_cycles[ireg]);
}
- } while( m_icount>0 );
+ } while (m_icount > 0);
}
std::unique_ptr<util::disasm_interface> m6800_cpu_device::create_disassembler()
diff --git a/src/devices/cpu/m6800/m6800.h b/src/devices/cpu/m6800/m6800.h
index 1601a62b798..10e40ab3a3f 100644
--- a/src/devices/cpu/m6800/m6800.h
+++ b/src/devices/cpu/m6800/m6800.h
@@ -79,7 +79,7 @@ protected:
uint8_t m_wai_state; /* WAI opcode state ,(or sleep opcode state) */
uint8_t m_nmi_state; /* NMI line state */
uint8_t m_nmi_pending; /* NMI pending */
- uint8_t m_irq_state[3]; /* IRQ line state [IRQ1,TIN,SC1] */
+ uint8_t m_irq_state[4]; /* IRQ line state [IRQ1,TIN,SC1,IS] */
/* Memory spaces */
memory_access<16, 0, 0, ENDIANNESS_BIG>::cache m_cprogram, m_copcodes;
@@ -103,11 +103,11 @@ protected:
void WM16(uint32_t Addr, PAIR *p );
void enter_interrupt(const char *message,uint16_t irq_vector);
virtual void m6800_check_irq2() { }
- void CHECK_IRQ_LINES();
+ void check_irq_lines();
virtual void increment_counter(int amount);
- virtual void EAT_CYCLES();
- virtual void CLEANUP_COUNTERS() { }
- virtual void TAKE_TRAP() { }
+ virtual void eat_cycles();
+ virtual void cleanup_counters() { }
+ virtual void take_trap() { }
void aba();
void abx();
diff --git a/src/devices/cpu/m6800/m6801.cpp b/src/devices/cpu/m6800/m6801.cpp
index fecf48c0cd3..a5e3226d770 100644
--- a/src/devices/cpu/m6800/m6801.cpp
+++ b/src/devices/cpu/m6800/m6801.cpp
@@ -78,6 +78,7 @@ enum
};
/* take interrupt */
+#define TAKE_ISI enter_interrupt("take ISI\n",0xfff8)
#define TAKE_ICI enter_interrupt("take ICI\n",0xfff6)
#define TAKE_OCI enter_interrupt("take OCI\n",0xfff4)
#define TAKE_TOI enter_interrupt("take TOI\n",0xfff2)
@@ -291,7 +292,7 @@ void hd6301y_cpu_device::hd6301y_io(address_map &map)
map(0x0015, 0x0015).w(FUNC(hd6301y_cpu_device::p5_data_w));
//map(0x001e, 0x001e).rw(FUNC(hd6301y_cpu_device::sci_trcsr2_r), FUNC(hd6301y_cpu_device::sci_trcsr2_w));
map(0x0020, 0x0020).rw(FUNC(hd6301y_cpu_device::ff_r), FUNC(hd6301y_cpu_device::p5_ddr_w));
- //map(0x0021, 0x0021).rw(FUNC(hd6301y_cpu_device::p6_csr_r), FUNC(hd6301y_cpu_device::p6_csr_w));
+ map(0x0021, 0x0021).rw(FUNC(hd6301y_cpu_device::p6_csr_r), FUNC(hd6301y_cpu_device::p6_csr_w));
}
@@ -415,7 +416,6 @@ void m6801_cpu_device::m6800_check_irq2()
((m_trcsr & (M6801_TRCSR_RIE|M6801_TRCSR_ORFE)) == (M6801_TRCSR_RIE|M6801_TRCSR_ORFE)) ||
((m_trcsr & (M6801_TRCSR_TIE|M6801_TRCSR_TDRE)) == (M6801_TRCSR_TIE|M6801_TRCSR_TDRE)))
{
- LOG("SCI interrupt\n");
TAKE_SCI;
}
}
@@ -444,11 +444,21 @@ void hd6301x_cpu_device::m6800_check_irq2()
((m_trcsr & (M6801_TRCSR_RIE|M6801_TRCSR_ORFE)) == (M6801_TRCSR_RIE|M6801_TRCSR_ORFE)) ||
((m_trcsr & (M6801_TRCSR_TIE|M6801_TRCSR_TDRE)) == (M6801_TRCSR_TIE|M6801_TRCSR_TDRE)))
{
- LOG("SCI interrupt\n");
TAKE_SCI;
}
}
+void hd6301y_cpu_device::m6800_check_irq2()
+{
+ if ((m_p6csr & 0xc0) == 0xc0)
+ {
+ TAKE_ISI;
+ standard_irq_callback(M6801_IS_LINE);
+ }
+ else
+ hd6301x_cpu_device::m6800_check_irq2();
+}
+
void m6801_cpu_device::modified_tcsr()
{
m_irq2 = (m_tcsr&(m_tcsr<<3))&(TCSR_ICF|TCSR_OCF|TCSR_TOF);
@@ -512,7 +522,7 @@ void m6801_cpu_device::check_timer_event()
{
TOH++; // next IRQ point
#if 0
- CLEANUP_COUNTERS();
+ cleanup_counters();
#endif
m_tcsr |= TCSR_TOF;
m_pending_tcsr |= TCSR_TOF;
@@ -572,7 +582,7 @@ void hd6301x_cpu_device::check_timer_event()
{
TOH++; // next IRQ point
#if 0
- CLEANUP_COUNTERS();
+ cleanup_counters();
#endif
m_tcsr |= TCSR_TOF;
m_pending_tcsr |= TCSR_TOF;
@@ -632,7 +642,7 @@ void hd6301x_cpu_device::increment_counter(int amount)
check_timer_event();
}
-void m6801_cpu_device::EAT_CYCLES()
+void m6801_cpu_device::eat_cycles()
{
int cycles_to_eat = std::min(int(m_timer_next - CTD), m_icount);
if (cycles_to_eat > 0)
@@ -640,7 +650,7 @@ void m6801_cpu_device::EAT_CYCLES()
}
/* cleanup high-word of counters */
-void m6801_cpu_device::CLEANUP_COUNTERS()
+void m6801_cpu_device::cleanup_counters()
{
OCH -= CTH;
TOH -= CTH;
@@ -650,10 +660,10 @@ void m6801_cpu_device::CLEANUP_COUNTERS()
check_timer_event();
}
-void hd6301x_cpu_device::CLEANUP_COUNTERS()
+void hd6301x_cpu_device::cleanup_counters()
{
OC2H -= CTH;
- m6801_cpu_device::CLEANUP_COUNTERS();
+ m6801_cpu_device::cleanup_counters();
}
void m6801_cpu_device::set_rmcr(uint8_t data)
@@ -788,7 +798,7 @@ void m6801_cpu_device::serial_transmit()
// send stop bit '1'
m_tx = 1;
- CHECK_IRQ_LINES();
+ check_irq_lines();
m_txbits = M6801_SERIAL_START;
@@ -876,7 +886,7 @@ void m6801_cpu_device::serial_receive()
LOGRX("SCI Receive Overrun Error\n");
- CHECK_IRQ_LINES();
+ check_irq_lines();
}
else
{
@@ -890,7 +900,7 @@ void m6801_cpu_device::serial_receive()
// set RDRF flag
m_trcsr |= M6801_TRCSR_RDRF;
- CHECK_IRQ_LINES();
+ check_irq_lines();
}
}
}
@@ -908,7 +918,7 @@ void m6801_cpu_device::serial_receive()
LOGRX("SCI Receive Framing Error\n");
- CHECK_IRQ_LINES();
+ check_irq_lines();
}
m_rxbits = M6801_SERIAL_START;
@@ -969,7 +979,7 @@ void m6801_cpu_device::execute_set_input(int irqline, int state)
{
m_irq_state[M6801_TIN_LINE] = state;
//edge = (state == CLEAR_LINE ) ? 2 : 0;
- if( ((m_tcsr&TCSR_IEDG) ^ (state==CLEAR_LINE ? TCSR_IEDG : 0))==0 )
+ if (((m_tcsr&TCSR_IEDG) ^ (state==CLEAR_LINE ? TCSR_IEDG : 0)) == 0)
return;
/* active edge in */
m_tcsr |= TCSR_ICF;
@@ -985,6 +995,28 @@ void m6801_cpu_device::execute_set_input(int irqline, int state)
}
}
+void hd6301y_cpu_device::execute_set_input(int irqline, int state)
+{
+ switch (irqline)
+ {
+ case M6801_IS_LINE:
+ // interrupt at falling edge
+ if (!state && m_irq_state[M6801_IS_LINE])
+ {
+ m_p6csr |= 0x80; // IS flag
+ m_pending_isf_clear = false;
+ }
+
+ m_irq_state[M6801_IS_LINE] = state;
+ break;
+
+ default:
+ m6801_cpu_device::execute_set_input(irqline, state);
+ break;
+ }
+}
+
+
void m6801_cpu_device::device_resolve_objects()
{
@@ -1011,6 +1043,7 @@ void m6801_cpu_device::device_start()
m_sci_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m6801_cpu_device::sci_tick),this));
+ m_irq_state[M6801_IS_LINE] = 0;
m_port_ddr[3] = 0;
m_port_data[3] = 0;
m_input_capture = 0;
@@ -1030,7 +1063,7 @@ void m6801_cpu_device::device_start()
save_item(NAME(m_counter.d));
save_item(NAME(m_output_compare.d));
save_item(NAME(m_input_capture));
- save_item(NAME(m_p3csr_is3_flag_read));
+ save_item(NAME(m_pending_isf_clear));
save_item(NAME(m_port3_latched));
save_item(NAME(m_port2_written));
@@ -1051,11 +1084,8 @@ void m6801_cpu_device::device_start()
save_item(NAME(m_use_ext_serclock));
save_item(NAME(m_latch09));
-
save_item(NAME(m_timer_over.d));
-
save_item(NAME(m_timer_next));
-
save_item(NAME(m_sc1_state));
}
@@ -1078,6 +1108,13 @@ void hd6301x_cpu_device::device_start()
save_item(NAME(m_t2cnt_written));
}
+void hd6301y_cpu_device::device_start()
+{
+ hd6301x_cpu_device::device_start();
+
+ save_item(NAME(m_p6csr));
+}
+
void m6801_cpu_device::device_reset()
{
m6800_cpu_device::device_reset();
@@ -1090,7 +1127,7 @@ void m6801_cpu_device::device_reset()
m_port_ddr[2] = 0x00;
m_port_data[0] = 0;
m_p3csr = 0x00;
- m_p3csr_is3_flag_read = 0;
+ m_pending_isf_clear = false;
m_port2_written = false;
m_port3_latched = 0;
/* TODO: on reset port 2 should be read to determine the operating mode (bits 0-2) */
@@ -1134,6 +1171,15 @@ void hd6301x_cpu_device::device_reset()
m_tcsr3 = 0x00;
m_tout3 = false;
m_t2cnt_written = false;
+
+ m_p3csr = 0; // does not have this reg
+}
+
+void hd6301y_cpu_device::device_reset()
+{
+ hd6301x_cpu_device::device_reset();
+
+ m_p6csr = 7;
}
@@ -1187,7 +1233,7 @@ void hd6301x_cpu_device::write_port2()
}
/*
- if change_pc() direccted these areas ,Call hd63701_trap_pc().
+ if change_pc() directed these areas, call hd63701_trap_pc().
'mode' is selected by the sense of p2.0,p2.1,and p2.3 at reset timing.
mode 0,1,2,4,6 : $0000-$001f
mode 5 : $0000-$001f,$0200-$efff
@@ -1215,7 +1261,7 @@ void m6801_cpu_device::p1_ddr_w(uint8_t data)
uint8_t m6801_cpu_device::p1_data_r()
{
- if(m_port_ddr[0] == 0xff)
+ if (m_port_ddr[0] == 0xff)
return m_port_data[0];
else
return (m_in_port_func[0]() & (m_port_ddr[0] ^ 0xff)) | (m_port_data[0] & m_port_ddr[0]);
@@ -1255,7 +1301,7 @@ void hd6301x_cpu_device::p2_ddr_2bit_w(uint8_t data)
uint8_t m6801_cpu_device::p2_data_r()
{
- if(m_port_ddr[1] == 0xff)
+ if (m_port_ddr[1] == 0xff)
return m_port_data[1];
else
return (m_in_port_func[1]() & (m_port_ddr[1] ^ 0xff)) | (m_port_data[1] & m_port_ddr[1]);
@@ -1287,11 +1333,11 @@ uint8_t m6801_cpu_device::p3_data_r()
if (!machine().side_effects_disabled())
{
- if (m_p3csr_is3_flag_read)
+ if (m_pending_isf_clear)
{
LOGPORT("Cleared IS3\n");
m_p3csr &= ~M6801_P3CSR_IS3_FLAG;
- m_p3csr_is3_flag_read = 0;
+ m_pending_isf_clear = false;
}
if (!(m_p3csr & M6801_P3CSR_OSS))
@@ -1303,8 +1349,7 @@ uint8_t m6801_cpu_device::p3_data_r()
if ((m_p3csr & M6801_P3CSR_LE) || (m_port_ddr[2] == 0xff))
data = m_port_data[2];
else
- data = (m_in_port_func[2]() & (m_port_ddr[2] ^ 0xff))
- | (m_port_data[2] & m_port_ddr[2]);
+ data = (m_in_port_func[2]() & (m_port_ddr[2] ^ 0xff)) | (m_port_data[2] & m_port_ddr[2]);
if (!machine().side_effects_disabled())
{
@@ -1322,11 +1367,11 @@ void m6801_cpu_device::p3_data_w(uint8_t data)
{
LOGPORT("Port 3 Data Register: %02x\n", data);
- if (m_p3csr_is3_flag_read)
+ if (m_pending_isf_clear)
{
LOGPORT("Cleared IS3\n");
m_p3csr &= ~M6801_P3CSR_IS3_FLAG;
- m_p3csr_is3_flag_read = 0;
+ m_pending_isf_clear = false;
}
if (m_p3csr & M6801_P3CSR_OSS)
@@ -1343,11 +1388,29 @@ void m6801_cpu_device::p3_data_w(uint8_t data)
}
}
+uint8_t hd6301x_cpu_device::p3_data_r()
+{
+ // no handshaking protocol
+ if (m_port_ddr[2] == 0xff)
+ return m_port_data[2];
+ else
+ return (m_in_port_func[2]() & (m_port_ddr[2] ^ 0xff)) | (m_port_data[2] & m_port_ddr[2]);
+}
+
+void hd6301x_cpu_device::p3_data_w(uint8_t data)
+{
+ // no handshaking protocol
+ LOGPORT("Port 3 Data Register: %02x\n", data);
+
+ m_port_data[2] = data;
+ m_out_port_func[2](0, (m_port_data[2] & m_port_ddr[2]) | (m_port_ddr[2] ^ 0xff), m_port_ddr[2]);
+}
+
uint8_t m6801_cpu_device::p3_csr_r()
{
if ((m_p3csr & M6801_P3CSR_IS3_FLAG) && !machine().side_effects_disabled())
{
- m_p3csr_is3_flag_read = 1;
+ m_pending_isf_clear = true;
}
return m_p3csr;
@@ -1373,7 +1436,7 @@ void m6801_cpu_device::p4_ddr_w(uint8_t data)
uint8_t m6801_cpu_device::p4_data_r()
{
- if(m_port_ddr[3] == 0xff)
+ if (m_port_ddr[3] == 0xff)
return m_port_data[3];
else
return (m_in_port_func[3]() & (m_port_ddr[3] ^ 0xff)) | (m_port_data[3] & m_port_ddr[3]);
@@ -1400,10 +1463,16 @@ void hd6301y_cpu_device::p5_ddr_w(uint8_t data)
uint8_t hd6301x_cpu_device::p5_data_r()
{
- if(m_portx_ddr[0] == 0xff)
+ // read-only
+ return m_in_portx_func[0]();
+}
+
+uint8_t hd6301y_cpu_device::p5_data_r()
+{
+ if (m_portx_ddr[0] == 0xff)
return m_portx_data[0];
else
- return (m_in_portx_func[0]() & (m_portx_ddr[0] ^ 0xff)) | (m_portx_data[0] & m_portx_ddr[0]);
+ return ((m_in_portx_func[0]() | ((m_irq_state[M6801_IS_LINE]) ? 0x10 : 0)) & (m_portx_ddr[0] ^ 0xff)) | (m_portx_data[0] & m_portx_ddr[0]);
}
void hd6301y_cpu_device::p5_data_w(uint8_t data)
@@ -1427,7 +1496,7 @@ void hd6301x_cpu_device::p6_ddr_w(uint8_t data)
uint8_t hd6301x_cpu_device::p6_data_r()
{
- if(m_portx_ddr[1] == 0xff)
+ if (m_portx_ddr[1] == 0xff)
return m_portx_data[1];
else
return (m_in_portx_func[1]() & (m_portx_ddr[1] ^ 0xff)) | (m_portx_data[1] & m_portx_ddr[1]);
@@ -1441,6 +1510,48 @@ void hd6301x_cpu_device::p6_data_w(uint8_t data)
m_out_portx_func[1](0, (m_portx_data[1] & m_portx_ddr[1]) | (m_portx_ddr[1] ^ 0xff), m_portx_ddr[1]);
}
+uint8_t hd6301y_cpu_device::p6_data_r()
+{
+ if (!machine().side_effects_disabled())
+ clear_pending_isf();
+
+ return hd6301x_cpu_device::p6_data_r();
+}
+
+void hd6301y_cpu_device::p6_data_w(uint8_t data)
+{
+ clear_pending_isf();
+
+ hd6301x_cpu_device::p6_data_w(data);
+}
+
+void hd6301y_cpu_device::clear_pending_isf()
+{
+ // IS flag is cleared when reading/writing P6 after reading P6 CSR
+ if (m_pending_isf_clear)
+ {
+ m_p6csr &= 0x7f;
+ m_pending_isf_clear = false;
+ }
+}
+
+uint8_t hd6301y_cpu_device::p6_csr_r()
+{
+ if (!machine().side_effects_disabled())
+ m_pending_isf_clear = true;
+
+ return m_p6csr | 7;
+}
+
+void hd6301y_cpu_device::p6_csr_w(uint8_t data)
+{
+ LOGPORT("Port 6 Control/Status Register: %02x\n", data);
+
+ m_p6csr = (m_p6csr & 0x80) | (data & 0x7f);
+ if (!(m_cc & 0x10) && data & 0x40)
+ m6800_check_irq2();
+}
+
uint8_t hd6301x_cpu_device::p7_data_r()
{
return 0xe0 | m_portx_data[2];
@@ -1472,13 +1583,13 @@ void m6801_cpu_device::tcsr_w(uint8_t data)
m_tcsr = data | (m_tcsr & 0xe0);
m_pending_tcsr &= m_tcsr;
modified_tcsr();
- if( !(m_cc & 0x10) )
+ if (!(m_cc & 0x10))
m6800_check_irq2();
}
uint8_t m6801_cpu_device::ch_r()
{
- if(!(m_pending_tcsr&TCSR_TOF) && !machine().side_effects_disabled())
+ if (!(m_pending_tcsr & TCSR_TOF) && !machine().side_effects_disabled())
{
m_tcsr &= ~TCSR_TOF;
modified_tcsr();
@@ -1524,13 +1635,13 @@ void m6801_cpu_device::ocrh_w(uint8_t data)
{
LOGTIMER("Output Compare High Register: %02x\n", data);
- if(!(m_pending_tcsr&TCSR_OCF))
+ if (!(m_pending_tcsr & TCSR_OCF))
{
m_tcsr &= ~TCSR_OCF;
modified_tcsr();
}
- if( m_output_compare.b.h != data)
+ if (m_output_compare.b.h != data)
{
m_output_compare.b.h = data;
modified_counters();
@@ -1541,13 +1652,13 @@ void m6801_cpu_device::ocrl_w(uint8_t data)
{
LOGTIMER("Output Compare Low Register: %02x\n", data);
- if(!(m_pending_tcsr&TCSR_OCF))
+ if (!(m_pending_tcsr & TCSR_OCF))
{
m_tcsr &= ~TCSR_OCF;
modified_tcsr();
}
- if( m_output_compare.b.l != data)
+ if (m_output_compare.b.l != data)
{
m_output_compare.b.l = data;
modified_counters();
@@ -1556,7 +1667,7 @@ void m6801_cpu_device::ocrl_w(uint8_t data)
uint8_t m6801_cpu_device::icrh_r()
{
- if(!(m_pending_tcsr&TCSR_ICF) && !machine().side_effects_disabled())
+ if (!(m_pending_tcsr & TCSR_ICF) && !machine().side_effects_disabled())
{
m_tcsr &= ~TCSR_ICF;
modified_tcsr();
@@ -1587,7 +1698,7 @@ void hd6301x_cpu_device::tcsr2_w(uint8_t data)
m_tcsr2 = data | (m_tcsr2 & TCSR2_OCF2);
m_pending_tcsr2 &= m_tcsr2;
modified_tcsr();
- if( !(m_cc & 0x10) )
+ if (!(m_cc & 0x10))
m6800_check_irq2();
}
@@ -1605,13 +1716,13 @@ void hd6301x_cpu_device::ocr2h_w(uint8_t data)
{
LOGTIMER("Output Compare High Register 2: %02x\n", data);
- if(!(m_pending_tcsr2&TCSR2_OCF2))
+ if (!(m_pending_tcsr2 & TCSR2_OCF2))
{
m_tcsr2 &= ~TCSR2_OCF2;
modified_tcsr();
}
- if( m_output_compare2.b.h != data)
+ if (m_output_compare2.b.h != data)
{
m_output_compare2.b.h = data;
modified_counters();
@@ -1622,13 +1733,13 @@ void hd6301x_cpu_device::ocr2l_w(uint8_t data)
{
LOGTIMER("Output Compare Low Register 2: %02x\n", data);
- if(!(m_pending_tcsr2&TCSR2_OCF2))
+ if (!(m_pending_tcsr2 & TCSR2_OCF2))
{
m_tcsr2 &= ~TCSR2_OCF2;
modified_tcsr();
}
- if( m_output_compare2.b.l != data)
+ if (m_output_compare2.b.l != data)
{
m_output_compare2.b.l = data;
modified_counters();
@@ -1676,7 +1787,7 @@ void hd6301x_cpu_device::increment_t2cnt(int amount)
}
m_tcsr3 |= 0x80;
- m_timer_next = 0; // HACK
+ m_timer_next = 0; // HACK
}
else
m_t2cnt += amount;
@@ -1714,7 +1825,7 @@ void hd6301x_cpu_device::tcsr3_w(uint8_t data)
{
m_tout3 = false;
write_port2();
- }
+ }
else if (tout3_last_enable ? (data & 0x0c) == 0 : (data & 0x0c) != 0)
{
m_port2_written = true;
@@ -1826,8 +1937,6 @@ void m6801_cpu_device::rcr_w(uint8_t data)
uint8_t m6801_cpu_device::ff_r()
{
- if (!machine().side_effects_disabled())
- logerror("PC %04x: warning - read from write-only internal register\n", pc());
return 0xff;
}
@@ -1867,7 +1976,7 @@ std::unique_ptr<util::disasm_interface> hd6301_cpu_device::create_disassembler()
return std::make_unique<m680x_disassembler>(6301);
}
-void hd6301_cpu_device::TAKE_TRAP()
+void hd6301_cpu_device::take_trap()
{
enter_interrupt("take TRAP\n",0xffee);
}
diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h
index c88d0f3ba1c..de74fed4ff7 100644
--- a/src/devices/cpu/m6800/m6801.h
+++ b/src/devices/cpu/m6800/m6801.h
@@ -13,7 +13,8 @@ enum
{
M6801_IRQ_LINE = M6800_IRQ_LINE,
M6801_TIN_LINE, // P20/Tin Input Capture line (edge sense). Active edge is selectable by internal reg.
- M6801_SC1_LINE
+ M6801_SC1_LINE,
+ M6801_IS_LINE // IS3(6801) or ISF(6301Y)
};
enum
@@ -71,6 +72,7 @@ protected:
// device_execute_interface overrides
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; }
virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); }
+ virtual uint32_t execute_input_lines() const noexcept override { return 5; }
virtual void execute_set_input(int inputnum, int state) override;
// device_disasm_interface overrides
@@ -83,8 +85,8 @@ protected:
uint8_t p2_data_r();
void p2_data_w(uint8_t data);
void p3_ddr_w(uint8_t data);
- uint8_t p3_data_r();
- void p3_data_w(uint8_t data);
+ virtual uint8_t p3_data_r();
+ virtual void p3_data_w(uint8_t data);
uint8_t p3_csr_r();
void p3_csr_w(uint8_t data);
void p4_ddr_w(uint8_t data);
@@ -137,7 +139,7 @@ protected:
PAIR m_counter; /* free running counter */
PAIR m_output_compare; /* output compare */
uint16_t m_input_capture; /* input capture */
- int m_p3csr_is3_flag_read;
+ bool m_pending_isf_clear;
int m_port3_latched;
uint8_t m_trcsr, m_rmcr, m_rdr, m_tdr, m_rsr, m_tsr;
@@ -162,8 +164,8 @@ protected:
virtual void m6800_check_irq2() override;
virtual void increment_counter(int amount) override;
- virtual void EAT_CYCLES() override;
- virtual void CLEANUP_COUNTERS() override;
+ virtual void eat_cycles() override;
+ virtual void cleanup_counters() override;
virtual void modified_tcsr();
virtual void set_timer_event();
@@ -209,7 +211,7 @@ protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
- virtual void TAKE_TRAP() override;
+ virtual void take_trap() override;
};
@@ -269,10 +271,12 @@ protected:
virtual void write_port2() override;
void p2_ddr_2bit_w(uint8_t data);
- uint8_t p5_data_r();
+ virtual uint8_t p3_data_r() override;
+ virtual void p3_data_w(uint8_t data) override;
+ virtual uint8_t p5_data_r();
void p6_ddr_w(uint8_t data);
- uint8_t p6_data_r();
- void p6_data_w(uint8_t data);
+ virtual uint8_t p6_data_r();
+ virtual void p6_data_w(uint8_t data);
uint8_t p7_data_r();
void p7_data_w(uint8_t data);
@@ -296,7 +300,7 @@ protected:
virtual void modified_counters() override;
virtual void increment_counter(int amount) override;
virtual void check_timer_event() override;
- virtual void CLEANUP_COUNTERS() override;
+ virtual void cleanup_counters() override;
virtual void set_rmcr(uint8_t data) override;
devcb_read8::array<2> m_in_portx_func;
@@ -357,8 +361,26 @@ public:
protected:
hd6301y_cpu_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;
+
+ // device_execute_interface overrides
+ virtual void execute_set_input(int inputnum, int state) override;
+
void p5_ddr_w(uint8_t data);
+ virtual uint8_t p5_data_r() override;
void p5_data_w(uint8_t data);
+ virtual uint8_t p6_data_r() override;
+ virtual void p6_data_w(uint8_t data) override;
+ uint8_t p6_csr_r();
+ void p6_csr_w(uint8_t data);
+
+ virtual void m6800_check_irq2() override;
+ void clear_pending_isf();
+
+ uint8_t m_p6csr;
+ bool m_pending_isf_clear;
};
diff --git a/src/devices/cpu/m68000/m68000.h b/src/devices/cpu/m68000/m68000.h
index 285828a0ec2..b5b19c03690 100644
--- a/src/devices/cpu/m68000/m68000.h
+++ b/src/devices/cpu/m68000/m68000.h
@@ -413,13 +413,13 @@ protected:
u16 READ_EA_16(int ea);
u32 READ_EA_32(int ea);
u64 READ_EA_64(int ea);
- floatx80 READ_EA_FPE(int ea);
+ floatx80 READ_EA_FPE(int mode, int reg, uint32 di_mode_ea);
floatx80 READ_EA_PACK(int ea);
void WRITE_EA_8(int ea, u8 data);
void WRITE_EA_16(int ea, u16 data);
void WRITE_EA_32(int ea, u32 data);
void WRITE_EA_64(int ea, u64 data);
- void WRITE_EA_FPE(int ea, floatx80 fpr);
+ void WRITE_EA_FPE(int mode, int reg, floatx80 fpr, uint32 di_mode_ea);
void WRITE_EA_PACK(int ea, int k, floatx80 fpr);
void fpgen_rm_reg(u16 w2);
void fmove_reg_mem(u16 w2);
diff --git a/src/devices/cpu/m68000/m68kfpu.cpp b/src/devices/cpu/m68000/m68kfpu.cpp
index b15da8fe4bd..ed439f2fe5f 100644
--- a/src/devices/cpu/m68000/m68kfpu.cpp
+++ b/src/devices/cpu/m68000/m68kfpu.cpp
@@ -650,12 +650,9 @@ u64 m68000_base_device::READ_EA_64(int ea)
return 0;
}
-
-floatx80 m68000_base_device::READ_EA_FPE(int ea)
+floatx80 m68000_base_device::READ_EA_FPE(int mode, int reg, uint32 di_mode_ea)
{
floatx80 fpr;
- int mode = (ea >> 3) & 0x7;
- int reg = (ea & 0x7);
switch (mode)
{
@@ -682,16 +679,12 @@ floatx80 m68000_base_device::READ_EA_FPE(int ea)
}
case 5: // (d16, An)
{
- // FIXME: will fail for fmovem
- u32 ea = EA_AY_DI_32();
- fpr = load_extended_float80(ea);
+ fpr = load_extended_float80(di_mode_ea);
break;
}
case 6: // (An) + (Xn) + d8
{
- // FIXME: will fail for fmovem
- u32 ea = EA_AY_IX_32();
- fpr = load_extended_float80(ea);
+ fpr = load_extended_float80(di_mode_ea);
break;
}
@@ -722,6 +715,11 @@ floatx80 m68000_base_device::READ_EA_FPE(int ea)
}
break;
+ case 4: // #<data>
+ fpr = load_extended_float80(m_pc);
+ m_pc += 12;
+ break;
+
default:
fatalerror("M68kFPU: READ_EA_FPE: unhandled mode %d, reg %d, at %08X\n", mode, reg, m_pc);
break;
@@ -1070,11 +1068,8 @@ void m68000_base_device::WRITE_EA_64(int ea, u64 data)
}
}
-void m68000_base_device::WRITE_EA_FPE(int ea, floatx80 fpr)
+void m68000_base_device::WRITE_EA_FPE(int mode, int reg, floatx80 fpr, uint32 di_mode_ea)
{
- int mode = (ea >> 3) & 0x7;
- int reg = (ea & 0x7);
-
switch (mode)
{
case 2: // (An)
@@ -1105,8 +1100,9 @@ void m68000_base_device::WRITE_EA_FPE(int ea, floatx80 fpr)
case 5: // (d16,An)
{
- u32 ea = EA_AY_DI_32();
- store_extended_float80(ea, fpr);
+ // EA_AY_DI_32() should not be done here because fmovem would increase
+ // PC each time, reading incorrect displacement & advancing PC too much.
+ store_extended_float80(di_mode_ea, fpr);
break;
}
@@ -1194,7 +1190,10 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
}
case 2: // Extended-precision Real
{
- source = READ_EA_FPE(ea);
+ int imode = (ea >> 3) & 0x7;
+ int reg = (ea & 0x7);
+ uint32 di_mode_ea = imode == 5 ? (REG_A()[reg] + MAKE_INT_16(m68ki_read_imm_16())) : 0;
+ source = READ_EA_FPE(imode, reg, di_mode_ea);
break;
}
case 3: // Packed-decimal Real
@@ -1336,6 +1335,7 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
// handle it right here, the usual opmode bits aren't valid in the FMOVECR case
m_fpr[dst] = source;
+ SET_CONDITION_CODES(m_fpr[dst]);
m_icount -= 4;
return;
}
@@ -1363,6 +1363,7 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
s32 temp;
temp = floatx80_to_int32(source);
m_fpr[dst] = int32_to_floatx80(temp);
+ SET_CONDITION_CODES(m_fpr[dst]);
break;
}
case 0x03: // FINTRZ
@@ -1370,6 +1371,7 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
s32 temp;
temp = floatx80_to_int32_round_to_zero(source);
m_fpr[dst] = int32_to_floatx80(temp);
+ SET_CONDITION_CODES(m_fpr[dst]);
break;
}
case 0x04: // FSQRT
@@ -1458,9 +1460,11 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
m_icount -= 6;
break;
}
+ case 0x60: // FSDIVS
case 0x20: // FDIV
{
m_fpr[dst] = floatx80_div(m_fpr[dst], source);
+ SET_CONDITION_CODES(m_fpr[dst]);
m_icount -= 43;
break;
}
@@ -1481,6 +1485,7 @@ void m68000_base_device::fpgen_rm_reg(u16 w2)
m_icount -= 9;
break;
}
+ case 0x63: // FSMULS (JFF)
case 0x23: // FMUL
{
m_fpr[dst] = floatx80_mul(m_fpr[dst], source);
@@ -1573,7 +1578,11 @@ void m68000_base_device::fmove_reg_mem(u16 w2)
}
case 2: // Extended-precision Real
{
- WRITE_EA_FPE(ea, m_fpr[src]);
+ int mode = (ea >> 3) & 0x7;
+ int reg = (ea & 0x7);
+ uint32 di_mode_ea = mode == 5 ? (REG_A()[reg] + MAKE_INT_16(m68ki_read_imm_16())) : 0;
+
+ WRITE_EA_FPE(mode, reg, m_fpr[src], di_mode_ea);
break;
}
case 3: // Packed-decimal Real with Static K-factor
@@ -1665,7 +1674,11 @@ void m68000_base_device::fmove_fpcr(u16 w2)
}
else // From <ea> to system control reg
{
- if (regsel & 4) m_fpcr = READ_EA_32(ea);
+ if (regsel & 4)
+ {
+ m_fpcr = READ_EA_32(ea);
+ // should update softfloat rounding mode here
+ }
if (regsel & 2) m_fpsr = READ_EA_32(ea);
if (regsel & 1) m_fpiar = READ_EA_32(ea);
}
@@ -1751,20 +1764,23 @@ void m68000_base_device::fmovem(u16 w2)
[[fallthrough]];
case 0: // Static register list, predecrement or control addressing mode
{
+ // the "di_mode_ea" parameter kludge is required here else WRITE_EA_FPE would have
+ // to call EA_AY_DI_32() (that advances PC & reads displacement) each time
+ // when the proper behaviour is 1) read once, 2) increment ea for each matching register
+ // this forces to pre-read the mode (named "imode") so we can decide to read displacement, only once
+ int imode = (ea >> 3) & 0x7;
+ int reg = (ea & 0x7);
+ int di_mode = imode == 5;
+ uint32 di_mode_ea = di_mode ? (REG_A()[reg] + MAKE_INT_16(m68ki_read_imm_16())) : 0;
+
for (i=0; i < 8; i++)
{
if (reglist & (1 << i))
{
- switch (ea >> 3)
+ WRITE_EA_FPE(imode, reg, m_fpr[i], di_mode_ea);
+ if (di_mode)
{
- case 5: // (d16, An)
- case 6: // (An) + (Xn) + d8
- store_extended_float80(mem_addr, m_fpr[i]);
- mem_addr += 12;
- break;
- default:
- WRITE_EA_FPE(ea, m_fpr[i]);
- break;
+ di_mode_ea += 12;
}
m_icount -= 2;
@@ -1779,20 +1795,20 @@ void m68000_base_device::fmovem(u16 w2)
[[fallthrough]];
case 2: // Static register list, postdecrement or control addressing mode
{
+ int imode = (ea >> 3) & 0x7;
+ int reg = (ea & 0x7);
+ int di_mode = imode == 5;
+
+ uint32 di_mode_ea = di_mode ? (REG_A()[reg] + MAKE_INT_16(m68ki_read_imm_16())) : 0;
+
for (i=0; i < 8; i++)
{
if (reglist & (1 << i))
{
- switch (ea >> 3)
+ WRITE_EA_FPE(imode, reg, m_fpr[7 - i], di_mode_ea);
+ if (di_mode)
{
- case 5: // (d16, An)
- case 6: // (An) + (Xn) + d8
- store_extended_float80(mem_addr, m_fpr[7-i]);
- mem_addr += 12;
- break;
- default:
- WRITE_EA_FPE(ea, m_fpr[7-i]);
- break;
+ di_mode_ea += 12;
}
m_icount -= 2;
@@ -1814,6 +1830,11 @@ void m68000_base_device::fmovem(u16 w2)
[[fallthrough]];
case 2: // Static register list, postincrement or control addressing mode
{
+ int imode = (ea >> 3) & 0x7;
+ int reg = (ea & 0x7);
+ int di_mode = imode == 5;
+ uint32 di_mode_ea = di_mode ? (REG_A()[reg] + MAKE_INT_16(m68ki_read_imm_16())) : 0;
+
for (i=0; i < 8; i++)
{
if (reglist & (1 << i))
@@ -1826,7 +1847,7 @@ void m68000_base_device::fmovem(u16 w2)
mem_addr += 12;
break;
default:
- m_fpr[7-i] = READ_EA_FPE(ea);
+ m_fpr[7 - i] = READ_EA_FPE(imode, reg, di_mode_ea);
break;
}
m_icount -= 2;
@@ -1842,10 +1863,24 @@ void m68000_base_device::fmovem(u16 w2)
void m68000_base_device::fscc()
{
- int ea = m_ir & 0x3f;
- int condition = (s16)(OPER_I_16());
+ const int mode = (m_ir & 0x38) >> 3;
+ const int condition = OPER_I_16() & 0x3f;
+ const int v = (TEST_CONDITION(condition) ? 0xff : 0x00);
+
+ switch (mode)
+ {
+ case 0: // Dx (handled specially because it only changes the low byte of Dx)
+ {
+ const int reg = m_ir & 7;
+ REG_D()[reg] = (REG_D()[reg] & 0xffffff00) | v;
+ }
+ break;
+
+ default:
+ WRITE_EA_8(m_ir & 0x3f, v);
+ break;
+ }
- WRITE_EA_8(ea, TEST_CONDITION(condition) ? 0xff : 0);
m_icount -= 7; // ???
}
diff --git a/src/devices/cpu/m68hc16/cpu16dasm.cpp b/src/devices/cpu/m68hc16/cpu16dasm.cpp
new file mode 100644
index 00000000000..14fa05e8b52
--- /dev/null
+++ b/src/devices/cpu/m68hc16/cpu16dasm.cpp
@@ -0,0 +1,1408 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Motorola CPU16 (M68HC16 family) disassembler
+
+ The instruction set was presented as an upgrade of M68HC11. Its
+ encoding is quite different, however. One particular change is that
+ the 8-bit direct mode no longer exists. The use of PC+6 as the base
+ for relative jump destinations is an artifact of pipelining.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "cpu16dasm.h"
+
+cpu16_disassembler::cpu16_disassembler()
+ : util::disasm_interface()
+{
+}
+
+u32 cpu16_disassembler::opcode_alignment() const
+{
+ return 2;
+}
+
+const cpu16_disassembler::opcode_info cpu16_disassembler::s_opinfo[4][256] =
+{
+ {
+ // 0X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 1X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 }, // actually prebyte for page 1
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 2X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 }, // actually prebyte for page 2
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 3X
+ { "movb", cpu16_disassembler::mode::IXP, 0 },
+ { "movw", cpu16_disassembler::mode::IXP, 0 },
+ { "movb", cpu16_disassembler::mode::IXP, 0 },
+ { "movw", cpu16_disassembler::mode::IXP, 0 },
+ { "pshm", cpu16_disassembler::mode::REGM, 0 },
+ { "pulm", cpu16_disassembler::mode::REGM, 0 },
+ { "bsr", cpu16_disassembler::mode::REL, STEP_OVER },
+ { "", cpu16_disassembler::mode::UND, 0 }, // actually prebyte for page 3
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "aix", cpu16_disassembler::mode::IMMS, 0 },
+ { "aiy", cpu16_disassembler::mode::IMMS, 0 },
+ { "aiz", cpu16_disassembler::mode::IMMS, 0 },
+ { "ais", cpu16_disassembler::mode::IMMS, 0 },
+
+ // 4X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "oraa", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "jmp", cpu16_disassembler::mode::IND20, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 5X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "oraa", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "jmp", cpu16_disassembler::mode::IND20, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 6X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "oraa", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "jmp", cpu16_disassembler::mode::IND20, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 7X
+ { "suba", cpu16_disassembler::mode::IMM, 0 },
+ { "adda", cpu16_disassembler::mode::IMM, 0 },
+ { "sbca", cpu16_disassembler::mode::IMM, 0 },
+ { "adca", cpu16_disassembler::mode::IMM, 0 },
+ { "eora", cpu16_disassembler::mode::IMM, 0 },
+ { "ldaa", cpu16_disassembler::mode::IMM, 0 },
+ { "anda", cpu16_disassembler::mode::IMM, 0 },
+ { "oraa", cpu16_disassembler::mode::IMM, 0 },
+ { "cmpa", cpu16_disassembler::mode::IMM, 0 },
+ { "bita", cpu16_disassembler::mode::IMM, 0 },
+ { "jmp", cpu16_disassembler::mode::EXT20, 0 },
+ { "mac", cpu16_disassembler::mode::XYO, 0 },
+ { "adde", cpu16_disassembler::mode::IMMS, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 8X
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "jsr", cpu16_disassembler::mode::IND20, STEP_OVER },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // 9X
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "jsr", cpu16_disassembler::mode::IND20, STEP_OVER },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // AX
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "jsr", cpu16_disassembler::mode::IND20, STEP_OVER },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "brset", cpu16_disassembler::mode::BIT, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // BX
+ { "bra", cpu16_disassembler::mode::REL, 0 },
+ { "brn", cpu16_disassembler::mode::REL, 0 },
+ { "bhi", cpu16_disassembler::mode::REL, 0 },
+ { "bls", cpu16_disassembler::mode::REL, 0 },
+ { "bcc", cpu16_disassembler::mode::REL, 0 },
+ { "bcs", cpu16_disassembler::mode::REL, 0 },
+ { "bne", cpu16_disassembler::mode::REL, 0 },
+ { "beq", cpu16_disassembler::mode::REL, 0 },
+ { "bvc", cpu16_disassembler::mode::REL, 0 },
+ { "bvs", cpu16_disassembler::mode::REL, 0 },
+ { "bpl", cpu16_disassembler::mode::REL, 0 },
+ { "bmi", cpu16_disassembler::mode::REL, 0 },
+ { "bge", cpu16_disassembler::mode::REL, 0 },
+ { "blt", cpu16_disassembler::mode::REL, 0 },
+ { "bgt", cpu16_disassembler::mode::REL, 0 },
+ { "ble", cpu16_disassembler::mode::REL, 0 },
+
+ // CX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // DX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // EX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "brclr", cpu16_disassembler::mode::BIT, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // FX
+ { "subb", cpu16_disassembler::mode::IMM, 0 },
+ { "addb", cpu16_disassembler::mode::IMM, 0 },
+ { "sbcb", cpu16_disassembler::mode::IMM, 0 },
+ { "adcb", cpu16_disassembler::mode::IMM, 0 },
+ { "eorb", cpu16_disassembler::mode::IMM, 0 },
+ { "ldab", cpu16_disassembler::mode::IMM, 0 },
+ { "andb", cpu16_disassembler::mode::IMM, 0 },
+ { "orab", cpu16_disassembler::mode::IMM, 0 },
+ { "cmpb", cpu16_disassembler::mode::IMM, 0 },
+ { "bitb", cpu16_disassembler::mode::IMM, 0 },
+ { "jsr", cpu16_disassembler::mode::EXT20, STEP_OVER },
+ { "rmac", cpu16_disassembler::mode::XYO, 0 },
+ { "addd", cpu16_disassembler::mode::IMMS, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 }
+ },
+ {
+ // 170X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 171X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclr", cpu16_disassembler::mode::BIT, 0 },
+ { "bset", cpu16_disassembler::mode::BIT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 172X
+ { "com", cpu16_disassembler::mode::IND, 0 },
+ { "dec", cpu16_disassembler::mode::IND, 0 },
+ { "neg", cpu16_disassembler::mode::IND, 0 },
+ { "inc", cpu16_disassembler::mode::IND, 0 },
+ { "asl", cpu16_disassembler::mode::IND, 0 },
+ { "clr", cpu16_disassembler::mode::IND, 0 },
+ { "tst", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclr", cpu16_disassembler::mode::IND, 0 },
+ { "bset", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rol", cpu16_disassembler::mode::IND, 0 },
+ { "asr", cpu16_disassembler::mode::IND, 0 },
+ { "ror", cpu16_disassembler::mode::IND, 0 },
+ { "lsr", cpu16_disassembler::mode::IND, 0 },
+
+ // 173X
+ { "com", cpu16_disassembler::mode::EXT, 0 },
+ { "dec", cpu16_disassembler::mode::EXT, 0 },
+ { "neg", cpu16_disassembler::mode::EXT, 0 },
+ { "inc", cpu16_disassembler::mode::EXT, 0 },
+ { "asl", cpu16_disassembler::mode::EXT, 0 },
+ { "clr", cpu16_disassembler::mode::EXT, 0 },
+ { "tst", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rol", cpu16_disassembler::mode::EXT, 0 },
+ { "asr", cpu16_disassembler::mode::EXT, 0 },
+ { "ror", cpu16_disassembler::mode::EXT, 0 },
+ { "lsr", cpu16_disassembler::mode::EXT, 0 },
+
+ // 174X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "ora", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 175X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "ora", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 176X
+ { "suba", cpu16_disassembler::mode::IND, 0 },
+ { "adda", cpu16_disassembler::mode::IND, 0 },
+ { "sbca", cpu16_disassembler::mode::IND, 0 },
+ { "adca", cpu16_disassembler::mode::IND, 0 },
+ { "eora", cpu16_disassembler::mode::IND, 0 },
+ { "ldaa", cpu16_disassembler::mode::IND, 0 },
+ { "anda", cpu16_disassembler::mode::IND, 0 },
+ { "ora", cpu16_disassembler::mode::IND, 0 },
+ { "cmpa", cpu16_disassembler::mode::IND, 0 },
+ { "bita", cpu16_disassembler::mode::IND, 0 },
+ { "staa", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "cpx", cpu16_disassembler::mode::IND, 0 },
+ { "cpy", cpu16_disassembler::mode::IND, 0 },
+ { "cpz", cpu16_disassembler::mode::IND, 0 },
+ { "cps", cpu16_disassembler::mode::IND, 0 },
+
+ // 177X
+ { "suba", cpu16_disassembler::mode::EXT, 0 },
+ { "adda", cpu16_disassembler::mode::EXT, 0 },
+ { "sbca", cpu16_disassembler::mode::EXT, 0 },
+ { "adca", cpu16_disassembler::mode::EXT, 0 },
+ { "eora", cpu16_disassembler::mode::EXT, 0 },
+ { "ldaa", cpu16_disassembler::mode::EXT, 0 },
+ { "anda", cpu16_disassembler::mode::EXT, 0 },
+ { "ora", cpu16_disassembler::mode::EXT, 0 },
+ { "cmpa", cpu16_disassembler::mode::EXT, 0 },
+ { "bita", cpu16_disassembler::mode::EXT, 0 },
+ { "staa", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "cpx", cpu16_disassembler::mode::EXT, 0 },
+ { "cpy", cpu16_disassembler::mode::EXT, 0 },
+ { "cpz", cpu16_disassembler::mode::EXT, 0 },
+ { "cps", cpu16_disassembler::mode::EXT, 0 },
+
+ // 178X
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // 179X
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // 17AX
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "stx", cpu16_disassembler::mode::IND, 0 },
+ { "sty", cpu16_disassembler::mode::IND, 0 },
+ { "stz", cpu16_disassembler::mode::IND, 0 },
+ { "sts", cpu16_disassembler::mode::IND, 0 },
+
+ // 17BX
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "stx", cpu16_disassembler::mode::EXT, 0 },
+ { "sty", cpu16_disassembler::mode::EXT, 0 },
+ { "stz", cpu16_disassembler::mode::EXT, 0 },
+ { "sts", cpu16_disassembler::mode::EXT, 0 },
+
+ // 17CX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // 17DX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // 17EX
+ { "subb", cpu16_disassembler::mode::IND, 0 },
+ { "addb", cpu16_disassembler::mode::IND, 0 },
+ { "sbcb", cpu16_disassembler::mode::IND, 0 },
+ { "adcb", cpu16_disassembler::mode::IND, 0 },
+ { "eorb", cpu16_disassembler::mode::IND, 0 },
+ { "ldab", cpu16_disassembler::mode::IND, 0 },
+ { "andb", cpu16_disassembler::mode::IND, 0 },
+ { "orab", cpu16_disassembler::mode::IND, 0 },
+ { "cmpb", cpu16_disassembler::mode::IND, 0 },
+ { "bitb", cpu16_disassembler::mode::IND, 0 },
+ { "stab", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ldx", cpu16_disassembler::mode::IND, 0 },
+ { "ldy", cpu16_disassembler::mode::IND, 0 },
+ { "ldz", cpu16_disassembler::mode::IND, 0 },
+ { "lds", cpu16_disassembler::mode::IND, 0 },
+
+ // 17FX
+ { "subb", cpu16_disassembler::mode::EXT, 0 },
+ { "addb", cpu16_disassembler::mode::EXT, 0 },
+ { "sbcb", cpu16_disassembler::mode::EXT, 0 },
+ { "adcb", cpu16_disassembler::mode::EXT, 0 },
+ { "eorb", cpu16_disassembler::mode::EXT, 0 },
+ { "ldab", cpu16_disassembler::mode::EXT, 0 },
+ { "andb", cpu16_disassembler::mode::EXT, 0 },
+ { "orab", cpu16_disassembler::mode::EXT, 0 },
+ { "cmpb", cpu16_disassembler::mode::EXT, 0 },
+ { "bitb", cpu16_disassembler::mode::EXT, 0 },
+ { "stab", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ldx", cpu16_disassembler::mode::EXT, 0 },
+ { "ldy", cpu16_disassembler::mode::EXT, 0 },
+ { "ldz", cpu16_disassembler::mode::EXT, 0 },
+ { "lds", cpu16_disassembler::mode::EXT, 0 }
+ },
+ {
+ // 270X
+ { "comw", cpu16_disassembler::mode::IND, 0 },
+ { "decw", cpu16_disassembler::mode::IND, 0 },
+ { "negw", cpu16_disassembler::mode::IND, 0 },
+ { "incw", cpu16_disassembler::mode::IND, 0 },
+ { "aslw", cpu16_disassembler::mode::IND, 0 },
+ { "clrw", cpu16_disassembler::mode::IND, 0 },
+ { "tstw", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclrw", cpu16_disassembler::mode::BIT16, 0 },
+ { "bsetw", cpu16_disassembler::mode::BIT16, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rolw", cpu16_disassembler::mode::IND, 0 },
+ { "asrw", cpu16_disassembler::mode::IND, 0 },
+ { "rorw", cpu16_disassembler::mode::IND, 0 },
+ { "lsrw", cpu16_disassembler::mode::IND, 0 },
+
+ // 271X
+ { "comw", cpu16_disassembler::mode::IND, 0 },
+ { "decw", cpu16_disassembler::mode::IND, 0 },
+ { "negw", cpu16_disassembler::mode::IND, 0 },
+ { "incw", cpu16_disassembler::mode::IND, 0 },
+ { "aslw", cpu16_disassembler::mode::IND, 0 },
+ { "clrw", cpu16_disassembler::mode::IND, 0 },
+ { "tstw", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclrw", cpu16_disassembler::mode::BIT16, 0 },
+ { "bsetw", cpu16_disassembler::mode::BIT16, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rolw", cpu16_disassembler::mode::IND, 0 },
+ { "asrw", cpu16_disassembler::mode::IND, 0 },
+ { "rorw", cpu16_disassembler::mode::IND, 0 },
+ { "lsrw", cpu16_disassembler::mode::IND, 0 },
+
+ // 272X
+ { "comw", cpu16_disassembler::mode::IND, 0 },
+ { "decw", cpu16_disassembler::mode::IND, 0 },
+ { "negw", cpu16_disassembler::mode::IND, 0 },
+ { "incw", cpu16_disassembler::mode::IND, 0 },
+ { "aslw", cpu16_disassembler::mode::IND, 0 },
+ { "clrw", cpu16_disassembler::mode::IND, 0 },
+ { "tstw", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclrw", cpu16_disassembler::mode::BIT16, 0 },
+ { "bsetw", cpu16_disassembler::mode::BIT16, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rolw", cpu16_disassembler::mode::IND, 0 },
+ { "asrw", cpu16_disassembler::mode::IND, 0 },
+ { "rorw", cpu16_disassembler::mode::IND, 0 },
+ { "lsrw", cpu16_disassembler::mode::IND, 0 },
+
+ // 273X
+ { "comw", cpu16_disassembler::mode::EXT, 0 },
+ { "decw", cpu16_disassembler::mode::EXT, 0 },
+ { "negw", cpu16_disassembler::mode::EXT, 0 },
+ { "incw", cpu16_disassembler::mode::EXT, 0 },
+ { "aslw", cpu16_disassembler::mode::EXT, 0 },
+ { "clrw", cpu16_disassembler::mode::EXT, 0 },
+ { "tstw", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bclrw", cpu16_disassembler::mode::BIT16, 0 },
+ { "bsetw", cpu16_disassembler::mode::BIT16, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "rolw", cpu16_disassembler::mode::EXT, 0 },
+ { "asrw", cpu16_disassembler::mode::EXT, 0 },
+ { "rorw", cpu16_disassembler::mode::EXT, 0 },
+ { "lsrw", cpu16_disassembler::mode::EXT, 0 },
+
+ // 274X
+ { "suba", cpu16_disassembler::mode::E, 0 },
+ { "adda", cpu16_disassembler::mode::E, 0 },
+ { "sbca", cpu16_disassembler::mode::E, 0 },
+ { "adca", cpu16_disassembler::mode::E, 0 },
+ { "eora", cpu16_disassembler::mode::E, 0 },
+ { "ldaa", cpu16_disassembler::mode::E, 0 },
+ { "anda", cpu16_disassembler::mode::E, 0 },
+ { "oraa", cpu16_disassembler::mode::E, 0 },
+ { "cmpa", cpu16_disassembler::mode::E, 0 },
+ { "bita", cpu16_disassembler::mode::E, 0 },
+ { "staa", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "nop", cpu16_disassembler::mode::INH, 0 },
+ { "tyx", cpu16_disassembler::mode::INH, 0 },
+ { "tzx", cpu16_disassembler::mode::INH, 0 },
+ { "tsx", cpu16_disassembler::mode::INH, 0 },
+
+ // 275X
+ { "suba", cpu16_disassembler::mode::E, 0 },
+ { "adda", cpu16_disassembler::mode::E, 0 },
+ { "sbca", cpu16_disassembler::mode::E, 0 },
+ { "adca", cpu16_disassembler::mode::E, 0 },
+ { "eora", cpu16_disassembler::mode::E, 0 },
+ { "ldaa", cpu16_disassembler::mode::E, 0 },
+ { "anda", cpu16_disassembler::mode::E, 0 },
+ { "oraa", cpu16_disassembler::mode::E, 0 },
+ { "cmpa", cpu16_disassembler::mode::E, 0 },
+ { "bita", cpu16_disassembler::mode::E, 0 },
+ { "staa", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "txy", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "tzy", cpu16_disassembler::mode::INH, 0 },
+ { "tsy", cpu16_disassembler::mode::INH, 0 },
+
+ // 275X
+ { "suba", cpu16_disassembler::mode::E, 0 },
+ { "adda", cpu16_disassembler::mode::E, 0 },
+ { "sbca", cpu16_disassembler::mode::E, 0 },
+ { "adca", cpu16_disassembler::mode::E, 0 },
+ { "eora", cpu16_disassembler::mode::E, 0 },
+ { "ldaa", cpu16_disassembler::mode::E, 0 },
+ { "anda", cpu16_disassembler::mode::E, 0 },
+ { "oraa", cpu16_disassembler::mode::E, 0 },
+ { "cmpa", cpu16_disassembler::mode::E, 0 },
+ { "bita", cpu16_disassembler::mode::E, 0 },
+ { "staa", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "txz", cpu16_disassembler::mode::INH, 0 },
+ { "tyz", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "tsz", cpu16_disassembler::mode::INH, 0 },
+
+ // 277X
+ { "come", cpu16_disassembler::mode::INH, 0 },
+ { "lded", cpu16_disassembler::mode::EXT, 0 },
+ { "nege", cpu16_disassembler::mode::INH, 0 },
+ { "sted", cpu16_disassembler::mode::EXT, 0 },
+ { "asle", cpu16_disassembler::mode::INH, 0 },
+ { "clre", cpu16_disassembler::mode::INH, 0 },
+ { "tste", cpu16_disassembler::mode::INH, 0 },
+ { "rti", cpu16_disassembler::mode::INH, STEP_OUT },
+ { "ade", cpu16_disassembler::mode::INH, 0 },
+ { "sde", cpu16_disassembler::mode::INH, 0 },
+ { "xgde", cpu16_disassembler::mode::INH, 0 },
+ { "tde", cpu16_disassembler::mode::INH, 0 },
+ { "role", cpu16_disassembler::mode::INH, 0 },
+ { "asre", cpu16_disassembler::mode::INH, 0 },
+ { "rore", cpu16_disassembler::mode::INH, 0 },
+ { "lsre", cpu16_disassembler::mode::INH, 0 },
+
+ // 278X
+ { "subd", cpu16_disassembler::mode::E, 0 },
+ { "addd", cpu16_disassembler::mode::E, 0 },
+ { "sbcd", cpu16_disassembler::mode::E, 0 },
+ { "adcd", cpu16_disassembler::mode::E, 0 },
+ { "eord", cpu16_disassembler::mode::E, 0 },
+ { "ldd", cpu16_disassembler::mode::E, 0 },
+ { "andd", cpu16_disassembler::mode::E, 0 },
+ { "ord", cpu16_disassembler::mode::E, 0 },
+ { "cpd", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 279X
+ { "subd", cpu16_disassembler::mode::E, 0 },
+ { "addd", cpu16_disassembler::mode::E, 0 },
+ { "sbcd", cpu16_disassembler::mode::E, 0 },
+ { "adcd", cpu16_disassembler::mode::E, 0 },
+ { "eord", cpu16_disassembler::mode::E, 0 },
+ { "ldd", cpu16_disassembler::mode::E, 0 },
+ { "andd", cpu16_disassembler::mode::E, 0 },
+ { "ord", cpu16_disassembler::mode::E, 0 },
+ { "cpd", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27AX
+ { "subd", cpu16_disassembler::mode::E, 0 },
+ { "addd", cpu16_disassembler::mode::E, 0 },
+ { "sbcd", cpu16_disassembler::mode::E, 0 },
+ { "adcd", cpu16_disassembler::mode::E, 0 },
+ { "eord", cpu16_disassembler::mode::E, 0 },
+ { "ldd", cpu16_disassembler::mode::E, 0 },
+ { "andd", cpu16_disassembler::mode::E, 0 },
+ { "ord", cpu16_disassembler::mode::E, 0 },
+ { "cpd", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27BX
+ { "ldhi", cpu16_disassembler::mode::EXT, 0 },
+ { "tedm", cpu16_disassembler::mode::INH, 0 },
+ { "tem", cpu16_disassembler::mode::INH, 0 },
+ { "tmexd", cpu16_disassembler::mode::INH, 0 },
+ { "tmer", cpu16_disassembler::mode::INH, 0 },
+ { "tmet", cpu16_disassembler::mode::INH, 0 },
+ { "aslm", cpu16_disassembler::mode::INH, 0 },
+ { "clrm", cpu16_disassembler::mode::INH, 0 },
+ { "pshmac", cpu16_disassembler::mode::INH, 0 },
+ { "pulmac", cpu16_disassembler::mode::INH, 0 },
+ { "asrm", cpu16_disassembler::mode::INH, 0 },
+ { "tekb", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27CX
+ { "subb", cpu16_disassembler::mode::E, 0 },
+ { "addb", cpu16_disassembler::mode::E, 0 },
+ { "sbcb", cpu16_disassembler::mode::E, 0 },
+ { "adcb", cpu16_disassembler::mode::E, 0 },
+ { "eorb", cpu16_disassembler::mode::E, 0 },
+ { "ldab", cpu16_disassembler::mode::E, 0 },
+ { "andb", cpu16_disassembler::mode::E, 0 },
+ { "orab", cpu16_disassembler::mode::E, 0 },
+ { "cmpb", cpu16_disassembler::mode::E, 0 },
+ { "bitb", cpu16_disassembler::mode::E, 0 },
+ { "stab", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27DX
+ { "subb", cpu16_disassembler::mode::E, 0 },
+ { "addb", cpu16_disassembler::mode::E, 0 },
+ { "sbcb", cpu16_disassembler::mode::E, 0 },
+ { "adcb", cpu16_disassembler::mode::E, 0 },
+ { "eorb", cpu16_disassembler::mode::E, 0 },
+ { "ldab", cpu16_disassembler::mode::E, 0 },
+ { "andb", cpu16_disassembler::mode::E, 0 },
+ { "orab", cpu16_disassembler::mode::E, 0 },
+ { "cmpb", cpu16_disassembler::mode::E, 0 },
+ { "bitb", cpu16_disassembler::mode::E, 0 },
+ { "stab", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27EX
+ { "subb", cpu16_disassembler::mode::E, 0 },
+ { "addb", cpu16_disassembler::mode::E, 0 },
+ { "sbcb", cpu16_disassembler::mode::E, 0 },
+ { "adcb", cpu16_disassembler::mode::E, 0 },
+ { "eorb", cpu16_disassembler::mode::E, 0 },
+ { "ldab", cpu16_disassembler::mode::E, 0 },
+ { "andb", cpu16_disassembler::mode::E, 0 },
+ { "orab", cpu16_disassembler::mode::E, 0 },
+ { "cmpb", cpu16_disassembler::mode::E, 0 },
+ { "bitb", cpu16_disassembler::mode::E, 0 },
+ { "stab", cpu16_disassembler::mode::E, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 27FX
+ { "comd", cpu16_disassembler::mode::INH, 0 },
+ { "lpstop", cpu16_disassembler::mode::INH, 0 },
+ { "negd", cpu16_disassembler::mode::INH, 0 },
+ { "wai", cpu16_disassembler::mode::INH, 0 },
+ { "asld", cpu16_disassembler::mode::INH, 0 },
+ { "clrd", cpu16_disassembler::mode::INH, 0 },
+ { "tstd", cpu16_disassembler::mode::INH, 0 },
+ { "rts", cpu16_disassembler::mode::INH, STEP_OUT },
+ { "sxt", cpu16_disassembler::mode::INH, 0 },
+ { "lbsr", cpu16_disassembler::mode::REL, STEP_OVER },
+ { "tbek", cpu16_disassembler::mode::INH, 0 },
+ { "ted", cpu16_disassembler::mode::INH, 0 },
+ { "rold", cpu16_disassembler::mode::INH, 0 },
+ { "asrd", cpu16_disassembler::mode::INH, 0 },
+ { "rord", cpu16_disassembler::mode::INH, 0 },
+ { "lsrd", cpu16_disassembler::mode::INH, 0 }
+ },
+ {
+ // 370X
+ { "coma", cpu16_disassembler::mode::INH, 0 },
+ { "deca", cpu16_disassembler::mode::INH, 0 },
+ { "nega", cpu16_disassembler::mode::INH, 0 },
+ { "inca", cpu16_disassembler::mode::INH, 0 },
+ { "asla", cpu16_disassembler::mode::INH, 0 },
+ { "clra", cpu16_disassembler::mode::INH, 0 },
+ { "tsta", cpu16_disassembler::mode::INH, 0 },
+ { "tba", cpu16_disassembler::mode::INH, 0 },
+ { "psha", cpu16_disassembler::mode::INH, 0 },
+ { "pula", cpu16_disassembler::mode::INH, 0 },
+ { "sba", cpu16_disassembler::mode::INH, 0 },
+ { "aba", cpu16_disassembler::mode::INH, 0 },
+ { "rola", cpu16_disassembler::mode::INH, 0 },
+ { "asra", cpu16_disassembler::mode::INH, 0 },
+ { "rora", cpu16_disassembler::mode::INH, 0 },
+ { "lsra", cpu16_disassembler::mode::INH, 0 },
+
+ // 371X
+ { "comb", cpu16_disassembler::mode::INH, 0 },
+ { "decb", cpu16_disassembler::mode::INH, 0 },
+ { "negb", cpu16_disassembler::mode::INH, 0 },
+ { "incb", cpu16_disassembler::mode::INH, 0 },
+ { "aslb", cpu16_disassembler::mode::INH, 0 },
+ { "clrb", cpu16_disassembler::mode::INH, 0 },
+ { "tstb", cpu16_disassembler::mode::INH, 0 },
+ { "tab", cpu16_disassembler::mode::INH, 0 },
+ { "pshb", cpu16_disassembler::mode::INH, 0 },
+ { "pulb", cpu16_disassembler::mode::INH, 0 },
+ { "xgab", cpu16_disassembler::mode::INH, 0 },
+ { "cba", cpu16_disassembler::mode::INH, 0 },
+ { "rolb", cpu16_disassembler::mode::INH, 0 },
+ { "asrb", cpu16_disassembler::mode::INH, 0 },
+ { "rorb", cpu16_disassembler::mode::INH, 0 },
+ { "lsrb", cpu16_disassembler::mode::INH, 0 },
+
+ // 372X
+ { "swi", cpu16_disassembler::mode::INH, STEP_OVER },
+ { "daa", cpu16_disassembler::mode::INH, 0 },
+ { "ace", cpu16_disassembler::mode::INH, 0 },
+ { "aced", cpu16_disassembler::mode::INH, 0 },
+ { "mul", cpu16_disassembler::mode::INH, 0 },
+ { "emul", cpu16_disassembler::mode::INH, 0 },
+ { "emuls", cpu16_disassembler::mode::INH, 0 },
+ { "fmuls", cpu16_disassembler::mode::INH, 0 },
+ { "ediv", cpu16_disassembler::mode::INH, 0 },
+ { "edivs", cpu16_disassembler::mode::INH, 0 },
+ { "idiv", cpu16_disassembler::mode::INH, 0 },
+ { "fdiv", cpu16_disassembler::mode::INH, 0 },
+ { "tpd", cpu16_disassembler::mode::INH, 0 },
+ { "tdp", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "tdmsk", cpu16_disassembler::mode::INH, 0 },
+
+ // 373X
+ { "sube", cpu16_disassembler::mode::IMM, 0 },
+ { "adde", cpu16_disassembler::mode::IMM, 0 },
+ { "sbcd", cpu16_disassembler::mode::IMM, 0 },
+ { "adce", cpu16_disassembler::mode::IMM, 0 },
+ { "eore", cpu16_disassembler::mode::IMM, 0 },
+ { "lde", cpu16_disassembler::mode::IMM, 0 },
+ { "ande", cpu16_disassembler::mode::IMM, 0 },
+ { "ore", cpu16_disassembler::mode::IMM, 0 },
+ { "cpe", cpu16_disassembler::mode::IMM, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "andp", cpu16_disassembler::mode::IMM, 0 },
+ { "orp", cpu16_disassembler::mode::IMM, 0 },
+ { "aix", cpu16_disassembler::mode::IMMS, 0 },
+ { "aiy", cpu16_disassembler::mode::IMMS, 0 },
+ { "aiz", cpu16_disassembler::mode::IMMS, 0 },
+ { "ais", cpu16_disassembler::mode::IMMS, 0 },
+
+ // 374X
+ { "sube", cpu16_disassembler::mode::IND, 0 },
+ { "adde", cpu16_disassembler::mode::IND, 0 },
+ { "sbce", cpu16_disassembler::mode::IND, 0 },
+ { "adce", cpu16_disassembler::mode::IND, 0 },
+ { "eore", cpu16_disassembler::mode::IND, 0 },
+ { "lde", cpu16_disassembler::mode::IND, 0 },
+ { "ande", cpu16_disassembler::mode::IND, 0 },
+ { "ore", cpu16_disassembler::mode::IND, 0 },
+ { "cpe", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ste", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgex", cpu16_disassembler::mode::INH, 0 },
+ { "aex", cpu16_disassembler::mode::INH, 0 },
+ { "txs", cpu16_disassembler::mode::INH, 0 },
+ { "abx", cpu16_disassembler::mode::INH, 0 },
+
+ // 375X
+ { "sube", cpu16_disassembler::mode::IND, 0 },
+ { "adde", cpu16_disassembler::mode::IND, 0 },
+ { "sbce", cpu16_disassembler::mode::IND, 0 },
+ { "adce", cpu16_disassembler::mode::IND, 0 },
+ { "eore", cpu16_disassembler::mode::IND, 0 },
+ { "lde", cpu16_disassembler::mode::IND, 0 },
+ { "ande", cpu16_disassembler::mode::IND, 0 },
+ { "ore", cpu16_disassembler::mode::IND, 0 },
+ { "cpe", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ste", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgey", cpu16_disassembler::mode::INH, 0 },
+ { "aey", cpu16_disassembler::mode::INH, 0 },
+ { "tys", cpu16_disassembler::mode::INH, 0 },
+ { "aby", cpu16_disassembler::mode::INH, 0 },
+
+ // 376X
+ { "sube", cpu16_disassembler::mode::IND, 0 },
+ { "adde", cpu16_disassembler::mode::IND, 0 },
+ { "sbce", cpu16_disassembler::mode::IND, 0 },
+ { "adce", cpu16_disassembler::mode::IND, 0 },
+ { "eore", cpu16_disassembler::mode::IND, 0 },
+ { "lde", cpu16_disassembler::mode::IND, 0 },
+ { "ande", cpu16_disassembler::mode::IND, 0 },
+ { "ore", cpu16_disassembler::mode::IND, 0 },
+ { "cpe", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ste", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgez", cpu16_disassembler::mode::INH, 0 },
+ { "aez", cpu16_disassembler::mode::INH, 0 },
+ { "tzs", cpu16_disassembler::mode::INH, 0 },
+ { "abz", cpu16_disassembler::mode::INH, 0 },
+
+ // 377X
+ { "sube", cpu16_disassembler::mode::EXT, 0 },
+ { "adde", cpu16_disassembler::mode::EXT, 0 },
+ { "sbce", cpu16_disassembler::mode::EXT, 0 },
+ { "adce", cpu16_disassembler::mode::EXT, 0 },
+ { "eore", cpu16_disassembler::mode::EXT, 0 },
+ { "lde", cpu16_disassembler::mode::EXT, 0 },
+ { "ande", cpu16_disassembler::mode::EXT, 0 },
+ { "ore", cpu16_disassembler::mode::EXT, 0 },
+ { "cpe", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ste", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "cpx", cpu16_disassembler::mode::IMM, 0 },
+ { "cpy", cpu16_disassembler::mode::IMM, 0 },
+ { "cpz", cpu16_disassembler::mode::IMM, 0 },
+ { "cps", cpu16_disassembler::mode::IMM, 0 },
+
+ // 378X
+ { "lbra", cpu16_disassembler::mode::REL, 0 },
+ { "lbrn", cpu16_disassembler::mode::REL, 0 },
+ { "lbhi", cpu16_disassembler::mode::REL, 0 },
+ { "lbls", cpu16_disassembler::mode::REL, 0 },
+ { "lbcc", cpu16_disassembler::mode::REL, 0 },
+ { "lbcs", cpu16_disassembler::mode::REL, 0 },
+ { "lbne", cpu16_disassembler::mode::REL, 0 },
+ { "lbeq", cpu16_disassembler::mode::REL, 0 },
+ { "lbvc", cpu16_disassembler::mode::REL, 0 },
+ { "lbvs", cpu16_disassembler::mode::REL, 0 },
+ { "lbpl", cpu16_disassembler::mode::REL, 0 },
+ { "lbmi", cpu16_disassembler::mode::REL, 0 },
+ { "lbge", cpu16_disassembler::mode::REL, 0 },
+ { "lblt", cpu16_disassembler::mode::REL, 0 },
+ { "lbgt", cpu16_disassembler::mode::REL, 0 },
+ { "lble", cpu16_disassembler::mode::REL, 0 },
+
+ // 379X
+ { "lbmv", cpu16_disassembler::mode::REL, 0 },
+ { "lbev", cpu16_disassembler::mode::REL, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "tbxk", cpu16_disassembler::mode::INH, 0 },
+ { "tbyk", cpu16_disassembler::mode::INH, 0 },
+ { "tbzk", cpu16_disassembler::mode::INH, 0 },
+ { "tbsk", cpu16_disassembler::mode::INH, 0 },
+
+ // 37AX
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "bgnd", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "txkb", cpu16_disassembler::mode::INH, 0 },
+ { "tykb", cpu16_disassembler::mode::INH, 0 },
+ { "tzkb", cpu16_disassembler::mode::INH, 0 },
+ { "tskb", cpu16_disassembler::mode::INH, 0 },
+
+ // 37BX
+ { "subd", cpu16_disassembler::mode::IMM, 0 },
+ { "addd", cpu16_disassembler::mode::IMM, 0 },
+ { "sbcd", cpu16_disassembler::mode::IMM, 0 },
+ { "adcd", cpu16_disassembler::mode::IMM, 0 },
+ { "eord", cpu16_disassembler::mode::IMM, 0 },
+ { "ldd", cpu16_disassembler::mode::IMM, 0 },
+ { "andd", cpu16_disassembler::mode::IMM, 0 },
+ { "ord", cpu16_disassembler::mode::IMM, 0 },
+ { "cpd", cpu16_disassembler::mode::IMM, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "ldx", cpu16_disassembler::mode::IMM, 0 },
+ { "ldy", cpu16_disassembler::mode::IMM, 0 },
+ { "ldz", cpu16_disassembler::mode::IMM, 0 },
+ { "lds", cpu16_disassembler::mode::IMM, 0 },
+
+ // 37CX
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgdx", cpu16_disassembler::mode::INH, 0 },
+ { "adx", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 37DX
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgdy", cpu16_disassembler::mode::INH, 0 },
+ { "ady", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 37EX
+ { "subd", cpu16_disassembler::mode::IND, 0 },
+ { "addd", cpu16_disassembler::mode::IND, 0 },
+ { "sbcd", cpu16_disassembler::mode::IND, 0 },
+ { "adcd", cpu16_disassembler::mode::IND, 0 },
+ { "eord", cpu16_disassembler::mode::IND, 0 },
+ { "ldd", cpu16_disassembler::mode::IND, 0 },
+ { "andd", cpu16_disassembler::mode::IND, 0 },
+ { "ord", cpu16_disassembler::mode::IND, 0 },
+ { "cpd", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::IND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "xgdz", cpu16_disassembler::mode::INH, 0 },
+ { "adz", cpu16_disassembler::mode::INH, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+
+ // 37FX
+ { "subd", cpu16_disassembler::mode::EXT, 0 },
+ { "addd", cpu16_disassembler::mode::EXT, 0 },
+ { "sbcd", cpu16_disassembler::mode::EXT, 0 },
+ { "adcd", cpu16_disassembler::mode::EXT, 0 },
+ { "eord", cpu16_disassembler::mode::EXT, 0 },
+ { "ldd", cpu16_disassembler::mode::EXT, 0 },
+ { "andd", cpu16_disassembler::mode::EXT, 0 },
+ { "ord", cpu16_disassembler::mode::EXT, 0 },
+ { "cpd", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "std", cpu16_disassembler::mode::EXT, 0 },
+ { "", cpu16_disassembler::mode::UND, 0 },
+ { "tpa", cpu16_disassembler::mode::INH, 0 },
+ { "tap", cpu16_disassembler::mode::INH, 0 },
+ { "movb", cpu16_disassembler::mode::EXT, 0 },
+ { "movw", cpu16_disassembler::mode::EXT, 0 }
+ }
+};
+
+const std::string_view cpu16_disassembler::s_regset[7] =
+{
+ "d", "e", "x", "y", "z", "k", "cc"
+};
+
+void cpu16_disassembler::format_signed(std::ostream &stream, u16 value)
+{
+ if (s16(value) < 0)
+ {
+ stream << '-';
+ value = -value;
+ }
+ if (value > 9)
+ stream << '$';
+ util::stream_format(stream, "%X", value);
+}
+
+void cpu16_disassembler::format_index8(std::ostream &stream, u8 offset, char reg)
+{
+ // 8-bit offsets are unsigned
+ if (offset > 9)
+ stream << '$';
+ util::stream_format(stream, "%X, %c", offset, reg);
+}
+
+void cpu16_disassembler::format_index16(std::ostream &stream, u16 offset, char reg)
+{
+ // 16-bit offsets are signed
+ format_signed(stream, offset);
+ util::stream_format(stream, ", %c", reg);
+}
+
+offs_t cpu16_disassembler::disassemble(std::ostream &stream, offs_t pc, const cpu16_disassembler::data_buffer &opcodes, const cpu16_disassembler::data_buffer &params)
+{
+ const u16 opcode = opcodes.r16(pc);
+ const u8 page = (opcode & 0xcf00) == 0x0700 ? BIT(opcode, 12, 2) : 0;
+ const opcode_info &info = s_opinfo[page][page == 0 ? opcode >> 8 : opcode & 0x00ff];
+
+ switch (info.m_mode)
+ {
+ default:
+ case mode::UND:
+ assert(info.m_name.empty());
+ util::stream_format(stream, "%-6s$%04X", "fdb", opcode);
+ return 2 | SUPPORTED;
+
+ case mode::INH:
+ stream << info.m_name;
+ return 2 | SUPPORTED | info.m_flags;
+
+ case mode::IMM:
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (page == 0)
+ {
+ util::stream_format(stream, "#$%02X", opcode & 0x00ff);
+ return 2 | SUPPORTED | info.m_flags;
+ }
+ else
+ {
+ util::stream_format(stream, "#$%04X", opcodes.r16(pc + 2));
+ return 4 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::IMMS: // Sign-extended immediate
+ util::stream_format(stream, "%-6s#", info.m_name);
+ if (page == 0)
+ {
+ format_signed(stream, s16(s8(opcode & 0x00ff)));
+ return 2 | SUPPORTED | info.m_flags;
+ }
+ else
+ {
+ format_signed(stream, opcodes.r16(pc + 2));
+ return 4 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::REGM:
+ {
+ assert(page == 0);
+ util::stream_format(stream, "%-6s", info.m_name);
+ bool any = false;
+ for (int i = 0; i < 7; i++)
+ {
+ // PSHM and POPM scan registers in the opposite order
+ if (BIT(opcode, 8) ? BIT(opcode, 6 - i) : BIT(opcode, i))
+ {
+ if (any)
+ stream << ", ";
+ else
+ any = true;
+ stream << s_regset[i];
+ }
+ }
+ if (BIT(opcode, 7))
+ {
+ if (any)
+ stream << ", ";
+ stream << "(reserved)";
+ }
+ else if (!any)
+ stream << '0';
+ return 2 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::XYO:
+ assert(page == 0);
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (BIT(opcode, 7))
+ util::stream_format(stream, "-%d, ", 8 - BIT(opcode, 4, 3));
+ else
+ util::stream_format(stream, "%d, ", BIT(opcode, 4, 3));
+ if (BIT(opcode, 3))
+ util::stream_format(stream, "-%d", 8 - BIT(opcode, 0, 3));
+ else
+ util::stream_format(stream, "%d", BIT(opcode, 0, 3));
+ return 2 | SUPPORTED | info.m_flags;
+
+ case mode::IND:
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (page == 0)
+ {
+ format_index8(stream, opcode & 0x00ff, 'x' + BIT(opcode, 12, 2));
+ return 2 | SUPPORTED | info.m_flags;
+ }
+ else
+ {
+ format_index16(stream, opcodes.r16(pc + 2), 'x' + BIT(opcode, 4, 2));
+ return 4 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::IND20:
+ assert(page == 0);
+ util::stream_format(stream, "%-6s$%05X, %c", info.m_name, u32(opcode & 0x000f) << 16 | opcodes.r16(pc + 2), 'x' + BIT(opcode, 12, 2));
+ return 4 | SUPPORTED | info.m_flags;
+
+ case mode::EXT:
+ assert(page != 0);
+ util::stream_format(stream, "%-6s$%04X", info.m_name, opcodes.r16(pc + 2));
+ if ((opcode & 0xfffe) == 0x37fe)
+ {
+ util::stream_format(stream, ", $%04X", opcodes.r16(pc + 4));
+ return 6 | SUPPORTED | info.m_flags;
+ }
+ else
+ return 4 | SUPPORTED | info.m_flags;
+
+ case mode::EXT20:
+ assert(page == 0);
+ util::stream_format(stream, "%-6s$%05X", info.m_name, u32(opcode & 0x000f) << 16 | opcodes.r16(pc + 2));
+ return 4 | SUPPORTED | info.m_flags;
+
+ case mode::E:
+ assert(page != 0);
+ util::stream_format(stream, "%-6se, %c", info.m_name, 'x' + BIT(opcode, 4, 2));
+ return 2 | SUPPORTED | info.m_flags;
+
+ case mode::REL:
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (page == 0)
+ {
+ util::stream_format(stream, "$%05X", (pc + 6 + s8(opcode & 0x00ff)) & 0xfffff);
+ return 2 | SUPPORTED | info.m_flags;
+ }
+ else
+ {
+ util::stream_format(stream, "$%05X", (pc + 6 + s16(opcodes.r16(pc + 2))) & 0xfffff);
+ return 4 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::BIT:
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (page != 0)
+ {
+ const u16 operand = opcodes.r16(pc + 2);
+ format_index8(stream, operand & 0x00ff, 'x' + BIT(opcode, 4, 2));
+ util::stream_format(stream, ", #$%02X", operand >> 8);
+ return 4 | SUPPORTED | info.m_flags;
+ }
+ else if (opcode >= 0x8000)
+ {
+ const u16 operand = opcodes.r16(pc + 2);
+ format_index8(stream, operand >> 8, 'x' + BIT(opcode, 12, 2));
+ util::stream_format(stream, ", #$%02X, $%04X", opcode & 0x00ff, (pc + 6 + s8(operand & 0x00ff)) & 0xfffff);
+ return 4 | SUPPORTED | info.m_flags;
+ }
+ else
+ {
+ if (BIT(opcode, 12, 2) != 3)
+ format_index16(stream, opcodes.r16(pc + 2), 'x' + BIT(opcode, 12, 2));
+ else
+ util::stream_format(stream, "$%04X", opcodes.r16(pc + 2));
+ util::stream_format(stream, ", #$%02X", opcode & 0x00ff);
+ if (BIT(opcode, 9))
+ {
+ util::stream_format(stream, ", $%04X", (pc + 6 + s16(opcodes.r16(pc + 4))) & 0xfffff);
+ return 6 | SUPPORTED | info.m_flags;
+ }
+ else
+ return 4 | SUPPORTED | info.m_flags;
+ }
+
+ case mode::BIT16:
+ assert(page != 0);
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (BIT(opcode, 4, 2) != 3)
+ format_index16(stream, opcodes.r16(pc + 2), 'x' + BIT(opcode, 4, 2));
+ else
+ util::stream_format(stream, "$%04X", opcodes.r16(pc + 2));
+ util::stream_format(stream, ", #$%04X", opcodes.r16(pc + 4));
+ return 6 | SUPPORTED | info.m_flags;
+
+ case mode::IXP:
+ assert(page == 0);
+ util::stream_format(stream, "%-6s", info.m_name);
+ if (BIT(opcode, 9))
+ util::stream_format(stream, "$%04X, ", opcodes.r16(pc + 2));
+ format_index8(stream, opcode & 0x00ff, 'x');
+ if (!BIT(opcode, 9))
+ util::stream_format(stream, ", $%04X", opcodes.r16(pc + 2));
+ return 4 | SUPPORTED | info.m_flags;
+ }
+}
diff --git a/src/devices/cpu/m68hc16/cpu16dasm.h b/src/devices/cpu/m68hc16/cpu16dasm.h
new file mode 100644
index 00000000000..192453bb0fb
--- /dev/null
+++ b/src/devices/cpu/m68hc16/cpu16dasm.h
@@ -0,0 +1,59 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+
+#ifndef MAME_CPU_M68HC16_CPU16DASM_H
+#define MAME_CPU_M68HC16_CPU16DASM_H
+
+#pragma once
+
+#include <string_view>
+
+class cpu16_disassembler : public util::disasm_interface
+{
+public:
+ // construction/destruction
+ cpu16_disassembler();
+
+protected:
+ // 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:
+ enum class mode
+ {
+ UND,
+ INH,
+ IMM,
+ IMMS,
+ REGM,
+ XYO,
+ IND,
+ IND20,
+ EXT,
+ EXT20,
+ E,
+ REL,
+ BIT,
+ BIT16,
+ IXP
+ };
+
+ struct opcode_info
+ {
+ std::string_view m_name;
+ mode m_mode;
+ offs_t m_flags;
+ };
+
+ // internal helpers
+ void format_signed(std::ostream &stream, u16 value);
+ void format_index8(std::ostream &stream, u8 offset, char reg);
+ void format_index16(std::ostream &stream, u16 offset, char reg);
+
+ // internal tables
+ static const opcode_info s_opinfo[4][256];
+ static const std::string_view s_regset[7];
+};
+
+#endif // MAME_CPU_M68HC16_CPU16DASM_H
diff --git a/src/devices/cpu/pdp8/hd6120.cpp b/src/devices/cpu/pdp8/hd6120.cpp
new file mode 100644
index 00000000000..ec72498d272
--- /dev/null
+++ b/src/devices/cpu/pdp8/hd6120.cpp
@@ -0,0 +1,1356 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Harris HD-6120 High-Speed CMOS 12 Bit Microprocessor
+
+ The HD-6120 is a second-generation 12-bit microprocessor developed by
+ Harris Semiconductor in conjunction with Digital Equipment Corporation.
+ Like its predecessor, Intersil's IM6100 (which Harris second-sourced),
+ it is a single-chip implementation of DEC's PDP-8 architecture in
+ fully static CMOS with a multiplexed address/data bus. Though HD-6120
+ was originally designed to operate at typical frequencies similar to
+ those of the IM6100 (its maximum oscillator input was later upgraded
+ from 5.1 MHz to 8 MHz), it executes instructions faster largely due to
+ increased parallelism; the number of minor states in each machine
+ cycle is also considerably more variable on HD-6120.
+
+ HD-6120 also differs from IM6100 in its external interface. Whereas
+ IM6100 generates a single narrow LXMAR strobe at the beginning of each
+ memory or I/O cycle, followed by strobes that identify the space but
+ not the direction of transfer, HD-6120 identifies the space by the
+ falling edge of LXMAR, LXPAR or LXDAR and holds it low while generating
+ READ and/or WRITE strobes, as well as MEMSEL for memory accesses.
+ Accesses to the “switch register” (a data word stored outside the CPU
+ itself, as on previous PDP-8s, but is also writable here) are
+ identified by READ and WRITE occurring in the absence of LXMAR, LXPAR
+ or LXDAR, as are the special register transfer operations. (DATAF is
+ asserted for the former, along with DF, and IFETCH for the latter.)
+ OUT primarily provides directional control for bus transceivers such
+ as HD-6432 and HD-6433 (though 74LS245 may be used instead), but its
+ inversion can also be used to provide a wider READ strobe. ACK is used
+ to extend READ and WRITE operations while keeping the clock running;
+ it may be pulled up to Vcc when not used (as is the case on all of the
+ DECmates). LXDAR is also brought low to indicate the data portion of
+ auto-indexing cycles, and is held low briefly after RESET to help
+ distinguish the power-on IOCLR from the pulse generated by the CAF
+ instruction.
+
+ During a minor cycle in which LXMAR, LXPAR or LXDAR goes from high to
+ low, either IF or DF is output on the C0, C1 and EMA2 lines together
+ with the memory or device address on DX0–DX11. The DATAF output used
+ by IM6100 to indicate indirect accesses to data memory may be ignored
+ here, though some systems still use it for banking.
+
+ IOT instructions with codes 6000–6007 and 6200–6277 are reserved for
+ on-chip functions and do not generate LXDAR when executed. These
+ functions include the standard memory extension controls (excluding
+ time-sharing modes and the Intersil-exclusive LIF), plus a set of new
+ IOTs that can be used to move values of AC and PC to and from two
+ independent stacks in memory field 0. SKON, SRQ and GTF are replaced
+ by completely different operations in control panel mode, which can
+ now be accessed by software using HLT or the new PR0–PR3 traps. Panel
+ mode programs may generate indirect accesses to control panel memory
+ rather than main memory by setting the Panel Data Flag (PDF).
+
+ For external I/O transfer cycles, HD-6120 performs a WRITE followed by
+ an optional READ, whereas IM6100 always performed a read first. During
+ completion of the AC write phase, the C0, C1 and SKIP lines are sampled
+ to be interpreted appropriately (HD-6120 does not recognize C2 despite
+ EMA2 being three-stated at this time), and no data is received from the
+ device if C0 is inactive high. (This emulation uses a parallel address
+ space to read these flags and defines 1 as low and 0 as high, as these
+ and most other signals were on older PDP-8 buses.) DF is also output
+ (and DATAF asserted) along with the device address during the LXDAR
+ minor cycle, and some peripheral implementations make use of bits
+ latched from DF as extra control inputs.
+
+ HD-6120, like IM6100, has a special “control panel” mode, with priority
+ over normal interrupts, used to execute supervisory functions from a
+ separate memory space that has the same dimensions as main memory but
+ is inaccessible from programs executing from there. Due to MAME's
+ memory architecture only fully supporting one program space, this
+ emulation translates addresses in panel space into the upper extension
+ of a 64K-word memory space, which does agree with how the DECmate II
+ and DECmate III physically implement it.
+
+ The INTGNT output becomes active low when an interrupt request is
+ accepted and returns high at the end of the first external IOT. This
+ signal is intended for interrupting devices, specifically the HD-6121
+ Input/Output Controller, to respond specially to this first IOT. The
+ INTGNT output is suppressed upon entering panel mode, only to become
+ active again when execution returns to main memory.
+
+ The HD-6120's 12-bit major registers, besides AC, MQ (which one
+ functional diagram more aptly labels the “Accumulator-Adjunct
+ Register”), PC and the two stack pointers, include several which are
+ only implicitly used in execution: a TEMP register that latches ALU
+ outputs, the instruction register IR, and the output latch register OL
+ that holds all addresses and data to be output on the DX bus. HD-6120
+ also internally maintains a group of 3-bit registers whose path
+ connects to TEMP, each of which contains the current memory extension
+ fields, their mirrors or various flags. (This emulation extends the
+ field registers to 4 bits to include the CTRLFF, PDF and PEX flags,
+ which are neither readable nor output directly at any time.)
+ Particular flag registers are enabled on the C0, C1 and EMA2 lines
+ during the final writes of ISZ, DCA and JMS. The most important of
+ these flag registers includes LINK, the interrupt enable flip-flop and
+ the GT flag hitherto provided only on arithmetic extensions of some
+ previous PDP-8 CPUs, though like MQ it conveys no specific purpose
+ here. Another flag register contains the inverse of the active-low
+ INTREQ input, the PWRON flag (set if STRTUP = VSS at RESET time,
+ causing entry into panel mode) and 0 in its LSB.
+
+ Undefined Group 3 OPRs and internal IOTs have no effect on the
+ HD-6120 except that both interrupts and panel requests are blocked
+ until after the next instruction. This was apparently provided to
+ allow a hypothetical extended arithmetic processor or programmer's
+ console to independently decode any number of these instructions and
+ reliably trap them by initiating a register transfer operation during
+ the immediately following IFETCH cycle. This operation, initiated by
+ pulling SKIP low any time an instruction word is being read, causes
+ the CPU to disregard that instruction, strobe out AC, flags and MQ,
+ then stall indefinitely until SKIP is released, at which point it
+ reads AC, LINK, GT, MQ and PC back in.
+
+ As ever with the PDP-8, official documentation numbers MSB as 0 and
+ the LSB of a word as 11. This may cause some confusion, since MAME,
+ like most computers since the PDP-11, numbers bits the opposite way.
+
+ Known issues:
+ * Several instruction timings are likely off by one minor cycle, and
+ their cycle-by-cycle sequencing is even more of an educated guess.
+ Official documentation is very inconsistent and does not offer
+ complete timing information for specific instructions (such as
+ exactly when INTREQ is sampled for SRQ or GTF or the duration of
+ the IOCLR pulse issued by CAF).
+ * Some of the internal IOTs have not been tested thoroughly, the
+ stack operations in particular. Their implementation may need to
+ be adjusted slightly.
+ * The DMAREQ input and DMAGNT output have not been implemented.
+ * The RUN/HLT and ACK inputs have not been implemented, though no
+ system is known to use either of these.
+ * As explained above, auto-indexing cycles are distinguished by the
+ assertion of the DATAF signal. If any system uses this output to
+ modify memory accesses in some way, the device implementation
+ should add whatever hooks and configuration flags are needed.
+ * The register transfer operation and special flag outputs have not
+ been implemented. Harris's datasheet has no more than one vague
+ allusion to the latter feature, and both seem much more likely to
+ have been used for IC testing than in any commercial product.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "hd6120.h"
+#include "pdp8dasm.h"
+
+// device type definition
+DEFINE_DEVICE_TYPE(HD6120, hd6120_device, "hd6120", "Harris HD-6120")
+
+ALLOW_SAVE_TYPE(hd6120_device::minor_state)
+
+hd6120_device::hd6120_device(const machine_config &config, const char *tag, device_t *owner, u32 clock)
+ : cpu_device(config, HD6120, tag, owner, clock)
+ , m_inst_config("instruction", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
+ , m_data_config("data", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
+ , m_io_config("I/O", ENDIANNESS_BIG, 16, 9, -1) // 12 data bits
+ , m_devctl_config("device control", ENDIANNESS_BIG, 8, 9, 0) // only 3 bits used
+ , m_lxmar_callback(*this)
+ , m_lxpar_callback(*this)
+ , m_lxdar_callback(*this)
+ , m_rsr_callback(*this)
+ , m_wsr_callback(*this)
+ , m_strtup_callback(*this)
+ , m_intgnt_callback(*this)
+ , m_ioclr_callback(*this)
+ , m_pc(0)
+ , m_ac(0)
+ , m_mq(0)
+ , m_sp{0, 0}
+ , m_temp(0)
+ , m_ir(0)
+ , m_if(0)
+ , m_ib(0)
+ , m_df(0)
+ , m_sf(0)
+ , m_flags(0)
+ , m_pnlflgs(0)
+ , m_fz(false)
+ , m_iiff(false)
+ , m_pwron(false)
+ , m_intgnt(false)
+ , m_state(minor_state::RESET_1)
+ , m_iaddr(0)
+ , m_icount(0)
+ , m_intreq_input(false)
+ , m_cpreq_input(false)
+{
+ m_inst_config.m_is_octal = true;
+ m_data_config.m_is_octal = true;
+ m_io_config.m_is_octal = true;
+ m_devctl_config.m_is_octal = true; // data might not be logically octal, but addresses sure are
+}
+
+std::unique_ptr<util::disasm_interface> hd6120_device::create_disassembler()
+{
+ return std::make_unique<hd6120_disassembler>();
+}
+
+hd6120_device::space_config_vector hd6120_device::memory_space_config() const
+{
+ if (has_configured_map(AS_DATA))
+ return space_config_vector {
+ std::make_pair(AS_PROGRAM, &m_inst_config),
+ std::make_pair(AS_DATA, &m_data_config),
+ std::make_pair(AS_IO, &m_io_config),
+ std::make_pair(AS_DEVCTL, &m_devctl_config)
+ };
+ else
+ return space_config_vector {
+ std::make_pair(AS_PROGRAM, &m_inst_config),
+ std::make_pair(AS_IO, &m_io_config),
+ std::make_pair(AS_DEVCTL, &m_devctl_config)
+ };
+}
+
+void hd6120_device::device_resolve_objects()
+{
+ // Resolve callbacks
+ m_lxmar_callback.resolve_safe();
+ m_lxpar_callback.resolve_safe();
+ m_lxdar_callback.resolve_safe();
+ m_rsr_callback.resolve();
+ m_wsr_callback.resolve_safe();
+ m_strtup_callback.resolve_safe(1);
+ m_intgnt_callback.resolve_safe();
+ m_ioclr_callback.resolve_safe();
+}
+
+u16 hd6120_device::rotate_step(u16 data)
+{
+ const bool link = BIT(m_flags, 2);
+ switch (BIT(m_ir, 1, 3))
+ {
+ case 0: default:
+ // No rotate
+ return data;
+
+ case 1: case 6:
+ // BSW (twice) or R3L (once)
+ return ((data << 3) & 07770) | ((data >> 9) & 7);
+
+ case 2: case 3:
+ // RAL (once) or RTL (twice)
+ if (BIT(data, 11))
+ m_flags |= 4;
+ else
+ m_flags &= 3;
+ return ((data << 1) & 07776) | (link ? 1 : 0);
+
+ case 4: case 5:
+ // RAR (once) or RTR (twice)
+ if (BIT(data, 0))
+ m_flags |= 4;
+ else
+ m_flags &= 3;
+ return ((data >> 1) & 03777) | (link ? 04000 : 0);
+ }
+}
+
+bool hd6120_device::skip_test() const
+{
+ bool cond = false;
+ if (BIT(m_ir, 6) && m_ac >= 04000) // SMA/SPA
+ cond = true;
+ else if (BIT(m_ir, 5) && m_ac == 0) // SZA/SNA
+ cond = true;
+ else if (BIT(m_ir, 4) && BIT(m_flags, 2)) // SNL/SZL
+ cond = true;
+ if (BIT(m_ir, 3))
+ return !cond;
+ else
+ return cond;
+}
+
+u16 hd6120_device::dataf_map(u16 addr) const
+{
+ if (m_ir >= 04000)
+ return u16(m_iiff ? m_ib : m_fz ? 010 : m_if) << 12 | addr;
+ else
+ return u16(m_df) << 12 | addr;
+}
+
+void hd6120_device::next_instruction()
+{
+ if (m_iiff || m_ib >= 010)
+ m_state = minor_state::IFETCH_1;
+ else if (m_pwron || m_pnlflgs != 0)
+ m_state = minor_state::CPINT_1;
+ else if (BIT(m_flags, 0) && m_intreq_input)
+ m_state = minor_state::INTGNT_1;
+ else
+ m_state = minor_state::IFETCH_1;
+}
+
+void hd6120_device::transfer_pc(u16 addr)
+{
+ bool panel_exit = false;
+ if (m_iiff)
+ {
+ if (BIT(m_if & ~m_ib, 3))
+ {
+ debugger_privilege_hook();
+ panel_exit = true;
+
+ // PDF is nominally reset only upon entering panel mode, but has no function outside it
+ m_df &= 7;
+ }
+ m_if = m_ib;
+ m_iiff = false;
+ m_fz = false;
+ }
+ m_pc = addr;
+ if (m_ib >= 010)
+ m_state = minor_state::IFETCH_1;
+ else if ((panel_exit ? (m_pnlflgs & 6) : m_pnlflgs) != 0)
+ m_state = minor_state::CPINT_1;
+ else
+ {
+ if (m_intgnt && panel_exit)
+ m_intgnt_callback(0);
+ if (BIT(m_flags, 0) && m_intreq_input)
+ m_state = minor_state::INTGNT_1;
+ else
+ m_state = minor_state::IFETCH_1;
+ }
+}
+
+void hd6120_device::debug_set_pc(u16 addr)
+{
+ m_iaddr = addr;
+ m_pc = addr & 07777;
+ m_if = BIT(addr, 12, 4);
+ m_fz = false;
+ if (!m_iiff)
+ {
+ // Fix up IB and DF
+ if (BIT(m_if, 3))
+ m_ib |= 010;
+ else
+ {
+ m_ib &= 7;
+ m_df &= 7;
+ }
+ }
+}
+
+void hd6120_device::debug_update_pc(u16 addr)
+{
+ m_pc = addr;
+ m_iaddr = (m_iaddr & 0170000) | addr;
+}
+
+void hd6120_device::device_start()
+{
+ set_icountptr(m_icount);
+
+ // Bind address spaces
+ space(AS_PROGRAM).cache(m_icache);
+ space(AS_PROGRAM).specific(m_inst);
+ space(has_space(AS_DATA) ? AS_DATA : AS_PROGRAM).specific(m_data);
+ space(AS_IO).specific(m_io);
+ space(AS_DEVCTL).specific(m_devctl);
+
+ // Register debug state
+ using namespace std::placeholders;
+ state_add(HD6120_PC, "PC", m_pc, std::bind(&hd6120_device::debug_update_pc, this, _1)).mask(07777).formatstr("%04O");
+ state_add(STATE_GENPC, "GENPC", m_iaddr, std::bind(&hd6120_device::debug_set_pc, this, _1)).mask(0177777).formatstr("%06O").noshow();
+ state_add(STATE_GENPCBASE, "CURPC", m_iaddr, std::bind(&hd6120_device::debug_set_pc, this, _1)).mask(0177777).formatstr("%06O").noshow();
+ state_add(HD6120_IF, "IF", m_if).mask(017).formatstr("%6s");
+ state_add(HD6120_IB, "IB", m_ib).mask(017).formatstr("%7s");
+ state_add(HD6120_DF, "DF", m_df).mask(017).formatstr("%7s");
+ state_add(HD6120_SF, "SF", m_sf).mask(077).formatstr("%02O");
+ state_add(HD6120_IIFF, "IIFF", m_iiff);
+ state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).mask(7).formatstr("%10s").noshow();
+ state_add(HD6120_FLAGS, "FLAGS", m_flags).mask(7);
+ state_add(HD6120_PNLFLGS, "PNLFLGS", m_pnlflgs).mask(7);
+ state_add(HD6120_PWRON, "PWRON", m_pwron);
+ state_add(HD6120_AC, "AC", m_ac).mask(07777).formatstr("%04O");
+ state_add(HD6120_MQ, "MQ", m_mq).mask(07777).formatstr("%04O");
+ state_add(HD6120_SP1, "SP1", m_sp[0]).mask(07777).formatstr("%04O");
+ state_add(HD6120_SP2, "SP2", m_sp[1]).mask(07777).formatstr("%04O");
+
+ // Register save state
+ save_item(NAME(m_pc));
+ save_item(NAME(m_ac));
+ save_item(NAME(m_mq));
+ save_item(NAME(m_sp));
+ save_item(NAME(m_temp));
+ save_item(NAME(m_ir));
+ save_item(NAME(m_if));
+ save_item(NAME(m_ib));
+ save_item(NAME(m_df));
+ save_item(NAME(m_sf));
+ save_item(NAME(m_flags));
+ save_item(NAME(m_pnlflgs));
+ save_item(NAME(m_fz));
+ save_item(NAME(m_iiff));
+ save_item(NAME(m_pwron));
+ save_item(NAME(m_intgnt));
+ save_item(NAME(m_state));
+ save_item(NAME(m_iaddr));
+ save_item(NAME(m_oaddr));
+ save_item(NAME(m_intreq_input));
+ save_item(NAME(m_cpreq_input));
+}
+
+void hd6120_device::device_reset()
+{
+ m_ac = 0;
+ m_flags = 0;
+ m_pnlflgs = 0;
+ m_iiff = false;
+ m_fz = false;
+ m_pwron = !m_strtup_callback();
+ m_if = 0;
+ m_ib = 0;
+ m_df = 0;
+ m_sf = 0;
+ m_intgnt = false;
+ m_intgnt_callback(1);
+ m_ioclr_callback(0);
+}
+
+void hd6120_device::execute_run()
+{
+ do
+ {
+ switch (m_state)
+ {
+ case minor_state::RESET_1:
+ m_state = minor_state::RESET_2;
+ break;
+
+ case minor_state::RESET_2:
+ m_ioclr_callback(1);
+ m_state = minor_state::RESET_3;
+ break;
+
+ case minor_state::RESET_3:
+ m_state = minor_state::RESET_4;
+ break;
+
+ case minor_state::RESET_4:
+ m_temp = 07777;
+ m_state = minor_state::RESET_5;
+ break;
+
+ case minor_state::RESET_5:
+ m_pc = m_temp;
+ m_temp = 0;
+ next_instruction();
+ break;
+
+ case minor_state::IFETCH_1:
+ m_ac = m_temp & 07777;
+ m_iaddr = u16(m_fz ? 010 : m_if) << 12 | m_pc;
+ debugger_instruction_hook(m_iaddr);
+ if (m_iaddr >= 0100000)
+ m_lxpar_callback(IFETCH, m_iaddr & 077777);
+ else
+ m_lxmar_callback(IFETCH, m_iaddr);
+ m_state = minor_state::IFETCH_2;
+ break;
+
+ case minor_state::IFETCH_2:
+ m_state = minor_state::IFETCH_3;
+ break;
+
+ case minor_state::IFETCH_3:
+ m_ir = m_icache.read_word(m_iaddr) & 07777;
+ m_temp = m_pc + 1;
+ if (m_ir >= 07400)
+ {
+ if (BIT(m_ir, 0))
+ m_state = minor_state::OP3_1;
+ else
+ m_state = minor_state::OP2_1;
+ }
+ else if (m_ir >= 07000)
+ m_state = minor_state::OP1_1;
+ else if (m_ir >= 06000)
+ m_state = minor_state::IOT_1;
+ else
+ {
+ m_oaddr = (m_iaddr & (BIT(m_ir, 7) ? 0177600 : 0170000)) | (m_ir & 0177);
+ if (BIT(m_ir, 8))
+ m_state = minor_state::INDIR_1;
+ else if ((m_ir & 07000) == 05000)
+ m_state = minor_state::JMP_1;
+ else
+ m_state = minor_state::EXEC_1;
+ }
+ break;
+
+ case minor_state::INDIR_1:
+ m_pc = m_temp & 07777;
+ if (m_oaddr >= 0100000)
+ m_lxpar_callback(INSTF, m_oaddr & 077777);
+ else
+ m_lxmar_callback(INSTF, m_oaddr);
+ m_state = minor_state::INDIR_2;
+ break;
+
+ case minor_state::INDIR_2:
+ if ((m_oaddr & 07770) == 0010)
+ {
+ // Begin auto-indexing
+ m_state = minor_state::INDIR_3A;
+ }
+ else
+ m_state = minor_state::INDIR_3;
+ break;
+
+ case minor_state::INDIR_3:
+ m_oaddr = dataf_map(m_inst.read_word(m_oaddr) & 07777);
+ m_temp = m_pc;
+ if ((m_ir & 07000) == 05000)
+ m_state = minor_state::JMP_1;
+ else
+ m_state = minor_state::EXEC_1;
+ break;
+
+ case minor_state::INDIR_3A:
+ m_temp = m_inst.read_word(m_oaddr) + 1;
+ m_state = minor_state::INDIR_4;
+ break;
+
+ case minor_state::INDIR_4:
+ m_state = minor_state::INDIR_5;
+ break;
+
+ case minor_state::INDIR_5:
+ m_inst.write_word(m_oaddr, m_temp & 07777);
+ m_oaddr = dataf_map(m_temp & 07777);
+ m_temp = m_pc;
+ if ((m_ir & 07000) == 05000)
+ m_state = minor_state::JMP_1;
+ else
+ m_state = minor_state::EXEC_1;
+ break;
+
+ case minor_state::EXEC_1:
+ {
+ const bool dataf = BIT(m_ir, 8) && m_ir < 04000;
+ if (m_oaddr >= 0100000)
+ m_lxpar_callback(dataf ? DATAF : INSTF, m_oaddr & 077777);
+ else
+ m_lxmar_callback(dataf ? DATAF : INSTF, m_oaddr);
+ m_pc = m_temp & 07777;
+ if (m_ir >= 03000)
+ m_state = minor_state::DEP_2;
+ else
+ m_state = minor_state::EXEC_2;
+ break;
+ }
+
+ case minor_state::EXEC_2:
+ m_state = minor_state::EXEC_3;
+ break;
+
+ case minor_state::EXEC_3:
+ if (BIT(m_ir, 8))
+ m_temp = m_data.read_word(m_oaddr) & 07777;
+ else
+ m_temp = m_inst.read_word(m_oaddr) & 07777;
+ if (m_ir >= 02000)
+ m_state = minor_state::ISZ_4;
+ else if (m_ir >= 01000)
+ m_state = minor_state::TAD_4;
+ else
+ m_state = minor_state::AND_4;
+ break;
+
+ case minor_state::DEP_2:
+ m_state = minor_state::DEP_3;
+ break;
+
+ case minor_state::DEP_3:
+ m_temp = m_oaddr + 1;
+ if (m_ir >= 04000)
+ m_state = minor_state::JMS_4;
+ else
+ m_state = minor_state::DCA_4;
+ break;
+
+ case minor_state::AND_4:
+ m_temp &= m_ac;
+ next_instruction();
+ break;
+
+ case minor_state::TAD_4:
+ m_temp += m_ac;
+ if (m_temp >= 010000)
+ m_flags |= 4;
+ else
+ m_flags &= 3;
+ next_instruction();
+ break;
+
+ case minor_state::ISZ_4:
+ ++m_temp;
+ m_state = minor_state::ISZ_5;
+ break;
+
+ case minor_state::ISZ_5:
+ m_state = minor_state::ISZ_6;
+ break;
+
+ case minor_state::ISZ_6:
+ if (BIT(m_ir, 8))
+ m_data.write_word(m_oaddr, m_temp & 07777);
+ else
+ m_inst.write_word(m_oaddr, m_temp & 07777);
+ if (m_temp < 010000)
+ next_instruction();
+ else
+ m_state = minor_state::ISZ_7;
+ m_temp = m_ac;
+ break;
+
+ case minor_state::ISZ_7:
+ m_temp = m_pc + 1;
+ m_state = minor_state::ISZ_8;
+ break;
+
+ case minor_state::ISZ_8:
+ m_pc = m_temp & 07777;
+ m_temp = m_ac;
+ next_instruction();
+ break;
+
+ case minor_state::DCA_4:
+ if (BIT(m_ir, 8))
+ m_data.write_word(m_oaddr, m_ac);
+ else
+ m_inst.write_word(m_oaddr, m_ac);
+ m_temp = 0;
+ next_instruction();
+ break;
+
+ case minor_state::JMS_4:
+ m_icache.write_word(m_oaddr, m_pc);
+ transfer_pc(m_temp & 07777);
+ m_temp = m_ac;
+ break;
+
+ case minor_state::JMP_1:
+ transfer_pc(m_oaddr & 07777);
+ m_temp = m_ac;
+ break;
+
+ case minor_state::OP1_1:
+ m_pc = m_temp & 07777;
+ m_temp = ((BIT(m_ir, 7) ? 0 : m_ac) ^ (BIT(m_ir, 5) ? 07777 : 0)) + (m_ir & 0001);
+ m_state = minor_state::OP1_2;
+ break;
+
+ case minor_state::OP1_2:
+ m_ac = m_temp & 07777;
+ if (BIT(m_ir, 6))
+ m_flags &= 3;
+ if (BIT(m_ir, 4))
+ m_flags ^= 4;
+ m_state = minor_state::OP1_3;
+ break;
+
+ case minor_state::OP1_3:
+ m_temp = rotate_step(m_ac);
+ if (BIT(m_ir, 1))
+ m_state = minor_state::OP1_4;
+ else
+ next_instruction();
+ break;
+
+ case minor_state::OP1_4:
+ m_state = minor_state::OP1_5;
+ break;
+
+ case minor_state::OP1_5:
+ m_temp = rotate_step(m_temp);
+ next_instruction();
+ break;
+
+ case minor_state::OP2_1:
+ if (skip_test())
+ ++m_temp;
+ if (BIT(m_ir, 2))
+ m_state = minor_state::OSR_2;
+ else
+ m_state = minor_state::OP2_2;
+ break;
+
+ case minor_state::OP2_2:
+ m_pc = m_temp & 07777;
+ m_temp = 0;
+ m_state = minor_state::OP2_3;
+ break;
+
+ case minor_state::OP2_3:
+ if (BIT(m_ir, 1))
+ m_pnlflgs |= 1; // Set HLTFLG
+ m_state = minor_state::OP2_4;
+ break;
+
+ case minor_state::OP2_4:
+ m_temp |= BIT(m_ir, 7) ? 0 : m_ac;
+ next_instruction();
+ break;
+
+ case minor_state::OSR_2:
+ m_pc = m_temp & 07777;
+ m_state = minor_state::OSR_3;
+ break;
+
+ case minor_state::OSR_3:
+ if (m_rsr_callback.isnull())
+ {
+ logerror("%06o: SR read (IR = %04o)\n", m_iaddr, m_ir);
+ m_temp = 0;
+ }
+ else
+ m_temp = m_rsr_callback(m_df & 7);
+ m_state = minor_state::OP2_3;
+ break;
+
+ case minor_state::OP3_1:
+ m_pc = m_temp & 07777;
+ m_temp = BIT(m_ir, 7) ? 0 : m_ac;
+ m_state = minor_state::OP3_2;
+ break;
+
+ case minor_state::OP3_2:
+ m_state = minor_state::OP3_3;
+ break;
+
+ case minor_state::OP3_3:
+ if (BIT(m_ir, 4))
+ {
+ if (BIT(m_ir, 6))
+ std::swap(m_temp, m_mq);
+ else
+ {
+ // MQL always clears AC
+ m_mq = m_temp;
+ m_temp = 0;
+ }
+ }
+ else if (BIT(m_ir, 6))
+ m_temp |= m_mq;
+ if ((m_ir & 0056) != 0)
+ m_state = minor_state::IFETCH_1; // Interrupts conditionally blocked
+ else
+ next_instruction();
+ break;
+
+ case minor_state::IOT_1:
+ m_pc = m_temp & 07777;
+ if (m_ir >= 06010 && (m_ir & 0700) != 0200)
+ m_state = minor_state::EXTIOT_1;
+ else switch (m_ir & 0777)
+ {
+ case 0000:
+ if (m_if >= 010)
+ m_state = minor_state::PRS_1;
+ else
+ m_state = minor_state::SKON_1;
+ break;
+
+ case 0001: case 0002:
+ m_state = minor_state::IEN_1;
+ break;
+
+ case 0003:
+ if (m_if >= 010)
+ m_state = minor_state::PGO_1;
+ else
+ m_state = minor_state::SRQ_1;
+ break;
+
+ case 0004:
+ if (m_if >= 010)
+ m_state = minor_state::PEX_1;
+ else
+ m_state = minor_state::GTF_1;
+ break;
+
+ case 0005:
+ m_state = minor_state::RTF_1;
+ break;
+
+ case 0006:
+ m_state = minor_state::SGT_1;
+ break;
+
+ case 0007:
+ m_state = minor_state::CAF_1;
+ break;
+
+ case 0201: case 0202: case 0203:
+ case 0211: case 0212: case 0213:
+ case 0221: case 0222: case 0223:
+ case 0231: case 0232: case 0233:
+ case 0241: case 0242: case 0243:
+ case 0251: case 0252: case 0253:
+ case 0261: case 0262: case 0263:
+ case 0271: case 0272: case 0273:
+ m_state = minor_state::CFIELD_1;
+ break;
+
+ case 0205: case 0245:
+ m_state = minor_state::PPC_1;
+ break;
+
+ case 0206: case 0216: case 0226: case 0236:
+ m_state = minor_state::PRQ_1;
+ break;
+
+ case 0207: case 0227:
+ m_state = minor_state::RSP_1;
+ break;
+
+ case 0214: case 0224:
+ m_state = minor_state::RFIELD_1;
+ break;
+
+ case 0215: case 0255:
+ m_state = minor_state::PAC_1;
+ break;
+
+ case 0217: case 0237:
+ m_state = minor_state::LSP_1;
+ break;
+
+ case 0225: case 0265:
+ m_state = minor_state::RTN_1;
+ break;
+
+ case 0234:
+ m_state = minor_state::RIB_1;
+ break;
+
+ case 0235: case 0275:
+ m_state = minor_state::POP_1;
+ break;
+
+ case 0244:
+ m_state = minor_state::RMF_1;
+ break;
+
+ case 0246:
+ m_state = minor_state::WSR_1;
+ break;
+
+ case 0256:
+ m_state = minor_state::GCF_1;
+ break;
+
+ case 0266: case 0276:
+ m_state = minor_state::SPD_1;
+ break;
+
+ default:
+ m_state = minor_state::IOT_2;
+ break;
+ }
+ break;
+
+ case minor_state::IOT_2:
+ logerror("%06o: Undefined internal IOT (IR=%04o, AC=%04o)\n", m_iaddr, m_ir, m_ac);
+ m_temp = m_ac;
+ m_state = minor_state::IFETCH_1;
+ break;
+
+ case minor_state::SKON_1:
+ m_temp = m_pc + (m_flags & 1);
+ m_flags &= 6;
+ m_state = minor_state::SKON_2;
+ break;
+
+ case minor_state::SKON_2:
+ m_pc = m_temp;
+ m_state = minor_state::SKON_3;
+ break;
+
+ case minor_state::SKON_3:
+ m_temp = m_ac;
+ next_instruction();
+ break;
+
+ case minor_state::IEN_1:
+ m_flags = (m_flags & 6) | (m_ir & 0001);
+ m_state = minor_state::IEN_2;
+ break;
+
+ case minor_state::IEN_2:
+ m_temp = m_ac;
+ m_state = minor_state::IFETCH_1; // Interrupts are blocked
+ break;
+
+ case minor_state::SRQ_1:
+ m_temp = m_pc + (m_intreq_input ? 1 : 0);
+ m_state = minor_state::SKON_2;
+ break;
+
+ case minor_state::GTF_1:
+ m_state = minor_state::GTF_2;
+ break;
+
+ case minor_state::GTF_2:
+ m_state = minor_state::GTF_3;
+ break;
+
+ case minor_state::GTF_3:
+ m_temp = m_sf;
+ m_state = minor_state::GTF_4;
+ break;
+
+ case minor_state::GTF_4:
+ m_temp |= u16(m_flags & 6) << 9 | 0200; // 1 is loaded into bit 4 instead of IEFF
+ m_state = minor_state::GTF_5;
+ break;
+
+ case minor_state::GTF_5:
+ if (m_intreq_input)
+ m_temp |= 01000;
+ if (m_pwron)
+ m_temp |= 0400;
+ next_instruction();
+ break;
+
+ case minor_state::RTF_1:
+ m_temp = m_ac;
+ m_flags = (m_temp & 06000) >> 9 | (m_temp & 0200) >> 7;
+ m_state = minor_state::RTF_2;
+ break;
+
+ case minor_state::RTF_2:
+ m_df = m_temp & 0007;
+ m_state = minor_state::RTF_3;
+ break;
+
+ case minor_state::RTF_3:
+ m_ib = (m_temp & 0070) >> 3;
+ m_iiff = true;
+ m_state = minor_state::RTF_4;
+ break;
+
+ case minor_state::RTF_4:
+ m_temp = 0;
+ next_instruction();
+ break;
+
+ case minor_state::SGT_1:
+ m_temp = m_pc + (BIT(m_flags, 1) ? 1 : 0);
+ m_state = minor_state::SKON_2;
+ break;
+
+ case minor_state::CAF_1:
+ m_temp = 0;
+ m_state = minor_state::CAF_2;
+ break;
+
+ case minor_state::CAF_2:
+ m_flags = 0; // LINK, GT and IEFF are cleared
+ m_ioclr_callback(0);
+ m_state = minor_state::CAF_3;
+ break;
+
+ case minor_state::CAF_3:
+ m_ioclr_callback(1);
+ next_instruction();
+ break;
+
+ case minor_state::PRS_1:
+ m_state = minor_state::PRS_2;
+ break;
+
+ case minor_state::PRS_2:
+ m_state = minor_state::PRS_3;
+ break;
+
+ case minor_state::PRS_3:
+ m_state = minor_state::PRS_4;
+ break;
+
+ case minor_state::PRS_4:
+ m_temp = u16(m_pnlflgs & 6) << 9 | (m_pnlflgs & 1) << 7;
+ if (m_intreq_input)
+ m_temp |= 01000;
+ if (m_pwron)
+ m_temp |= 0400;
+ m_pnlflgs &= m_temp >= 04000 ? 1 : 5;
+ m_pwron = false;
+ m_state = minor_state::IFETCH_1;
+ break;
+
+ case minor_state::PGO_1:
+ m_pnlflgs &= 6; // Clear HLTFLG
+ m_state = minor_state::SKON_3;
+ break;
+
+ case minor_state::PEX_1:
+ m_state = minor_state::PEX_2;
+ break;
+
+ case minor_state::PEX_2:
+ m_ib &= 7;
+ m_pnlflgs &= 5; // Clear PNLTRP
+ m_pwron = false;
+ m_iiff = true;
+ m_state = minor_state::IFETCH_1;
+ break;
+
+ case minor_state::CFIELD_1:
+ m_state = minor_state::CFIELD_2;
+ break;
+
+ case minor_state::CFIELD_2:
+ m_temp = m_ac;
+ if (BIT(m_ir, 1))
+ {
+ m_ib = (m_ib & 010) | BIT(m_ir, 3, 3);
+ m_iiff = true;
+ }
+ if (BIT(m_ir, 0))
+ m_df = (m_df & 010) | BIT(m_ir, 3, 3);
+ next_instruction();
+ break;
+
+ case minor_state::RFIELD_1:
+ m_state = minor_state::RFIELD_2;
+ break;
+
+ case minor_state::RFIELD_2:
+ m_temp = m_ac | (BIT(m_ir, 3) ? m_df & 7 : m_if & 7) << 3;
+ next_instruction();
+ break;
+
+ case minor_state::RIB_1:
+ m_state = minor_state::RIB_2;
+ break;
+
+ case minor_state::RIB_2:
+ m_temp = m_ac | m_sf;
+ next_instruction();
+ break;
+
+ case minor_state::RMF_1:
+ m_state = minor_state::RMF_2;
+ break;
+
+ case minor_state::RMF_2:
+ m_temp = m_sf;
+ m_state = minor_state::RMF_3;
+ break;
+
+ case minor_state::RMF_3:
+ m_df = (m_df & 010) | (m_temp & 7);
+ m_state = minor_state::RMF_4;
+ break;
+
+ case minor_state::RMF_4:
+ m_ib = (m_ib & 010) | ((m_temp >> 3) & 7);
+ m_iiff = true;
+ m_state = minor_state::SKON_3;
+ break;
+
+ case minor_state::PRQ_1:
+ if (m_if < 010)
+ m_pnlflgs |= 2; // Set PNLTRP
+ m_state = minor_state::SKON_3;
+ break;
+
+ case minor_state::WSR_1:
+ m_state = minor_state::WSR_2;
+ break;
+
+ case minor_state::WSR_2:
+ // WSR may be used from main memory as well as panel memory; DECmates protect it using external circuitry
+ m_wsr_callback(m_df & 7, m_ac);
+ m_state = minor_state::RTF_4;
+ break;
+
+ case minor_state::GCF_1:
+ m_state = minor_state::GCF_2;
+ break;
+
+ case minor_state::GCF_2:
+ m_temp = m_df & 7;
+ m_state = minor_state::GCF_3;
+ break;
+
+ case minor_state::GCF_3:
+ m_temp |= (m_if & 7) << 3;
+ m_state = minor_state::GCF_4;
+ break;
+
+ case minor_state::GCF_4:
+ m_temp |= u16(m_flags & 6) << 9 | (m_flags & 1) << 7;
+ m_state = minor_state::GTF_5;
+ break;
+
+ case minor_state::SPD_1:
+ m_temp = m_ac;
+ if (BIT(m_ir, 3) && m_if >= 010)
+ m_df |= 010;
+ else
+ m_df &= 7;
+ next_instruction();
+ break;
+
+ case minor_state::PPC_1:
+ m_temp = m_pc + 1;
+ m_state = minor_state::PPC_2;
+ break;
+
+ case minor_state::PPC_2:
+ m_oaddr = u16(m_if & 010) << 12 | m_sp[BIT(m_ir, 5)];
+ m_state = minor_state::PPC_3;
+ break;
+
+ case minor_state::PPC_3:
+ if (m_if >= 010)
+ m_lxpar_callback(INSTF, m_sp[BIT(m_ir, 5)]);
+ else
+ m_lxmar_callback(INSTF, m_sp[BIT(m_ir, 5)]);
+ m_state = minor_state::PPC_4;
+ break;
+
+ case minor_state::PPC_4:
+ m_state = minor_state::PPC_5;
+ break;
+
+ case minor_state::PPC_5:
+ m_inst.write_word(m_oaddr, m_temp);
+ m_temp = m_sp[BIT(m_ir, 5)] - 1;
+ m_state = minor_state::PPC_6;
+ break;
+
+ case minor_state::PPC_6:
+ m_sp[BIT(m_ir, 5)] = m_temp & 07777;
+ m_temp = m_ac;
+ next_instruction();
+ break;
+
+ case minor_state::PAC_1:
+ m_oaddr = u16(m_if & 010) << 12 | m_sp[BIT(m_ir, 5)];
+ m_state = minor_state::PAC_2;
+ break;
+
+ case minor_state::PAC_2:
+ if (m_if >= 010)
+ m_lxpar_callback(INSTF, m_sp[BIT(m_ir, 5)]);
+ else
+ m_lxmar_callback(INSTF, m_sp[BIT(m_ir, 5)]);
+ m_state = minor_state::PAC_3;
+ break;
+
+ case minor_state::PAC_3:
+ m_temp = m_ac;
+ m_state = minor_state::PPC_5;
+ break;
+
+ case minor_state::RTN_1:
+ m_temp = m_sp[BIT(m_ir, 5)] + 1;
+ m_state = minor_state::RTN_2;
+ break;
+
+ case minor_state::RTN_2:
+ m_oaddr = u16(m_ib & 010) << 12 | (m_temp & 07777);
+ m_state = minor_state::RTN_3;
+ break;
+
+ case minor_state::RTN_3:
+ m_sp[BIT(m_ir, 5)] = m_temp & 07777;
+ m_state = minor_state::RTN_4;
+ break;
+
+ case minor_state::RTN_4:
+ m_oaddr = u16(m_ib) << 12 | m_inst.read_word(m_sp[BIT(m_ir, 5)]);
+ m_state = minor_state::JMP_1;
+ break;
+
+ case minor_state::POP_1:
+ m_temp = m_sp[BIT(m_ir, 5)] + 1;
+ m_state = minor_state::POP_2;
+ break;
+
+ case minor_state::POP_2:
+ m_oaddr = u16(m_if & 010) << 12 | (m_temp & 07777);
+ m_state = minor_state::POP_3;
+ break;
+
+ case minor_state::POP_3:
+ m_sp[BIT(m_ir, 5)] = m_temp & 07777;
+ m_state = minor_state::POP_4;
+ break;
+
+ case minor_state::POP_4:
+ m_ac = m_inst.read_word(m_sp[BIT(m_ir, 5)]);
+ m_state = minor_state::SKON_3;
+ break;
+
+ case minor_state::RSP_1:
+ m_state = minor_state::RSP_2;
+ break;
+
+ case minor_state::RSP_2:
+ m_temp = m_sp[BIT(m_ir, 4)];
+ next_instruction();
+ break;
+
+ case minor_state::LSP_1:
+ m_sp[BIT(m_ir, 4)] = m_ac;
+ m_state = minor_state::RTF_4;
+ break;
+
+ case minor_state::EXTIOT_1:
+ m_lxdar_callback(DATAF, u16(m_df & 7) << 12 | m_ir);
+ m_state = minor_state::EXTIOT_2;
+ break;
+
+ case minor_state::EXTIOT_2:
+ m_temp = m_pc + 1;
+ m_state = minor_state::EXTIOT_3;
+ break;
+
+ case minor_state::EXTIOT_3:
+ {
+ // C0, C1 and SKIP are sampled at the rising edge of WRITE
+ // The control flags are read first here, since writes can and do change them
+ // (see esp. 6366 on DECmate II, where the change depends on the data written)
+ u8 devctl = m_devctl.read_byte(m_ir & 0777);
+ m_io.write_word(m_ir & 0777, m_ac);
+ if ((devctl & SKIP) != 0)
+ m_pc = m_temp & 07777;
+ m_temp = (devctl & C0) != 0 ? 0 : m_ac;
+ if ((devctl & C1) != 0)
+ m_state = minor_state::EXTIOT_4R;
+ else
+ m_state = minor_state::EXTIOT_4;
+ break;
+ }
+
+ case minor_state::EXTIOT_4:
+ // IOTs take one fewer minor cycle if no read
+ m_state = minor_state::EXTIOT_5;
+ break;
+
+ case minor_state::EXTIOT_4R:
+ m_state = minor_state::EXTIOT_5R;
+ break;
+
+ case minor_state::EXTIOT_5R:
+ m_temp |= m_io.read_word(m_ir & 0777);
+ m_state = minor_state::EXTIOT_5;
+ break;
+
+ case minor_state::EXTIOT_5:
+ if (m_intgnt && m_if < 010)
+ {
+ m_intgnt = false;
+ m_intgnt_callback(1);
+ }
+ next_instruction();
+ break;
+
+ case minor_state::INTGNT_1:
+ m_ac = m_temp & 07777;
+ (void)standard_irq_callback(INTREQ_LINE);
+ m_intgnt = true;
+ m_intgnt_callback(0);
+ m_flags &= 6;
+ m_sf = m_if << 3 | m_df; // Save fields
+ m_if = 0;
+ m_ib = 0;
+ m_df = 0;
+ m_oaddr = 0;
+ m_lxmar_callback(INSTF, 0);
+ m_ir = 04000;
+ m_state = minor_state::DEP_2;
+ break;
+
+ case minor_state::CPINT_1:
+ m_ac = m_temp & 07777;
+ debugger_privilege_hook();
+ if (BIT(m_pnlflgs, 2))
+ (void)standard_irq_callback(CPREQ_LINE);
+ if (m_intgnt)
+ m_intgnt_callback(1);
+ m_if |= 010;
+ m_ib |= 010;
+ m_fz = true;
+ m_oaddr = 0100000;
+ m_lxpar_callback(INSTF, 0);
+ m_state = minor_state::CPINT_2;
+ break;
+
+ case minor_state::CPINT_2:
+ m_temp = 07777;
+ m_state = minor_state::JMS_4;
+ break;
+ }
+ } while (--m_icount > 0);
+}
+
+void hd6120_device::execute_set_input(int linenum, int state)
+{
+ switch (linenum)
+ {
+ case INTREQ_LINE:
+ m_intreq_input = state != CLEAR_LINE;
+ break;
+
+ case CPREQ_LINE:
+ // Falling-edge active Schmitt-trigger input
+ if (!m_cpreq_input && state != CLEAR_LINE)
+ m_pnlflgs |= 4; // Set BTSTRP
+ m_cpreq_input = state != CLEAR_LINE;
+ break;
+ }
+}
+
+void hd6120_device::state_string_export(const device_state_entry &entry, std::string &str) const
+{
+ switch (entry.index())
+ {
+ case STATE_GENFLAGS:
+ str = util::string_format("%s %s %s", BIT(m_flags, 2) ? "LINK" : "----", BIT(m_flags, 1) ? "GT" : "--", BIT(m_flags, 0) ? "IE" : "--");
+ break;
+
+ case HD6120_IF:
+ if (BIT(m_if, 3))
+ str = util::string_format("%o (%s)", m_if & 7, m_fz ? "FZ" : "CP");
+ else
+ str = util::string_format("%o ", m_if);
+ break;
+
+ case HD6120_DF:
+ if (BIT(m_df, 3))
+ str = util::string_format("%o (PDF)", m_df & 7);
+ else
+ str = util::string_format("%o ", m_df);
+ break;
+
+ case HD6120_IB:
+ if (BIT(m_ib, 3))
+ str = util::string_format("%o (CP) ", m_ib & 7);
+ else if (BIT(m_if, 3))
+ str = util::string_format("%o (PEX)", m_ib);
+ else
+ str = util::string_format("%o ", m_ib);
+ break;
+ }
+}
diff --git a/src/devices/cpu/pdp8/hd6120.h b/src/devices/cpu/pdp8/hd6120.h
new file mode 100644
index 00000000000..126ce115040
--- /dev/null
+++ b/src/devices/cpu/pdp8/hd6120.h
@@ -0,0 +1,217 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Harris HD-6120 High-Speed CMOS 12 Bit Microprocessor
+
+***********************************************************************
+ _____ _____
+ _OUT 1 |* \_/ | 40 VCC
+ DMAGNT 2 | | 39 _READ
+ _DMAREQ 3 | | 38 _WRITE
+ _SKIP 4 | | 37 _MEMSEL
+ RUN/_HLT 5 | | 36 _IOCLR
+ _RUN 6 | | 35 _LXDAR
+ _RESET 7 | | 34 _LXMAR
+ ACK 8 | | 33 _LXPAR
+ OSCIN 9 | | 32 _DATAF
+ OSCOUT 10 | HD-6120 | 31 _INTGNT
+ _IFETCH 11 | | 30 _INTREQ
+ DX0 12 | | 29 _CPREQ
+ DX1 13 | | 28 STRTUP
+ DX2 14 | | 27 EMA2
+ DX3 15 | | 26 C1/_C1
+ DX4 16 | | 25 C0/_C0
+ DX5 17 | | 24 DX11
+ DX6 18 | | 23 DX10
+ DX7 19 | | 22 DX9
+ VSS 20 |_____________| 21 DX8
+
+***************************************************************************/
+
+#ifndef MAME_CPU_PDP8_HD6120_H
+#define MAME_CPU_PDP8_HD6120_H
+
+#pragma once
+
+class hd6120_device : public cpu_device
+{
+public:
+ static constexpr int AS_DEVCTL = AS_OPCODES + 1;
+
+ static constexpr offs_t INSTF = 0;
+ static constexpr offs_t IFETCH = 1;
+ static constexpr offs_t DATAF = 2;
+
+ enum {
+ HD6120_PC,
+ HD6120_AC, HD6120_MQ,
+ HD6120_SP1, HD6120_SP2,
+ HD6120_IF, HD6120_IB, HD6120_DF, HD6120_SF, HD6120_IIFF,
+ HD6120_FLAGS, HD6120_PNLFLGS, HD6120_PWRON
+ };
+
+ // input lines
+ enum {
+ INTREQ_LINE = 0,
+ CPREQ_LINE
+ //SKIP_LINE,
+ //DMAREQ_LINE
+ };
+
+ // device control flags
+ enum : u8 {
+ SKIP = 1 << 3,
+ C0 = 1 << 2,
+ C1 = 1 << 1
+ // C2 is ignored on HD-6120
+ };
+
+ // device type constructor
+ hd6120_device(const machine_config &config, const char *tag, device_t *owner, u32 clock);
+
+ // callback configuration
+ auto lxmar_callback() { return m_lxmar_callback.bind(); }
+ auto lxpar_callback() { return m_lxpar_callback.bind(); }
+ auto lxdar_callback() { return m_lxdar_callback.bind(); }
+ auto rsr_callback() { return m_rsr_callback.bind(); }
+ auto wsr_callback() { return m_wsr_callback.bind(); }
+ auto strtup_callback() { return m_strtup_callback.bind(); }
+ auto intgnt_callback() { return m_intgnt_callback.bind(); }
+ auto ioclr_callback() { return m_ioclr_callback.bind(); }
+
+protected:
+ // device-level overrides
+ virtual void device_resolve_objects() override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // device_execute_interface overrides
+ virtual void execute_run() override;
+ virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 2 - 1) / 2; }
+ virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 2); }
+ virtual void execute_set_input(int linenum, int state) override;
+
+ // device_disasm_interface overrides
+ virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+
+ // device_memory_interface overrides
+ virtual space_config_vector memory_space_config() const override;
+
+ // device_state_interface overrides
+ virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
+
+private:
+ enum class minor_state : u8 {
+ RESET_1, RESET_2, RESET_3, RESET_4, RESET_5,
+ IFETCH_1, IFETCH_2, IFETCH_3,
+ INDIR_1, INDIR_2, INDIR_3, INDIR_3A, INDIR_4, INDIR_5,
+ EXEC_1, EXEC_2, EXEC_3,
+ DEP_2, DEP_3,
+ AND_4,
+ TAD_4,
+ ISZ_4, ISZ_5, ISZ_6, ISZ_7, ISZ_8,
+ DCA_4,
+ JMS_4,
+ JMP_1,
+ OP1_1, OP1_2, OP1_3, OP1_4, OP1_5,
+ OP2_1, OP2_2, OP2_3, OP2_4,
+ OSR_2, OSR_3,
+ OP3_1, OP3_2, OP3_3,
+ IOT_1, IOT_2,
+ SKON_1, SKON_2, SKON_3,
+ IEN_1, IEN_2,
+ GTF_1, GTF_2, GTF_3, GTF_4, GTF_5,
+ RTF_1, RTF_2, RTF_3, RTF_4,
+ SRQ_1,
+ SGT_1,
+ CAF_1, CAF_2, CAF_3,
+ PRS_1, PRS_2, PRS_3, PRS_4,
+ PGO_1,
+ PEX_1, PEX_2,
+ CFIELD_1, CFIELD_2,
+ RFIELD_1, RFIELD_2,
+ RIB_1, RIB_2,
+ RMF_1, RMF_2, RMF_3, RMF_4,
+ PRQ_1,
+ WSR_1, WSR_2,
+ GCF_1, GCF_2, GCF_3, GCF_4,
+ SPD_1,
+ PPC_1, PPC_2, PPC_3, PPC_4, PPC_5, PPC_6,
+ PAC_1, PAC_2, PAC_3,
+ RTN_1, RTN_2, RTN_3, RTN_4,
+ POP_1, POP_2, POP_3, POP_4,
+ RSP_1, RSP_2,
+ LSP_1,
+ EXTIOT_1, EXTIOT_2, EXTIOT_3, EXTIOT_4, EXTIOT_4R, EXTIOT_5R, EXTIOT_5,
+ INTGNT_1,
+ CPINT_1, CPINT_2
+ };
+
+ u16 rotate_step(u16 data);
+ bool skip_test() const;
+ u16 dataf_map(u16 addr) const;
+ void next_instruction();
+ void transfer_pc(u16 addr);
+ void debug_set_pc(u16 addr);
+ void debug_update_pc(u16 addr);
+
+ // address spaces
+ address_space_config m_inst_config;
+ address_space_config m_data_config;
+ address_space_config m_io_config;
+ address_space_config m_devctl_config;
+ memory_access<16, 1, -1, ENDIANNESS_BIG>::cache m_icache;
+ memory_access<16, 1, -1, ENDIANNESS_BIG>::specific m_inst;
+ memory_access<16, 1, -1, ENDIANNESS_BIG>::specific m_data;
+ memory_access<9, 1, -1, ENDIANNESS_BIG>::specific m_io;
+ memory_access<9, 0, 0, ENDIANNESS_BIG>::specific m_devctl;
+
+ // callback objects
+ devcb_write16 m_lxmar_callback;
+ devcb_write16 m_lxpar_callback;
+ devcb_write16 m_lxdar_callback;
+ devcb_read16 m_rsr_callback;
+ devcb_write16 m_wsr_callback;
+ //devcb_read16 m_rtin_callback;
+ //devcb_write16 m_rtout_callback;
+ devcb_read_line m_strtup_callback;
+ devcb_write_line m_intgnt_callback;
+ //devcb_write_line m_dmagnt_callback;
+ devcb_write_line m_ioclr_callback;
+
+ // major registers
+ u16 m_pc;
+ u16 m_ac;
+ u16 m_mq;
+ u16 m_sp[2];
+ u16 m_temp;
+ u16 m_ir;
+
+ // field and flag registers
+ u8 m_if;
+ u8 m_ib;
+ u8 m_df;
+ u8 m_sf;
+ u8 m_flags;
+ u8 m_pnlflgs;
+ bool m_fz;
+ bool m_iiff;
+ bool m_pwron;
+ bool m_intgnt;
+
+ // misc. execution state
+ minor_state m_state;
+ u16 m_iaddr;
+ u16 m_oaddr;
+ s32 m_icount;
+
+ // input lines
+ bool m_intreq_input;
+ bool m_cpreq_input;
+};
+
+// device type declaration
+DECLARE_DEVICE_TYPE(HD6120, hd6120_device)
+
+#endif // MAME_CPU_PDP8_HD6120_H
diff --git a/src/devices/cpu/pdp8/pdp8dasm.cpp b/src/devices/cpu/pdp8/pdp8dasm.cpp
index 8c2e57573b5..3fdbc139249 100644
--- a/src/devices/cpu/pdp8/pdp8dasm.cpp
+++ b/src/devices/cpu/pdp8/pdp8dasm.cpp
@@ -1,168 +1,898 @@
// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-/*
- First-gen DEC PDP-8 disassembler
+// copyright-holders:AJR
+/***************************************************************************
- Written by Ryan Holtz
-*/
+ PDP-8 family disassembler
+
+ PDP-8 peripherals were traditionally classified by their device codes,
+ which correspond to the second and third octal digits (bits 3:8) of
+ the IOT instruction word. Older PDP-8 buses had the CPU decode the
+ least significant three bits (9:11) into separate strobes issued one
+ after another, which allows some IOTs with codes 6XX1, 6XX2 and 6XX4
+ to be usefully combined with each other. Though the notion of device
+ codes persisted in the Omnibus specification and CMOS-based systems,
+ the I/O transfer protocols used on the PDP-8/E and later CPUs assert
+ the lowest three bits in parallel with the device code, leaving
+ decoding of all nine bits up to the peripherals. This allowed later
+ options to define eight distinct functions for each of their assigned
+ device codes. (The peripherals are also responsible for determining,
+ in real time, whether their IOTs perform reads, writes and/or
+ conditional skips; for the PDP-8/E, PDP-8/A and IM6100 CPUs, they may
+ also request relative or absolute jumps.)
+
+ Most IOTs were traditionally implemented on peripheral options outside
+ the CPU, which originally supported only ION and IOF by itself. (The
+ PDP-8/E CPU added several more which became standard.) It would have
+ been convenient if DEC had assigned every common device type a
+ distinct and unchanging set of IOTs. Unfortunately, not only do
+ several types of options conflict with each other (a few of these
+ could also have their standard device codes modified by jumpers,
+ particularly storage and communications options which could have
+ several used in one system), many Omnibus options use IOTs largely if
+ not entirely different from their functional predecessors built for
+ the older positive and negative buses. DEC reshuffled IOTs less often
+ after the PDP-8/E, but real time clock and parallel I/O facilities
+ were incompatibly reimplemented on the PDP-8/A and CMOS-8s.
+
+ Due to this inconsistency, the "pdp8" disassembler implemented here
+ only specifically identifies IOTs for a few of the most commonly
+ used I/O devices with long and consistent implementation histories
+ (some of which date back all the way to the PDP-5, though the Omnibus
+ interfaces, being functional supersets, are the reference versions):
+ * TTY interface: keyboard (03) + teleprinter (04)
+ * High-speed paper tape reader (01) and punch (02)
+ * Memory extension and time-sharing modes (20–27)
+ * Power fail and automatic restart (10)
+
+ The Group 3 OPR instructions belonging to the Extended Arithmetic
+ Element are also recognized here, though several are unique to the
+ KE8-E version provided for the PDP-8/E, and almost no EAE support was
+ provided for later PDP-8 CPUs except for transfers between AC and
+ MQ. (GT was reintroduced as a general-purpose flag on the HD-6120.)
+ PDP-8/L omits this group entirely, not even recognizing CLA.
+
+ Group 1 OPR combinations are decoded using the standard three-letter
+ shorthand mnemonics. Even shorter macros for these were commonly
+ defined to identify those useful for loading certain constants into
+ AC; the resulting constant values are presented here as comments.
+
+ Certain combinations of IAC, CMA, CML and rotate OPRs are illegal on
+ the PDP-5, the original PDP-8 and the PDP-8/S; of these models, the
+ "Classic-8", which disallows IAC with any rotation, is the only one
+ many programs even tried to remain compatible with. For more obvious
+ reasons, RAL RAR and RTL RTR were officially undefined before HD-6120
+ reassigned the former as R3L, though they had some predictable and
+ even useful results which were highly model-dependent.
+
+ The "hd6120" disassembler, besides adding the HD-6120 exclusive R3L
+ operation, specifically recognizes only its internal IOTs, which now
+ include the memory extension IOTs plus a large number of completely
+ original operations using device codes 20 through 27 (which are
+ strictly internal here and unavailable to external peripherals). The
+ different IOTs for panel mode are used when the disassembly address
+ points above the normal 32K words. HD-6120 based systems tended to
+ reimplement external IOTs using the HD-6121 Input/Output Controller,
+ sometimes partially emulating them with panel-mode programs, and the
+ resulting interfaces offered notoriously poor compatibility with
+ preexisting code.
+
+***************************************************************************/
#include "emu.h"
#include "pdp8dasm.h"
+pdp8_disassembler::pdp8_disassembler(bool has_r3l)
+ : util::disasm_interface()
+ , m_has_r3l(has_r3l)
+{
+}
+
+hd6120_disassembler::hd6120_disassembler()
+ : pdp8_disassembler(true)
+{
+}
+
u32 pdp8_disassembler::opcode_alignment() const
{
return 1;
}
-offs_t pdp8_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params)
+u32 hd6120_disassembler::interface_flags() const
{
- uint16_t op = opcodes.r16(pc);
- uint8_t opcode = (op >> 011) & 07;
- uint16_t current_page = pc & 07600;
- uint16_t zero_addr = op & 0177;
- uint16_t current_addr = current_page | zero_addr;
- bool indirect = (op & 0400) ? true : false;
- bool zero_page = (op & 0200) ? false : true;
-
- switch (opcode)
+ return PAGED2LEVEL;
+}
+
+u32 hd6120_disassembler::page_address_bits() const
+{
+ // 5 bits for page + 7 bits for relative address
+ return 12;
+}
+
+u32 hd6120_disassembler::page2_address_bits() const
+{
+ // 3 bits for current field
+ return 3;
+}
+
+void pdp8_disassembler::dasm_memory_reference(std::ostream &stream, u16 inst, offs_t pc)
+{
+ // Bit 4 (DEC numbering) determines whether references are paged
+ const u16 addr = (BIT(inst, 7) ? (pc & 07600) : 0) | (inst & 0177);
+
+ // Bit 3 (DEC numbering) determines indirect addressing
+ if (BIT(inst, 8))
{
- case 0:
- util::stream_format(stream, "AND %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+ util::stream_format(stream, " I %04o", addr);
+ if ((addr & 07770) == 0010)
+ {
+ stream << " /AUTO-INDEX";
+ if (BIT(inst, 7))
+ stream << "?"; // IM6100 does no auto-indexing in this case
+ }
+ }
+ else
+ util::stream_format(stream, " %04o", addr);
+}
+
+offs_t pdp8_disassembler::dasm_iot(std::ostream &stream, u16 dev, offs_t pc)
+{
+ switch (dev)
+ {
+ case 000:
+ stream << "SKON"; // PDP-8/E and up
+ break;
+
+ case 001:
+ stream << "ION";
+ break;
+
+ case 002:
+ stream << "IOF";
+ break;
+
+ case 003:
+ stream << "SRQ"; // PDP-8/E and up
+ break;
+
+ case 004:
+ stream << "GTF"; // PDP-8/E and up (used earlier by a PDP-5/Classic-8 ADC option)
+ break;
+
+ case 005:
+ stream << "RTF"; // PDP-8/E and up
+ break;
+
+ case 006:
+ stream << "SGT"; // KE8-E
+ break;
+
+ case 007:
+ stream << "CAF"; // PDP-8/E and up
+ break;
+
+ case 010:
+ stream << "RPE"; // Paper tape reader (PC8-E)
+ break;
+
+ case 011:
+ stream << "RSF"; // Paper tape reader
+ break;
+
+ case 012: case 016:
+ stream << "RRB"; // Paper tape reader
+ if (BIT(dev, 2))
+ stream << " RFC";
+ break;
+
+ case 014:
+ stream << "RFC"; // Paper tape reader
+ break;
+
+ case 020:
+ stream << "PCE"; // Paper tape punch (PC8-E)
+ break;
+
+ case 021:
+ stream << "PSF"; // Paper tape punch
+ break;
+
+ case 022:
+ stream << "PCF"; // Paper tape punch
+ break;
+
+ case 024:
+ stream << "PPC"; // Paper tape punch
+ break;
+
+ case 026:
+ stream << "PLS"; // Paper tape punch
+ break;
+
+ case 030:
+ stream << "KCF"; // TTY/keyboard (KL8-E and up)
+ break;
+
+ case 031:
+ stream << "KSF"; // TTY/keyboard
+ break;
+
+ case 032:
+ stream << "KCC"; // TTY/keyboard
+ break;
+
+ case 034:
+ stream << "KRS"; // TTY/keyboard
+ break;
+
+ case 035:
+ stream << "KIE"; // TTY/keyboard (KL8-E and up)
+ break;
+
+ case 036:
+ stream << "KRB"; // TTY/keyboard
+ break;
+
+ case 040:
+ stream << "TFL"; // Teleprinter (KL8-E and up)
+ break;
+
+ case 041:
+ stream << "TSF"; // Teleprinter
+ break;
+
+ case 042:
+ stream << "TCF"; // Teleprinter
+ break;
+
+ case 044:
+ stream << "TPC"; // Teleprinter
+ break;
+
+ case 045:
+ stream << "TSK"; // Teleprinter (KL8-E and up; SPI is a later name for this IOT)
+ break;
+
+ case 046:
+ stream << "TLS"; // Teleprinter
+ break;
+
+ case 0102:
+ stream << "SPL"; // Automatic restart
+ break;
+
+ case 0201: case 0202: case 0203:
+ case 0211: case 0212: case 0213:
+ case 0221: case 0222: case 0223:
+ case 0231: case 0232: case 0233:
+ case 0241: case 0242: case 0243:
+ case 0251: case 0252: case 0253:
+ case 0261: case 0262: case 0263:
+ case 0271: case 0272: case 0273: // Memory extension
+ if (BIT(dev, 0))
+ stream << "CDF ";
+ if (BIT(dev, 1))
+ stream << "CIF ";
+ util::stream_format(stream, "%o", dev & 070);
+ break;
+
+ case 0204:
+ stream << "CINT"; // Time-sharing extension
+ break;
+
+ case 0214:
+ stream << "RDF"; // Memory extension
+ break;
+
+ case 0224:
+ stream << "RIF"; // Memory extension
+ break;
+
+ case 0234:
+ stream << "RIB"; // Memory extension
+ break;
+
+ case 0244:
+ stream << "RMF"; // Memory extension
+ break;
+
+ case 0254:
+ stream << "SINT"; // Time-sharing extension (LIF on some Intersil peripherals)
+ break;
+
+ case 0264:
+ stream << "CUF"; // Time-sharing extension
+ break;
+
+ case 0274:
+ stream << "SUF"; // Time-sharing extension
+ break;
+
+ default:
+ util::stream_format(stream, "IOT %03o", dev);
+ break;
+ }
+
+ return 1 | SUPPORTED;
+}
+
+
+offs_t hd6120_disassembler::dasm_iot(std::ostream &stream, u16 dev, offs_t pc)
+{
+ switch (dev)
+ {
+ case 000:
+ if (BIT(pc, 15))
+ stream << "PRS";
+ else
+ stream << "SKON";
+ break;
+
+ case 001:
+ stream << "ION";
+ break;
+
+ case 002:
+ stream << "IOF";
+ break;
+
+ case 003:
+ if (BIT(pc, 15))
+ stream << "PGO";
+ else
+ stream << "SRQ";
+ break;
+
+ case 004:
+ if (BIT(pc, 15))
+ stream << "PEX";
+ else
+ stream << "GTF";
+ break;
+
+ case 005:
+ stream << "RTF";
+ break;
+
+ case 006:
+ stream << "SGT";
+ break;
+
+ case 007:
+ stream << "CAF";
+ break;
+
+ case 0201: case 0202: case 0203:
+ case 0211: case 0212: case 0213:
+ case 0221: case 0222: case 0223:
+ case 0231: case 0232: case 0233:
+ case 0241: case 0242: case 0243:
+ case 0251: case 0252: case 0253:
+ case 0261: case 0262: case 0263:
+ case 0271: case 0272: case 0273:
+ if (BIT(dev, 0))
+ stream << "CDF ";
+ if (BIT(dev, 1))
+ stream << "CIF ";
+ util::stream_format(stream, "%o", dev & 070);
+ break;
+
+ case 0205: case 0215: case 0245: case 0255:
+ util::stream_format(stream, "P%cC%d", BIT(dev, 3) ? 'A' : 'P', BIT(dev, 5) ? 2 : 1);
+ break;
+
+ case 0206: case 0216: case 0226: case 0236:
+ if (BIT(pc, 15))
+ util::stream_format(stream, "IOT %03o", dev); // NOPs if already in panel mode
+ else
+ util::stream_format(stream, "PR%d", (dev & 030) >> 3);
+ return 1 | SUPPORTED | STEP_OVER;
+
+ case 0207: case 0217: case 0227: case 0237:
+ util::stream_format(stream, "%cSP%d", BIT(dev, 3) ? 'L' : 'R', BIT(dev, 4) ? 2 : 1);
+ break;
+
+ case 0214:
+ stream << "RDF";
+ break;
+
+ case 0224:
+ stream << "RIF";
+ break;
+
+ case 0225: case 0265:
+ util::stream_format(stream, "RTN%d", BIT(dev, 5) ? 2 : 1);
+ return 1 | SUPPORTED | STEP_OUT;
+
+ case 0235: case 0275:
+ util::stream_format(stream, "POP%d", BIT(dev, 5) ? 2 : 1);
+ break;
+
+ case 0234:
+ stream << "RIB";
+ break;
+
+ case 0244:
+ stream << "RMF";
+ break;
+
+ case 0246:
+ stream << "WSR";
+ break;
+
+ case 0256:
+ stream << "GCF";
+ break;
+
+ case 0266: case 0276:
+ if (BIT(pc, 15))
+ util::stream_format(stream, "%cPD", BIT(dev, 3) ? 'S' : 'C');
+ else
+ util::stream_format(stream, "IOT %03o", dev); // Panel mode only
+ break;
+
+ default:
+ util::stream_format(stream, "IOT %03o", dev);
+ break;
+ }
+
+ return 1 | SUPPORTED;
+}
+
+// Sequence 1: CLA, CLL
+// Sequence 2: CMA, CML
+// Sequence 3: IAC
+// Sequence 4: RAL, RTL, RAR, RTR, BSW, R3L
+void pdp8_disassembler::dasm_opr_group1(std::ostream &stream, u16 opr)
+{
+ if (opr == 000)
+ stream << "NOP";
+ else if ((opr & 0357) == 0204)
+ {
+ if (BIT(opr, 4))
+ stream << "CML ";
+ stream << "GLK"; // Get link (CLA RAL)
+ }
+ else
+ {
+ int count = 0;
+ switch (opr & 0240)
+ {
+ case 000:
+ break;
+
+ case 040:
+ if (BIT(opr, 0))
+ stream << "CIA"; // Complement and increment (CMA IAC); may not be combined with rotate operations on Classic-8
+ else
+ stream << "CMA";
+ ++count;
break;
- case 1:
- util::stream_format(stream, "TAD %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+
+ case 0200:
+ stream << "CLA";
+ ++count;
break;
- case 2:
- util::stream_format(stream, "ISZ %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+
+ case 0240:
+ stream << "STA"; // Set accumulator (CLA CMA)
+ ++count;
break;
- case 3:
- util::stream_format(stream, "DCA %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+ }
+ switch (opr & 0120)
+ {
+ case 000:
break;
- case 4:
- util::stream_format(stream, "JMS %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+
+ case 020:
+ if (count != 0)
+ stream << " ";
+ stream << "CML";
+ ++count;
break;
- case 5:
- util::stream_format(stream, "JMP %c %05o", indirect ? 'I' : ' ', zero_page ? zero_addr : current_addr);
+
+ case 0100:
+ if (count != 0)
+ stream << " ";
+ stream << "CLL";
+ ++count;
break;
- case 6:
- util::stream_format(stream, "IOT %03o %01o", (op >> 03) & 077, op & 07);
+
+ case 0120:
+ if (count != 0)
+ stream << " ";
+ stream << "STL"; // Set link (CLL CML)
+ ++count;
break;
- case 7:
+ }
+ if (BIT(opr, 0) && (opr & 0240) != 040)
+ {
+ if (count != 0)
+ stream << " ";
+ stream << "IAC"; // May not be combined with rotate operations on Classic-8
+ ++count;
+ }
+
+ // Rotate operations
+ if (m_has_r3l && (opr & 016) == 014)
+ {
+ if (count != 0)
+ stream << " ";
+ stream << "R3L";
+ ++count;
+ }
+ else if ((opr & 016) == 002)
{
- bool group2 = ((op & 0401) == 0400);
- if (!group2)
+ if (count != 0)
+ stream << " ";
+ stream << "BSW"; // PDP-8/E and up
+ ++count;
+ }
+ else
+ {
+ if (BIT(opr, 2))
{
- if (!(op & 0377))
- {
- util::stream_format(stream, "NOP ");
- }
- else
- {
- if (op & 0200)
- {
- util::stream_format(stream, "CLA ");
- }
- if (op & 0100)
- {
- util::stream_format(stream, "CLL ");
- }
- if (op & 040)
- {
- util::stream_format(stream, "CMA ");
- }
- if (op & 020)
- {
- util::stream_format(stream, "CML ");
- }
- if (op & 01)
- {
- util::stream_format(stream, "IAC ");
- }
- if (op & 010)
- {
- if (op & 02)
- {
- util::stream_format(stream, "RTR ");
- }
- else
- {
- util::stream_format(stream, "RAR ");
- }
- }
- if (op & 04)
- {
- if (op & 02)
- {
- util::stream_format(stream, "RTL ");
- }
- else
- {
- util::stream_format(stream, "RAL ");
- }
- }
- }
+ if (count != 0)
+ stream << " ";
+ util::stream_format(stream, "R%cL", BIT(opr, 1) ? 'T' : 'A');
+ ++count;
}
- else
+ if (BIT(opr, 3))
+ {
+ if (count != 0)
+ stream << " ";
+ util::stream_format(stream, "R%cR", BIT(opr, 1) ? 'T' : 'A');
+ ++count;
+ }
+ }
+
+ u16 nl;
+ switch (opr & 0314)
+ {
+ case 0200: case 0300:
+ nl = (opr & 041) == 040 ? 07777 : (opr & 041) == 001 ? 1 : 0;
+ if ((opr & 042) == 002)
+ nl <<= 6;
+ util::stream_format(stream, "%*s/NL%04o", 17 - std::min(count, 4) * 4, "", nl);
+ break;
+
+ case 0214: case 0314:
+ if (m_has_r3l && !BIT(opr, 1))
{
- if (!(op & 0377))
- {
- util::stream_format(stream, "NOP ");
- }
- else
- {
- if (op & 010)
- {
- if (!(op & 0160))
- {
- util::stream_format(stream, "SKP ");
- }
- else
- {
- if (op & 0100)
- {
- util::stream_format(stream, "SPA ");
- }
- if (op & 040)
- {
- util::stream_format(stream, "SNA ");
- }
- if (op & 020)
- {
- util::stream_format(stream, "SZL ");
- }
- }
- }
- else
- {
- if (op & 0100)
- {
- util::stream_format(stream, "SMA ");
- }
- if (op & 040)
- {
- util::stream_format(stream, "SZA ");
- }
- if (op & 020)
- {
- util::stream_format(stream, "SNL ");
- }
- }
- if (op & 0200)
- {
- util::stream_format(stream, "CLA ");
- }
- if (op & 04)
- {
- util::stream_format(stream, "OSR ");
- }
- if (op & 02)
- {
- util::stream_format(stream, "HLT ");
- }
- }
+ nl = (opr & 041) == 040 ? 07777 : (opr & 041) == 001 ? 010 : 0;
+ util::stream_format(stream, "%*s/NL%04o", 17 - std::min(count, 4) * 4, "", nl);
}
+ break;
+
+ case 0304:
+ nl = ((opr & 041) == 001 ? 2 : 0) | (BIT(opr, 4) != BIT(opr, 5) ? 1 : 0);
+ if (BIT(opr, 1))
+ nl <<= 1;
+ if ((opr & 041) == 040)
+ nl ^= 07777;
+ util::stream_format(stream, "%*s/NL%04o", 17 - std::min(count, 4) * 4, "", nl);
+ break;
+
+ case 0310:
+ nl = BIT(opr, 4) != BIT(opr, 5) ? 04000 : 0;
+ if (BIT(opr, 1))
+ {
+ nl >>= 1;
+ if ((opr & 041) == 001)
+ nl |= 04000;
+ }
+ if ((opr & 041) == 040)
+ nl ^= 07777;
+ util::stream_format(stream, "%*s/NL%04o", 17 - std::min(count, 4) * 4, "", nl);
+ break;
+ }
+ }
+}
+
+// Sequence 1a: SKP, SPA, SNA, SZL (skip if all conditions hold)
+// Sequence 1b: SMA, SZA, SZL (skip if any condition holds)
+// Sequence 2: CLA
+// Sequence 3: OSR, HLT
+void pdp8_disassembler::dasm_opr_group2(std::ostream &stream, u16 opr)
+{
+ if ((opr & 0170) != 0)
+ {
+ // Skip instructions
+ if ((opr & 0170) == 010)
+ stream << "SKP";
+ else
+ {
+ if (BIT(opr, 6))
+ {
+ stream << (BIT(opr, 3) ? "SPA" : "SMA");
+ if ((opr & 060) != 0)
+ stream << " ";
+ }
+ if (BIT(opr, 5))
+ {
+ stream << (BIT(opr, 3) ? "SNA" : "SZA");
+ if (BIT(opr, 4))
+ stream << " ";
+ }
+ if (BIT(opr, 4))
+ stream << (BIT(opr, 3) ? "SZL" : "SNL");
+ }
+ if ((opr & 0206) != 0)
+ stream << " ";
+ }
+ if (BIT(opr, 2))
+ {
+ if (BIT(opr, 7))
+ stream << "LSR"; // Load switch register (CLA OSR)
+ else
+ stream << "OSR";
+ if (BIT(opr, 1))
+ stream << " HLT";
+ }
+ else if (BIT(opr, 1))
+ {
+ if (BIT(opr, 7))
+ stream << "CLA ";
+ stream << "HLT";
+ }
+ else
+ {
+ if (BIT(opr, 7))
+ stream << "CLA";
+ else if (opr == 07400)
+ stream << "NOP";
+ if ((opr & 0176) == 0)
+ stream << "!200";
+ }
+}
+
+// Sequence 1: CLA
+// Sequence 2: MQL, MQA (also SCA on older EAEs)
+// Sequence 3: MUY, DIV, NMI, SHL, ASR, LSR, etc.
+offs_t pdp8_disassembler::dasm_opr_group3(std::ostream &stream, u16 opr, offs_t pc, const pdp8_disassembler::data_buffer &opcodes)
+{
+ switch (opr & 0320)
+ {
+ case 000:
+ if (opr == 0401)
+ stream << "NOP";
+ break;
+
+ case 020:
+ if (opr == 0431)
+ {
+ stream << "SWAB"; // KE8-E Mode A (change to Mode B)
+ return 1 | SUPPORTED;
+ }
+ else
+ stream << "MQL"; // Extended Arithmetic Element or internal for PDP-8/E and up
+ break;
+
+ case 0100:
+ stream << "MQA"; // Extended Arithmetic Element or internal for PDP-8/E and up
+ break;
+
+ case 0120: case 0320:
+ if (BIT(opr, 7))
+ stream << "CLA ";
+ if (opr == 0573)
+ {
+ stream << "DPIC"; // KE8-E Mode B
+ return 1 | SUPPORTED;
+ }
+ else if (opr == 0575)
+ {
+ stream << "DCM"; // KE8-E Mode B
+ return 1 | SUPPORTED;
+ }
+ else
+ stream << "SWP"; // PDP-8/E and up
+ break;
+
+ case 0200:
+ stream << "CLA"; // NOP on PDP-8/L
+ break;
+
+ case 0220:
+ if (opr == 0663)
+ {
+ stream << "DLD"; // KE8-E Mode B (CAM DAD)
+ return 1 | SUPPORTED;
+ }
+ else
+ stream << "CAM"; // Extended Arithmetic Element or internal for PDP-8/E and up (CLA MQA)
+ break;
+
+ case 0300:
+ stream << "ACL"; // Extended Arithmetic Element or internal for PDP-8/E and up (CLA MQL)
+ break;
+ }
+ switch (opr & 056)
+ {
+ case 000:
+ if ((opr & 0120) == 0)
+ stream << "!201";
+ break;
+
+ case 002:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "ACS"; // KE8-E Mode B
+ break;
+
+ case 004:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ util::stream_format(stream, "MUY; %04o", opcodes.r16(pc + 1) & 07777); // Extended Arithmetic Element
+ return 2 | SUPPORTED;
+
+ case 006:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ util::stream_format(stream, "DVI; %04o", opcodes.r16(pc + 1) & 07777); // Extended Arithmetic Element
+ return 2 | SUPPORTED;
+
+ case 010:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "NMI"; // Extended Arithmetic Element
+ break;
+
+ case 012:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ util::stream_format(stream, "SHL; %04o", opcodes.r16(pc + 1) & 07777); // Extended Arithmetic Element
+ return 2 | SUPPORTED;
+
+ case 014: case 016:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ util::stream_format(stream, "%cSR; %04o", BIT(opr, 1) ? 'L' : 'A', opcodes.r16(pc + 1) & 07777); // Extended Arithmetic Element
+ return 2 | SUPPORTED;
+
+ case 040:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "SCA"; // Extended Arithmetic Element
+ break;
+
+ case 042:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "DAD"; // KE8-E Mode B
+ break;
+
+ case 044:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "DST"; // KE8-E Mode B
+ break;
+
+ case 046:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "SWBA"; // KE8-E Mode B (change to mode A)
+ break;
+
+ case 050:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "DPSZ"; // KE8-E Mode B
+ break;
+
+ case 056:
+ if ((opr & 0320) != 0)
+ stream << " ";
+ stream << "SAM"; // KE8-E Mode B
+ break;
+
+ default:
+ if ((opr & 0320) != 0)
+ util::stream_format(stream, "!%02o", opr & 056);
+ else
+ util::stream_format(stream, "OPR %03o", opr & 0777);
+ break;
+ }
+ return 1 | SUPPORTED;
+}
+
+offs_t hd6120_disassembler::dasm_opr_group3(std::ostream &stream, u16 opr, offs_t pc, const hd6120_disassembler::data_buffer &opcodes)
+{
+ switch (opr & 0320)
+ {
+ case 000:
+ stream << "NOP";
+ break;
+
+ case 020:
+ stream << "MQL";
+ break;
+
+ case 0100:
+ stream << "MQA";
+ break;
+
+ case 0120: case 0320:
+ if (BIT(opr, 7))
+ stream << "CLA ";
+ stream << "SWP";
+ break;
+
+ case 0200:
+ stream << "CLA";
+ break;
+
+ case 0220:
+ stream << "CAM";
+ break;
+
+ case 0300:
+ stream << "ACL";
+ break;
+ }
+ if ((opr & 0120) == 0)
+ util::stream_format(stream, "!%03o", opr & 0457);
+ else if ((opr & 056) != 0)
+ util::stream_format(stream, "!%02o", opr & 056); // Inhibit interrupts for next instruction
+ return 1 | SUPPORTED;
+}
+
+offs_t pdp8_disassembler::disassemble(std::ostream &stream, offs_t pc, const pdp8_disassembler::data_buffer &opcodes, const pdp8_disassembler::data_buffer &params)
+{
+ const u16 inst = opcodes.r16(pc);
+
+ // Bits 0:2 (DEC numbering) specify instruction code
+ switch (BIT(inst, 9, 3))
+ {
+ case 0:
+ stream << "AND";
+ dasm_memory_reference(stream, inst, pc);
+ break;
+
+ case 1:
+ stream << "TAD";
+ dasm_memory_reference(stream, inst, pc);
+ break;
+
+ case 2:
+ stream << "ISZ";
+ dasm_memory_reference(stream, inst, pc);
+ break;
+
+ case 3:
+ stream << "DCA";
+ dasm_memory_reference(stream, inst, pc);
+ break;
+
+ case 4:
+ stream << "JMS";
+ dasm_memory_reference(stream, inst, pc);
+ return 1 | SUPPORTED | STEP_OVER;
+
+ case 5:
+ stream << "JMP";
+ dasm_memory_reference(stream, inst, pc);
+ if (BIT(inst, 8))
+ return 1 | SUPPORTED | STEP_OUT;
+ break;
+
+ case 6:
+ return dasm_iot(stream, inst & 0777, pc);
+
+ case 7:
+ if (!BIT(inst, 8))
+ dasm_opr_group1(stream, inst & 0777);
+ else if (!BIT(inst, 0))
+ {
+ dasm_opr_group2(stream, inst & 0777);
+
+ // HACK: HLT is a software trap on HD-6120
+ if (m_has_r3l && BIT(inst, 1))
+ return 1 | SUPPORTED | STEP_OVER;
}
+ else
+ return dasm_opr_group3(stream, inst & 0777, pc, opcodes);
+ break;
}
- return 1 | SUPPORTED | (opcode == 4 ? STEP_OVER : 0);
+ return 1 | SUPPORTED;
}
diff --git a/src/devices/cpu/pdp8/pdp8dasm.h b/src/devices/cpu/pdp8/pdp8dasm.h
index df6c92e9ddb..64821c40fc6 100644
--- a/src/devices/cpu/pdp8/pdp8dasm.h
+++ b/src/devices/cpu/pdp8/pdp8dasm.h
@@ -1,10 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-/*
- First-gen DEC PDP-8 disassembler
-
- Written by Ryan Holtz
-*/
+// copyright-holders:AJR
#ifndef MAME_CPU_PDP8_PDP8DASM_H
#define MAME_CPU_PDP8_PDP8DASM_H
@@ -14,11 +9,36 @@
class pdp8_disassembler : public util::disasm_interface
{
public:
- pdp8_disassembler() = default;
- virtual ~pdp8_disassembler() = default;
+ pdp8_disassembler(bool has_r3l = false);
+protected:
+ // util::disasm_interface 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;
+
+ void dasm_memory_reference(std::ostream &stream, u16 inst, offs_t pc);
+ virtual offs_t dasm_iot(std::ostream &stream, u16 dev, offs_t pc);
+ void dasm_opr_group1(std::ostream &stream, u16 inst);
+ void dasm_opr_group2(std::ostream &stream, u16 inst);
+ virtual offs_t dasm_opr_group3(std::ostream &stream, u16 inst, offs_t pc, const data_buffer &opcodes);
+
+private:
+ const bool m_has_r3l;
+};
+
+class hd6120_disassembler : public pdp8_disassembler
+{
+public:
+ hd6120_disassembler();
+
+protected:
+ // util::disasm_interface overrides
+ virtual u32 interface_flags() const override;
+ virtual u32 page_address_bits() const override;
+ virtual u32 page2_address_bits() const override;
+
+ virtual offs_t dasm_iot(std::ostream &stream, u16 dev, offs_t pc) override;
+ virtual offs_t dasm_opr_group3(std::ostream &stream, u16 inst, offs_t pc, const data_buffer &opcodes) override;
};
-#endif
+#endif // MAME_CPU_PDP8_PDP8DASM_H
diff --git a/src/devices/cpu/ucom4/ucom4d.cpp b/src/devices/cpu/ucom4/ucom4d.cpp
index 678c1952dfc..82650cd7939 100644
--- a/src/devices/cpu/ucom4/ucom4d.cpp
+++ b/src/devices/cpu/ucom4/ucom4d.cpp
@@ -94,27 +94,6 @@ const u8 ucom4_disassembler::ucom4_mnemonic[0x100] =
};
-u32 ucom4_disassembler::opcode_alignment() const
-{
- return 1;
-}
-
-u32 ucom4_disassembler::interface_flags() const
-{
- return PAGED2LEVEL;
-}
-
-u32 ucom4_disassembler::page_address_bits() const
-{
- return 6;
-}
-
-u32 ucom4_disassembler::page2_address_bits() const
-{
- return 2;
-}
-
-
offs_t ucom4_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params)
{
offs_t pos = pc;
diff --git a/src/devices/cpu/ucom4/ucom4d.h b/src/devices/cpu/ucom4/ucom4d.h
index 2dd3be4914b..6992c3d710d 100644
--- a/src/devices/cpu/ucom4/ucom4d.h
+++ b/src/devices/cpu/ucom4/ucom4d.h
@@ -18,10 +18,9 @@ public:
ucom4_disassembler() = default;
virtual ~ucom4_disassembler() = default;
- virtual u32 opcode_alignment() const override;
- virtual u32 interface_flags() const override;
- virtual u32 page_address_bits() const override;
- virtual u32 page2_address_bits() const override;
+ virtual u32 opcode_alignment() const override { return 1; }
+ virtual u32 interface_flags() const override { return PAGED; }
+ virtual u32 page_address_bits() const override { return 8; }
virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 738412f5530..7d34bfe675c 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -19,10 +19,12 @@
#include "formats/cqm_dsk.h"
#include "formats/dsk_dsk.h"
#include "formats/pc_dsk.h"
+#include "formats/ipf_dsk.h"
#include "formats/fs_unformatted.h"
#include "formats/fsblk_vec.h"
+#include "screen.h"
#include "speaker.h"
#include "formats/imageutl.h"
#include "zippath.h"
@@ -37,6 +39,8 @@
#define PITCH_SEEK_SAMPLES 1
+#define FLUX_SCREEN 0
+
#define FLOPSND_TAG "floppysound"
// device type definition
@@ -55,6 +59,7 @@ DEFINE_DEVICE_TYPE(FLOPPY_35_ED, floppy_35_ed, "floppy_35_ed", "3.5\" exte
// generic 5.25" drives
DEFINE_DEVICE_TYPE(FLOPPY_525_SSSD_35T, floppy_525_sssd_35t, "floppy_525_sssd_35t", "5.25\" single-sided single density 35-track floppy drive")
DEFINE_DEVICE_TYPE(FLOPPY_525_SD_35T, floppy_525_sd_35t, "floppy_525_sd_35t", "5.25\" double-sided single density 35-track floppy drive")
+DEFINE_DEVICE_TYPE(FLOPPY_525_VTECH, floppy_525_vtech, "floppy_525_vtech", "5.25\" single-sided single density VTECH floppy drive")
DEFINE_DEVICE_TYPE(FLOPPY_525_SSSD, floppy_525_sssd, "floppy_525_sssd", "5.25\" single-sided single density floppy drive")
DEFINE_DEVICE_TYPE(FLOPPY_525_SD, floppy_525_sd, "floppy_525_sd", "5.25\" single density floppy drive")
DEFINE_DEVICE_TYPE(FLOPPY_525_SSDD, floppy_525_ssdd, "floppy_525_ssdd", "5.25\" single-sided double density floppy drive")
@@ -168,6 +173,7 @@ void format_registration::add_pc_formats()
add_mfm_containers();
add(FLOPPY_PC_FORMAT);
+ add(FLOPPY_IPF_FORMAT);
}
void format_registration::add(floppy_format_type format)
@@ -175,9 +181,9 @@ void format_registration::add(floppy_format_type format)
m_formats.push_back(format);
}
-void format_registration::add(filesystem_manager_type fs)
+void format_registration::add(const filesystem_manager_t &fs)
{
- m_fs.push_back(fs);
+ m_fs.push_back(&fs);
}
void floppy_image_device::default_fm_floppy_formats(format_registration &fr)
@@ -241,7 +247,6 @@ floppy_image_device::floppy_image_device(const machine_config &mconfig, device_t
input_format(nullptr),
output_format(nullptr),
image(),
- fif_list(nullptr),
index_timer(nullptr),
tracks(0),
sides(0),
@@ -256,10 +261,13 @@ floppy_image_device::floppy_image_device(const machine_config &mconfig, device_t
revolution_count(0),
cyl(0),
subcyl(0),
+ amplifier_freakout_time(attotime::from_usec(16)),
image_dirty(false),
+ track_dirty(false),
ready_counter(0),
m_make_sound(false),
- m_sound_out(nullptr)
+ m_sound_out(nullptr),
+ m_flux_screen(*this, "flux")
{
extension_list[0] = '\0';
m_err = IMAGE_ERROR_INVALIDIMAGE;
@@ -271,12 +279,8 @@ floppy_image_device::floppy_image_device(const machine_config &mconfig, device_t
floppy_image_device::~floppy_image_device()
{
- for(floppy_image_format_t *format = fif_list; format; ) {
- floppy_image_format_t* tmp_format = format;
- format = format->next;
- delete tmp_format;
- }
- fif_list = nullptr;
+ for(floppy_image_format_t *format : fif_list)
+ delete format;
}
void floppy_image_device::setup_load_cb(load_cb cb)
@@ -309,12 +313,12 @@ void floppy_image_device::setup_led_cb(led_cb cb)
cur_led_cb = cb;
}
-void floppy_image_device::fs_enum::add(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description)
+void floppy_image_device::fs_enum::add(floppy_format_type type, u32 image_size, const char *name, const char *description)
{
- if(manager->can_format())
- m_fid->m_create_fs.emplace_back(fs_info(manager, type, image_size, name, description));
- if(manager->can_read())
- m_fid->m_io_fs.emplace_back(fs_info(manager, type, image_size, name, description));
+ if(m_manager->can_format())
+ m_fid->m_create_fs.emplace_back(fs_info(m_manager, type, image_size, name, description));
+ if(m_manager->can_read())
+ m_fid->m_io_fs.emplace_back(fs_info(m_manager, type, image_size, name, description));
}
void floppy_image_device::fs_enum::add_raw(const char *name, u32 key, const char *description)
@@ -329,27 +333,23 @@ void floppy_image_device::register_formats()
format_registration_cb(fr);
extension_list[0] = '\0';
- fif_list = nullptr;
+ fif_list.clear();
for(floppy_format_type fft : fr.m_formats)
{
// allocate a new format
floppy_image_format_t *fif = fft();
- if(!fif_list)
- fif_list = fif;
- else
- fif_list->append(fif);
-
+ fif_list.push_back(fif);
add_format(fif->name(), fif->description(), fif->extensions(), "");
image_specify_extension( extension_list, 256, fif->extensions() );
}
fs_enum fse(this);
- for(filesystem_manager_type fmt : fr.m_fs)
+ for(const filesystem_manager_t *fmt : fr.m_fs)
{
- auto ff = fmt();
- ff->enumerate_f(fse, form_factor, variants);
- m_fs_managers.push_back(std::unique_ptr<filesystem_manager_t>(ff));
+ fse.m_manager = fmt;
+ fmt->enumerate_f(fse, form_factor, variants);
+ m_fs_managers.push_back(fmt);
}
}
@@ -358,7 +358,7 @@ void floppy_image_device::set_formats(std::function<void (format_registration &f
format_registration_cb = formats;
}
-floppy_image_format_t *floppy_image_device::get_formats() const
+const std::vector<floppy_image_format_t *> &floppy_image_device::get_formats() const
{
return fif_list;
}
@@ -387,6 +387,11 @@ void floppy_image_device::setup_write(floppy_image_format_t *_output_format)
void floppy_image_device::commit_image()
{
+ if(FLUX_SCREEN && track_dirty) {
+ flux_image_compute_for_track(((cyl << 2) | subcyl) >> (2 - image->get_resolution()), ss);
+ track_dirty = false;
+ }
+
image_dirty = false;
if(!output_format || !output_format->supports_save())
return;
@@ -473,6 +478,29 @@ void floppy_image_device::device_start()
save_item(NAME(image_dirty));
save_item(NAME(ready_counter));
save_item(NAME(phases));
+
+ if(FLUX_SCREEN) {
+ m_flux_per_pixel_infos.resize(flux_screen_sx*flux_screen_sy);
+ flux_per_pixel_info *ppi = m_flux_per_pixel_infos.data();
+ for(int y = 0; y != flux_screen_sy; y++) {
+ int head = y >= flux_screen_sy / 2 ? 1 : 0;
+ int yc = (flux_screen_sy/2-1)/2 + (flux_screen_sy/2)*head;
+ int dy = y - yc;
+ for(int x = 0; x != flux_screen_sx; x++) {
+ const int xc = (flux_screen_sx - 1)/2;
+ int dx = x - xc;
+ int r = int(sqrt(dx*dx + dy*dy) + 0.5);
+ ppi->m_r = r;
+ if(r > flux_max_r || r < flux_min_r)
+ ppi->m_position = 0xffffffff;
+ else
+ ppi->m_position = int((200e6 / 2 / M_PI) * atan2(dy, dx) + 100000000.5) % 200000000;
+ ppi->m_combined_track = 0;
+ ppi->m_color = 0;
+ ppi ++;
+ }
+ }
+ }
}
void floppy_image_device::device_reset()
@@ -514,7 +542,7 @@ floppy_image_format_t *floppy_image_device::identify(std::string filename)
io.filler = 0xff;
int best = 0;
floppy_image_format_t *best_format = nullptr;
- for (floppy_image_format_t *format = fif_list; format; format = format->next)
+ for (floppy_image_format_t *format : fif_list)
{
int score = format->identify(&io, form_factor, variants);
if(score > best) {
@@ -562,7 +590,7 @@ image_init_result floppy_image_device::call_load()
io.filler = 0xff;
int best = 0;
floppy_image_format_t *best_format = nullptr;
- for (floppy_image_format_t *format = fif_list; format; format = format->next) {
+ for (floppy_image_format_t *format : fif_list) {
int score = format->identify(&io, form_factor, variants);
if(score > best) {
best = score;
@@ -590,9 +618,147 @@ image_init_result floppy_image_device::call_load()
if (!cur_load_cb.isnull())
return cur_load_cb(this);
+ flux_image_prepare();
+
return image_init_result::PASS;
}
+void floppy_image_device::flux_image_prepare()
+{
+ if(!FLUX_SCREEN)
+ return;
+
+ int tracks = 0, heads = 0, rez = 0;
+ image->get_maximal_geometry(tracks, heads);
+ rez = image->get_resolution();
+
+ int trackm = (tracks - 1) << rez;
+ int tmask = (1 << rez) - 1;
+
+ m_flux_per_combined_track_infos.clear();
+ m_flux_per_combined_track_infos.resize(trackm+1);
+ for(int track = 0; track <= trackm; track++) {
+ int refr = 200 + (trackm - 0.5 - track) * 290 / (trackm+1) + 200;
+ int span = int((200e6 / 2 / M_PI) / refr);
+ m_flux_per_combined_track_infos[track].m_span = span;
+ m_flux_per_combined_track_infos[track].m_track = track >> rez;
+ m_flux_per_combined_track_infos[track].m_subtrack = track & tmask;
+ }
+
+ flux_per_pixel_info *ppi = m_flux_per_pixel_infos.data();
+ for(int head = 0; head != heads; head++)
+ for(unsigned int i=0; i != flux_screen_sx*flux_screen_sy/2; i++) {
+ if(ppi->m_position != 0xffffffff) {
+ int trk = (trackm + 1) * (flux_max_r - ppi->m_r) / (flux_max_r - flux_min_r + 1);
+ ppi->m_combined_track = trk;
+ m_flux_per_combined_track_infos[trk].m_pixels[head].push_back(ppi);
+ }
+ ppi++;
+ }
+
+ for(auto &t : m_flux_per_combined_track_infos) {
+ std::sort(t.m_pixels[0].begin(), t.m_pixels[0].end(), [](const flux_per_pixel_info *a, const flux_per_pixel_info *b) -> bool { return a->m_position < b->m_position; });
+ if(heads == 2)
+ std::sort(t.m_pixels[1].begin(), t.m_pixels[1].end(), [](const flux_per_pixel_info *a, const flux_per_pixel_info *b) -> bool { return a->m_position < b->m_position; });
+ }
+
+ for(int head = 0; head != heads; head++)
+ for(int track = 0; track <= trackm; track++)
+ flux_image_compute_for_track(track, head);
+}
+
+void floppy_image_device::flux_image_compute_for_track(int track, int head)
+{
+ auto *pcti = m_flux_per_combined_track_infos.data() + track;
+ const std::vector<uint32_t> &buffer = image->get_buffer(pcti->m_track, head, pcti->m_subtrack);
+ int sz = buffer.size();
+ if(!sz) {
+ for(flux_per_pixel_info *p : m_flux_per_combined_track_infos[track].m_pixels[head])
+ p->m_color = 255;
+ return;
+ }
+
+ int spos = pcti->m_pixels[head][0]->m_position - pcti->m_span + 200000000;
+ int bpos = sz;
+ while(bpos && (buffer[bpos-1] & floppy_image::TIME_MASK) < spos)
+ bpos --;
+ if(bpos == sz)
+ bpos = 0;
+
+ int pspos = spos;
+ for(flux_per_pixel_info *p : m_flux_per_combined_track_infos[track].m_pixels[head]) {
+ int spos = p->m_position - pcti->m_span;
+ int epos = p->m_position + pcti->m_span;
+ if(spos < 0)
+ spos += 200000000;
+ if(epos >= 200000000)
+ epos -= 200000000;
+
+ if(spos < pspos)
+ bpos = 0;
+ while(bpos != sz-1 && (buffer[bpos+1] & floppy_image::TIME_MASK) < spos)
+ bpos ++;
+
+ int bpos2 = spos < epos ? bpos : 0;
+ while(bpos2 != sz-1 && (buffer[bpos2+1] & floppy_image::TIME_MASK) < epos)
+ bpos2 ++;
+
+ int count;
+ if(bpos <= bpos2)
+ count = bpos2 - bpos;
+ else {
+ count = (sz - 1 - bpos) + bpos2;
+ if((buffer[0] ^ buffer[sz-1]) & floppy_image::MG_MASK)
+ count ++;
+ }
+
+ count *= 5;
+ if(count > 255)
+ count = 255;
+ p->m_color = 255 - count;
+ pspos = spos;
+ }
+}
+
+uint32_t floppy_image_device::flux_screen_update(screen_device &device, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ if(image.get()) {
+ int ctrack = ((cyl << 2) | subcyl) >> (2 - image->get_resolution());
+ if(mon)
+ ctrack = -1;
+ for(int y = cliprect.min_y; y <= cliprect.max_y; y++) {
+ int head = y >= flux_screen_sy / 2;
+ flux_per_pixel_info *ppi = m_flux_per_pixel_infos.data() + y * flux_screen_sx + cliprect.min_x;
+ uint32_t *p = &bitmap.pix(y, cliprect.min_x);
+ for(int x = cliprect.min_x; x <= cliprect.max_x; x++) {
+ if(ppi->m_position == 0xffffffff)
+ *p++ = 0;
+ else {
+ u32 color = 0x010101 * ppi->m_color;
+ if(ppi->m_combined_track == ctrack && head == ss)
+ color &= 0x0000ff;
+ *p++ = color;
+ }
+ ppi++;
+ }
+ }
+ } else {
+ for(int y = cliprect.min_y; y <= cliprect.max_y; y++) {
+ flux_per_pixel_info *ppi = m_flux_per_pixel_infos.data() + y * flux_screen_sx + cliprect.min_x;
+ uint32_t *p = &bitmap.pix(y, cliprect.min_x);
+ for(int x = cliprect.min_x; x <= cliprect.max_x; x++) {
+ if(ppi->m_position == 0xffffffff)
+ *p++ = 0;
+ else
+ *p++ = 0x404040;
+ ppi++;
+ }
+ }
+ }
+
+ return 0;
+}
+
void floppy_image_device::call_unload()
{
cache_clear();
@@ -629,7 +795,7 @@ image_init_result floppy_image_device::call_create(int format_type, util::option
output_format = nullptr;
// search for a suitable format based on the extension
- for(floppy_image_format_t *i = fif_list; i; i = i->next)
+ for(floppy_image_format_t *i : fif_list)
{
// only consider formats that actually support saving
if(!i->supports_save())
@@ -648,6 +814,8 @@ image_init_result floppy_image_device::call_create(int format_type, util::option
init_floppy_load(true);
+ flux_image_prepare();
+
return image_init_result::PASS;
}
@@ -881,6 +1049,11 @@ void floppy_image_device::stp_w(int state)
cache_clear();
stp = state;
if ( stp == 0 ) {
+ if(FLUX_SCREEN && track_dirty) {
+ flux_image_compute_for_track(((cyl << 2) | subcyl) >> (2 - image->get_resolution()), ss);
+ track_dirty = false;
+ }
+
int ocyl = cyl;
if ( dir ) {
if ( cyl ) cyl--;
@@ -936,6 +1109,12 @@ void floppy_image_device::seek_phase_w(int _phases)
next_pos = 0;
else if(next_pos > (tracks-1)*4)
next_pos = (tracks-1)*4;
+
+ if(FLUX_SCREEN && track_dirty) {
+ flux_image_compute_for_track(((cyl << 2) | subcyl) >> (2 - image->get_resolution()), ss);
+ track_dirty = false;
+ }
+
cyl = next_pos >> 2;
subcyl = next_pos & 3;
@@ -1094,7 +1273,7 @@ void floppy_image_device::cache_weakness_setup()
return;
}
- cache_weak = cache_end_time.is_never() || (cache_end_time - cache_start_time >= attotime::from_usec(16));
+ cache_weak = cache_end_time.is_never() || (cache_end_time - cache_start_time >= amplifier_freakout_time);
if(!cache_weak) {
cache_weak_start = attotime::never;
return;
@@ -1145,6 +1324,7 @@ void floppy_image_device::write_flux(const attotime &start, const attotime &end,
return;
image_dirty = true;
+ track_dirty = true;
cache_clear();
attotime base;
@@ -1704,6 +1884,14 @@ void floppy_image_device::device_add_mconfig(machine_config &config)
{
SPEAKER(config, FLOPSPK).front_center();
FLOPPYSOUND(config, FLOPSND_TAG, 44100).add_route(ALL_OUTPUTS, FLOPSPK, 0.5);
+
+ if (FLUX_SCREEN)
+ {
+ SCREEN(config, m_flux_screen, SCREEN_TYPE_RASTER);
+ m_flux_screen->set_screen_update(FUNC(floppy_image_device::flux_screen_update));
+ m_flux_screen->set_raw(30*(flux_screen_sx+1)*(flux_screen_sy+1), flux_screen_sx+1, 0, flux_screen_sx, flux_screen_sy+1, 0, flux_screen_sy);
+ m_flux_screen->set_physical_aspect(1, 2);
+ }
}
@@ -1907,6 +2095,31 @@ void floppy_525_sd_35t::setup_characteristics()
set_rpm(300);
variants.push_back(floppy_image::SSSD);
+ variants.push_back(floppy_image::DSSD);
+}
+
+//-------------------------------------------------
+// 5.25" single-sided single density, VTECH edition
+//-------------------------------------------------
+
+floppy_525_vtech::floppy_525_vtech(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ floppy_image_device(mconfig, FLOPPY_525_VTECH, tag, owner, clock)
+{
+ amplifier_freakout_time = attotime::from_usec(64);
+}
+
+floppy_525_vtech::~floppy_525_vtech()
+{
+}
+
+void floppy_525_vtech::setup_characteristics()
+{
+ form_factor = floppy_image::FF_525;
+ tracks = 40;
+ sides = 1;
+ set_rpm(85);
+
+ variants.push_back(floppy_image::SSSD);
}
//-------------------------------------------------
diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h
index c9fdc220ad3..79f3f7c583f 100644
--- a/src/devices/imagedev/floppy.h
+++ b/src/devices/imagedev/floppy.h
@@ -15,6 +15,7 @@
#include "formats/fsmgr.h"
#include "sound/samples.h"
#include "softlist_dev.h"
+#include "screen.h"
class floppy_sound_device;
@@ -27,14 +28,14 @@ public:
format_registration();
void add(floppy_format_type format);
- void add(filesystem_manager_type fs);
+ void add(const filesystem_manager_t &fs);
void add_fm_containers();
void add_mfm_containers();
void add_pc_formats();
std::vector<floppy_format_type> m_formats;
- std::vector<filesystem_manager_type> m_fs;
+ std::vector<const filesystem_manager_t *> m_fs;
};
class floppy_image_device : public device_t,
@@ -79,7 +80,7 @@ public:
virtual ~floppy_image_device();
void set_formats(std::function<void (format_registration &fr)> formats);
- floppy_image_format_t *get_formats() const;
+ const std::vector<floppy_image_format_t *> &get_formats() const;
const std::vector<fs_info> &get_create_fs() const { return m_create_fs; }
const std::vector<fs_info> &get_io_fs() const { return m_io_fs; }
floppy_image_format_t *get_load_format() const;
@@ -157,9 +158,11 @@ public:
protected:
struct fs_enum : public filesystem_manager_t::floppy_enumerator {
floppy_image_device *m_fid;
+ const filesystem_manager_t *m_manager;
+
fs_enum(floppy_image_device *fid) : filesystem_manager_t::floppy_enumerator(), m_fid(fid) {};
- virtual void add(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) override;
+ virtual void add(floppy_format_type type, u32 image_size, const char *name, const char *description) override;
virtual void add_raw(const char *name, u32 key, const char *description) override;
};
@@ -186,9 +189,9 @@ protected:
std::vector<uint32_t> variants;
std::unique_ptr<floppy_image> image;
char extension_list[256];
- floppy_image_format_t *fif_list;
+ std::vector<floppy_image_format_t *> fif_list;
std::vector<fs_info> m_create_fs, m_io_fs;
- std::vector<std::unique_ptr<filesystem_manager_t>> m_fs_managers;
+ std::vector<const filesystem_manager_t *> m_fs_managers;
emu_timer *index_timer;
/* Physical characteristics, filled by setup_characteristics */
@@ -229,11 +232,12 @@ protected:
/* Current floppy zone cache */
attotime cache_start_time, cache_end_time, cache_weak_start;
+ attotime amplifier_freakout_time;
int cache_index;
u32 cache_entry;
bool cache_weak;
- bool image_dirty;
+ bool image_dirty, track_dirty;
int ready_counter;
load_cb cur_load_cb;
@@ -264,6 +268,35 @@ protected:
// Sound
bool m_make_sound;
floppy_sound_device* m_sound_out;
+
+ // Flux visualization
+ struct flux_per_pixel_info {
+ uint32_t m_position; // 0-199999999 Angular position in the track, 0xffffffff if not in the floppy image
+ uint16_t m_r; // Distance from the center
+ uint8_t m_combined_track; // No need to store head, it's y >= flux_screen_sy/2
+ uint8_t m_color; // Computed gray level from the flux counts
+ };
+
+ struct flux_per_combined_track_info {
+ std::vector<flux_per_pixel_info *> m_pixels[2];
+ uint32_t m_span;
+ uint8_t m_track;
+ uint8_t m_subtrack;
+ };
+
+ std::vector<flux_per_pixel_info> m_flux_per_pixel_infos;
+ std::vector<flux_per_combined_track_info> m_flux_per_combined_track_infos;
+
+ optional_device<screen_device> m_flux_screen;
+
+ static constexpr int flux_screen_sx = 501;
+ static constexpr int flux_screen_sy = 1002;
+ static constexpr int flux_min_r = 100;
+ static constexpr int flux_max_r = 245;
+
+ void flux_image_prepare();
+ void flux_image_compute_for_track(int track, int head);
+ uint32_t flux_screen_update(screen_device &device, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
#define DECLARE_FLOPPY_IMAGE_DEVICE(Type, Name, Interface) \
@@ -285,6 +318,7 @@ DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_HD, floppy_35_hd, "floppy_3_
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_ED, floppy_35_ed, "floppy_3_5")
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSSD_35T, floppy_525_sssd_35t, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SD_35T, floppy_525_sd_35t, "floppy_5_25")
+DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_VTECH, floppy_525_vtech, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSSD, floppy_525_sssd, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SD, floppy_525_sd, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSDD, floppy_525_ssdd, "floppy_5_25")
diff --git a/src/devices/imagedev/midiin.cpp b/src/devices/imagedev/midiin.cpp
index 62c7cba52a1..54a9f1c2297 100644
--- a/src/devices/imagedev/midiin.cpp
+++ b/src/devices/imagedev/midiin.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:R. Belmont
+// copyright-holders:R. Belmont,Aaron Giles
/*********************************************************************
midiin.c
@@ -64,23 +64,57 @@ void midiin_device::device_reset()
void midiin_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
- if (!id) {
- uint8_t buf[8192*4];
- int bytesRead;
+ if (id == 0)
+ {
+ // if there's a sequence playing, that takes priority
+ midi_event *event = m_sequence.current_event();
+ if (event != nullptr)
+ {
+ attotime curtime = timer.expire();
+ if (curtime < m_sequence_start)
+ {
+ // we could get called before we're supposed to start; show a countdown
+ attotime delta = m_sequence_start - curtime;
+ popmessage("Waiting to start MIDI playback... %d", delta.seconds());
+ m_timer->adjust(std::min(delta, attotime(1, 0)));
+ }
+ else
+ {
+ // update the playback time
+ curtime -= m_sequence_start;
+ popmessage("Playing MIDI file: %d:%02d / %d:%02d", curtime.seconds() / 60, curtime.seconds() % 60, m_sequence.duration().seconds() / 60, m_sequence.duration().seconds() % 60);
- if (!m_midi) {
- return;
- }
+ // if it's time to process the current event, do it and advance
+ if (curtime >= event->time())
+ {
+ for (auto &curbyte : event->data())
+ xmit_char(curbyte);
+ event = m_sequence.advance_event();
+ }
- while (m_midi->poll())
+ // if there are more events, set a timer to trigger them
+ // (minimum duration 1 sec so that our playback time doesn't skip)
+ if (event != nullptr)
+ m_timer->adjust(std::min(event->time() - curtime, attotime(1, 0)));
+ else
+ popmessage("End of MIDI file");
+ }
+ }
+ else if (m_midi)
{
- bytesRead = m_midi->read(buf);
+ uint8_t buf[8192*4];
+ int bytesRead;
- if (bytesRead > 0)
+ while (m_midi->poll())
{
- for (int i = 0; i < bytesRead; i++)
+ bytesRead = m_midi->read(buf);
+
+ if (bytesRead > 0)
{
- xmit_char(buf[i]);
+ for (int i = 0; i < bytesRead; i++)
+ {
+ xmit_char(buf[i]);
+ }
}
}
}
@@ -93,17 +127,34 @@ void midiin_device::device_timer(emu_timer &timer, device_timer_id id, int param
image_init_result midiin_device::call_load()
{
- m_midi = machine().osd().create_midi_device();
-
- if (!m_midi->open_input(filename()))
+ // attempt to load if it's a real file
+ m_err = load_image_by_path(OPEN_FLAG_READ, filename());
+ if (m_err == IMAGE_ERROR_SUCCESS)
{
- m_midi.reset();
+ // if the parsing succeeds, schedule the start to happen at least
+ // 10 seconds after starting to allow the keyboards to initialize
+ // TODO: this should perhaps be a driver-configurable parameter?
+ if (m_sequence.parse(reinterpret_cast<u8 *>(ptr()), length()))
+ {
+ m_sequence_start = std::max(machine().time(), attotime(10, 0));
+ m_timer->adjust(attotime::zero);
+ return image_init_result::PASS;
+ }
return image_init_result::FAIL;
}
+ else
+ {
+ m_midi = machine().osd().create_midi_device();
+
+ if (!m_midi->open_input(filename()))
+ {
+ m_midi.reset();
+ return image_init_result::FAIL;
+ }
- m_timer->adjust(attotime::from_hz(1500), 0, attotime::from_hz(1500));
- m_timer->enable(true);
- return image_init_result::PASS;
+ m_timer->adjust(attotime::from_hz(1500), 0, attotime::from_hz(1500));
+ return image_init_result::PASS;
+ }
}
/*-------------------------------------------------
@@ -117,6 +168,7 @@ void midiin_device::call_unload()
m_midi->close();
}
m_midi.reset();
+ m_sequence.clear();
m_timer->enable(false);
}
@@ -165,3 +217,291 @@ void midiin_device::xmit_char(uint8_t data)
}
}
}
+
+
+//-------------------------------------------------
+// fourcc_le - helper to compute the little-endian
+// version of a fourcc value from a string
+//-------------------------------------------------
+
+static constexpr u32 fourcc_le(char const *string)
+{
+ return string[0] | (string[1] << 8) | (string[2] << 16) | (string[3] << 24);
+}
+
+
+//-------------------------------------------------
+// midi_parser - constructor
+//-------------------------------------------------
+
+midiin_device::midi_parser::midi_parser(u8 const *data, u32 length, u32 offset) :
+ m_data(data),
+ m_length(length),
+ m_offset(offset)
+{
+}
+
+
+//-------------------------------------------------
+// subset - construct a midi_parser that
+// represents a subset of the buffer, and advance
+// our offset past it
+//-------------------------------------------------
+
+midiin_device::midi_parser midiin_device::midi_parser::subset(u32 length)
+{
+ check_bounds(length);
+ midi_parser result(m_data + m_offset, length, 0);
+ m_offset += length;
+ return result;
+}
+
+
+//-------------------------------------------------
+// rewind - back up by the given number of bytes
+//-------------------------------------------------
+
+midiin_device::midi_parser &midiin_device::midi_parser::rewind(u32 count)
+{
+ count = std::min(count, m_offset);
+ m_offset -= count;
+ return *this;
+}
+
+
+//-------------------------------------------------
+// variable - return the MIDI standard "variable"
+// value
+//-------------------------------------------------
+
+u32 midiin_device::midi_parser::variable()
+{
+ u32 result = 0;
+ for (int which = 0; which < 4; which++)
+ {
+ u8 curbyte = byte();
+ result = (result << 7) | (curbyte & 0x7f);
+ if ((curbyte & 0x80) == 0)
+ return result;
+ }
+ throw error("Invalid variable length field");
+}
+
+
+//-------------------------------------------------
+// check_bounds - check to see if we have at least
+// 'length' bytes left to consume; if not,
+// throw an error
+//-------------------------------------------------
+
+void midiin_device::midi_parser::check_bounds(u32 length)
+{
+ if (m_offset + length > m_length)
+ throw error("Out of bounds error");
+}
+
+
+//-------------------------------------------------
+// event_at - return a reference to the sequence
+// event at the given tick, or create a new one
+// if one doesn't yet exist
+//-------------------------------------------------
+
+midiin_device::midi_event &midiin_device::midi_sequence::event_at(u32 tick)
+{
+ for (auto it = m_list.begin(); it != m_list.end(); ++it)
+ {
+ if (it->tick() == tick)
+ return *it;
+ if (it->tick() > tick)
+ return *m_list.emplace(it, tick);
+ }
+ m_list.emplace_back(tick);
+ return m_list.back();
+}
+
+
+//-------------------------------------------------
+// parse - parse a MIDI sequence from a buffer
+//-------------------------------------------------
+
+bool midiin_device::midi_sequence::parse(u8 const *data, u32 length)
+{
+ // start with an empty list of events
+ m_list.clear();
+
+ // by default parse the whole data
+ midi_parser buffer(data, length, 0);
+
+ // catch errors to make parsing easier
+ try
+ {
+ // if not a RIFF-encoed MIDI, just parse as-is
+ if (buffer.dword_le() != fourcc_le("RIFF"))
+ parse_midi_data(buffer.reset());
+ else
+ {
+ // check the RIFF type and size
+ u32 riffsize = buffer.dword_le();
+ u32 rifftype = buffer.dword_le();
+ if (rifftype != fourcc_le("RMID"))
+ throw midi_parser::error("Input RIFF file is not of type RMID");
+
+ // loop over RIFF chunks
+ midi_parser riffdata = buffer.subset(riffsize - 4);
+ while (!riffdata.eob())
+ {
+ u32 chunktype = riffdata.dword_le();
+ u32 chunksize = riffdata.dword_le();
+ midi_parser chunk = riffdata.subset(chunksize);
+ if (chunktype == fourcc_le("data"))
+ {
+ parse_midi_data(chunk);
+ break;
+ }
+ }
+ }
+ m_iterator = m_list.begin();
+ return true;
+ }
+ catch (midi_parser::error &)
+ {
+ m_list.clear();
+ m_iterator = m_list.begin();
+ return false;
+ }
+}
+
+
+//-------------------------------------------------
+// parse_midi_data - parse the core MIDI format
+// into tracks
+//-------------------------------------------------
+
+void midiin_device::midi_sequence::parse_midi_data(midi_parser &buffer)
+{
+ // scan for syntactic correctness, and to find global state
+ u32 headertype = buffer.dword_le();
+ if (headertype != fourcc_le("MThd"))
+ throw midi_parser::error("Input file is not a MIDI file.");
+ if (buffer.dword_be() != 0x00000006)
+ throw midi_parser::error("Invalid MIDI file header.");
+
+ // parse format info
+ int format = buffer.word_be();
+ if (format > 2)
+ throw midi_parser::error("Invalid MIDI file header.");
+
+ // parse track count
+ u16 tracks = buffer.word_be();
+ if (format == 0 && tracks != 1)
+ throw midi_parser::error("MIDI format 0 expects exactly one track.");
+
+ // parse time divisor
+ u16 timediv = buffer.word_be();
+ if ((timediv & 0x8000) != 0)
+ throw midi_parser::error("SMPTE timecode time division not supported.");
+ if (timediv == 0)
+ throw midi_parser::error("Invalid time divisor of 0.");
+
+ // iterate over tracks
+ u32 curtick = 0;
+ for (u16 index = 0; index < tracks; index++)
+ {
+ // verify header
+ if (buffer.dword_le() != fourcc_le("MTrk"))
+ throw midi_parser::error("Invalid MIDI track header.");
+ u32 chunksize = buffer.dword_be();
+
+ // parse the track data
+ midi_parser trackdata = buffer.subset(chunksize);
+ u32 numticks = parse_track_data(trackdata, curtick);
+ if (format == 2)
+ curtick += numticks;
+ }
+
+ // now go through the event list and compute times
+ u32 lasttick = 0;
+ attotime ticktime = attotime::from_usec(1000000) / timediv;
+ attotime curtime;
+ for (auto &event : m_list)
+ {
+ // update the elapsed time
+ u32 curtick = event.tick();
+ curtime += ticktime * (curtick - lasttick);
+ lasttick = curtick;
+
+ // determine if we have a new tempo here before replacing the time
+ if (!event.time().is_zero())
+ ticktime = event.time() / timediv;
+ event.set_time(curtime);
+ }
+}
+
+
+//-------------------------------------------------
+// parse_track_data - parse data from a track and
+// add it to the buffer
+//-------------------------------------------------
+
+u32 midiin_device::midi_sequence::parse_track_data(midi_parser &buffer, u32 start_tick)
+{
+ u32 curtick = start_tick;
+ u8 last_type = 0;
+ while (!buffer.eob())
+ {
+ // parse the time delta
+ curtick += buffer.variable();
+ midi_event &event = event_at(curtick);
+
+ // handle running status
+ u8 type = buffer.byte();
+ if (BIT(type, 7) != 0)
+ last_type = type;
+ else
+ {
+ type = last_type;
+ buffer.rewind(1);
+ }
+
+ // determine the event class
+ uint8_t eclass = type >> 4;
+ if (eclass != 15)
+ {
+ // simple events: all but program change and aftertouch have a second parameter
+ // TODO: should we respect the channel for these? or maybe the drivers should
+ // configure us with the number of channels they support?
+ event.append(type & 0xf0);
+ event.append(buffer.byte());
+ if (eclass != 12 && eclass != 13)
+ event.append(buffer.byte());
+ }
+ else if (type != 0xff)
+ {
+ // handle non-meta events
+ midi_parser eventdata = buffer.subset(buffer.variable());
+ while (!eventdata.eob())
+ event.append(eventdata.byte());
+ }
+ else
+ {
+ // handle meta-events
+ u8 type = buffer.byte();
+ midi_parser eventdata = buffer.subset(buffer.variable());
+
+ // end of data?
+ if (type == 0x2f)
+ break;
+
+ // only care about tempo events; set the "time" to the new tick
+ // value; we will sweep this later and compute actual times
+ if (type == 0x51)
+ {
+ u32 usec_per_quarter = eventdata.triple_be();
+ if (usec_per_quarter != 0)
+ event.set_time(attotime::from_usec(usec_per_quarter));
+ }
+ }
+ }
+ return curtick;
+}
diff --git a/src/devices/imagedev/midiin.h b/src/devices/imagedev/midiin.h
index ef8e9e315b0..28a0826fc0b 100644
--- a/src/devices/imagedev/midiin.h
+++ b/src/devices/imagedev/midiin.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:R. Belmont
+// copyright-holders:R. Belmont,Aaron Giles
/*********************************************************************
midiin.h
@@ -66,6 +66,113 @@ private:
uint8_t m_xmitring[XMIT_RING_SIZE];
int m_xmit_read, m_xmit_write;
bool m_tx_busy;
+
+ // internal helper class for parsing
+ class midi_parser
+ {
+ public:
+ // minimal error class
+ class error
+ {
+ public:
+ error(char const *description) : m_description(description) { }
+ char const *description() const { return m_description; }
+ private:
+ char const *m_description;
+ };
+
+ // construction
+ midi_parser(u8 const *data, u32 length, u32 offset);
+
+ // end of buffer?
+ bool eob() const { return (m_offset >= m_length); }
+
+ // create a subset
+ midi_parser subset(u32 length);
+
+ // change position within buffer
+ midi_parser &rewind(u32 count);
+ midi_parser &reset() { return rewind(m_offset); }
+
+ // read data of various sizes and endiannesses
+ u8 byte() { check_bounds(1); return m_data[m_offset++]; }
+ u16 word_be() { u16 result = byte() << 8; return result | byte(); }
+ u32 triple_be() { u32 result = word_be() << 8; return result | byte(); }
+ u32 dword_be() { u32 result = word_be() << 16; return result | word_be(); }
+ u32 dword_le() { return swapendian_int32(dword_be()); }
+
+ // special variable reader for MIDI
+ u32 variable();
+
+ private:
+ // internal helper
+ void check_bounds(u32 length);
+
+ // internal state
+ u8 const *m_data;
+ u32 m_length;
+ u32 m_offset;
+ };
+
+ // internal helper class reperesenting an event at a given
+ // time containing MIDI data
+ class midi_event
+ {
+ public:
+ // constructor
+ midi_event(u32 tick) :
+ m_tick(tick) { }
+
+ // simple getters
+ u32 tick() const { return m_tick; }
+ attotime const &time() const { return m_time; }
+ std::vector<u8> const &data() const { return m_data; }
+
+ // simple setters
+ void set_time(attotime const &time) { m_time = time; }
+
+ // append data to the buffer
+ midi_event &append(u8 byte) { m_data.push_back(byte); return *this; }
+
+ private:
+ // internal state
+ u32 m_tick;
+ attotime m_time;
+ std::vector<u8> m_data;
+ };
+
+ // internal helper class representing a MIDI sequence
+ class midi_sequence
+ {
+ public:
+ // constructor
+ midi_sequence() : m_iterator(m_list.begin()) { }
+
+ // clear the sequence
+ void clear() { m_list.clear(); }
+
+ // parse a new sequence
+ bool parse(u8 const *data, u32 length);
+
+ // rewind to the start of time
+ void rewind(attotime const &basetime);
+ midi_event *current_event() const { return (m_iterator == m_list.end()) ? nullptr : &(*m_iterator); }
+ midi_event *advance_event() { ++m_iterator; return current_event(); }
+ attotime const &duration() { return m_list.back().time(); }
+
+ private:
+ // internal helpers
+ midi_event &event_at(u32 tick);
+ u32 parse_track_data(midi_parser &buffer, u32 start_tick);
+ void parse_midi_data(midi_parser &buffer);
+
+ // internal state
+ std::list<midi_event> m_list;
+ std::list<midi_event>::iterator m_iterator;
+ };
+
+ midi_sequence m_sequence;
+ attotime m_sequence_start;
};
// device type definition
diff --git a/src/devices/machine/am79c90.cpp b/src/devices/machine/am79c90.cpp
index c48a8cd8236..bfa1aad78e5 100644
--- a/src/devices/machine/am79c90.cpp
+++ b/src/devices/machine/am79c90.cpp
@@ -482,7 +482,7 @@ void am7990_device_base::transmit()
}
}
- send(buf, length);
+ send(buf, length, 4);
}
void am7990_device_base::send_complete_cb(int result)
diff --git a/src/devices/machine/at28c64b.cpp b/src/devices/machine/at28c64b.cpp
index 194711228a1..5abd3e3485f 100644
--- a/src/devices/machine/at28c64b.cpp
+++ b/src/devices/machine/at28c64b.cpp
@@ -229,7 +229,7 @@ uint8_t at28c64b_device::read(offs_t offset)
if( m_last_write >= 0 )
{
uint8_t data = m_last_write ^ 0x80;
-// logerror( "%s: AT28C64B: read( %04x ) write status %02x\n", machine().describe_context(), offset, data );
+// logerror( "%s: AT28C64B: read( %04x ) write status %02x\n", machine().describe_context(), offset, data );
return data;
}
else
diff --git a/src/devices/machine/dc7085.cpp b/src/devices/machine/dc7085.cpp
index 4918cc1fcce..264cef004c6 100644
--- a/src/devices/machine/dc7085.cpp
+++ b/src/devices/machine/dc7085.cpp
@@ -31,419 +31,340 @@
DEFINE_DEVICE_TYPE(DC7085, dc7085_device, "dc7085", "Digital Equipment Corporation DC7085 Quad UART")
DEFINE_DEVICE_TYPE(DC7085_CHANNEL, dc7085_channel, "dc7085_channel", "DC7085 UART channel")
-dc7085_device::dc7085_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DC7085, tag, owner, clock),
- m_chan0(*this, "ch0"),
- m_chan1(*this, "ch1"),
- m_chan2(*this, "ch2"),
- m_chan3(*this, "ch3"),
- m_int_cb(*this),
- write_0_tx(*this),
- write_1_tx(*this),
- write_2_tx(*this),
- write_3_tx(*this)
+enum csr_mask : u16
+{
+ CSR_TRDY = 0x8000, // transmitter ready
+ CSR_TIE = 0x4000, // transmitter interrupt enable
+ CSR_TLINE = 0x0300, // transmitter line number
+ CSR_RDONE = 0x0080, // receiver done
+ CSR_RIE = 0x0040, // receiver interrupt enable
+ CSR_MSE = 0x0020, // master scan enable
+ CSR_CLR = 0x0010, // master clear
+ CSR_MAINT = 0x0008, // maintenance (loopback)
+};
+
+enum rbuf_mask : u16
+{
+ RBUF_DVAL = 0x8000, // data valid
+ RBUF_OERR = 0x4000, // overrun error
+ RBUF_FERR = 0x2000, // framing error
+ RBUF_PERR = 0x1000, // parity error
+ RBUF_RLINE = 0x0300, // received line number
+ RBUF_RLINE3 = 0x0300,
+ RBUF_RLINE2 = 0x0200,
+ RBUF_RLINE1 = 0x0100,
+ RBUF_RLINE0 = 0x0000,
+ RBUF_DATA = 0x00ff, // received character
+};
+
+enum lpr_mask : u16
+{
+ LPR_RXENAB = 0x1000, // receiver enable
+ LPR_SC = 0x0f00, // speed code
+ LPR_ODDPAR = 0x0080, // odd parity
+ LPR_PARENB = 0x0040, // parity enable
+ LPR_STOP = 0x0020, // stop code
+ LPR_CHAR = 0x0018, // character length
+ LPR_LINE = 0x0003, // parameter line number
+};
+
+enum tcr_mask : u16
+{
+ TCR_DTR3 = 0x0800, // modem control
+ TCR_DTR2 = 0x0400,
+ TCR_DTR1 = 0x0200,
+ TCR_DTR0 = 0x0100,
+ TCR_LNENB3 = 0x0008, // transmitter line enable
+ TCR_LNENB2 = 0x0004,
+ TCR_LNENB1 = 0x0002,
+ TCR_LNENB0 = 0x0001,
+};
+
+enum tdr_mask : u16
+{
+ TDR_BRK3 = 0x0800, // break control
+ TDR_BRK2 = 0x0400,
+ TDR_BRK1 = 0x0200,
+ TDR_BRK0 = 0x0100,
+ TDR_TBUF = 0x00ff, // transmitter buffer
+};
+
+dc7085_device::dc7085_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, DC7085, tag, owner, clock)
+ , m_chan(*this, "ch%u", 0U)
+ , m_int_cb(*this)
+ , m_tx_cb(*this)
+ , m_dtr_cb(*this)
+ , m_int_state(false)
{
- std::fill_n(&rx_fifo[0], DC7085_RX_FIFO_SIZE, 0);
- rx_fifo_num = 0;
}
void dc7085_device::device_add_mconfig(machine_config &config)
{
- DC7085_CHANNEL(config, m_chan0, 0);
- DC7085_CHANNEL(config, m_chan1, 0);
- DC7085_CHANNEL(config, m_chan2, 0);
- DC7085_CHANNEL(config, m_chan3, 0);
+ /*
+ * Configure all four channels such that:
+ * - line numbers are inesrted into received data words
+ * - transmitter output is looped back to receiver when enabled
+ * - transmitter completion is signalled
+ */
+ for (unsigned i = 0; i < std::size(m_chan); i++)
+ {
+ DC7085_CHANNEL(config, m_chan[i], 0);
+
+ m_chan[i]->rx_done().set([this, i](u16 data) { rx_done((i << 8) | data); });
+ m_chan[i]->tx_cb().set([this, i](int state) { m_tx_cb[i](state); if (m_csr & CSR_MAINT) m_chan[i]->rx_w(state); });
+ m_chan[i]->tx_done().set(*this, FUNC(dc7085_device::tx_done));
+ }
}
void dc7085_device::map(address_map &map)
{
- map(0x00, 0x01).rw(FUNC(dc7085_device::status_r), FUNC(dc7085_device::control_w));
- map(0x04, 0x05).rw(FUNC(dc7085_device::rxbuffer_r), FUNC(dc7085_device::lineparams_w));
- map(0x08, 0x09).rw(FUNC(dc7085_device::txparams_r), FUNC(dc7085_device::txparams_w));
- map(0x0c, 0x0d).rw(FUNC(dc7085_device::modem_status_r), FUNC(dc7085_device::txdata_w));
+ map(0x00, 0x01).rw(FUNC(dc7085_device::csr_r), FUNC(dc7085_device::csr_w));
+ map(0x04, 0x05).rw(FUNC(dc7085_device::rbuf_r), FUNC(dc7085_device::lpr_w));
+ map(0x08, 0x09).rw(FUNC(dc7085_device::tcr_r), FUNC(dc7085_device::tcr_w));
+ map(0x0c, 0x0d).rw(FUNC(dc7085_device::msr_r), FUNC(dc7085_device::tdr_w));
}
void dc7085_device::device_start()
{
m_int_cb.resolve_safe();
- write_0_tx.resolve_safe();
- write_1_tx.resolve_safe();
- write_2_tx.resolve_safe();
- write_3_tx.resolve_safe();
-
- save_item(NAME(m_status));
- save_item(NAME(rx_fifo));
- save_item(NAME(rx_fifo_read_ptr));
- save_item(NAME(rx_fifo_write_ptr));
- save_item(NAME(rx_fifo_num));
+ m_tx_cb.resolve_all_safe();
+ m_dtr_cb.resolve_all_safe();
+
+ save_item(NAME(m_csr));
+ save_item(NAME(m_tcr));
+ save_item(NAME(m_msr));
+ //save_item(NAME(m_fifo));
+ save_item(NAME(m_rx_buf));
+ save_item(NAME(m_int_state));
}
void dc7085_device::device_reset()
{
- m_chan0->clear();
- m_chan1->clear();
- m_chan2->clear();
- m_chan3->clear();
- m_status = 0;
- std::fill_n(&rx_fifo[0], DC7085_RX_FIFO_SIZE, 0);
- rx_fifo_write_ptr = rx_fifo_read_ptr = 0;
- rx_fifo_num = 0;
-}
+ m_csr = 0;
+ m_tcr = 0;
+ m_msr = 0;
-u16 dc7085_device::status_r()
-{
- return m_status;
+ m_fifo.clear();
+ m_rx_buf = 0;
+
+ set_int(false);
}
-u16 dc7085_device::rxbuffer_r()
+u16 dc7085_device::rbuf_r()
{
- u16 rv;
+ if (m_fifo.empty())
+ return 0;
- LOGMASKED(LOG_RX, "rxbuffer_r: rx_fifo_num %d\n", rx_fifo_num);
+ u16 const data = m_fifo.dequeue();
- if (rx_fifo_num == 0)
- {
- LOGMASKED(LOG_RX, "rx fifo underflow\n");
- m_status &= ~CTRL_RX_DONE;
- recalc_irqs();
- return 0;
- }
+ LOGMASKED(LOG_RX, "rbuf_r 0x%04x fifo_length %d\n", data, m_fifo.queue_length());
- rv = rx_fifo[rx_fifo_read_ptr++];
- if (rx_fifo_read_ptr == DC7085_RX_FIFO_SIZE)
- {
- rx_fifo_read_ptr = 0;
- }
+ if (m_fifo.empty())
+ m_csr &= ~CSR_RDONE;
- rx_fifo_num--;
- if (rx_fifo_num == 0)
+ // FIXME: insert pending data into fifo
+ if (m_rx_buf & RBUF_DVAL)
{
- m_status &= ~CTRL_RX_DONE;
+ rx_fifo_push(m_rx_buf);
+ m_rx_buf = 0;
}
recalc_irqs();
- //printf("Rx read %02x\n", rv);
-
- return rv;
+ return data;
}
-u16 dc7085_device::txparams_r()
+void dc7085_device::csr_w(u16 data)
{
- return 0;
-}
+ LOGMASKED(LOG_REG, "csr_w %04x tie %d rie %d scan %d clear %d loopback %d\n", data,
+ bool(data & CSR_TIE), bool(data & CSR_RIE), bool(data & CSR_MSE), bool(data & CSR_CLR), bool(data & CSR_MAINT));
-u16 dc7085_device::modem_status_r()
-{
- return 0;
+ if (!(data & CSR_CLR))
+ {
+ data &= (CSR_TIE | CSR_RIE | CSR_MSE | CSR_MAINT);
+ m_csr &= ~(CSR_TIE | CSR_RIE | CSR_MSE | CSR_MAINT);
+ m_csr |= data;
+ }
+ else
+ reset();
}
-void dc7085_device::control_w(u16 data)
+void dc7085_device::lpr_w(u16 data)
{
- LOGMASKED(LOG_REG, "control_w %04x\n", data);
- LOGMASKED(LOG_REG, "\tTx IRQ %d Rx IRQ %d\n", (data & CTRL_TX_IRQ_ENABLE) ? "1" : "0", (data & CTRL_RX_IRQ_ENABLE) ? "1" : "0");
- LOGMASKED(LOG_REG, "\tScan enable %d Master clear %d\n", (data & CTRL_MASTER_SCAN) ? "1" : "0", (data & CTRL_MASTER_CLEAR) ? "1" : "0");
- LOGMASKED(LOG_REG, "\tLocal loopback %d\n", (data & CTRL_LOOPBACK) ? "1" : "0");
+ static const int bauds[] = { 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19800 };
- if (data & CTRL_MASTER_CLEAR)
- {
- m_chan0->clear();
- m_chan1->clear();
- m_chan2->clear();
- m_chan3->clear();
- m_status = 0;
- rx_fifo_write_ptr = rx_fifo_read_ptr = 0;
- rx_fifo_num = 0;
- return;
- }
+ unsigned const baud = (data & LPR_SC) >> 8;
+ unsigned const data_bits = ((data & LPR_CHAR) >> 3) + 5;
+ unsigned const parity = (data & LPR_PARENB) ? ((data & LPR_ODDPAR) ? 1 : 2) : 0;
+ unsigned const stop_bits = (data & LPR_STOP) ? 2 : 1;
- data &= (CTRL_TX_IRQ_ENABLE|CTRL_RX_IRQ_ENABLE|CTRL_MASTER_SCAN|CTRL_LOOPBACK);
- m_status &= ~(CTRL_TX_IRQ_ENABLE|CTRL_RX_IRQ_ENABLE|CTRL_MASTER_SCAN|CTRL_LOOPBACK);
- m_status |= data;
+ m_chan[data & LPR_LINE]->set_format(bauds[baud], data_bits, parity, stop_bits);
+ m_chan[data & LPR_LINE]->set_enable(data & LPR_RXENAB);
}
-void dc7085_device::lineparams_w(u16 data)
+void dc7085_device::tcr_w(u16 data)
{
- static const int bauds[] = { 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19800 };
+ LOGMASKED(LOG_REG, "tcr_w %04x\n", data);
- LOGMASKED(LOG_REG, "lineparams_w %04x\n", data);
- LOGMASKED(LOG_REG, "\tline %d baud %d rx enabled %d\n", data & 3, bauds[(data>>8) & 0x0f], (data & 0x1000) ? 1 : 0);
- LOGMASKED(LOG_REG, "\tline %d %d data bits, %d stop bits\n", data & 3, ((data>>3) & 3) + 5, ((data>>5) & 1));
- LOGMASKED(LOG_REG, "\tline %d parity %s %s\n", data & 3, (data & LPARAM_ODD_PARITY) ? "odd" : "even", (data & LPARAM_PARITY_ENB) ? "enabled" : "disabled");
+ if ((data ^ m_tcr) & TCR_DTR0)
+ m_dtr_cb[0](bool(data & TCR_DTR0));
+ if ((data ^ m_tcr) & TCR_DTR1)
+ m_dtr_cb[1](bool(data & TCR_DTR1));
+ if ((data ^ m_tcr) & TCR_DTR2)
+ m_dtr_cb[2](bool(data & TCR_DTR2));
+ if ((data ^ m_tcr) & TCR_DTR3)
+ m_dtr_cb[3](bool(data & TCR_DTR3));
- int parity = -1;
- if (data & LPARAM_PARITY_ENB)
- {
- parity = (data & LPARAM_ODD_PARITY) ? 1 : 0;
- }
+ m_tcr = data;
- switch (data & 3)
- {
- case 0:
- m_chan0->set_format(((data>>3) & 3) + 5, parity, ((data>>5) & 1));
- m_chan0->set_baud_rate(bauds[(data>>8) & 0x0f]);
- m_chan0->set_rx_enable(data & LPARAM_RX_ENABLE);
- break;
- case 1:
- m_chan1->set_format(((data>>3) & 3) + 5, parity, ((data>>5) & 1));
- m_chan1->set_baud_rate(bauds[(data>>8) & 0x0f]);
- m_chan1->set_rx_enable(data & LPARAM_RX_ENABLE);
- break;
- case 2:
- m_chan2->set_format(((data>>3) & 3) + 5, parity, ((data>>5) & 1));
- m_chan2->set_baud_rate(bauds[(data>>8) & 0x0f]);
- m_chan2->set_rx_enable(data & LPARAM_RX_ENABLE);
- break;
- case 3:
- m_chan3->set_format(((data>>3) & 3) + 5, parity, ((data>>5) & 1));
- m_chan3->set_baud_rate(bauds[(data>>8) & 0x0f]);
- m_chan3->set_rx_enable(data & LPARAM_RX_ENABLE);
- break;
- }
+ recalc_irqs();
}
-void dc7085_device::txparams_w(u16 data)
+void dc7085_device::tdr_w(u16 data)
{
- LOGMASKED(LOG_REG, "txparams_w %04x\n", data);
+ LOGMASKED(LOG_REG, "tdr_w %04x (%s)\n", data, machine().describe_context());
+
+ unsigned const ch = (m_csr & CSR_TLINE) >> 8;
- m_chan0->set_tx_enable(data & TXCTRL_LINE0_ENB);
- m_chan1->set_tx_enable(data & TXCTRL_LINE1_ENB);
- m_chan2->set_tx_enable(data & TXCTRL_LINE2_ENB);
- m_chan3->set_tx_enable(data & TXCTRL_LINE3_ENB);
+ if (BIT(m_tcr, ch))
+ m_chan[ch]->tx_w(data & TDR_TBUF);
+
+ m_csr &= ~CSR_TRDY;
recalc_irqs();
}
-void dc7085_device::txdata_w(u16 data)
+void dc7085_device::recalc_irqs()
{
- LOGMASKED(LOG_REG, "txdata_w %04x\n", data);
- switch ((m_status >> 8) & 3)
+ LOGMASKED(LOG_IRQ, "recalc_irqs enter\n");
+ m_csr &= ~(CSR_TRDY | CSR_TLINE);
+ for (unsigned i = 0; i < 4; i++)
{
- case 0:
- m_chan0->write_TX(data&0xff);
- break;
- case 1:
- m_chan1->write_TX(data&0xff);
- break;
- case 2:
- m_chan2->write_TX(data&0xff);
- break;
- case 3:
- m_chan3->write_TX(data&0xff);
+ if (BIT(m_tcr, i) && m_chan[i]->tx_ready())
+ {
+ m_csr |= CSR_TRDY;
+ m_csr |= (i << 8);
+ LOGMASKED(LOG_IRQ, "ch %u: set TRDY\n", i);
+
break;
+ }
}
+
+ set_int(((m_csr & CSR_TIE) && (m_csr & CSR_TRDY)) || ((m_csr & CSR_RIE) && (m_csr & CSR_RDONE)));
}
-void dc7085_device::recalc_irqs()
+void dc7085_device::rx_fifo_push(u16 data)
{
- bool bIRQ = false;
-
- LOGMASKED(LOG_IRQ, "recalc_irqs enter\n");
- if (m_chan0->is_tx_ready())
- {
- m_status |= CTRL_TRDY;
- m_status &= ~CTRL_LINE_MASK;
- LOGMASKED(LOG_IRQ, "ch 0: set TRDY\n");
- }
- else if (m_chan1->is_tx_ready())
- {
- m_status |= CTRL_TRDY;
- m_status &= ~CTRL_LINE_MASK;
- m_status |= (1 << 8);
- LOGMASKED(LOG_IRQ, "ch 1: set TRDY\n");
- }
- else if (m_chan2->is_tx_ready())
- {
- m_status |= CTRL_TRDY;
- m_status &= ~CTRL_LINE_MASK;
- m_status |= (2 << 8);
- LOGMASKED(LOG_IRQ, "ch 2: set TRDY\n");
- }
- else if (m_chan3->is_tx_ready())
+ if (!m_fifo.full())
{
- m_status |= CTRL_TRDY;
- m_status &= ~CTRL_LINE_MASK;
- m_status |= (3 << 8);
- LOGMASKED(LOG_IRQ, "ch 3: set TRDY\n");
- }
+ LOGMASKED(LOG_RX, "rx_fifo_push 0x%04x fifo_length %d\n", data, m_fifo.queue_length());
- if ((m_status & CTRL_TRDY) && (m_status & CTRL_TX_IRQ_ENABLE))
- {
- bIRQ = true;
- }
- else if ((m_status & CTRL_RX_DONE) && (m_status & CTRL_RX_IRQ_ENABLE))
- {
- bIRQ = true;
- }
+ m_fifo.enqueue(data);
- if (bIRQ)
- {
- m_int_cb(ASSERT_LINE);
+ m_csr |= CSR_RDONE;
}
else
- {
- m_int_cb(CLEAR_LINE);
- }
+ throw emu_fatalerror("fifo overflow\n");
}
-void dc7085_device::rx_fifo_push(uint16_t data, uint16_t errors)
+void dc7085_device::rx_done(u16 data)
{
- if (rx_fifo_num >= DC7085_RX_FIFO_SIZE)
+ // check if receive buffer is full
+ if (m_rx_buf & RBUF_DVAL)
{
- LOGMASKED(LOG_RX, "DC7085: FIFO overflow\n");
- data |= dc7085_device::RXMASK_OVERRUN_ERR;
- return;
+ // push buffer into fifo if not full
+ if (!m_fifo.full())
+ {
+ rx_fifo_push(m_rx_buf);
+ m_rx_buf = 0;
+ }
+ else
+ // flag buffer overrun
+ data |= RBUF_OERR;
}
- rx_fifo[rx_fifo_write_ptr++] = data | errors;
- if (rx_fifo_write_ptr == DC7085_RX_FIFO_SIZE)
- rx_fifo_write_ptr = 0;
-
- rx_fifo_num++;
-
- LOGMASKED(LOG_RX, "ch %d, got %02x, fifo_num %d\n", (data>>8) & 3, data&0xff, rx_fifo_num);
+ // store received data in fifo or buffer
+ if (!m_fifo.full())
+ rx_fifo_push(data);
+ else
+ m_rx_buf = data;
- m_status |= dc7085_device::CTRL_RX_DONE;
recalc_irqs();
}
-// UART channel class stuff
+void dc7085_device::tx_done(int state)
+{
+ recalc_irqs();
+}
-dc7085_channel::dc7085_channel(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+dc7085_channel::dc7085_channel(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
: device_t(mconfig, DC7085_CHANNEL, tag, owner, clock)
, device_serial_interface(mconfig, *this)
- , rx_enabled(0)
- , tx_enabled(0)
+ , m_tx_cb(*this)
+ , m_tx_done(*this)
+ , m_rx_done(*this)
+ , m_rx_enabled(false)
{
}
void dc7085_channel::device_start()
{
- m_base = downcast<dc7085_device *>(owner());
- m_ch = m_base->get_ch(this); // get our channel number
-
- save_item(NAME(baud_rate));
- save_item(NAME(rx_enabled));
- save_item(NAME(tx_enabled));
- save_item(NAME(tx_data));
- save_item(NAME(tx_ready));
+ m_tx_cb.resolve_safe();
+ m_rx_done.resolve_safe();
+ m_tx_done.resolve_safe();
+
+ save_item(NAME(m_rx_enabled));
}
void dc7085_channel::device_reset()
{
+ transmit_register_reset();
+
set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1);
+ set_tra_rate(0);
+ set_rcv_rate(0);
- baud_rate = 0;
- rx_enabled = 0;
- tx_enabled = 0;
- tx_ready = 1;
+ m_rx_enabled = false;
}
-// serial device virtual overrides
void dc7085_channel::rcv_complete()
{
receive_register_extract();
- //printf("%s ch %d rcv complete\n", tag(), m_ch);
-
- if (rx_enabled)
+ if (m_rx_enabled)
{
- uint16_t errors = 0;
+ u16 data = RBUF_DVAL | get_received_char();
+
if (is_receive_framing_error())
- errors |= dc7085_device::RXMASK_FRAMING_ERR;
+ data |= RBUF_FERR;
if (is_receive_parity_error())
- errors |= dc7085_device::RXMASK_PARITY_ERR;
+ data |= RBUF_PERR;
- m_base->rx_fifo_push(get_received_char() | (m_ch << 8) | dc7085_device::RXMASK_DATA_VALID, errors);
+ m_rx_done(data);
}
}
void dc7085_channel::tra_complete()
{
- LOGMASKED(LOG_TX, "ch %d Tx complete\n", m_ch);
- tx_ready = 1;
-
- // if local loopback is on, write the transmitted data as if a byte had been received
- if (m_base->m_status & dc7085_device::CTRL_LOOPBACK)
- m_base->rx_fifo_push(tx_data | (m_ch << 8) | dc7085_device::RXMASK_DATA_VALID, 0);
-
- m_base->recalc_irqs();
+ m_tx_done(1);
}
void dc7085_channel::tra_callback()
{
- int bit = transmit_register_get_data_bit();
-
- LOGMASKED(LOG_TX, "transmit %d\n", bit);
- switch (m_ch)
- {
- case 0: m_base->write_0_tx(bit); break;
- case 1: m_base->write_1_tx(bit); break;
- case 2: m_base->write_2_tx(bit); break;
- case 3: m_base->write_3_tx(bit); break;
- }
+ m_tx_cb(transmit_register_get_data_bit());
}
-void dc7085_channel::set_baud_rate(int baud)
+void dc7085_channel::set_format(unsigned baud, unsigned data_bits, unsigned parity, unsigned stop_bits)
{
+ set_data_frame(1, data_bits, parity ? (parity == 1 ? PARITY_ODD : PARITY_EVEN) : PARITY_NONE,
+ stop_bits == 1 ? STOP_BITS_1 : (data_bits == 5 ? STOP_BITS_1_5 : STOP_BITS_2));
+
set_tra_rate(baud);
set_rcv_rate(baud);
- baud_rate = baud;
}
-void dc7085_channel::set_format(int data_bits, int parity, int stop_bits)
+void dc7085_channel::tx_w(u8 data)
{
- switch (parity)
- {
- case -1:
- set_data_frame(1, data_bits, PARITY_NONE, stop_bits ? STOP_BITS_1 : STOP_BITS_0);
- break;
-
- case 0:
- set_data_frame(1, data_bits, PARITY_EVEN, stop_bits ? STOP_BITS_1 : STOP_BITS_0);
- break;
-
- case 1:
- set_data_frame(1, data_bits, PARITY_ODD, stop_bits ? STOP_BITS_1 : STOP_BITS_0);
- break;
- }
-}
-
-// called on a master clear
-void dc7085_channel::clear()
-{
- transmit_register_reset();
- set_baud_rate(0);
- rx_enabled = 0;
- tx_enabled = 0;
- tx_ready = 1;
-}
-
-void dc7085_channel::set_tx_enable(bool bEnabled)
-{
- LOGMASKED(LOG_TX, "ch %d set_tx_enable %s\n", m_ch, bEnabled ? "true" : "false");
- tx_enabled = bEnabled ? 1 : 0;
-}
-
-void dc7085_channel::set_rx_enable(bool bEnabled)
-{
- rx_enabled = bEnabled ? 1 : 0;
-}
-
-void dc7085_channel::write_TX(uint8_t data)
-{
- tx_data = data;
-
- if (!tx_ready)
- {
- LOGMASKED(LOG_TX, "Write %02x to TX when TX not ready!\n", data);
- }
-
- LOGMASKED(LOG_TX, "ch %d Tx [%02x] (%d baud)\n", m_ch, data, baud_rate);
-
- tx_ready = 0;
-
- // send tx_data
- transmit_register_setup(tx_data);
-
- m_base->recalc_irqs();
+ if (is_transmit_register_empty())
+ transmit_register_setup(data);
}
diff --git a/src/devices/machine/dc7085.h b/src/devices/machine/dc7085.h
index 282683ac2df..dccb2bbefce 100644
--- a/src/devices/machine/dc7085.h
+++ b/src/devices/machine/dc7085.h
@@ -8,176 +8,103 @@
#include "diserial.h"
-#define DC7085_RX_FIFO_SIZE (64)
-
-// forward declaration
-class dc7085_device;
-
-class dc7085_channel : public device_t, public device_serial_interface
+class dc7085_channel
+ : public device_t
+ , public device_serial_interface
{
+ friend class dc7085_device;
+
public:
- dc7085_channel(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ auto tx_cb() { return m_tx_cb.bind(); }
- // device-level overrides
+ dc7085_channel(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+
+protected:
+ // device_t overrides
virtual void device_start() override;
virtual void device_reset() override;
// device_serial overrides
- virtual void rcv_complete() override; // Rx completed receiving byte
- virtual void tra_complete() override; // Tx completed sending byte
- virtual void tra_callback() override; // Tx send bit
-
- void set_baud_rate(int baud);
- void set_format(int data_bits, int parity, int stop_bits);
- void clear();
- void set_tx_enable(bool bEnabled);
- void set_rx_enable(bool bEnabled);
- void write_TX(uint8_t data);
- bool is_tx_ready()
- {
- if (!tx_enabled)
- {
- return false;
- }
+ virtual void rcv_complete() override;
+ virtual void tra_complete() override;
+ virtual void tra_callback() override;
- return tx_ready ? true : false;
- }
+ // parent interface
+ auto rx_done() { return m_rx_done.bind(); }
+ auto tx_done() { return m_tx_done.bind(); }
-private:
- /* Receiver */
- u8 rx_enabled;
-
- /* Shared */
- int baud_rate;
- int m_ch;
+ void set_format(unsigned baud, unsigned data_bits, unsigned parity, unsigned stop_bits);
+ void set_enable(bool enable) { m_rx_enabled = enable; }
+ bool tx_ready() const { return is_transmit_register_empty(); }
+ void tx_w(u8 data);
- /* Transmitter */
- u8 tx_enabled;
- u8 tx_data;
- u8 tx_ready;
+private:
+ devcb_write_line m_tx_cb;
+ devcb_write_line m_tx_done;
+ devcb_write16 m_rx_done;
- dc7085_device *m_base;
+ bool m_rx_enabled;
};
class dc7085_device : public device_t
{
- friend class dc7085_channel;
-
public:
- required_device<dc7085_channel> m_chan0, m_chan1, m_chan2, m_chan3;
-
- dc7085_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ dc7085_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
void map(address_map &map);
auto int_cb() { return m_int_cb.bind(); }
- auto ch0_tx_cb() { return write_0_tx.bind(); }
- auto ch1_tx_cb() { return write_1_tx.bind(); }
- auto ch2_tx_cb() { return write_2_tx.bind(); }
- auto ch3_tx_cb() { return write_3_tx.bind(); }
+
+ template <unsigned Ch> void rx_w(int state) { m_chan[Ch]->rx_w(state); }
+ template <unsigned Ch> auto tx_cb() { return m_tx_cb[Ch].bind(); }
+ template <unsigned Ch> auto dtr_cb() { return m_dtr_cb[Ch].bind(); }
protected:
- // standard device_interface overrides
+ // device_t overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
- void rx_fifo_push(uint16_t data, uint16_t errors);
+ // register accessors
+ u16 csr_r() { return m_csr; }
+ u16 rbuf_r();
+ u16 tcr_r() { return m_tcr; }
+ u16 msr_r() { return m_msr; }
+ void csr_w(u16 data);
+ void lpr_w(u16 data);
+ void tcr_w(u16 data);
+ void tdr_w(u16 data);
+
+ // helpers
+ void rx_fifo_push(u16 data);
+ void rx_done(u16 data);
+ void tx_done(int state);
void recalc_irqs();
- devcb_write_line m_int_cb;
- devcb_write_line write_0_tx, write_1_tx, write_2_tx, write_3_tx;
-
- u16 m_status;
-
- u16 status_r();
- u16 rxbuffer_r();
- u16 txparams_r();
- u16 modem_status_r();
- void control_w(u16 data);
- void lineparams_w(u16 data);
- void txparams_w(u16 data);
- void txdata_w(u16 data);
-
- int get_ch(dc7085_channel *ch)
+ void set_int(bool state)
{
- if (ch == m_chan0)
- {
- return 0;
- }
- else if (ch == m_chan1)
+ if (state != m_int_state)
{
- return 1;
+ m_int_state = state;
+ m_int_cb(state);
}
- else if (ch == m_chan2)
- {
- return 2;
- }
-
- return 3;
}
private:
- u16 rx_fifo[DC7085_RX_FIFO_SIZE];
- int rx_fifo_read_ptr;
- int rx_fifo_write_ptr;
- int rx_fifo_num;
+ required_device_array<dc7085_channel, 4> m_chan;
- enum control_status_mask : u16
- {
- CTRL_TRDY = 0x8000,
- CTRL_TX_IRQ_ENABLE = 0x4000,
- CTRL_LINE_MASK = 0x0300,
- CTRL_RX_DONE = 0x0080,
- CTRL_RX_IRQ_ENABLE = 0x0040,
- CTRL_MASTER_SCAN = 0x0020,
- CTRL_MASTER_CLEAR = 0x0010,
- CTRL_LOOPBACK = 0x0008
- };
-
- enum rx_buffer_mask : u16
- {
- RXMASK_DATA_VALID = 0x8000,
- RXMASK_OVERRUN_ERR = 0x4000,
- RXMASK_FRAMING_ERR = 0x2000,
- RXMASK_PARITY_ERR = 0x1000,
- RXMASK_LINE_MASK = 0x0300,
- RXMASK_DATA_MASK = 0x00ff
- };
-
- enum line_param_mask : u16
- {
- LPARAM_RX_ENABLE = 0x1000,
- LPARAM_BAUD_MASK = 0x0f00,
- LPARAM_ODD_PARITY = 0x0080,
- LPARAM_PARITY_ENB = 0x0040,
- LPARAM_STOP_BITS = 0x0020,
- LPARAM_CHARLEN_MASK = 0x0018,
- LPARAM_LINE_MASK = 0x0003
- };
-
- enum tx_control_mask : u16
- {
- TXCTRL_DTR2 = 0x0400,
- TXCTRL_LINE3_ENB = 0x0008,
- TXCTRL_LINE2_ENB = 0x0004,
- TXCTRL_LINE1_ENB = 0x0002,
- TXCTRL_LINE0_ENB = 0x0001
- };
-
- enum modem_status_mask : u16
- {
- MSTAT_DSR2 = 0x0400
- };
+ devcb_write_line m_int_cb;
+ devcb_write_line::array<4> m_tx_cb;
+ devcb_write_line::array<4> m_dtr_cb;
- enum tx_data_mask : u16
- {
- TXDATA_LINE3_BREAK = 0x0800,
- TXDATA_LINE2_BREAK = 0x0400,
- TXDATA_LINE1_BREAK = 0x0200,
- TXDATA_LINE0_BREAK = 0x0100,
- TXDATA_DATA_MASK = 0x00ff
- };
+ u16 m_csr;
+ u16 m_tcr;
+ u16 m_msr;
+
+ util::fifo<u16, 64> m_fifo;
+ u16 m_rx_buf;
+
+ bool m_int_state;
};
DECLARE_DEVICE_TYPE(DC7085, dc7085_device)
diff --git a/src/devices/machine/dp83932c.cpp b/src/devices/machine/dp83932c.cpp
index c08a16b655c..092b3949ac2 100644
--- a/src/devices/machine/dp83932c.cpp
+++ b/src/devices/machine/dp83932c.cpp
@@ -393,7 +393,7 @@ void dp83932c_device::transmit()
// transmit data
dump_bytes(buf, length);
- send(buf, length);
+ send(buf, length, 4);
}
void dp83932c_device::send_complete_cb(int result)
diff --git a/src/devices/machine/edlc.cpp b/src/devices/machine/edlc.cpp
index 9749191afe2..9fcc3be5fb5 100644
--- a/src/devices/machine/edlc.cpp
+++ b/src/devices/machine/edlc.cpp
@@ -288,7 +288,7 @@ void seeq8003_device::transmit(void *ptr, int param)
dump_bytes(buf, length);
// transmit the frame
- send(buf, length);
+ send(buf, length, 4);
// TODO: transmit errors/TxRET
diff --git a/src/devices/machine/hd63450.cpp b/src/devices/machine/hd63450.cpp
index 86d8a9e101c..21b032f55f6 100644
--- a/src/devices/machine/hd63450.cpp
+++ b/src/devices/machine/hd63450.cpp
@@ -62,6 +62,7 @@ void hd63450_device::device_start()
save_item(STRUCT_MEMBER(m_reg, mar));
save_item(STRUCT_MEMBER(m_reg, dar));
save_item(STRUCT_MEMBER(m_reg, btc));
+ save_item(STRUCT_MEMBER(m_reg, bar));
save_item(STRUCT_MEMBER(m_reg, niv));
save_item(STRUCT_MEMBER(m_reg, eiv));
save_item(STRUCT_MEMBER(m_reg, mfc));
@@ -278,7 +279,7 @@ void hd63450_device::dma_transfer_start(int channel)
m_reg[channel].csr &= ~0xe0;
m_reg[channel].csr |= 0x08; // Channel active
m_reg[channel].csr &= ~0x30; // Reset Error and Normal termination bits
- if ((m_reg[channel].ocr & 0x0c) != 0x00) // Array chain or Link array chain
+ if ((m_reg[channel].ocr & 0x0c) == 0x08) // Array chain
{
m_reg[channel].mar = space.read_word(m_reg[channel].bar) << 16;
m_reg[channel].mar |= space.read_word(m_reg[channel].bar+2);
@@ -286,9 +287,19 @@ void hd63450_device::dma_transfer_start(int channel)
if (m_reg[channel].btc > 0)
m_reg[channel].btc--;
}
+ else if ((m_reg[channel].ocr & 0x0c) == 0x0c) // Link array chain
+ {
+ u32 bar = m_reg[channel].bar;
+ m_reg[channel].mar = space.read_word(bar) << 16;
+ m_reg[channel].mar |= space.read_word(bar+2);
+ m_reg[channel].mtc = space.read_word(bar+4);
+ m_reg[channel].bar = space.read_word(bar+6) << 16;
+ m_reg[channel].bar |= space.read_word(bar+8);
+ }
// Burst transfers will halt the CPU until the transfer is complete
- if ((m_reg[channel].dcr & 0xc0) == 0x00) // Burst transfer
+ // max rate transfer hold the bus
+ if (((m_reg[channel].dcr & 0xc0) == 0x00) || ((m_reg[channel].ocr & 3) == 1)) // Burst transfer
{
m_cpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
m_timer[channel]->adjust(attotime::zero, channel, m_burst_clock[channel]);
@@ -452,7 +463,7 @@ void hd63450_device::single_transfer(int x)
{
// End of transfer
LOG("DMA#%i: End of transfer\n",x);
- if ((m_reg[x].ocr & 0x0c) != 0 && m_reg[x].btc > 0)
+ if ((m_reg[x].ocr & 0x0c) == 0x08 && m_reg[x].btc > 0)
{
m_reg[x].btc--;
m_reg[x].bar+=6;
@@ -461,13 +472,31 @@ void hd63450_device::single_transfer(int x)
m_reg[x].mtc = space.read_word(m_reg[x].bar+4);
return;
}
+ else if ((m_reg[x].ocr & 0x0c) == 0x0c && m_reg[x].bar)
+ {
+ u32 bar = m_reg[x].bar;
+ m_reg[x].mar = space.read_word(bar) << 16;
+ m_reg[x].mar |= space.read_word(bar+2);
+ m_reg[x].mtc = space.read_word(bar+4);
+ m_reg[x].bar = space.read_word(bar+6) << 16;
+ m_reg[x].bar |= space.read_word(bar+8);
+ return;
+ }
+ else if (m_reg[x].ccr & 0x40)
+ {
+ m_reg[x].mar = m_reg[x].bar;
+ m_reg[x].mtc = m_reg[x].btc;
+ m_reg[x].csr |= 0x40;
+ set_irq(x);
+ return;
+ }
m_timer[x]->adjust(attotime::never);
m_reg[x].csr |= 0xe0; // channel operation complete, block transfer complete
m_reg[x].csr &= ~0x08; // channel no longer active
m_reg[x].ccr &= ~0xc0;
- // Burst transfer
- if ((m_reg[x].dcr & 0xc0) == 0x00)
+ // Burst transfer or max rate transfer
+ if (((m_reg[x].dcr & 0xc0) == 0x00) || ((m_reg[x].ocr & 3) == 1))
{
m_cpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
}
diff --git a/src/devices/machine/i82586.cpp b/src/devices/machine/i82586.cpp
index 7dfc6272435..e52c2ff8389 100644
--- a/src/devices/machine/i82586.cpp
+++ b/src/devices/machine/i82586.cpp
@@ -96,7 +96,7 @@ CFG_PARAMS[] =
{ "number of retries", "maximum number of retries", 15, 7, 0xf0, 4, true },
{ "no crc insertion", "crc appended to frame", 0, 8, 0x10, 4, false },
{ "prefetch bit in rbd", "disabled (valid only in new modes)", 0, 0, 0x80, 7, false },
- { "preamble length", "bytes", 7, 3, 0x30, 4, true },
+ { "preamble length", "2^(n+1) bytes", 2, 3, 0x30, 4, true },
{ "preamble until crs", "disabled", 1, 11, 0x01, 0, false },
{ "promiscuous mode", "address filter on", 0, 8, 0x01, 0, false },
{ "padding", "no padding", 0, 8, 0x80, 7, false },
@@ -201,6 +201,7 @@ void i82586_base_device::device_reset()
m_ru_state = RU_IDLE;
m_scp_address = SCP_ADDRESS;
+ m_mac_multi = 0;
}
void i82586_base_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
@@ -1000,7 +1001,7 @@ bool i82586_device::cu_transmit(u32 command)
}
// optionally compute/insert ethernet frame check sequence (4 bytes)
- if (!cfg_no_crc_insertion() && !cfg_loopback_mode())
+ if (!cfg_no_crc_insertion())
{
LOG("cu_transmit inserting frame check sequence\n");
@@ -1030,7 +1031,7 @@ bool i82586_device::cu_transmit(u32 command)
LOG("cu_transmit sending frame length %d\n", length);
dump_bytes(buf, length);
- return send(buf, length) == length;
+ return send(buf, length, 4) == length;
}
}
@@ -1092,8 +1093,8 @@ u16 i82586_device::ru_execute(u8 *buf, int length)
u32 rfd_cs = m_space->read_dword(m_rfd);
u16 status = 0;
- // current buffer position and bytes remaining
- int position = 0, remaining = length;
+ // current buffer position and bytes remaining (excluding fcs)
+ int position = 0, remaining = length - 4;
// set busy status
m_space->write_dword(m_rfd, rfd_cs | RFD_B);
@@ -1105,7 +1106,7 @@ u16 i82586_device::ru_execute(u8 *buf, int length)
status |= RFD_S_SHORT;
// set crc status
- if (!cfg_loopback_mode() && ~compute_crc(buf, length, cfg_crc16()) != FCS_RESIDUE)
+ if (~compute_crc(buf, length, cfg_crc16()) != FCS_RESIDUE)
{
LOGMASKED(LOG_FRAMES, "ru_execute crc error computed 0x%08x stored 0x%08x\n",
compute_crc(buf, length - 4, cfg_crc16()), *(u32 *)&buf[length - 4]);
@@ -1187,18 +1188,18 @@ u16 i82586_device::ru_execute(u8 *buf, int length)
void i82586_device::ru_complete(const u16 status)
{
- if (status & RFD_OK)
- LOG("ru_complete frame received without error\n");
- else
- LOG("ru_complete frame received with errors status 0x%04x\n", status);
-
- // update receive frame descriptor status
- u32 rfd_cs = m_space->read_dword(m_rfd);
- m_space->write_dword(m_rfd, (rfd_cs & ~0xffffU) | status);
-
// if we received without error, or we're saving bad frames, advance to the next rfd
if ((status & RFD_OK) || cfg_save_bad_frames())
{
+ if (status & RFD_OK)
+ LOG("ru_complete frame received without error\n");
+ else
+ LOG("ru_complete frame received with errors status 0x%04x\n", status);
+
+ // update receive frame descriptor status
+ u32 rfd_cs = m_space->read_dword(m_rfd);
+ m_space->write_dword(m_rfd, (rfd_cs & ~0xffffU) | status);
+
if (!(rfd_cs & RFD_EL))
{
// advance to next rfd
@@ -1216,17 +1217,19 @@ void i82586_device::ru_complete(const u16 status)
// set frame received status
m_fr = true;
- }
- // suspend on completion
- if (rfd_cs & RFD_S)
- {
- m_ru_state = RU_SUSPENDED;
- m_rnr = true;
- }
+ // suspend on completion
+ if (rfd_cs & RFD_S)
+ {
+ m_ru_state = RU_SUSPENDED;
+ m_rnr = true;
+ }
- static const char *const RU_STATE_NAME[] = { "IDLE", "SUSPENDED", "NO RESOURCES", nullptr, "READY" };
- LOG("ru_complete complete state %s\n", RU_STATE_NAME[m_ru_state]);
+ static const char *const RU_STATE_NAME[] = { "IDLE", "SUSPENDED", "NO RESOURCES", nullptr, "READY" };
+ LOG("ru_complete complete state %s\n", RU_STATE_NAME[m_ru_state]);
+ }
+ else
+ LOG("ru_complete discarded frame with errors status 0x%04x\n", status);
}
u32 i82586_device::address(u32 base, int offset, int address, u16 empty)
@@ -1827,7 +1830,7 @@ u16 i82596_device::ru_execute(u8 *buf, int length)
}
// set crc status
- if (!cfg_loopback_mode() && ~compute_crc(buf, length, cfg_crc16()) != FCS_RESIDUE)
+ if (~compute_crc(buf, length, cfg_crc16()) != FCS_RESIDUE)
{
LOGMASKED(LOG_FRAMES, "ru_execute crc error computed 0x%08x stored 0x%08x\n",
compute_crc(buf, length - 4, cfg_crc16()), *(u32 *)&buf[length - 4]);
@@ -1970,18 +1973,18 @@ u16 i82596_device::ru_execute(u8 *buf, int length)
void i82596_device::ru_complete(const u16 status)
{
- if (status & RFD_OK)
- LOG("ru_complete frame received without error\n");
- else
- LOG("ru_complete frame received with errors status 0x%04x\n", status);
-
- // store status
- const u32 rfd_cs = m_space->read_dword(m_rfd);
- m_space->write_dword(m_rfd, (rfd_cs & ~0xffffU) | status);
-
// if we received without error, or we're saving bad frames, advance to the next rfd
- if ((rfd_cs & RFD_OK) || cfg_save_bad_frames())
+ if ((status & RFD_OK) || cfg_save_bad_frames())
{
+ if (status & RFD_OK)
+ LOG("ru_complete frame received without error\n");
+ else
+ LOG("ru_complete frame received with errors status 0x%04x\n", status);
+
+ // update receive frame descriptor status
+ const u32 rfd_cs = m_space->read_dword(m_rfd);
+ m_space->write_dword(m_rfd, (rfd_cs & ~0xffffU) | status);
+
if (!(rfd_cs & RFD_EL))
{
// advance to next rfd
@@ -2004,17 +2007,19 @@ void i82596_device::ru_complete(const u16 status)
// set frame received status
m_fr = true;
- }
- // suspend on completion
- if (rfd_cs & RFD_S)
- {
- m_ru_state = RU_SUSPENDED;
- m_rnr = true;
- }
+ // suspend on completion
+ if (rfd_cs & RFD_S)
+ {
+ m_ru_state = RU_SUSPENDED;
+ m_rnr = true;
+ }
- static const char *const RU_STATE_NAME[] = { "IDLE", "SUSPENDED", "NO RESOURCES", nullptr, "READY", nullptr, nullptr, nullptr, nullptr, nullptr, "NO RESOURCES (RFD)", nullptr, "NO RESOURCES (RBD)" };
- LOG("ru_complete complete state %s\n", RU_STATE_NAME[m_ru_state]);
+ static const char *const RU_STATE_NAME[] = { "IDLE", "SUSPENDED", "NO RESOURCES", nullptr, "READY", nullptr, nullptr, nullptr, nullptr, nullptr, "NO RESOURCES (RFD)", nullptr, "NO RESOURCES (RBD)" };
+ LOG("ru_complete complete state %s\n", RU_STATE_NAME[m_ru_state]);
+ }
+ else
+ LOG("ru_complete discarded frame with errors status 0x%04x\n", status);
}
u32 i82596_device::address(u32 base, int offset, int address, u16 empty)
diff --git a/src/devices/machine/input_merger.cpp b/src/devices/machine/input_merger.cpp
index 28652cdb66f..3e0570d82b0 100644
--- a/src/devices/machine/input_merger.cpp
+++ b/src/devices/machine/input_merger.cpp
@@ -2,10 +2,20 @@
// copyright-holders:Dirk Best, Vas Crabb
/***************************************************************************
- Input Merger
+Input Merger
- Used to connect multiple lines to a single device input while
- keeping it pulled high or low
+Used to connect multiple lines to a single device input while keeping it
+pulled high or low.
+
+Default initial input pin(s) state:
+- ANY_HIGH: 0
+- ALL_HIGH: 1
+- ANY_LOW: 1
+- ALL_LOW: 0
+
+TODO:
+- call output handler at reset? eg. a NAND gate whose inputs are low at
+ power-on should output 1.
***************************************************************************/
@@ -23,10 +33,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(INPUT_MERGER_ANY_HIGH, input_merger_any_high_device, "ipt_merge_any_hi", "Input Merger (any high)")
-DEFINE_DEVICE_TYPE(INPUT_MERGER_ALL_HIGH, input_merger_all_high_device, "ipt_merge_all_hi", "Input Merger (all high)")
-DEFINE_DEVICE_TYPE(INPUT_MERGER_ANY_LOW, input_merger_any_low_device, "ipt_merge_any_lo", "Input Merger (any low)")
-DEFINE_DEVICE_TYPE(INPUT_MERGER_ALL_LOW, input_merger_all_low_device, "ipt_merge_all_lo", "Input Merger (all low)")
+DEFINE_DEVICE_TYPE(INPUT_MERGER_ANY_HIGH, input_merger_any_high_device, "ipt_merge_any_hi", "Input Merger (any high)") // OR
+DEFINE_DEVICE_TYPE(INPUT_MERGER_ALL_HIGH, input_merger_all_high_device, "ipt_merge_all_hi", "Input Merger (all high)") // AND
+DEFINE_DEVICE_TYPE(INPUT_MERGER_ANY_LOW, input_merger_any_low_device, "ipt_merge_any_lo", "Input Merger (any low)") // NAND
+DEFINE_DEVICE_TYPE(INPUT_MERGER_ALL_LOW, input_merger_all_low_device, "ipt_merge_all_lo", "Input Merger (all low)") // NOR
//**************************************************************************
@@ -93,12 +103,12 @@ TIMER_CALLBACK_MEMBER(input_merger_device::update_state)
// SPECIALISATIONS
//**************************************************************************
-input_merger_any_high_device::input_merger_any_high_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+input_merger_any_high_device::input_merger_any_high_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
: input_merger_device(mconfig, INPUT_MERGER_ANY_HIGH, tag, owner, clock, u32(0), u32(0), 1)
{
}
-input_merger_all_high_device::input_merger_all_high_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+input_merger_all_high_device::input_merger_all_high_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
: input_merger_device(mconfig, INPUT_MERGER_ALL_HIGH, tag, owner, clock, ~u32(0), ~u32(0), 0)
{
}
diff --git a/src/devices/machine/input_merger.h b/src/devices/machine/input_merger.h
index 10c400b4a74..744b342796d 100644
--- a/src/devices/machine/input_merger.h
+++ b/src/devices/machine/input_merger.h
@@ -4,9 +4,6 @@
Input Merger
- Used to connect multiple lines to a single device input while
- keeping it pulled high or low
-
***************************************************************************/
#ifndef MAME_MACHINE_INPUT_MERGER_H
@@ -22,13 +19,14 @@
class input_merger_device : public device_t
{
public:
- // callback
+ // configuration
auto output_handler() { return m_output_handler.bind(); }
+ auto &initial_state(u32 val) { m_initval = val; return *this; } // initial input pin(s) state, be wary about the unused pins
// input lines
template <unsigned Bit> DECLARE_WRITE_LINE_MEMBER(in_w) { static_assert(Bit < 32, "invalid bit"); machine().scheduler().synchronize(timer_expired_delegate(FUNC(input_merger_device::update_state), this), (Bit << 1) | (state ? 1U : 0U)); }
- template <unsigned Bit> void in_set(u8 data) { in_w<Bit>(1); }
- template <unsigned Bit> void in_clear(u8 data) { in_w<Bit>(0); }
+ template <unsigned Bit> void in_set(u8 data = 0) { in_w<Bit>(1); }
+ template <unsigned Bit> void in_clear(u8 data = 0) { in_w<Bit>(0); }
protected:
// constructor/destructor
@@ -50,7 +48,8 @@ protected:
devcb_write_line m_output_handler;
- u32 const m_initval, m_xorval;
+ u32 m_initval;
+ u32 const m_xorval;
int const m_active;
u32 m_state;
};
diff --git a/src/devices/machine/keyboard.cpp b/src/devices/machine/keyboard.cpp
index eacd6786689..eac7263c82c 100644
--- a/src/devices/machine/keyboard.cpp
+++ b/src/devices/machine/keyboard.cpp
@@ -22,6 +22,10 @@ void xxx_state::kbd_put(u8 data)
(if your machine uses function keys, add your conversion code here)
}
+In a device, at the top of the device's .cpp file in the appropriate spot:
+
+#include "machine/keyboard.ipp"
+
***************************************************************************/
#include "emu.h"
diff --git a/src/devices/machine/mc68681.cpp b/src/devices/machine/mc68681.cpp
index 6ab7e2f69fe..645b7c9deba 100644
--- a/src/devices/machine/mc68681.cpp
+++ b/src/devices/machine/mc68681.cpp
@@ -1269,7 +1269,7 @@ void duart_channel::tra_complete()
{
//printf("%s ch %d Tx complete\n", tag(), m_ch);
tx_ready = 1;
- SR |= STATUS_TRANSMITTER_READY;
+ SR |= STATUS_TRANSMITTER_READY | STATUS_TRANSMITTER_EMPTY;
if (m_ch == 0)
m_uart->set_ISR_bits(INT_TXRDYA);
@@ -1319,24 +1319,13 @@ void duart_channel::update_interrupts()
switch (MR2 & 0xc0) // what mode are we in?
{
case 0x00: // normal mode
- if (tx_enabled)
- SR |= STATUS_TRANSMITTER_EMPTY;
- else
- SR &= ~STATUS_TRANSMITTER_EMPTY;
break;
case 0x40: // automatic echo mode
- SR &= ~STATUS_TRANSMITTER_EMPTY;
SR &= ~STATUS_TRANSMITTER_READY;
break;
case 0x80: // local loopback mode
- if (tx_enabled)
- SR |= STATUS_TRANSMITTER_EMPTY;
- else
- SR &= ~STATUS_TRANSMITTER_EMPTY;
break;
case 0xc0: // remote loopback mode
- // write me, what the txrdy/txemt regs do for remote loopback mode is undocumented afaik, for now just clear both
- SR &= ~STATUS_TRANSMITTER_EMPTY;
SR &= ~STATUS_TRANSMITTER_READY;
break;
}
@@ -1571,7 +1560,8 @@ void duart_channel::write_CR(uint8_t data)
break;
case 3: /* Reset channel transmitter */
tx_enabled = 0;
- SR &= ~STATUS_TRANSMITTER_READY;
+ tx_ready = 0;
+ SR &= ~(STATUS_TRANSMITTER_READY | STATUS_TRANSMITTER_EMPTY);
if (m_ch == 0)
m_uart->clear_ISR_bits(INT_TXRDYA);
else
@@ -1636,7 +1626,7 @@ void duart_channel::write_CR(uint8_t data)
{
tx_enabled = 1;
tx_ready = 1;
- SR |= STATUS_TRANSMITTER_READY;
+ SR |= STATUS_TRANSMITTER_READY | STATUS_TRANSMITTER_EMPTY;
if (m_ch == 0)
m_uart->set_ISR_bits(INT_TXRDYA);
else
@@ -1646,7 +1636,7 @@ void duart_channel::write_CR(uint8_t data)
{
tx_enabled = 0;
tx_ready = 0;
- SR &= ~STATUS_TRANSMITTER_READY;
+ SR &= ~(STATUS_TRANSMITTER_READY | STATUS_TRANSMITTER_EMPTY);
if (m_ch == 0)
m_uart->clear_ISR_bits(INT_TXRDYA);
else
@@ -1668,7 +1658,7 @@ void duart_channel::write_TX(uint8_t data)
//printf("%s ch %d Tx %c [%02x]\n", tag(), m_ch, isprint(data) ? data : ' ', data);
tx_ready = 0;
- SR &= ~STATUS_TRANSMITTER_READY;
+ SR &= ~(STATUS_TRANSMITTER_READY | STATUS_TRANSMITTER_EMPTY);
if (m_ch == 0)
m_uart->clear_ISR_bits(INT_TXRDYA);
diff --git a/src/devices/machine/ns32202.cpp b/src/devices/machine/ns32202.cpp
index b9349d86f06..1a84ad180e9 100644
--- a/src/devices/machine/ns32202.cpp
+++ b/src/devices/machine/ns32202.cpp
@@ -685,14 +685,14 @@ void ns32202_device::cctl_w(u8 data)
{} // TODO: decrement l-counter
}
- m_cctl = data & ~(CCTL_CRUNH | CCTL_CRUNL);
+ m_cctl = data & ~(CCTL_CDCRH | CCTL_CDCRL);
}
void ns32202_device::cictl_w(u8 data)
{
u8 const mask =
- ((data & CICTL_WENL) ? (CICTL_CERL | CICTL_CIRL | CICTL_CIEL) : 0) |
- ((data & CICTL_WENH) ? (CICTL_CERH | CICTL_CIRH | CICTL_CIEH) : 0);
+ ((data & CICTL_WENL) ? (CICTL_CERL | CICTL_CIRL | CICTL_CIEL | CICTL_WENL) : 0) |
+ ((data & CICTL_WENH) ? (CICTL_CERH | CICTL_CIRH | CICTL_CIEH | CICTL_WENH) : 0);
m_cictl = (m_cictl & ~mask) | (data & mask);
}
diff --git a/src/devices/machine/spg2xx_io.cpp b/src/devices/machine/spg2xx_io.cpp
index c84295c65a1..861a720cfa0 100644
--- a/src/devices/machine/spg2xx_io.cpp
+++ b/src/devices/machine/spg2xx_io.cpp
@@ -1102,7 +1102,15 @@ void spg2xx_io_device::io_w(offs_t offset, uint16_t data)
const uint16_t channel = (m_io_regs[REG_ADC_CTRL] >> 4) & 3;
if (BIT(m_io_regs[REG_ADC_CTRL], 0))
{
- if (!BIT(old_ctrl, 0))
+ // Does anything require the 0->1 check below?
+ // jak_sith (and all the other Star Wars units / GameKeys) break on the high score table if you leave the demo
+ // running or finish a game with a high score, as they write '0x0001' and then don't read any further directional
+ // inputs until 0x2000 is set, but that never happens because the value at the time is already 0x0001.
+ //
+ // If the state of the lowest bit is important to other software, maybe it's more of a status flag than a true
+ // read/write register?
+
+ //if (!BIT(old_ctrl, 0))
{
m_io_regs[REG_ADC_CTRL] |= 0x2000;
if (BIT(m_io_regs[REG_ADC_CTRL], 9))
diff --git a/src/devices/machine/swim1.cpp b/src/devices/machine/swim1.cpp
index 75c3b12b186..8e747a219bd 100644
--- a/src/devices/machine/swim1.cpp
+++ b/src/devices/machine/swim1.cpp
@@ -298,8 +298,12 @@ void swim1_device::ism_write(offs_t offset, u8 data)
m_ism_mode &= ~data;
m_ism_param_idx = 0;
ism_show_mode();
- if(!(m_ism_mode & 0x40))
+ if(!(m_ism_mode & 0x40)) {
logerror("switch to iwm\n");
+ u8 ism_devsel = m_ism_mode & 0x80 ? (m_ism_mode >> 1) & 3 : 0;
+ if(ism_devsel != m_iwm_devsel)
+ m_devsel_cb(m_iwm_devsel);
+ }
break;
case 0x7:
@@ -315,7 +319,7 @@ void swim1_device::ism_write(offs_t offset, u8 data)
if(m_ism_mode & 0x01)
ism_fifo_clear();
- if((m_ism_mode ^ prev_mode) & 0x06)
+ if((m_ism_mode ^ prev_mode) & 0x86)
m_devsel_cb(m_ism_mode & 0x80 ? (m_ism_mode >> 1) & 3 : 0);
if((m_ism_mode ^ prev_mode) & 0x20)
m_hdsel_cb((m_ism_mode >> 5) & 1);
@@ -533,6 +537,9 @@ u8 swim1_device::iwm_control(int offset, u8 data)
if(data & 0x40) {
m_ism_mode |= 0x40;
logerror("switch to ism\n");
+ u8 ism_devsel = m_ism_mode & 0x80 ? (m_ism_mode >> 1) & 3 : 0;
+ if(ism_devsel != m_iwm_devsel)
+ m_devsel_cb(ism_devsel);
}
break;
}
diff --git a/src/devices/machine/swim2.cpp b/src/devices/machine/swim2.cpp
index da26c70cb41..69b718a4cef 100644
--- a/src/devices/machine/swim2.cpp
+++ b/src/devices/machine/swim2.cpp
@@ -297,7 +297,7 @@ void swim2_device::write(offs_t offset, u8 data)
if(m_mode & 0x01)
fifo_clear();
- if((m_mode ^ prev_mode) & 0x06)
+ if((m_mode ^ prev_mode) & 0x86)
m_devsel_cb(m_mode & 0x80 ? (m_mode >> 1) & 3 : 0);
if((m_mode ^ prev_mode) & 0x20)
m_hdsel_cb((m_mode >> 5) & 1);
diff --git a/src/devices/machine/swim3.cpp b/src/devices/machine/swim3.cpp
index ec24c6e2606..1be0e9937f6 100644
--- a/src/devices/machine/swim3.cpp
+++ b/src/devices/machine/swim3.cpp
@@ -254,7 +254,7 @@ void swim3_device::write(offs_t offset, u8 data)
break;
}
- if((m_mode ^ prev_mode) & 0x06)
+ if((m_mode ^ prev_mode) & 0x86)
m_devsel_cb((m_mode >> 1) & 3);
if((m_mode ^ prev_mode) & 0x20)
m_hdsel_cb((m_mode >> 5) & 1);
diff --git a/src/devices/machine/wd1010.cpp b/src/devices/machine/wd1010.cpp
index a330d6c7671..4c77c88b215 100644
--- a/src/devices/machine/wd1010.cpp
+++ b/src/devices/machine/wd1010.cpp
@@ -112,6 +112,7 @@ void wd1010_device::device_start()
save_item(NAME(m_cylinder));
save_item(NAME(m_sdh));
save_item(NAME(m_status));
+ save_item(NAME(m_head));
}
//-------------------------------------------------
@@ -332,6 +333,14 @@ void wd1010_device::brdy_w(int state)
m_brdy = state;
}
+void wd1010_device::sc_w(int state)
+{
+ if (state)
+ m_status |= STATUS_SC;
+ else
+ m_status &= ~STATUS_SC;
+}
+
int wd1010_device::sc_r()
{
return m_status & STATUS_SC ? 1 : 0;
diff --git a/src/devices/machine/wd1010.h b/src/devices/machine/wd1010.h
index 268ab3a63ca..81607536f34 100644
--- a/src/devices/machine/wd1010.h
+++ b/src/devices/machine/wd1010.h
@@ -40,11 +40,16 @@ public:
void drdy_w(int state);
void brdy_w(int state);
+ void sc_w(int state);
// actually inputs to the controller from the drive
int sc_r();
int tk000_r();
+ // HACK: head selection is not actually controlled by the wd1010, but this emulation currently
+ // works as if it does; this function allows heads beyond the 3-bit range of the sdh register.
+ void head_w(uint8_t head) { m_head = head; }
+
protected:
// device-level overrides
virtual void device_start() override;
@@ -102,7 +107,7 @@ private:
int get_lbasector();
// extract values from sdh
- int head() { return (m_sdh >> 0) & 0x07; }
+ int head() { return m_head; }
int drive() { return (m_sdh >> 3) & 0x03; }
int sector_size()
{
@@ -151,6 +156,7 @@ private:
uint16_t m_cylinder;
uint8_t m_sdh;
uint8_t m_status;
+ uint8_t m_head;
};
// device type definition
diff --git a/src/devices/machine/wd_fdc.cpp b/src/devices/machine/wd_fdc.cpp
index d32626b5f03..056faa5cdf5 100644
--- a/src/devices/machine/wd_fdc.cpp
+++ b/src/devices/machine/wd_fdc.cpp
@@ -1146,6 +1146,14 @@ void wd_fdc_device_base::cmd_w(uint8_t val)
LOGCOMP("Initiating command %02x\n", val);
+ // INTRQ flip-flop logic from die schematics:
+ // Reset conditions:
+ // - Command register write
+ // - Status register read
+ // Setting conditions:
+ // - While command register contain Dx (interrupt cmd) and one or more I0-I3 conditions met
+ // - Command-specific based on PLL microprogram
+ // No other logic present in real chips, descriptions of "Forced interrupt" (Dx) command in datasheets are wrong.
if (intrq) {
intrq = false;
if(!intrq_cb.isnull())
diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp
index 4978ff66d32..1a1dc0a3eda 100644
--- a/src/devices/machine/z80scc.cpp
+++ b/src/devices/machine/z80scc.cpp
@@ -1243,6 +1243,9 @@ void z80scc_channel::tra_callback()
LOGTX("%s: transmit data bit %d m_wr5:%02x\n", FUNCNAME, db, m_wr5);
// transmit data
out_txd_cb(db);
+
+ if (m_wr14 & WR14_LOCAL_LOOPBACK)
+ write_rx(db);
}
else
{
@@ -2298,6 +2301,10 @@ void z80scc_channel::do_sccreg_wr14(uint8_t data)
m_brg_counter = 0;
#endif
}
+
+ if (!(m_wr14 & WR14_LOCAL_LOOPBACK) && (data & WR14_LOCAL_LOOPBACK))
+ receive_register_reset();
+
// TODO: Add info on the other bits of this register
m_wr14 = data;
update_serial();
diff --git a/src/devices/sound/ay8910.cpp b/src/devices/sound/ay8910.cpp
index 46a6ff8bf00..ad1a3483496 100644
--- a/src/devices/sound/ay8910.cpp
+++ b/src/devices/sound/ay8910.cpp
@@ -578,7 +578,7 @@ AY-3-8910/8912/8913 post-1983 manual: http://map.grauw.nl/resources/sound/genera
AY-8930 datasheet: http://www.ym2149.com/ay8930.pdf
YM2149 datasheet: http://www.ym2149.com/ym2149.pdf
YM2203 English datasheet: http://www.appleii-box.de/APPLE2/JonasCard/YM2203%20datasheet.pdf
-YM2203 Japanese datasheet contents, translated: http://www.larwe.com/technical/chip_ym2203.html
+YM2203 Japanese datasheet contents, translated: http://www.larwe.com/technical/chip_ymopn.html
*/
#include "emu.h"
diff --git a/src/devices/sound/bbd.cpp b/src/devices/sound/bbd.cpp
new file mode 100644
index 00000000000..e270108b04e
--- /dev/null
+++ b/src/devices/sound/bbd.cpp
@@ -0,0 +1,165 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#include "emu.h"
+#include "bbd.h"
+
+
+//**************************************************************************
+// BBD DEVICE BASE
+//**************************************************************************
+
+//-------------------------------------------------
+// bbd_device_base - constructor
+//-------------------------------------------------
+
+template<int Entries, int Outputs>
+bbd_device_base<Entries, Outputs>::bbd_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_sound_interface(mconfig, *this),
+ m_stream(nullptr),
+ m_curpos(0),
+ m_cv_handler(*this),
+ m_next_bbdtime(attotime::zero)
+{
+ std::fill_n(&m_buffer[0], Entries, 0);
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+template<int Entries, int Outputs>
+void bbd_device_base<Entries, Outputs>::device_start()
+{
+ m_cv_handler.resolve();
+
+ if (m_cv_handler.isnull())
+ m_stream = stream_alloc(1, Outputs, sample_rate());
+ else
+ m_stream = stream_alloc(1, Outputs, SAMPLE_RATE_OUTPUT_ADAPTIVE, STREAM_DISABLE_INPUT_RESAMPLING);
+
+ save_item(NAME(m_buffer));
+ save_item(NAME(m_curpos));
+ save_item(NAME(m_next_bbdtime));
+}
+
+
+//-------------------------------------------------
+// device_clock_changed - handle a clock change
+//-------------------------------------------------
+
+template<int Entries, int Outputs>
+void bbd_device_base<Entries, Outputs>::device_clock_changed()
+{
+ m_stream->set_sample_rate(sample_rate());
+}
+
+
+//-------------------------------------------------
+// sound_stream_update - handle a stream update
+//-------------------------------------------------
+
+template<int Entries, int Outputs>
+void bbd_device_base<Entries, Outputs>::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
+{
+ // BBDs that I've seen so far typically have 2 outputs, with the first outputting
+ // sample n-1 and the second outputting sampe n; if chips with more outputs
+ // or other taps turn up, this logic will need to be made more flexible
+ if (m_cv_handler.isnull())
+ {
+ for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
+ {
+ for (int outnum = 0; outnum < Outputs; outnum++)
+ outputs[outnum].put(sampindex, m_buffer[(m_curpos + (Outputs - 1) - outnum) % Entries]);
+ m_buffer[m_curpos] = inputs[0].get(sampindex);
+ m_curpos = (m_curpos + 1) % Entries;
+ }
+ }
+ else
+ {
+ read_stream_view in(inputs[0], m_next_bbdtime);
+ attotime intime = in.start_time();
+ attotime outtime = outputs[0].start_time();
+ int inpos = 0;
+
+ // loop until all outputs generated
+ for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
+ {
+ // we need to process some more BBD input
+ while (outtime >= m_next_bbdtime)
+ {
+ // find the input sample that overlaps our start time
+ while (intime + in.sample_period() < m_next_bbdtime)
+ {
+ inpos++;
+ intime += in.sample_period();
+ }
+
+ // copy that to the buffer
+ m_buffer[m_curpos] = in.get(inpos);
+ m_curpos = (m_curpos + 1) % std::size(m_buffer);
+
+ // advance the end time of this BBD sample
+ m_next_bbdtime += attotime(0, m_cv_handler(m_next_bbdtime));
+ }
+
+ // copy the most recently-generated BBD data
+ for (int outnum = 0; outnum < Outputs; outnum++)
+ outputs[outnum].put(sampindex, outputval(outnum - (Outputs - 1)));
+ outtime += outputs[0].sample_period();
+ }
+ }
+}
+
+
+//**************************************************************************
+// MN3004
+//**************************************************************************
+
+// device type definition
+DEFINE_DEVICE_TYPE(MN3004, mn3004_device, "mn3004", "MN3004 BBD")
+
+mn3004_device::mn3004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ bbd_device_base(mconfig, tag, owner, clock, MN3004)
+{
+}
+
+
+//**************************************************************************
+// MN3005
+//**************************************************************************
+
+// device type definition
+DEFINE_DEVICE_TYPE(MN3005, mn3005_device, "mn3005", "MN3005 BBD")
+
+mn3005_device::mn3005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ bbd_device_base(mconfig, tag, owner, clock, MN3005)
+{
+}
+
+
+//**************************************************************************
+// MN3006
+//**************************************************************************
+
+// device type definition
+DEFINE_DEVICE_TYPE(MN3006, mn3006_device, "mn3006", "MN3006 BBD")
+
+mn3006_device::mn3006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ bbd_device_base(mconfig, tag, owner, clock, MN3006)
+{
+}
+
+
+//**************************************************************************
+// MN3204P
+//**************************************************************************
+
+// device type definition
+DEFINE_DEVICE_TYPE(MN3204P, mn3204p_device, "mn3204p", "MN3204P BBD")
+
+mn3204p_device::mn3204p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ bbd_device_base(mconfig, tag, owner, clock, MN3204P)
+{
+}
diff --git a/src/devices/sound/bbd.h b/src/devices/sound/bbd.h
new file mode 100644
index 00000000000..f9c84b8d6a6
--- /dev/null
+++ b/src/devices/sound/bbd.h
@@ -0,0 +1,93 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#ifndef MAME_SOUND_BBD_H
+#define MAME_SOUND_BBD_H
+
+#pragma once
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> bbd_device_base
+
+template<int Entries, int Outputs>
+class bbd_device_base : public device_t, public device_sound_interface
+{
+public:
+ // configuration
+ template <typename... T> void set_cv_handler(T &&... args)
+ {
+ m_cv_handler.set(std::forward<T>(args)...);
+ }
+
+protected:
+ using cv_delegate = device_delegate<attoseconds_t (attotime const &)>;
+
+ // internal constructor
+ bbd_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_clock_changed() override;
+
+ // sound stream update overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
+
+protected:
+ // override to convert clock to sample rate
+ stream_buffer::sample_t outputval(s32 index) const { return m_buffer[(m_curpos - index) % std::size(m_buffer)]; }
+ virtual u32 sample_rate() const { return clock(); }
+
+ sound_stream * m_stream;
+ u32 m_curpos;
+ cv_delegate m_cv_handler;
+ attotime m_next_bbdtime;
+ stream_buffer::sample_t m_buffer[Entries + 1];
+};
+
+
+// ======================> mn3004_device
+
+class mn3004_device : public bbd_device_base<512, 2>
+{
+public:
+ mn3004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+DECLARE_DEVICE_TYPE(MN3004, mn3004_device)
+
+
+// ======================> mn3005_device
+
+class mn3005_device : public bbd_device_base<4096, 2>
+{
+public:
+ mn3005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+DECLARE_DEVICE_TYPE(MN3005, mn3005_device)
+
+
+// ======================> mn3006_device
+
+class mn3006_device : public bbd_device_base<128, 2>
+{
+public:
+ mn3006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+DECLARE_DEVICE_TYPE(MN3006, mn3006_device)
+
+
+// ======================> mn3204p_device
+
+class mn3204p_device : public bbd_device_base<512, 2>
+{
+public:
+ mn3204p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+DECLARE_DEVICE_TYPE(MN3204P, mn3204p_device)
+
+#endif // MAME_SOUND_BBD_H
diff --git a/src/devices/sound/c140.cpp b/src/devices/sound/c140.cpp
index 62e32707f6c..f8cfe01fa06 100644
--- a/src/devices/sound/c140.cpp
+++ b/src/devices/sound/c140.cpp
@@ -463,10 +463,23 @@ void c219_device::sound_stream_update(sound_stream &stream, std::vector<read_str
}
}
+inline u8 c140_device::keyon_status_read(u16 offset)
+{
+ m_stream->update();
+ C140_VOICE const &v = m_voi[offset >> 4];
+ // suzuka 8 hours and final lap games reads from here,
+ // expecting bit 6 to be an inprogress sample flag.
+ // four trax also expects bit 4 high for some specific channels to make engine noises to work properly
+ // (sounds kinda bogus when player crashes in an object and jump spin, needs real HW verification)
+ return (v.key ? 0x40 : 0x00) | (v.mode & 0x3f);
+}
+
u8 c140_device::c140_r(offs_t offset)
{
offset &= 0x1ff;
+ if ((offset & 0xf) == 0x5)
+ return keyon_status_read(offset);
return m_REG[offset];
}
@@ -540,6 +553,11 @@ void c140_device::c140_w(offs_t offset, u8 data)
u8 c219_device::c219_r(offs_t offset)
{
offset &= 0x1ff;
+ // assume same as c140
+ // TODO: what happens here on reading unmapped voice regs?
+ if ((offset & 0xf) == 0x5)
+ return keyon_status_read(offset);
+
return m_REG[offset];
}
diff --git a/src/devices/sound/c140.h b/src/devices/sound/c140.h
index 3008d964a9d..4c2b18efa46 100644
--- a/src/devices/sound/c140.h
+++ b/src/devices/sound/c140.h
@@ -97,6 +97,8 @@ protected:
C140_VOICE m_voi[MAX_VOICE];
emu_timer *m_int1_timer;
+
+ u8 keyon_status_read(u16 offset);
};
class c219_device : public c140_device
diff --git a/src/devices/sound/c6280.cpp b/src/devices/sound/c6280.cpp
index 1b6666455c9..644269e01f7 100644
--- a/src/devices/sound/c6280.cpp
+++ b/src/devices/sound/c6280.cpp
@@ -68,8 +68,8 @@ void c6280_device::sound_stream_update(sound_stream &stream, std::vector<read_st
int vlr = (0xf - rmal) + (0xf - al) + (0xf - ral);
if (vlr > 0xf) vlr = 0xf;
- vll = m_volume_table[(vll << 1) | (chan->control & 1)];
- vlr = m_volume_table[(vlr << 1) | (chan->control & 1)];
+ vll = m_volume_table[(vll << 1) | (~chan->control & 1)];
+ vlr = m_volume_table[(vlr << 1) | (~chan->control & 1)];
/* Check channel mode */
if ((ch >= 4) && (chan->noise_control & 0x80))
diff --git a/src/devices/sound/es5503.cpp b/src/devices/sound/es5503.cpp
index f22d11473fc..576e779c93b 100644
--- a/src/devices/sound/es5503.cpp
+++ b/src/devices/sound/es5503.cpp
@@ -352,7 +352,7 @@ u8 es5503_device::read(offs_t offset)
}
}
- return retval;
+ return retval | 0x41;
case 0xe1: // oscillator enable
return oscsenabled<<1;
diff --git a/src/devices/sound/mixer.cpp b/src/devices/sound/mixer.cpp
new file mode 100644
index 00000000000..3b8435182c4
--- /dev/null
+++ b/src/devices/sound/mixer.cpp
@@ -0,0 +1,30 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#include "emu.h"
+#include "mixer.h"
+
+
+//**************************************************************************
+// MIXER DEVICE
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(MIXER, mixer_device, "mixer", "Generic Audio Mixer")
+
+//-------------------------------------------------
+// mixer_device - constructor
+//-------------------------------------------------
+
+mixer_device::mixer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, MIXER, tag, owner, clock),
+ device_mixer_interface(mconfig, *this)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void mixer_device::device_start()
+{
+}
diff --git a/src/devices/sound/mixer.h b/src/devices/sound/mixer.h
new file mode 100644
index 00000000000..e25466ea351
--- /dev/null
+++ b/src/devices/sound/mixer.h
@@ -0,0 +1,27 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#ifndef MAME_SOUND_MIXER_H
+#define MAME_SOUND_MIXER_H
+
+#pragma once
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+DECLARE_DEVICE_TYPE(MIXER, mixer_device)
+
+// ======================> mixer_device
+
+class mixer_device : public device_t, public device_mixer_interface
+{
+public:
+ // internal constructor
+ mixer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
+
+#endif // MAME_SOUND_MIXER_H
diff --git a/src/devices/sound/votrax.cpp b/src/devices/sound/votrax.cpp
index 067e639ed78..2c262ad3c42 100644
--- a/src/devices/sound/votrax.cpp
+++ b/src/devices/sound/votrax.cpp
@@ -98,6 +98,7 @@ void votrax_sc01_device::write(uint8_t data)
logerror("phone %02x.%d %s\n", m_phone, m_inflection, s_phone_table[m_phone]);
m_ar_state = CLEAR_LINE;
+ m_ar_cb(m_ar_state);
// Schedule a commit/ar reset at roughly 0.1ms in the future (one
// phi1 transition followed by the rom extra state in practice),
diff --git a/src/devices/sound/y8950.cpp b/src/devices/sound/y8950.cpp
deleted file mode 100644
index 7b75cd12b1e..00000000000
--- a/src/devices/sound/y8950.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "y8950.h"
-
-
-DEFINE_DEVICE_TYPE(Y8950, y8950_device, "y8950", "Y8950 OPL MSX-Audio")
-
-
-//*********************************************************
-// Y8950 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// y8950_device - constructor
-//-------------------------------------------------
-
-y8950_device::y8950_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- device_rom_interface(mconfig, *this),
- m_address(0),
- m_io_ddr(0),
- m_stream(nullptr),
- m_fm(*this),
- m_adpcm_b(*this, read8sm_delegate(*this, FUNC(y8950_device::adpcm_b_read)), write8sm_delegate(*this, FUNC(y8950_device::adpcm_b_write))),
- m_keyboard_read_handler(*this),
- m_keyboard_write_handler(*this),
- m_io_read_handler(*this),
- m_io_write_handler(*this)
-{
-}
-
-
-//-------------------------------------------------
-// status_r - return the status port (A0=0)
-//-------------------------------------------------
-
-u8 y8950_device::status_r()
-{
- m_stream->update();
- return combine_status();
-}
-
-
-//-------------------------------------------------
-// data_r - return specific register data (A0=1)
-//-------------------------------------------------
-
-u8 y8950_device::data_r()
-{
- u8 result = 0xff;
- switch (m_address)
- {
- case 0x05: // keyboard in
- result = m_keyboard_read_handler(0);
- break;
-
- case 0x09: // ADPCM data
- case 0x1a:
- result = m_adpcm_b.read(m_address - 0x07);
- break;
-
- case 0x19: // I/O data
- result = m_io_read_handler(0);
- break;
-
- default:
- logerror("Unexpected read from Y8950 data port %02X\n", m_address);
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 y8950_device::read(offs_t offset)
-{
- // A0 selects between status/data
- return ((offset & 1) == 0) ? status_r() : data_r();
-}
-
-
-//-------------------------------------------------
-// address_w - write to the address port (A0=0)
-//-------------------------------------------------
-
-void y8950_device::address_w(u8 value)
-{
- m_address = value;
-}
-
-
-//-------------------------------------------------
-// data_w - write to the data port (A0=1)
-//-------------------------------------------------
-
-void y8950_device::data_w(u8 value)
-{
- // force an update
- m_stream->update();
-
- // handle special addresses
- switch (m_address)
- {
- case 0x04: // IRQ control
- m_fm.write(m_address, value);
- combine_status();
- break;
-
- case 0x06: // keyboard out
- m_keyboard_write_handler(0, value);
- break;
-
- case 0x08: // split FM/ADPCM-B
- m_adpcm_b.write(m_address - 0x07, (value & 0x0f) | 0x80);
- m_fm.write(m_address, value & 0xc0);
- break;
-
- case 0x07: // ADPCM-B registers
- case 0x09:
- case 0x0a:
- case 0x0b:
- case 0x0c:
- case 0x0d:
- case 0x0e:
- case 0x0f:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x15:
- case 0x16:
- case 0x17:
- m_adpcm_b.write(m_address - 0x07, value);
- break;
-
- case 0x18: // I/O direction
- m_io_ddr = value & 0x0f;
- break;
-
- case 0x19: // I/O data
- m_io_write_handler(0, value & m_io_ddr);
- break;
-
- default: // everything else to FM
- m_fm.write(m_address, value);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void y8950_device::write(offs_t offset, u8 value)
-{
- // A0 selects between address/data
- if ((offset & 1) == 0)
- address_w(value);
- else
- data_w(value);
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void y8950_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // resolve callbacks
- m_keyboard_read_handler.resolve_safe(0);
- m_keyboard_write_handler.resolve_safe();
- m_io_read_handler.resolve_safe(0);
- m_io_write_handler.resolve_safe();
-
- // save our data
- save_item(YMFM_NAME(m_address));
- save_item(YMFM_NAME(m_io_ddr));
-
- // save the engines
- m_fm.save(*this);
- m_adpcm_b.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void y8950_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
- m_adpcm_b.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void y8950_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// rom_bank_updated - refresh the stream if the
-// ROM banking changes
-//-------------------------------------------------
-
-void y8950_device::rom_bank_updated()
-{
- m_stream->update();
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void y8950_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // clock the ADPCM-B engine every cycle
- m_adpcm_b.clock(0x01);
-
- // update the FM content; clipping is unknown
- s32 sums[std::max<int>(fm_engine::OUTPUTS, ymadpcm_b_engine::OUTPUTS)] = { 0 };
- m_fm.output(sums, 1, 32767, fm_engine::ALL_CHANNELS);
-
- // mix in the ADPCM; ADPCM-B is stereo, but only one channel
- // not sure how it's wired up internally
- m_adpcm_b.output(sums, 3, 0x01);
-
- // convert to 10.3 floating point value for the DAC and back
- // Y8950 is mono
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, ymfm_roundtrip_fp(sums[index]), 32768);
- }
-
- // update the status in case of ADPCM EOS
- combine_status();
-}
-
-
-//-------------------------------------------------
-// combine_status - combine status flags from
-// OPN and ADPCM-B, masking out any indicated by
-// the flag control register
-//-------------------------------------------------
-
-u8 y8950_device::combine_status()
-{
- // start with current FM status, masking out bits we might set
- u8 status = m_fm.status() & ~(STATUS_ADPCM_B_EOS | STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_PLAYING);
-
- // insert the live ADPCM status bits
- u8 adpcm_status = m_adpcm_b.status();
- if ((adpcm_status & ymadpcm_b_channel::STATUS_EOS) != 0)
- status |= STATUS_ADPCM_B_EOS;
- if ((adpcm_status & ymadpcm_b_channel::STATUS_BRDY) != 0)
- status |= STATUS_ADPCM_B_BRDY;
- if ((adpcm_status & ymadpcm_b_channel::STATUS_PLAYING) != 0)
- status |= STATUS_ADPCM_B_PLAYING;
-
- // run it through the FM engine to handle interrupts for us
- return m_fm.set_reset_status(status, ~status);
-}
-
-
-//-------------------------------------------------
-// adpcm_b_read - callback to read data for the
-// ADPCM-B engine; in this case, from our default
-// address space
-//-------------------------------------------------
-
-u8 y8950_device::adpcm_b_read(offs_t offset)
-{
- return read_byte(offset);
-}
-
-
-//-------------------------------------------------
-// adpcm_b_write - callback to write data to the
-// ADPCM-B engine; in this case, to our default
-// address space
-//-------------------------------------------------
-
-void y8950_device::adpcm_b_write(offs_t offset, u8 data)
-{
- space().write_byte(offset, data);
-}
diff --git a/src/devices/sound/y8950.h b/src/devices/sound/y8950.h
deleted file mode 100644
index 6ded01b31c2..00000000000
--- a/src/devices/sound/y8950.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_Y8950_H
-#define MAME_SOUND_Y8950_H
-
-#pragma once
-
-#include "ymfm.h"
-#include "ymadpcm.h"
-
-
-// ======================> y8950_device
-
-DECLARE_DEVICE_TYPE(Y8950, y8950_device);
-
-class y8950_device : public device_t, public device_sound_interface, public device_rom_interface<21>
-{
-public:
- // YM2151 is OPL
- using fm_engine = ymopl_engine;
-
- static constexpr u8 STATUS_ADPCM_B_PLAYING = 0x01;
- static constexpr u8 STATUS_ADPCM_B_BRDY = 0x08;
- static constexpr u8 STATUS_ADPCM_B_EOS = 0x10;
- static constexpr u8 ALL_IRQS = STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_EOS | fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB;
-
- // constructor
- y8950_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = Y8950);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
- auto keyboard_read() { return m_keyboard_read_handler.bind(); }
- auto keyboard_write() { return m_keyboard_write_handler.bind(); }
- auto io_read() { return m_io_read_handler.bind(); }
- auto io_write() { return m_io_write_handler.bind(); }
-
- // read access
- u8 status_r(); // A0=0
- u8 data_r(); // A0=1
- u8 read(offs_t offset);
-
- // write access
- void address_w(u8 data); // A0=0
- void data_w(u8 data); // A0=1
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // ROM device overrides
- virtual void rom_bank_updated() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
-private:
- // combine ADPCM and OPN statuses
- u8 combine_status();
-
- // ADPCM read/write callbacks
- u8 adpcm_b_read(offs_t address);
- void adpcm_b_write(offs_t address, u8 data);
-
- // internal state
- u8 m_address; // address register
- u8 m_io_ddr; // data direction register for I/O
- sound_stream *m_stream; // sound stream
- fm_engine m_fm; // core FM engine
- ymadpcm_b_engine m_adpcm_b; // ADPCM-B engine
- devcb_read8 m_keyboard_read_handler; // keyboard port read
- devcb_write8 m_keyboard_write_handler; // keyboard port write
- devcb_read8 m_io_read_handler; // I/O port read
- devcb_write8 m_io_write_handler; // I/O port write
-};
-
-
-#endif // MAME_SOUND_Y8950_H
diff --git a/src/devices/sound/ym2151.cpp b/src/devices/sound/ym2151.cpp
deleted file mode 100644
index 4403bb13863..00000000000
--- a/src/devices/sound/ym2151.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2151.h"
-
-
-DEFINE_DEVICE_TYPE(YM2151, ym2151_device, "ym2151", "YM2151 OPM")
-DEFINE_DEVICE_TYPE(YM2164, ym2164_device, "ym2164", "YM2164 OPP")
-DEFINE_DEVICE_TYPE(YM2414, ym2414_device, "ym2414", "YM2414 OPZ")
-
-
-//*********************************************************
-// YM2151 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2151_device - constructor
-//-------------------------------------------------
-
-ym2151_device::ym2151_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_fm(*this),
- m_stream(nullptr),
- m_port_w(*this),
- m_busy_duration(m_fm.compute_busy_duration()),
- m_address(0),
- m_reset_state(1)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym2151_device::read(offs_t offset)
-{
- u8 result = 0xff;
- switch (offset & 1)
- {
- case 0: // data port (unused)
- logerror("Unexpected read from YM2151 offset %d\n", offset & 3);
- break;
-
- case 1: // status port, YM2203 compatible
- result = m_fm.status();
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2151_device::write(offs_t offset, u8 value)
-{
- // ignore writes when the reset is active (low)
- if (m_reset_state == 0)
- return;
-
- switch (offset & 1)
- {
- case 0: // address port
- m_address = value;
- break;
-
- case 1: // data port
-
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
-
- // special cases
- if (m_address == 0x01 && BIT(value, 1))
- {
- // writes to the test register can reset the LFO
- m_fm.reset_lfo();
- }
- else if (m_address == 0x1b)
- {
- // writes to register 0x1B send the upper 2 bits to the output lines
- m_port_w(0, value >> 6, 0xff);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// reset_w - write to the (active low) reset line
-//-------------------------------------------------
-
-WRITE_LINE_MEMBER(ym2151_device::reset_w)
-{
- // reset the device upon going low
- if (state == 0 && m_reset_state != 0)
- reset();
- m_reset_state = state;
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2151_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // resolve the write callback
- m_port_w.resolve_safe();
-
- // call this for the variants that need to adjust the rate
- device_clock_changed();
-
- // save our data
- save_item(YMFM_NAME(m_address));
- save_item(YMFM_NAME(m_reset_state));
-
- // save the engines
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2151_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2151_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
- m_busy_duration = m_fm.compute_busy_duration();
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2151_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; YM2151 is full 14-bit with no intermediate clipping
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 0, 32767, fm_engine::ALL_CHANNELS);
-
- // convert to 10.3 floating point value for the DAC and back
- // YM2151 is stereo
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, ymfm_roundtrip_fp(sums[index]), 32768);
- }
-}
-
-
-//*********************************************************
-// YM2164 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2164_device - constructor
-//-------------------------------------------------
-
-ym2164_device::ym2164_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2151_device(mconfig, tag, owner, clock, YM2164)
-{
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2164_device::write(offs_t offset, u8 value)
-{
- // ignore writes when the reset is active (low)
- if (m_reset_state == 0)
- return;
-
- switch (offset & 1)
- {
- case 0: // address port
- m_address = value;
- break;
-
- case 1: // data port
-
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
-
- // writes to register 0x1B send the upper 2 bits to the output lines
- if (m_address == 0x1b)
- m_port_w(0, value >> 6, 0xff);
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-
-//*********************************************************
-// YM2151 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2414_device - constructor
-//-------------------------------------------------
-
-ym2414_device::ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2151_device(mconfig, tag, owner, clock, YM2414)
-{
-}
diff --git a/src/devices/sound/ym2151.h b/src/devices/sound/ym2151.h
deleted file mode 100644
index d48a5939071..00000000000
--- a/src/devices/sound/ym2151.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2151_H
-#define MAME_SOUND_YM2151_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ym2151_device
-
-DECLARE_DEVICE_TYPE(YM2151, ym2151_device);
-
-class ym2151_device : public device_t, public device_sound_interface
-{
-public:
- // YM2151 is OPM
- using fm_engine = ymopm_engine;
-
- // constructor
- ym2151_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM2151);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
- auto port_write_handler() { return m_port_w.bind(); }
-
- // read/write access
- u8 read(offs_t offset);
- virtual void write(offs_t offset, u8 data);
-
- u8 status_r() { return read(1); }
- void register_w(u8 data) { write(0, data); }
- void data_w(u8 data) { write(1, data); }
-
- DECLARE_WRITE_LINE_MEMBER(reset_w);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal state
- fm_engine m_fm; // core FM engine
- sound_stream *m_stream; // sound stream
- devcb_write8 m_port_w; // port write handler
- attotime m_busy_duration; // precomputed busy signal duration
- u8 m_address; // address register
- u8 m_reset_state; // reset state
-};
-
-
-// ======================> ym2164_device
-
-DECLARE_DEVICE_TYPE(YM2164, ym2164_device);
-
-class ym2164_device : public ym2151_device
-{
-public:
- // constructor
- ym2164_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // read/write access
- virtual void write(offs_t offset, u8 data) override;
-};
-
-
-// ======================> ym2414_device
-
-DECLARE_DEVICE_TYPE(YM2414, ym2414_device);
-
-class ym2414_device : public ym2151_device
-{
-public:
- // constructor
- ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-};
-
-
-#endif // MAME_SOUND_YM2151_H
diff --git a/src/devices/sound/ym2154.cpp b/src/devices/sound/ym2154.cpp
new file mode 100644
index 00000000000..2ad1bbac1fa
--- /dev/null
+++ b/src/devices/sound/ym2154.cpp
@@ -0,0 +1,311 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#include "emu.h"
+#include "ym2154.h"
+
+
+//**************************************************************************
+// YM2154 DEVICE
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(YM2154, ym2154_device, "ym2154", "YM2154 (RYP4)")
+
+//-------------------------------------------------
+// ym2154_device - constructor
+//-------------------------------------------------
+
+ym2154_device::ym2154_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, YM2154, tag, owner, clock),
+ device_sound_interface(mconfig, *this),
+ device_memory_interface(mconfig, *this),
+ m_stream(nullptr),
+ m_timer(nullptr),
+ m_update_irq(*this),
+ m_io_read(*this),
+ m_io_write(*this),
+ m_group0_config("group0", ENDIANNESS_LITTLE, 8, 18, 0),
+ m_group1_config("group1", ENDIANNESS_LITTLE, 8, 18, 0),
+ m_group0_region(*this, "group0"),
+ m_group1_region(*this, "group1")
+{
+}
+
+
+//-------------------------------------------------
+// read - handle a device read
+//-------------------------------------------------
+
+u8 ym2154_device::read(offs_t offset)
+{
+ u8 result = 0xff;
+ switch (offset & 0x7f)
+ {
+ case 0x01: // A/D converter registers
+ case 0x02: // A/D converter registers
+ case 0x03: // A/D converter registers
+ case 0x04: // A/D converter registers
+ case 0x05: // A/D converter registers
+ case 0x06: // A/D converter registers
+ case 0x07: // A/D converter registers
+ case 0x08: // A/D converter registers
+ case 0x09: // A/D converter registers
+ case 0x0a: // A/D converter registers
+ result = m_io_read.isnull() ? 0 : m_io_read(offset - 1);
+ break;
+
+ case 0x0e: // IRQ ack
+ update_irq_state(0);
+ result = m_irq_count;
+ break;
+ }
+ return result;
+}
+
+
+//-------------------------------------------------
+// write - handle a device write
+//-------------------------------------------------
+
+void ym2154_device::write(offs_t offset, u8 data)
+{
+ m_stream->update();
+
+ u8 chan = BIT(offset, 0, 3);
+ u8 old;
+ switch (offset & 0x7f)
+ {
+ // timer count
+ case 0x02:
+ if (BIT(data, 7) != 0)
+ m_timer_count = (m_timer_count & 0x0f) | (BIT(data, 0, 7) << 4);
+ else
+ m_timer_count = (m_timer_count & 0x7f0) | BIT(data, 0, 4);
+ break;
+
+ // timer enable/output
+ case 0x03:
+ old = m_timer_enable;
+ m_timer_enable = BIT(data, 2);
+ if (!m_timer_enable)
+ m_timer->enable(false);
+ else if (m_timer_enable && !old)
+ m_timer->adjust((2048 - m_timer_count) * attotime::from_hz(sample_rate()));
+ if (!m_io_write.isnull())
+ m_io_write(0, BIT(data, 4, 4) ^ 0x0f);
+ break;
+
+ // output level
+ case 0x04:
+ m_total_level = BIT(data, 0, 6);
+ break;
+
+ // group 1 trigger
+ case 0x05:
+ for (int chan = 0; chan < 6; chan++)
+ if (BIT(data, chan))
+ m_channel[6 + chan].start();
+ break;
+
+ // group 0 trigger
+ case 0x06:
+ for (int chan = 0; chan < 6; chan++)
+ if (BIT(data, chan))
+ m_channel[0 + chan].start();
+ break;
+
+ // DAC mode (not implemented)
+ case 0x07:
+ break;
+
+ // pan
+ case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d:
+ m_channel[0 + chan].m_panpot = BIT(data, 0, 4);
+ m_channel[6 + chan].m_panpot = BIT(data, 4, 4);
+ break;
+
+ // rate/level, group 0
+ case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15:
+ m_channel[0 + chan].m_output_level = BIT(data, 0, 5);
+ m_channel[0 + chan].m_rate = BIT(data, 5, 2);
+ break;
+
+ // rate/level, group 1
+ case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d:
+ m_channel[6 + chan].m_output_level = BIT(data, 0, 5);
+ m_channel[6 + chan].m_rate = BIT(data, 5, 2);
+ break;
+
+ // sample position A, group 0
+ case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25:
+ m_channel[0 + chan].m_start = (m_channel[0 + chan].m_start & 0x0f) | (data << 4);
+ break;
+
+ // sample position B, group 0
+ case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d:
+ m_channel[0 + chan].m_start = (m_channel[0 + chan].m_start & 0xff0) | (data >> 4);
+ m_channel[0 + chan].m_end = (m_channel[0 + chan].m_end & 0xff) | ((data & 0xf) << 8);
+ break;
+
+ // sample position C, group 0
+ case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35:
+ m_channel[0 + chan].m_end = (m_channel[0 + chan].m_end & 0xf00) | data;
+ break;
+
+ // sample position A, group 1
+ case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x3d:
+ m_channel[6 + chan].m_start = (m_channel[6 + chan].m_start & 0x0f) | (data << 4);
+ break;
+
+ // sample position B, group 1
+ case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45:
+ m_channel[6 + chan].m_start = (m_channel[6 + chan].m_start & 0xff0) | (data >> 4);
+ m_channel[6 + chan].m_end = (m_channel[6 + chan].m_end & 0xff) | ((data & 0xf) << 8);
+ break;
+
+ // sample position C, group 1
+ case 0x48: case 0x49: case 0x4a: case 0x4b: case 0x4c: case 0x4d:
+ m_channel[6 + chan].m_end = (m_channel[6 + chan].m_end & 0xf00) | data;
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void ym2154_device::device_start()
+{
+ // allocate our timer
+ m_timer = timer_alloc(0);
+
+ // resolve the handlers
+ m_update_irq.resolve();
+ m_io_read.resolve();
+ m_io_write.resolve();
+
+ // allocate our stream
+ m_stream = stream_alloc(0, 2, sample_rate());
+
+ // now register the blob for save, on the assumption the size won't change
+ save_item(NAME(m_timer_count));
+ save_item(NAME(m_timer_enable));
+ save_item(NAME(m_irq_state));
+ save_item(NAME(m_irq_count));
+ save_item(NAME(m_total_level));
+ save_item(STRUCT_MEMBER(m_channel, m_pos));
+ save_item(STRUCT_MEMBER(m_channel, m_start));
+ save_item(STRUCT_MEMBER(m_channel, m_end));
+ save_item(STRUCT_MEMBER(m_channel, m_panpot));
+ save_item(STRUCT_MEMBER(m_channel, m_output_level));
+ save_item(STRUCT_MEMBER(m_channel, m_rate));
+
+ // automatically map memory regions if not configured externally
+ if (!has_configured_map(0) && !has_configured_map(1))
+ {
+ if (m_group0_region)
+ space(0).install_rom(0, m_group0_region->bytes() - 1, m_group0_region->base());
+
+ if (m_group1_region)
+ space(1).install_rom(0, m_group1_region->bytes() - 1, m_group1_region->base());
+ else if (m_group0_region)
+ space(1).install_rom(0, m_group0_region->bytes() - 1, m_group0_region->base());
+ }
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void ym2154_device::device_reset()
+{
+ for (int chan = 0; chan < 12; chan++)
+ m_channel[chan].m_pos = 0xfffffff;
+}
+
+
+//-------------------------------------------------
+// device_clock_changed - clock changed signal
+//-------------------------------------------------
+
+void ym2154_device::device_clock_changed()
+{
+ if (m_stream != nullptr)
+ m_stream->set_sample_rate(sample_rate());
+}
+
+
+//-------------------------------------------------
+// sound_stream_update - generate sound data
+//-------------------------------------------------
+
+void ym2154_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+{
+ update_irq_state(1);
+ m_timer->adjust((2048 - m_timer_count) * attotime::from_hz(sample_rate()));
+}
+
+
+//-------------------------------------------------
+// sound_stream_update - generate sound data
+//-------------------------------------------------
+
+void ym2154_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
+{
+ static const uint16_t voltable[8] = { 0x7fa,0x751,0x6b5,0x627,0x5a4,0x52c,0x4be,0x45a };
+
+ auto &outl = outputs[0];
+ auto &outr = outputs[1];
+
+ outl.fill(0);
+ outr.fill(0);
+
+ for (int chan = 0; chan < 12; chan++)
+ {
+ auto &channel = m_channel[chan];
+
+ // not sure how the "rate" really works but it's used to stop a sample from
+ // playing so just treat it as such
+ if (channel.m_rate == 3)
+ m_channel[chan].m_pos = 0xfffffff;
+
+ if ((channel.m_pos >> ADDR_SHIFT) <= channel.m_end && channel.m_panpot != 0)
+ {
+ uint32_t vol = (channel.m_output_level ^ 0x1f) + (m_total_level ^ 0x3f);
+
+ uint32_t lvol = vol;
+ if (channel.m_panpot > 8)
+ lvol += 4 * (channel.m_panpot - 8);
+ lvol = voltable[lvol & 7] >> (lvol >> 3);
+
+ uint32_t rvol = vol;
+ if (channel.m_panpot < 7)
+ rvol += 4 * (7 - channel.m_panpot);
+ rvol = voltable[rvol & 7] >> (rvol >> 3);
+
+ for (int sampindex = 0; sampindex < outl.samples() && (channel.m_pos >> ADDR_SHIFT) <= channel.m_end; sampindex++)
+ {
+ // unsure what the real data is; for now guessing 8-bit PCM but could
+ // be ADPCM-A or some other format
+ int8_t data = space(chan / 6).read_byte(channel.m_pos++);
+ outl.add_int(sampindex, data * lvol, 0x80 * 0x800);
+ outr.add_int(sampindex, data * rvol, 0x80 * 0x800);
+ }
+ }
+ }
+}
+
+
+//-------------------------------------------------
+// memory_space_config - return a description of
+// any address spaces owned by this device
+//-------------------------------------------------
+
+device_memory_interface::space_config_vector ym2154_device::memory_space_config() const
+{
+ return space_config_vector{
+ std::make_pair(0, &m_group0_config),
+ std::make_pair(1, &m_group1_config)
+ };
+}
diff --git a/src/devices/sound/ym2154.h b/src/devices/sound/ym2154.h
new file mode 100644
index 00000000000..58976f0177b
--- /dev/null
+++ b/src/devices/sound/ym2154.h
@@ -0,0 +1,99 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+#ifndef MAME_SOUND_YM2154_H
+#define MAME_SOUND_YM2154_H
+
+#pragma once
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+DECLARE_DEVICE_TYPE(YM2154, ym2154_device)
+
+// ======================> ym2154_device
+
+class ym2154_device : public device_t, public device_sound_interface, public device_memory_interface
+{
+ static constexpr uint8_t ADDR_SHIFT = 6;
+
+public:
+ // internal constructor
+ ym2154_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers
+ auto irq_handler() { return m_update_irq.bind(); }
+ auto io_read_handler() { return m_io_read.bind(); }
+ auto io_write_handler() { return m_io_write.bind(); }
+
+ // register reads
+ u8 read(offs_t offset);
+
+ // register writes
+ void write(offs_t offset, u8 data);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_clock_changed() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ // sound overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
+
+ // memory space configuration
+ virtual space_config_vector memory_space_config() const override;
+
+private:
+ struct channel
+ {
+ channel() :
+ m_pos(0xfffffff), m_start(0), m_end(0), m_panpot(0), m_output_level(0), m_rate(0) { }
+
+ void reset()
+ {
+ m_pos = 0;
+ m_start = m_end = 0;
+ m_panpot = 0;
+ m_output_level = 0;
+ m_rate = 0;
+ }
+
+ void start()
+ {
+ m_pos = m_start << ADDR_SHIFT;
+ }
+
+ uint32_t m_pos;
+ uint16_t m_start;
+ uint16_t m_end;
+ uint8_t m_panpot;
+ uint8_t m_output_level;
+ uint8_t m_rate;
+ };
+
+ // internal helpers
+ u32 sample_rate() const { return device_t::clock() / 18 / 6; }
+ void update_irq_state(u8 state) { if (m_irq_state != state) { m_irq_state = state; m_update_irq(state); } }
+
+ // internal state
+ sound_stream *m_stream; // sound stream
+ emu_timer *m_timer; // two timers
+ uint16_t m_timer_count; // current timer count
+ uint8_t m_timer_enable; // timer enable
+ uint8_t m_irq_state; // current IRQ state
+ uint8_t m_irq_count; // current IRQ count
+ uint8_t m_total_level; // master volume
+ channel m_channel[12]; // output channels
+ devcb_write_line m_update_irq; // IRQ update callback
+ devcb_read8 m_io_read; // input port handler
+ devcb_write8 m_io_write; // output port handler
+ address_space_config const m_group0_config; // address space 0 config
+ address_space_config const m_group1_config; // address space 1 config
+ optional_memory_region m_group0_region; // group 0 memory region
+ optional_memory_region m_group1_region; // group 1 memory region
+};
+
+
+#endif // MAME_SOUND_YM2154_H
diff --git a/src/devices/sound/ym2203.cpp b/src/devices/sound/ym2203.cpp
deleted file mode 100644
index a29a47aeec7..00000000000
--- a/src/devices/sound/ym2203.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2203.h"
-
-
-DEFINE_DEVICE_TYPE(YM2203, ym2203_device, "ym2203", "YM2203 OPN")
-
-
-//*********************************************************
-// YM2203 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2203_device - constructor
-//-------------------------------------------------
-
-ym2203_device::ym2203_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ay8910_device(mconfig, YM2203, tag, owner, clock, PSG_TYPE_YM, 3, 2),
- m_fm(*this),
- m_stream(nullptr),
- m_busy_duration(m_fm.compute_busy_duration()),
- m_address(0)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym2203_device::read(offs_t offset)
-{
- u8 result = 0;
- switch (offset & 1)
- {
- case 0: // status port
- result = m_fm.status();
- break;
-
- case 1: // data port (only SSG)
- if (m_address < 0x10)
- result = ay8910_read_ym();
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2203_device::write(offs_t offset, u8 value)
-{
- switch (offset & 1)
- {
- case 0: // address port
- m_address = value;
- if (m_address < 0x10)
- {
- // write register to SSG
- ay8910_write_ym(0, m_address);
- }
- else if (m_address >= 0x2d && m_address <= 0x2f)
- {
- // prescaler select : 2d,2e,2f
- if (m_address == 0x2d)
- update_prescale(6);
- else if (m_address == 0x2e && m_fm.clock_prescale() == 6)
- update_prescale(3);
- else if (m_address == 0x2f)
- update_prescale(2);
- }
- break;
-
- case 1: // data port
- if (m_address < 0x10)
- {
- // write to SSG
- ay8910_write_ym(1, value);
- }
- else
- {
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2203_device::device_start()
-{
- // start the SSG device
- ay8910_device::device_start();
-
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
-
- // save the FM engine
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2203_device::device_reset()
-{
- // reset the SSG device
- ay8910_device::device_reset();
-
- // reset the FM engine
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2203_device::device_clock_changed()
-{
- // refresh via prescale
- update_prescale(m_fm.clock_prescale());
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2203_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // if this is not our stream, pass it on
- if (&stream != m_stream)
- {
- ay8910_device::sound_stream_update(stream, inputs, outputs);
- return;
- }
-
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; YM2203 is full 14-bit with no intermediate clipping
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 0, 32767, fm_engine::ALL_CHANNELS);
-
- // convert to 10.3 floating point value for the DAC and back
- // YM2203 is mono
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, ymfm_roundtrip_fp(sums[index]), 32768);
- }
-}
-
-
-//-------------------------------------------------
-// update_prescale - set a new prescale value and
-// update clocks as needed
-//-------------------------------------------------
-
-void ym2203_device::update_prescale(u8 newval)
-{
- // inform the FM engine and refresh our clock rate
- m_fm.set_clock_prescale(newval);
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
- logerror("Prescale = %d; sample_rate = %d\n", newval, m_fm.sample_rate(clock()));
-
- // also scale the SSG streams
- // mapping is (FM->SSG): 6->4, 3->2, 2->1
- u8 ssg_scale = 2 * newval / 3;
- // QUESTION: where does the *2 come from??
- ay_set_clock(clock() * 2 / ssg_scale);
-
- // recompute the busy duration
- m_busy_duration = m_fm.compute_busy_duration();
-}
diff --git a/src/devices/sound/ym2203.h b/src/devices/sound/ym2203.h
deleted file mode 100644
index dbce4549340..00000000000
--- a/src/devices/sound/ym2203.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2203_H
-#define MAME_SOUND_YM2203_H
-
-#pragma once
-
-#include "ymfm.h"
-#include "ay8910.h"
-
-
-// ======================> ym2203_device
-
-DECLARE_DEVICE_TYPE(YM2203, ym2203_device);
-
-class ym2203_device : public ay8910_device
-{
-public:
- // YM2151 is OPN
- using fm_engine = ymopn_engine;
-
- // constructor
- ym2203_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
- // direct port access
- u8 status_port_r() { return read(0); }
- u8 read_port_r() { return read(1); }
- void control_port_w(u8 data) { write(0, data); }
- void write_port_w(u8 data) { write(1, data); }
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
-private:
- // set a new prescale value and update clocks
- void update_prescale(u8 newval);
-
- // internal state
- fm_engine m_fm; // core FM engine
- sound_stream *m_stream; // sound stream
- attotime m_busy_duration; // precomputed busy signal duration
- u8 m_address; // address register
-};
-
-#endif // MAME_SOUND_YM2203_H
diff --git a/src/devices/sound/ym2413.cpp b/src/devices/sound/ym2413.cpp
deleted file mode 100644
index e680b4a31ff..00000000000
--- a/src/devices/sound/ym2413.cpp
+++ /dev/null
@@ -1,253 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2413.h"
-
-
-DEFINE_DEVICE_TYPE(YM2413, ym2413_device, "ym2413", "YM2413 OPLL")
-DEFINE_DEVICE_TYPE(YM2423, ym2423_device, "ym2423", "YM2423 OPLL-X")
-DEFINE_DEVICE_TYPE(YMF281, ymf281_device, "ymf281", "YMF281 OPLLP")
-DEFINE_DEVICE_TYPE(DS1001, ds1001_device, "ds1001", "Yamaha DS1001 / Konami 053982")
-
-
-//*********************************************************
-// YM2413 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2413_device - constructor
-//-------------------------------------------------
-
-ym2413_device::ym2413_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, u8 const *instruments) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_address(0),
- m_stream(nullptr),
- m_internal(*this, "internal"),
- m_fm(*this)
-{
-}
-
-
-//-------------------------------------------------
-// address_w - write to the address port (A0=0)
-//-------------------------------------------------
-
-void ym2413_device::address_w(u8 value)
-{
- m_address = value;
-}
-
-
-//-------------------------------------------------
-// data_w - write to the data port (A0=1)
-//-------------------------------------------------
-
-void ym2413_device::data_w(u8 value)
-{
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2413_device::write(offs_t offset, u8 value)
-{
- // A0 selects between address/data
- if ((offset & 1) == 0)
- address_w(value);
- else
- data_w(value);
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2413_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
-
- // save the engines
- m_fm.save(*this);
-
- // set up the instrument data
- m_fm.set_instrument_data(m_internal);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2413_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2413_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// device_rom_region - return a pointer to our
-// ROM region
-//-------------------------------------------------
-
-ROM_START( ym2413 )
- ROM_REGION( 0x90, "internal", 0 )
- //
- // This is not the exact format
- //
- ROM_LOAD16_WORD( "ym2413_instruments.bin", 0x0000, 0x0090, CRC(6f582d01) SHA1(bb5537717e0b34849456b5ca7d405403dc3f8fda) )
-ROM_END
-
-const tiny_rom_entry *ym2413_device::device_rom_region() const
-{
- return ROM_NAME( ym2413 );
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2413_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM; YM3812 is 9-bit, unsure of clipping but guessing
- // it is similar to YM2612
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 5, 256, fm_engine::ALL_CHANNELS);
-
- // the YM3812 is time multiplexed; just simulate this by summing all the
- // channels and dividing down
- for (int outnum = 0; outnum < fm_engine::OUTPUTS; outnum++)
- outputs[outnum].put_int(sampindex, sums[outnum], 256*6*2);
- }
-}
-
-
-//*********************************************************
-// YM2423 DEVICE (OPLL-X)
-//*********************************************************
-
-//-------------------------------------------------
-// ym2423_device - constructor
-//-------------------------------------------------
-
-ym2423_device::ym2423_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2413_device(mconfig, tag, owner, clock, YM2423)
-{
-}
-
-
-//-------------------------------------------------
-// device_rom_region - return a pointer to our
-// ROM region
-//-------------------------------------------------
-
-ROM_START( ym2423 )
- ROM_REGION( 0x90, "internal", 0 )
- //
- // This is not the exact format
- //
- ROM_LOAD16_WORD( "ym2423_instruments.bin", 0x0000, 0x0090, CRC(cc51dd1b) SHA1(59c51918f02891d6a0e917f7ebc27e42f7eadd15) )
-ROM_END
-
-const tiny_rom_entry *ym2423_device::device_rom_region() const
-{
- return ROM_NAME( ym2423 );
-}
-
-
-//*********************************************************
-// YMF281 DEVICE (OPLLP)
-//*********************************************************
-
-//-------------------------------------------------
-// ymf281_device - constructor
-//-------------------------------------------------
-
-ymf281_device::ymf281_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2413_device(mconfig, tag, owner, clock, YMF281)
-{
-}
-
-
-//-------------------------------------------------
-// device_rom_region - return a pointer to our
-// ROM region
-//-------------------------------------------------
-
-ROM_START( ymf281 )
- ROM_REGION( 0x90, "internal", 0 )
- //
- // This is not the exact format
- //
- ROM_LOAD16_WORD( "ymf281_instruments.bin", 0x0000, 0x0090, CRC(1c68abba) SHA1(5242d7b9c677c48e156ba5753db1a73db627a1a9) )
-ROM_END
-
-const tiny_rom_entry *ymf281_device::device_rom_region() const
-{
- return ROM_NAME( ymf281 );
-}
-
-
-//*********************************************************
-// DS1001 DEVICE (Konami VRC7)
-//*********************************************************
-
-//-------------------------------------------------
-// ds1001_device - constructor
-//-------------------------------------------------
-
-ds1001_device::ds1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2413_device(mconfig, tag, owner, clock, DS1001)
-{
-}
-
-
-//-------------------------------------------------
-// device_rom_region - return a pointer to our
-// ROM region
-//-------------------------------------------------
-
-ROM_START( ds1001 )
- ROM_REGION( 0x90, "internal", 0 )
- //
- // This is not the exact format
- //
- ROM_LOAD16_WORD( "ds1001_instruments.bin", 0x0000, 0x0090, CRC(9d699efc) SHA1(7adf1d77bab12c50ebfa9921774f9aea1e74dd7b) )
-ROM_END
-
-const tiny_rom_entry *ds1001_device::device_rom_region() const
-{
- return ROM_NAME( ds1001 );
-}
diff --git a/src/devices/sound/ym2413.h b/src/devices/sound/ym2413.h
deleted file mode 100644
index dfa29f58197..00000000000
--- a/src/devices/sound/ym2413.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2413_H
-#define MAME_SOUND_YM2413_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ym2413_device
-
-DECLARE_DEVICE_TYPE(YM2413, ym2413_device);
-
-class ym2413_device : public device_t, public device_sound_interface
-{
-public:
- // YM2151 is OPLL
- using fm_engine = ymopll_engine;
-
- // constructor
- ym2413_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM2413, u8 const *instruments = nullptr);
-
- // no read access present
-
- // write access
- void address_w(u8 data); // A0=0
- void data_w(u8 data); // A0=1
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal state
- u8 m_address; // address register
- sound_stream *m_stream; // sound stream
- required_region_ptr<u8> m_internal; // internal memory region
- fm_engine m_fm; // core FM engine
-};
-
-
-// ======================> ym2423_device
-
-DECLARE_DEVICE_TYPE(YM2423, ym2423_device);
-
-class ym2423_device : public ym2413_device
-{
-public:
- // constructor
- ym2423_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-
-// ======================> ymf281_device
-
-DECLARE_DEVICE_TYPE(YMF281, ymf281_device);
-
-class ymf281_device : public ym2413_device
-{
-public:
- // constructor
- ymf281_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-
-// ======================> ds1001_device
-
-DECLARE_DEVICE_TYPE(DS1001, ds1001_device);
-
-class ds1001_device : public ym2413_device
-{
-public:
- // constructor
- ds1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-
-#endif // MAME_SOUND_YM2413_H
diff --git a/src/devices/sound/ym2608.cpp b/src/devices/sound/ym2608.cpp
deleted file mode 100644
index bd83dfb873c..00000000000
--- a/src/devices/sound/ym2608.cpp
+++ /dev/null
@@ -1,414 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2608.h"
-
-
-DEFINE_DEVICE_TYPE(YM2608, ym2608_device, "ym2608", "YM2608 OPNA")
-
-
-//*********************************************************
-// CONSTANTS
-//*********************************************************
-
-enum : u8
-{
- STATUS_ADPCM_B_EOS = 0x04,
- STATUS_ADPCM_B_BRDY = 0x08,
- STATUS_ADPCM_B_ZERO = 0x10,
- STATUS_ADPCM_B_PLAYING = 0x20
-};
-
-
-//*********************************************************
-// YM2608 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2608_device - constructor
-//-------------------------------------------------
-
-ym2608_device::ym2608_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ay8910_device(mconfig, YM2608, tag, owner, clock, PSG_TYPE_YM, 1, 2),
- device_rom_interface(mconfig, *this),
- m_internal(*this, "internal"),
- m_fm(*this),
- m_adpcm_a(*this, read8sm_delegate(*this, FUNC(ym2608_device::adpcm_a_read)), 0),
- m_adpcm_b(*this, read8sm_delegate(*this, FUNC(ym2608_device::adpcm_b_read)), write8sm_delegate(*this, FUNC(ym2608_device::adpcm_b_write))),
- m_stream(nullptr),
- m_busy_duration(m_fm.compute_busy_duration()),
- m_address(0),
- m_irq_enable(0x1f),
- m_flag_control(0x1c)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym2608_device::read(offs_t offset)
-{
- u8 result = 0;
- switch (offset & 3)
- {
- case 0: // status port, YM2203 compatible
- result = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB | fm_engine::STATUS_BUSY);
- break;
-
- case 1: // data port (only SSG)
- if (m_address < 0x10)
- result = ay8910_read_ym();
- else if (m_address == 0xff)
- result = 1; // ID code
- break;
-
- case 2: // status port, extended
- m_stream->update();
- result = combine_status();
- break;
-
- case 3: // ADPCM-B data
- if (m_address < 0x10)
- result = m_adpcm_b.read(m_address);
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2608_device::write(offs_t offset, u8 value)
-{
- switch (offset & 3)
- {
- case 0: // address port
- m_address = value;
- if (m_address < 0x10)
- {
- // write register to SSG emulator
- ay8910_write_ym(0, m_address);
- }
- else if (m_address >= 0x2d && m_address <= 0x2f)
- {
- // prescaler select : 2d,2e,2f
- if (m_address == 0x2d)
- update_prescale(6);
- else if (m_address == 0x2e && m_fm.clock_prescale() == 6)
- update_prescale(3);
- else if (m_address == 0x2f)
- update_prescale(2);
- }
- break;
-
- case 1: // data port
-
- // ignore if paired with upper address
- if (BIT(m_address, 8))
- break;
-
- if (m_address < 0x10)
- {
- // write to SSG
- ay8910_write_ym(1, value);
- }
- else if (m_address < 0x20)
- {
- // write to ADPCM-A
- m_stream->update();
- m_adpcm_a.write(m_address & 0x0f, value);
- }
- else if (m_address == 0x29)
- {
- // special IRQ mask register
- m_stream->update();
- m_irq_enable = value;
- m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x1f);
- }
- else
- {
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
-
- case 2: // upper address port
- m_address = 0x100 | value;
- break;
-
- case 3: // upper data port
-
- // ignore if paired with lower address
- if (!BIT(m_address, 8))
- break;
-
- if (m_address < 0x110)
- {
- // write to ADPCM-B
- m_stream->update();
- m_adpcm_b.write(m_address & 0x0f, value);
- }
- else if (m_address == 0x110)
- {
- // IRQ flag control
- m_stream->update();
- if (BIT(value, 7))
- m_fm.set_reset_status(0, 0xff);
- else
- {
- m_flag_control = value;
- m_fm.set_irq_mask(m_irq_enable & ~m_flag_control & 0x1f);
- }
- }
- else
- {
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2608_device::device_start()
-{
- // call our parent
- ay8910_device::device_start();
-
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
- save_item(YMFM_NAME(m_irq_enable));
- save_item(YMFM_NAME(m_flag_control));
-
- // save the engines
- m_fm.save(*this);
- m_adpcm_a.save(*this);
- m_adpcm_b.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2608_device::device_reset()
-{
- // call our parent
- ay8910_device::device_reset();
-
- // reset the engines
- m_fm.reset();
- m_adpcm_a.reset();
- m_adpcm_b.reset();
-
- // configure ADPCM percussion sounds
- m_adpcm_a.set_start_end(0, 0x0000, 0x01bf); // bass drum
- m_adpcm_a.set_start_end(1, 0x01c0, 0x043f); // snare drum
- m_adpcm_a.set_start_end(2, 0x0440, 0x1b7f); // top cymbal
- m_adpcm_a.set_start_end(3, 0x1b80, 0x1cff); // high hat
- m_adpcm_a.set_start_end(4, 0x1d00, 0x1f7f); // tom tom
- m_adpcm_a.set_start_end(5, 0x1f80, 0x1fff); // rim shot
-
- // initialize our special interrupt states
- m_irq_enable = 0x1f;
- m_flag_control = 0x1c;
- combine_status();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2608_device::device_clock_changed()
-{
- // refresh via prescale
- update_prescale(m_fm.clock_prescale());
-}
-
-
-//-------------------------------------------------
-// device_rom_region - return a pointer to our
-// ROM region
-//-------------------------------------------------
-
-ROM_START( ym2608 )
- ROM_REGION( 0x2000, "internal", 0 )
- //
- // While this rom was dumped by output analysis, not decap, it was tested
- // by playing it back into the chip as an external adpcm sample and produced
- // an identical dac result. a decap would be nice to verify things 100%,
- // but there is currently no reason to think this rom dump is incorrect.
- //
- // offset 0x0000: Source: 01BD.ROM Length: 448 / 0x000001C0
- // offset 0x01C0: Source: 02SD.ROM Length: 640 / 0x00000280
- // offset 0x0440: Source: 04TOP.ROM Length: 5952 / 0x00001740
- // offset 0x1B80: Source: 08HH.ROM Length: 384 / 0x00000180
- // offset 0x1D00: Source: 10TOM.ROM Length: 640 / 0x00000280
- // offset 0x1F80: Source: 20RIM.ROM Length: 128 / 0x00000080
- //
- ROM_LOAD16_WORD( "ym2608_adpcm_rom.bin", 0x0000, 0x2000, CRC(23c9e0d8) SHA1(50b6c3e288eaa12ad275d4f323267bb72b0445df) )
-ROM_END
-
-const tiny_rom_entry *ym2608_device::device_rom_region() const
-{
- return ROM_NAME( ym2608 );
-}
-
-
-//-------------------------------------------------
-// rom_bank_updated - refresh the stream if the
-// ROM banking changes
-//-------------------------------------------------
-
-void ym2608_device::rom_bank_updated()
-{
- m_stream->update();
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2608_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // if this is not our stream, pass it on
- if (&stream != m_stream)
- {
- ay8910_device::sound_stream_update(stream, inputs, outputs);
- return;
- }
-
- // top bit of the IRQ enable flags controls 3-channel vs 6-channel mode
- u8 fmmask = BIT(m_irq_enable, 7) ? 0x3f : 0x07;
-
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the FM
- u32 env_counter = m_fm.clock(fmmask);
-
- // clock the ADPCM-A engine on every envelope cycle
- // (channels 4 and 5 clock every 2 envelope clocks)
- if (BIT(env_counter, 0, 2) == 0)
- m_adpcm_a.clock(BIT(env_counter, 2) ? 0x0f : 0x3f);
-
- // clock the ADPCM-B engine every cycle
- m_adpcm_b.clock(0x01);
-
- // update the FM content; YM2608 is 13-bit with no intermediate clipping
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 1, 32767, fmmask);
-
- // mix in the ADPCM
- m_adpcm_a.output(sums, 0x3f);
- m_adpcm_b.output(sums, 2, 0x01);
-
- // YM2608 is stereo
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int_clamp(sampindex, sums[index], 32768);
- }
-}
-
-
-//-------------------------------------------------
-// update_prescale - set a new prescale value and
-// update clocks as needed
-//-------------------------------------------------
-
-void ym2608_device::update_prescale(u8 newval)
-{
- // inform the FM engine and refresh our clock rate
- m_fm.set_clock_prescale(newval);
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
- logerror("Prescale = %d; sample_rate = %d\n", newval, m_fm.sample_rate(clock()));
-
- // also scale the SSG streams
- // mapping is (FM->SSG): 6->4, 3->2, 2->1
- u8 ssg_scale = 2 * newval / 3;
- // QUESTION: where does the *2 come from??
- ay_set_clock(clock() / ssg_scale);
-
- // recompute the busy duration
- m_busy_duration = m_fm.compute_busy_duration();
-}
-
-
-//-------------------------------------------------
-// combine_status - combine status flags from
-// FM and ADPCM-B, masking out any indicated by
-// the flag control register
-//-------------------------------------------------
-
-u8 ym2608_device::combine_status()
-{
- u8 status = m_fm.status() & ~(STATUS_ADPCM_B_EOS | STATUS_ADPCM_B_BRDY | STATUS_ADPCM_B_PLAYING);
- u8 adpcm_status = m_adpcm_b.status();
- if ((adpcm_status & ymadpcm_b_channel::STATUS_EOS) != 0)
- status |= STATUS_ADPCM_B_EOS;
- if ((adpcm_status & ymadpcm_b_channel::STATUS_BRDY) != 0)
- status |= STATUS_ADPCM_B_BRDY;
- if ((adpcm_status & ymadpcm_b_channel::STATUS_PLAYING) != 0)
- status |= STATUS_ADPCM_B_PLAYING;
- status &= ~(m_flag_control & 0x1f);
- m_fm.set_reset_status(status, ~status);
- return status;
-}
-
-
-//-------------------------------------------------
-// adpcm_a_read - callback to read data for the
-// ADPCM-A engine; in this case, from the internal
-// ROM containing drum samples
-//-------------------------------------------------
-
-u8 ym2608_device::adpcm_a_read(offs_t offset)
-{
- return m_internal->as_u8(offset % m_internal->bytes());
-}
-
-
-//-------------------------------------------------
-// adpcm_b_read - callback to read data for the
-// ADPCM-B engine; in this case, from our default
-// address space
-//-------------------------------------------------
-
-u8 ym2608_device::adpcm_b_read(offs_t offset)
-{
- return space(0).read_byte(offset);
-}
-
-
-//-------------------------------------------------
-// adpcm_b_write - callback to write data to the
-// ADPCM-B engine; in this case, to our default
-// address space
-//-------------------------------------------------
-
-void ym2608_device::adpcm_b_write(offs_t offset, u8 data)
-{
- space(0).write_byte(offset, data);
-}
diff --git a/src/devices/sound/ym2608.h b/src/devices/sound/ym2608.h
deleted file mode 100644
index 465b3ba1659..00000000000
--- a/src/devices/sound/ym2608.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2608_H
-#define MAME_SOUND_YM2608_H
-
-#pragma once
-
-#include "ymfm.h"
-#include "ymadpcm.h"
-#include "ay8910.h"
-
-
-// ======================> ym2608_device
-
-DECLARE_DEVICE_TYPE(YM2608, ym2608_device);
-
-class ym2608_device : public ay8910_device, public device_rom_interface<21>
-{
-public:
- // YM2608 is OPNA
- using fm_engine = ymopna_engine;
-
- // constructor
- ym2608_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- // ROM device overrides
- virtual void rom_bank_updated() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
-private:
- // set a new prescale value and update clocks
- void update_prescale(u8 newval);
-
- // combine ADPCM and FM statuses
- u8 combine_status();
-
- // ADPCM read/write callbacks
- u8 adpcm_a_read(offs_t address);
- u8 adpcm_b_read(offs_t address);
- void adpcm_b_write(offs_t address, u8 data);
-
- // internal state
- required_memory_region m_internal; // internal memory region
- fm_engine m_fm; // core FM engine
- ymadpcm_a_engine m_adpcm_a; // ADPCM-A engine
- ymadpcm_b_engine m_adpcm_b; // ADPCM-B engine
- sound_stream *m_stream; // sound stream
- attotime m_busy_duration; // precomputed busy signal duration
- u16 m_address; // address register
- u8 m_irq_enable; // IRQ enable register
- u8 m_flag_control; // flag control register
-};
-
-#endif // MAME_SOUND_YM2608_H
diff --git a/src/devices/sound/ym2610.cpp b/src/devices/sound/ym2610.cpp
deleted file mode 100644
index d3a1210c232..00000000000
--- a/src/devices/sound/ym2610.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2610.h"
-
-
-DEFINE_DEVICE_TYPE(YM2610, ym2610_device, "ym2610", "YM2610 OPNB")
-DEFINE_DEVICE_TYPE(YM2610B, ym2610b_device, "ym2610b", "YM2610B OPNB2")
-
-
-//*********************************************************
-// YM2610/YM2610B DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2610_device - constructor
-//-------------------------------------------------
-
-ym2610_device::ym2610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, u8 fm_mask) :
- ay8910_device(mconfig, type, tag, owner, clock, PSG_TYPE_YM, 1, 0),
- device_memory_interface(mconfig, *this),
- m_adpcm_a_config("adpcm-a", ENDIANNESS_LITTLE, 8, 24, 0),
- m_adpcm_b_config("adpcm-b", ENDIANNESS_LITTLE, 8, 24, 0),
- m_adpcm_a_region(*this, "adpcma"),
- m_adpcm_b_region(*this, "adpcmb"),
- m_fm(*this),
- m_adpcm_a(*this, read8sm_delegate(*this, FUNC(ym2610_device::adpcm_a_read)), 8),
- m_adpcm_b(*this, read8sm_delegate(*this, FUNC(ym2610_device::adpcm_b_read)), write8sm_delegate(*this), 8),
- m_stream(nullptr),
- m_busy_duration(m_fm.compute_busy_duration()),
- m_address(0),
- m_fm_mask(fm_mask),
- m_eos_status(0x00),
- m_flag_mask(0xbf)
-{
-}
-
-
-//-------------------------------------------------
-// ym2610b_device - constructor
-//-------------------------------------------------
-
-ym2610b_device::ym2610b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2610_device(mconfig, tag, owner, clock, YM2610B, 0x3f)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym2610_device::read(offs_t offset)
-{
- u8 result = 0;
- switch (offset & 3)
- {
- case 0: // status port, YM2203 compatible
- result = m_fm.status() & (fm_engine::STATUS_TIMERA | fm_engine::STATUS_TIMERB | fm_engine::STATUS_BUSY);
- break;
-
- case 1: // data port (only SSG)
- if (m_address < 0x10)
- result = ay8910_read_ym();
- else if (m_address == 0xff)
- result = 1; // ID code
- break;
-
- case 2: // status port, extended
- m_stream->update();
- result = m_eos_status & m_flag_mask;
- break;
-
- case 3: // ADPCM-B data
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2610_device::write(offs_t offset, u8 value)
-{
- switch (offset & 3)
- {
- case 0: // address port
- m_address = value;
-
- // write register to SSG emulator
- if (m_address < 0x10)
- ay8910_write_ym(0, m_address);
- break;
-
- case 1: // data port
-
- // ignore if paired with upper address
- if (BIT(m_address, 8))
- break;
-
- if (m_address < 0x10)
- {
- // write to SSG
- ay8910_write_ym(1, value);
- }
- else if (m_address < 0x1c)
- {
- // write to ADPCM-B
- m_stream->update();
- u8 address = m_address & 0x0f;
-
- // YM2610 effectively forces external mode on, and disables recording
- if (address == 0)
- value = (value | 0x20) & ~0x40;
- m_adpcm_b.write(address, value);
- }
- else if (m_address == 0x1c)
- {
- // EOS flag reset
- m_stream->update();
- m_flag_mask = ~value;
- m_eos_status &= ~value;
- }
- else
- {
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
-
- case 2: // upper address port
- m_address = 0x100 | value;
- break;
-
- case 3: // upper data port
-
- // ignore if paired with lower address
- if (!BIT(m_address, 8))
- break;
-
- if (m_address < 0x130)
- {
- // write to ADPCM-A
- m_stream->update();
- m_adpcm_a.write(m_address & 0x3f, value);
- }
- else
- {
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// memory_space_config - return a description of
-// any address spaces owned by this device
-//-------------------------------------------------
-
-device_memory_interface::space_config_vector ym2610_device::memory_space_config() const
-{
- return space_config_vector{
- std::make_pair(0, &m_adpcm_a_config),
- std::make_pair(1, &m_adpcm_b_config)
- };
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2610_device::device_start()
-{
- // call our parent
- ay8910_device::device_start();
-
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
- save_item(YMFM_NAME(m_eos_status));
- save_item(YMFM_NAME(m_flag_mask));
-
- // save the engines
- m_fm.save(*this);
- m_adpcm_a.save(*this);
- m_adpcm_b.save(*this);
-
- // automatically map memory regions if not configured externally
- if (!has_configured_map(0) && !has_configured_map(1))
- {
- if (m_adpcm_a_region)
- space(0).install_rom(0, m_adpcm_a_region->bytes() - 1, m_adpcm_a_region->base());
-
- if (m_adpcm_b_region)
- space(1).install_rom(0, m_adpcm_b_region->bytes() - 1, m_adpcm_b_region->base());
- else if (m_adpcm_a_region)
- space(1).install_rom(0, m_adpcm_a_region->bytes() - 1, m_adpcm_a_region->base());
- }
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2610_device::device_reset()
-{
- // call our parent
- ay8910_device::device_reset();
-
- // reset the engines
- m_fm.reset();
- m_adpcm_a.reset();
- m_adpcm_b.reset();
-
- // initialize our special interrupt states
- m_eos_status = 0x00;
- m_flag_mask = 0xbf;
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2610_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
- ay_set_clock(clock() / 4);
-
- // recompute the busy duration
- m_busy_duration = m_fm.compute_busy_duration();
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2610_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // if this is not our stream, pass it on
- if (&stream != m_stream)
- {
- ay8910_device::sound_stream_update(stream, inputs, outputs);
- return;
- }
-
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the FM
- u32 env_counter = m_fm.clock(m_fm_mask);
-
- // clock the ADPCM-A engine on every envelope cycle
- if (BIT(env_counter, 0, 2) == 0)
- m_eos_status |= m_adpcm_a.clock(0x3f);
-
- // clock the ADPCM-B engine every cycle
- m_adpcm_b.clock(0x01);
- if ((m_adpcm_b.status() & ymadpcm_b_channel::STATUS_EOS) != 0)
- m_eos_status |= 0x80;
-
- // update the FM content; YM2610 is 13-bit with no intermediate clipping
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 1, 32767, m_fm_mask);
-
- // mix in the ADPCM
- m_adpcm_a.output(sums, 0x3f);
- m_adpcm_b.output(sums, 2, 0x01);
-
- // YM2608 is stereo
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int_clamp(sampindex, sums[index], 32768);
- }
-}
-
-
-//-------------------------------------------------
-// adpcm_a_read - callback to read data for the
-// ADPCM-A engine; in this case, from address
-// space 0
-//-------------------------------------------------
-
-u8 ym2610_device::adpcm_a_read(offs_t offset)
-{
- return space(0).read_byte(offset);
-}
-
-
-//-------------------------------------------------
-// adpcm_b_read - callback to read data for the
-// ADPCM-B engine; in this case, from address
-// space 1
-//-------------------------------------------------
-
-u8 ym2610_device::adpcm_b_read(offs_t offset)
-{
- return space(1).read_byte(offset);
-}
diff --git a/src/devices/sound/ym2610.h b/src/devices/sound/ym2610.h
deleted file mode 100644
index 58f0d9528df..00000000000
--- a/src/devices/sound/ym2610.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2610_H
-#define MAME_SOUND_YM2610_H
-
-#pragma once
-
-#include "ymfm.h"
-#include "ymadpcm.h"
-#include "ay8910.h"
-
-
-// ======================> ym2610_device
-
-DECLARE_DEVICE_TYPE(YM2610, ym2610_device);
-
-class ym2610_device : public ay8910_device, public device_memory_interface
-{
-public:
- // YM2610 is OPNA
- using fm_engine = ymopna_engine;
-
- // constructor
- ym2610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM2610, u8 fm_mask = 0x36);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // memory space configuration
- virtual space_config_vector memory_space_config() const override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
-private:
- // ADPCM read/write callbacks
- u8 adpcm_a_read(offs_t address);
- u8 adpcm_b_read(offs_t address);
-
- // internal state
- address_space_config const m_adpcm_a_config; // address space 0 config (ADPCM-A)
- address_space_config const m_adpcm_b_config; // address space 1 config (ADPCM-B)
- optional_memory_region m_adpcm_a_region; // ADPCM-A memory region
- optional_memory_region m_adpcm_b_region; // ADPCM-B memory region
- fm_engine m_fm; // core FM engine
- ymadpcm_a_engine m_adpcm_a; // ADPCM-A engine
- ymadpcm_b_engine m_adpcm_b; // ADPCM-B engine
- sound_stream *m_stream; // sound stream
- attotime m_busy_duration; // precomputed busy signal duration
- u16 m_address; // address register
- u8 const m_fm_mask; // FM channel mask
- u8 m_eos_status; // end-of-sample signals
- u8 m_flag_mask; // flag mask control
-};
-
-
-// ======================> ym2610b_device
-
-DECLARE_DEVICE_TYPE(YM2610B, ym2610b_device);
-
-class ym2610b_device : public ym2610_device
-{
-public:
- // constructor
- ym2610b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-};
-
-
-#endif // MAME_SOUND_YM2610_H
diff --git a/src/devices/sound/ym2612.cpp b/src/devices/sound/ym2612.cpp
deleted file mode 100644
index 231ea7d49f8..00000000000
--- a/src/devices/sound/ym2612.cpp
+++ /dev/null
@@ -1,349 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym2612.h"
-
-
-// the YM2612/YM3438 just timeslice the output among all channels
-// instead of summing them; turn this on to simulate (may create
-// audible issues)
-#define MULTIPLEX_OUTPUT (0)
-
-
-DEFINE_DEVICE_TYPE(YM2612, ym2612_device, "ym2612", "YM2612 OPN2")
-DEFINE_DEVICE_TYPE(YM3438, ym3438_device, "ym3438", "YM3438 OPN2C")
-DEFINE_DEVICE_TYPE(YMF276, ymf276_device, "ymf276", "YMF276 OPN2L")
-
-
-//*********************************************************
-// YM2612 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym2612_device - constructor
-//-------------------------------------------------
-
-ym2612_device::ym2612_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_fm(*this),
- m_stream(nullptr),
- m_busy_duration(m_fm.compute_busy_duration()),
- m_address(0),
- m_dac_data(0),
- m_dac_enable(0),
- m_channel(0)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym2612_device::read(offs_t offset)
-{
- u8 result = 0;
- switch (offset & 3)
- {
- case 0: // status port, YM2203 compatible
- result = m_fm.status();
- break;
-
- case 1: // data port (unused)
- case 2: // status port, extended
- case 3: // data port (unused)
- logerror("Unexpected read from YM2612 offset %d\n", offset & 3);
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym2612_device::write(offs_t offset, u8 value)
-{
- switch (offset & 3)
- {
- case 0: // address port
- m_address = value;
- break;
-
- case 1: // data port
-
- // ignore if paired with upper address
- if (BIT(m_address, 8))
- break;
-
- // force an update
- m_stream->update();
-
- if (m_address == 0x2a)
- {
- // DAC data
- m_dac_data = (m_dac_data & ~0x1fe) | ((value ^ 0x80) << 1);
- }
- else if (m_address == 0x2b)
- {
- // DAC enable
- m_dac_enable = BIT(value, 7);
- }
- else if (m_address == 0x2c)
- {
- // test/low DAC bit
- m_dac_data = (m_dac_data & ~1) | BIT(value, 3);
- }
- else
- {
- // write to FM
- m_fm.write(m_address, value);
- }
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
-
- case 2: // upper address port
- m_address = 0x100 | value;
- break;
-
- case 3: // upper data port
-
- // ignore if paired with lower address
- if (!BIT(m_address, 8))
- break;
-
- // write to FM
- m_stream->update();
- m_fm.write(m_address, value);
-
- // mark busy for a bit
- m_fm.set_busy_end(machine().time() + m_busy_duration);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym2612_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // call this for the variants that need to adjust the rate
- device_clock_changed();
-
- // save our data
- save_item(YMFM_NAME(m_address));
- save_item(YMFM_NAME(m_dac_data));
- save_item(YMFM_NAME(m_dac_enable));
- save_item(YMFM_NAME(m_channel));
-
- // save the engines
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym2612_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-
- // reset our internal state
- m_dac_enable = 0;
- m_channel = 0;
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym2612_device::device_clock_changed()
-{
- u32 const sample_divider = MULTIPLEX_OUTPUT ? fm_engine::CHANNELS : 1;
- m_stream->set_sample_rate(m_fm.sample_rate(clock()) * sample_divider);
-
- // recompute the busy duration
- m_busy_duration = m_fm.compute_busy_duration();
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym2612_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- sound_stream_update_common(outputs[0], outputs[1], true);
-}
-
-
-//-------------------------------------------------
-// sound_stream_update_common - shared stream
-// update function among subclasses
-//-------------------------------------------------
-
-void ym2612_device::sound_stream_update_common(write_stream_view &outl, write_stream_view &outr, bool discontinuity)
-{
- u32 const sample_divider = (discontinuity ? 260 : 256) * (MULTIPLEX_OUTPUT ? 1 : fm_engine::CHANNELS);
-
- // iterate over all target samples
- s32 sums[2] = { 0 };
- for (int sampindex = 0; sampindex < outl.samples(); )
- {
- // clock the FM when we hit channel 0
- if (m_channel == 0)
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the current FM channel; YM2612 is 9-bit with intermediate clipping
- s32 outputs[2] = { 0 };
- if (m_channel != 5 || !m_dac_enable)
- m_fm.output(outputs, 5, 256, 1 << m_channel);
- else
- outputs[0] = outputs[1] = s16(m_dac_data << 7) >> 7;
-
- // hiccup in the internal YM2612 DAC means that there is a rather large
- // step between 0 and -1 (close to 6x the normal step); the approximation
- // below gives a reasonable estimation of this discontinuity, which was
- // fixed in the YM3438
- if (discontinuity)
- {
- if (outputs[0] < 0)
- outputs[0] -= 2;
- else
- outputs[0] += 3;
- if (outputs[1] < 0)
- outputs[1] -= 2;
- else
- outputs[1] += 3;
- }
-
- // if multiplexing, just scale to 16 bits and output
- if (MULTIPLEX_OUTPUT)
- {
- outl.put_int(sampindex, outputs[0], sample_divider);
- outr.put_int(sampindex, outputs[1], sample_divider);
- sampindex++;
- }
-
- // if not, accumulate the sums
- else
- {
- sums[0] += outputs[0];
- sums[1] += outputs[1];
-
- // on the last channel, output the average and reset the sums
- if (m_channel == 5)
- {
- outl.put_int(sampindex, sums[0], sample_divider);
- outr.put_int(sampindex, sums[1], sample_divider);
- sampindex++;
- sums[0] = sums[1] = 0;
- }
- }
-
- // advance to the next channel
- m_channel++;
- if (m_channel >= 6)
- m_channel = 0;
- }
-}
-
-
-
-//*********************************************************
-// YM3438 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym3438_device - constructor
-//-------------------------------------------------
-
-ym3438_device::ym3438_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2612_device(mconfig, tag, owner, clock, YM3438)
-{
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym3438_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- sound_stream_update_common(outputs[0], outputs[1], false);
-}
-
-
-
-//*********************************************************
-// YMF276 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ymf276_device - constructor
-//-------------------------------------------------
-
-ymf276_device::ymf276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ym2612_device(mconfig, tag, owner, clock, YMF276)
-{
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ymf276_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ymf276_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // mask off channel 6 if DAC is enabled
- u8 const fm_mask = m_dac_enable ? 0x1f : 0x3f;
-
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the FM
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; YMF276 is 14-bit with intermediate clipping
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 0, 8191, fm_mask);
-
- // shifted down 1 bit after mixer
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- sums[index] >>= 1;
-
- // add in DAC if enabled
- if (m_dac_enable)
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- sums[index] += s16(m_dac_data << 7) >> 3;
-
- // YMF3438 is stereo
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int_clamp(sampindex, sums[0], 32768);
- }
-}
-
diff --git a/src/devices/sound/ym2612.h b/src/devices/sound/ym2612.h
deleted file mode 100644
index 658ddd275b7..00000000000
--- a/src/devices/sound/ym2612.h
+++ /dev/null
@@ -1,90 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM2612_H
-#define MAME_SOUND_YM2612_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ym2612_device
-
-DECLARE_DEVICE_TYPE(YM2612, ym2612_device);
-
-class ym2612_device : public device_t, public device_sound_interface
-{
-public:
- // YM2612 is OPNA
- using fm_engine = ymopna_engine;
-
- // constructor
- ym2612_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM2612);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal helpers
- void sound_stream_update_common(write_stream_view &outl, write_stream_view &outr, bool discontinuity);
-
- // internal state
- fm_engine m_fm; // core FM engine
- sound_stream *m_stream; // sound stream
- attotime m_busy_duration; // precomputed busy signal duration
- u16 m_address; // address register
- u16 m_dac_data; // 9-bit DAC data
- u8 m_dac_enable; // DAC enabled?
- u8 m_channel; // current multiplexed channel
-};
-
-
-// ======================> ym3438_device
-
-DECLARE_DEVICE_TYPE(YM3438, ym3438_device);
-
-class ym3438_device : public ym2612_device
-{
-public:
- // constructor
- ym3438_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-};
-
-
-// ======================> ymf276_device
-
-DECLARE_DEVICE_TYPE(YMF276, ymf276_device);
-
-class ymf276_device : public ym2612_device
-{
-public:
- // constructor
- ymf276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-};
-
-
-#endif // MAME_SOUND_YM2612_H
diff --git a/src/devices/sound/ym3526.cpp b/src/devices/sound/ym3526.cpp
deleted file mode 100644
index 76794058e1e..00000000000
--- a/src/devices/sound/ym3526.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym3526.h"
-
-
-DEFINE_DEVICE_TYPE(YM3526, ym3526_device, "ym3526", "YM3526 OPL")
-
-
-//*********************************************************
-// YM3526 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym3526_device - constructor
-//-------------------------------------------------
-
-ym3526_device::ym3526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_address(0),
- m_stream(nullptr),
- m_fm(*this)
-{
-}
-
-
-//-------------------------------------------------
-// status_r - return the status port (A0=0)
-//-------------------------------------------------
-
-u8 ym3526_device::status_r()
-{
- return m_fm.status() | 0x06;
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym3526_device::read(offs_t offset)
-{
- // datasheet says status only reads when A0=0
- if ((offset & 1) == 0)
- return status_r();
-
- // when A0=1 datasheet says "the data on the bus are not guaranteed"
- logerror("Unexpected read from YM3526 offset %d\n", offset & 1);
- return 0xff;
-}
-
-
-//-------------------------------------------------
-// address_w - write to the address port (A0=0)
-//-------------------------------------------------
-
-void ym3526_device::address_w(u8 value)
-{
- m_address = value;
-}
-
-
-//-------------------------------------------------
-// data_w - write to the data port (A0=1)
-//-------------------------------------------------
-
-void ym3526_device::data_w(u8 value)
-{
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym3526_device::write(offs_t offset, u8 value)
-{
- // A0 selects between address/data
- if ((offset & 1) == 0)
- address_w(value);
- else
- data_w(value);
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym3526_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
-
- // save the engines
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym3526_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym3526_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym3526_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; clipping is unknown
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 1, 32767, fm_engine::ALL_CHANNELS);
-
- // convert to 10.3 floating point value for the DAC and back
- // YM3526 is mono
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, ymfm_roundtrip_fp(sums[index]), 32768);
- }
-}
diff --git a/src/devices/sound/ym3526.h b/src/devices/sound/ym3526.h
deleted file mode 100644
index d07edb9a292..00000000000
--- a/src/devices/sound/ym3526.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM3526_H
-#define MAME_SOUND_YM3526_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ym3526_device
-
-DECLARE_DEVICE_TYPE(YM3526, ym3526_device);
-
-class ym3526_device : public device_t, public device_sound_interface
-{
-public:
- // YM3526 is OPL
- using fm_engine = ymopl_engine;
-
- // constructor
- ym3526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM3526);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read access
- u8 status_r(); // A0=0
- u8 read(offs_t offset);
-
- // write access
- void address_w(u8 data); // A0=0
- void data_w(u8 data); // A0=1
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal state
- u8 m_address; // address register
- sound_stream *m_stream; // sound stream
- fm_engine m_fm; // core FM engine
-};
-
-
-#endif // MAME_SOUND_YM3526_H
diff --git a/src/devices/sound/ym3812.cpp b/src/devices/sound/ym3812.cpp
deleted file mode 100644
index 07da3b73b3b..00000000000
--- a/src/devices/sound/ym3812.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ym3812.h"
-
-
-DEFINE_DEVICE_TYPE(YM3812, ym3812_device, "ym3812", "YM3812 OPL2")
-
-
-//*********************************************************
-// YM3812 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ym3812_device - constructor
-//-------------------------------------------------
-
-ym3812_device::ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_address(0),
- m_stream(nullptr),
- m_fm(*this)
-{
-}
-
-
-//-------------------------------------------------
-// status_r - return the status port (A0=0)
-//-------------------------------------------------
-
-u8 ym3812_device::status_r()
-{
- return m_fm.status() | 0x06;
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ym3812_device::read(offs_t offset)
-{
- // datasheet says status only reads when A0=0
- if ((offset & 1) == 0)
- return status_r();
- logerror("Unexpected read from YM3812 offset %d\n", offset & 1);
- return 0xff;
-}
-
-
-//-------------------------------------------------
-// address_w - write to the address port (A0=0)
-//-------------------------------------------------
-
-void ym3812_device::address_w(u8 value)
-{
- m_address = value;
-}
-
-
-//-------------------------------------------------
-// data_w - write to the data port (A0=1)
-//-------------------------------------------------
-
-void ym3812_device::data_w(u8 value)
-{
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ym3812_device::write(offs_t offset, u8 value)
-{
- // A0 selects between address/data
- if ((offset & 1) == 0)
- address_w(value);
- else
- data_w(value);
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ym3812_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
-
- // save the engines
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ym3812_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ym3812_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ym3812_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; clipping is unknown
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 1, 32767, fm_engine::ALL_CHANNELS);
-
- // convert to 10.3 floating point value for the DAC and back
- // YM3812 is mono
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, ymfm_roundtrip_fp(sums[index]), 32768);
- }
-}
diff --git a/src/devices/sound/ym3812.h b/src/devices/sound/ym3812.h
deleted file mode 100644
index 331fc776b33..00000000000
--- a/src/devices/sound/ym3812.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YM3812_H
-#define MAME_SOUND_YM3812_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ym3812_device
-
-DECLARE_DEVICE_TYPE(YM3812, ym3812_device);
-
-class ym3812_device : public device_t, public device_sound_interface
-{
-public:
- // YM3812 is OPL2
- using fm_engine = ymopl2_engine;
-
- // constructor
- ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YM3812);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read access
- u8 status_r(); // A0=0
- u8 read(offs_t offset);
-
- // write access
- void address_w(u8 data); // A0=0
- void data_w(u8 data); // A0=1
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal state
- u8 m_address; // address register
- sound_stream *m_stream; // sound stream
- fm_engine m_fm; // core FM engine
-};
-
-
-#endif // MAME_SOUND_YM3812_H
diff --git a/src/devices/sound/ymadpcm.h b/src/devices/sound/ymadpcm.h
deleted file mode 100644
index 36cefa07ed3..00000000000
--- a/src/devices/sound/ymadpcm.h
+++ /dev/null
@@ -1,371 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YMADPCM_H
-#define MAME_SOUND_YMADPCM_H
-
-#pragma once
-
-#include "dirom.h"
-
-// forward declarations
-class ymadpcm_a_engine;
-class ymadpcm_b_engine;
-
-
-// ======================> ymadpcm_a_registers
-
-//
-// ADPCM-A register map:
-//
-// System-wide registers:
-// 00 x------- Dump (disable=1) or keyon (0) control
-// --xxxxxx Mask of channels to dump or keyon
-// 01 --xxxxxx Total level
-// 02 xxxxxxxx Test register
-// 08-0D x------- Pan left
-// -x------ Pan right
-// ---xxxxx Instrument level
-// 10-15 xxxxxxxx Start address (low)
-// 18-1D xxxxxxxx Start address (high)
-// 20-25 xxxxxxxx End address (low)
-// 28-2D xxxxxxxx End address (high)
-//
-class ymadpcm_a_registers
-{
-public:
- // constants
- static constexpr u32 OUTPUTS = 2;
- static constexpr u32 CHANNELS = 6;
- static constexpr u32 REGISTERS = 0x30;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
-
- // constructor
- ymadpcm_a_registers() { }
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // map channel number to register offset
- static constexpr u32 channel_offset(u32 chnum)
- {
- assert(chnum < CHANNELS);
- return chnum;
- }
-
- // direct read/write access
- void write(u32 index, u8 data) { m_regdata[index] = data; }
-
- // system-wide registers
- u32 dump() const { return BIT(m_regdata[0x00], 7); }
- u32 dump_mask() const { return BIT(m_regdata[0x00], 0, 6); }
- u32 total_level() const { return BIT(m_regdata[0x01], 0, 6); }
- u32 test() const { return m_regdata[0x02]; }
-
- // per-channel registers
- u32 ch_pan_left(u32 choffs) const { return BIT(m_regdata[choffs + 0x08], 7); }
- u32 ch_pan_right(u32 choffs) const { return BIT(m_regdata[choffs + 0x08], 6); }
- u32 ch_instrument_level(u32 choffs) const { return BIT(m_regdata[choffs + 0x08], 0, 5); }
- u32 ch_start(u32 choffs) const { return m_regdata[choffs + 0x10] | (m_regdata[choffs + 0x18] << 8); }
- u32 ch_end(u32 choffs) const { return m_regdata[choffs + 0x20] | (m_regdata[choffs + 0x28] << 8); }
-
- // per-channel writes
- void write_start(u32 choffs, u32 address)
- {
- write(choffs + 0x10, address);
- write(choffs + 0x18, address >> 8);
- }
- void write_end(u32 choffs, u32 address)
- {
- write(choffs + 0x20, address);
- write(choffs + 0x28, address >> 8);
- }
-
-private:
- // internal state
- u8 m_regdata[REGISTERS]; // register data
-};
-
-
-// ======================> ymadpcm_a_channel
-
-class ymadpcm_a_channel
-{
-public:
- // constructor
- ymadpcm_a_channel(ymadpcm_a_engine &owner, u32 choffs, read8sm_delegate reader, u32 addrshift);
-
- // register for save states
- void save(device_t &device, u32 index);
-
- // reset the channel state
- void reset();
-
- // signal key on/off
- void keyonoff(bool on);
-
- // master clockingfunction
- bool clock();
-
- // return the computed output value, with panning applied
- void output(s32 outputs[ymadpcm_a_registers::OUTPUTS]) const;
-
-private:
- // internal state
- u32 const m_choffs; // channel offset
- u32 const m_address_shift; // address bits shift-left
- u32 m_playing; // currently playing?
- u32 m_curnibble; // index of the current nibble
- u32 m_curbyte; // current byte of data
- u32 m_curaddress; // current address
- s32 m_accumulator; // accumulator
- s32 m_step_index; // index in the stepping table
- read8sm_delegate const m_reader; // read delegate
- ymadpcm_a_registers &m_regs; // reference to registers
-};
-
-
-// ======================> ymadpcm_a_engine
-
-class ymadpcm_a_engine
-{
-public:
- static constexpr int OUTPUTS = ymadpcm_a_registers::OUTPUTS;
- static constexpr int CHANNELS = ymadpcm_a_registers::CHANNELS;
-
- // constructor
- ymadpcm_a_engine(device_t &device, read8sm_delegate reader, u32 addrshift);
-
- // save state handling
- void save(device_t &device);
-
- // reset our status
- void reset();
-
- // master clocking function
- u32 clock(u32 chanmask);
-
- // compute sum of channel outputs
- void output(s32 outputs[ymadpcm_a_registers::OUTPUTS], u32 chanmask);
-
- // write to the ADPCM-A registers
- void write(u32 regnum, u8 data);
-
- // set the start/end address for a channel (for hardcoded YM2608 percussion)
- void set_start_end(u8 chnum, u16 start, u16 end)
- {
- u32 choffs = ymadpcm_a_registers::channel_offset(chnum);
- m_regs.write_start(choffs, start);
- m_regs.write_end(choffs, end);
- }
-
- // return a reference to our registers
- ymadpcm_a_registers &regs() { return m_regs; }
-
-private:
- // internal state
- std::unique_ptr<ymadpcm_a_channel> m_channel[CHANNELS]; // array of channels
- ymadpcm_a_registers m_regs; // register accessor
-};
-
-
-// ======================> ymadpcm_b_registers
-
-//
-// ADPCM-B register map:
-//
-// System-wide registers:
-// 00 x------- Start of synthesis/analysis
-// -x------ Record
-// --x----- External/manual driving
-// ---x---- Repeat playback
-// ----x--- Speaker off
-// -------x Reset
-// 01 x------- Pan left
-// -x------ Pan right
-// ----x--- Start conversion
-// -----x-- DAC enable
-// ------x- DRAM access (1=8-bit granularity; 0=1-bit)
-// -------x RAM/ROM (1=ROM, 0=RAM)
-// 02 xxxxxxxx Start address (low)
-// 03 xxxxxxxx Start address (high)
-// 04 xxxxxxxx End address (low)
-// 05 xxxxxxxx End address (high)
-// 06 xxxxxxxx Prescale value (low)
-// 07 -----xxx Prescale value (high)
-// 08 xxxxxxxx CPU data/buffer
-// 09 xxxxxxxx Delta-N frequency scale (low)
-// 0a xxxxxxxx Delta-N frequency scale (high)
-// 0b xxxxxxxx Level control
-// 0c xxxxxxxx Limit address (low)
-// 0d xxxxxxxx Limit address (high)
-// 0e xxxxxxxx DAC data [YM2608/10]
-// 0f xxxxxxxx PCM data [YM2608/10]
-// 0e xxxxxxxx DAC data high [Y8950]
-// 0f xx------ DAC data low [Y8950]
-// 10 -----xxx DAC data exponent [Y8950]
-//
-class ymadpcm_b_registers
-{
-public:
- // constants
- static constexpr u32 OUTPUTS = 2;
- static constexpr u32 CHANNELS = 1;
- static constexpr u32 REGISTERS = 0x11;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
-
- // constructor
- ymadpcm_b_registers() { }
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // direct read/write access
- void write(u32 index, u8 data) { m_regdata[index] = data; }
-
- // system-wide registers
- u32 execute() const { return BIT(m_regdata[0x00], 7); }
- u32 record() const { return BIT(m_regdata[0x00], 6); }
- u32 external() const { return BIT(m_regdata[0x00], 5); }
- u32 repeat() const { return BIT(m_regdata[0x00], 4); }
- u32 speaker() const { return BIT(m_regdata[0x00], 3); }
- u32 resetflag() const { return BIT(m_regdata[0x00], 0); }
- u32 pan_left() const { return BIT(m_regdata[0x01], 7); }
- u32 pan_right() const { return BIT(m_regdata[0x01], 6); }
- u32 start_conversion() const { return BIT(m_regdata[0x01], 3); }
- u32 dac_enable() const { return BIT(m_regdata[0x01], 2); }
- u32 dram_8bit() const { return BIT(m_regdata[0x01], 1); }
- u32 rom_ram() const { return BIT(m_regdata[0x01], 0); }
- u32 start() const { return m_regdata[0x02] | (m_regdata[0x03] << 8); }
- u32 end() const { return m_regdata[0x04] | (m_regdata[0x05] << 8); }
- u32 prescale() const { return m_regdata[0x06] | (BIT(m_regdata[0x07], 0, 3) << 8); }
- u32 cpudata() const { return m_regdata[0x08]; }
- u32 delta_n() const { return m_regdata[0x09] | (m_regdata[0x0a] << 8); }
- u32 level() const { return m_regdata[0x0b]; }
- u32 limit() const { return m_regdata[0x0c] | (m_regdata[0x0d] << 8); }
- u32 dac() const { return m_regdata[0x0e]; }
- u32 pcm() const { return m_regdata[0x0f]; }
-
-private:
- // internal state
- u8 m_regdata[REGISTERS]; // register data
-};
-
-
-// ======================> ymadpcm_b_channel
-
-class ymadpcm_b_channel
-{
- static constexpr s32 STEP_MIN = 127;
- static constexpr s32 STEP_MAX = 24576;
-
-public:
- static constexpr u8 STATUS_EOS = 0x01;
- static constexpr u8 STATUS_BRDY = 0x02;
- static constexpr u8 STATUS_PLAYING = 0x04;
-
- // constructor
- ymadpcm_b_channel(ymadpcm_b_engine &owner, read8sm_delegate reader, write8sm_delegate writer, u32 addrshift);
-
- // register for save states
- void save(device_t &device, u32 index);
-
- // reset the channel state
- void reset();
-
- // signal key on/off
- void keyonoff(bool on);
-
- // master clocking function
- void clock();
-
- // return the computed output value, with panning applied
- void output(s32 outputs[ymadpcm_b_registers::OUTPUTS], u32 rshift) const;
-
- // return the status register
- u8 status() const { return m_status; }
-
- // handle special register reads
- u8 read(u32 regnum);
-
- // handle special register writes
- void write(u32 regnum, u8 value);
-
-private:
- // helper - return the current address shift
- u32 address_shift() const;
-
- // load the start address
- void load_start();
-
- // limit checker
- bool at_limit() const { return (m_curaddress >> address_shift()) >= m_regs.limit(); }
-
- // end checker
- bool at_end() const { return (m_curaddress >> address_shift()) > m_regs.end(); }
-
- // internal state
- u32 const m_address_shift; // address bits shift-left
- u32 m_status; // currently playing?
- u32 m_curnibble; // index of the current nibble
- u32 m_curbyte; // current byte of data
- u32 m_dummy_read; // dummy read tracker
- u32 m_position; // current fractional position
- u32 m_curaddress; // current address
- s32 m_accumulator; // accumulator
- s32 m_prev_accum; // previous accumulator (for linear interp)
- s32 m_adpcm_step; // next forecast
- read8sm_delegate const m_reader; // read delegate
- write8sm_delegate const m_writer;// write delegate
- ymadpcm_b_registers &m_regs; // reference to registers
-};
-
-
-// ======================> ymadpcm_b_engine
-
-class ymadpcm_b_engine
-{
-public:
- static constexpr int OUTPUTS = ymadpcm_b_registers::OUTPUTS;
- static constexpr int CHANNELS = ymadpcm_b_registers::CHANNELS;
-
- // constructor
- ymadpcm_b_engine(device_t &device, read8sm_delegate reader, write8sm_delegate writer, u32 addrshift = 0);
-
- // save state handling
- void save(device_t &device);
-
- // reset our status
- void reset();
-
- // master clocking function
- void clock(u32 chanmask);
-
- // compute sum of channel outputs
- void output(s32 outputs[2], u32 rshift, u32 chanmask);
-
- // read from the ADPCM-B registers
- u32 read(u32 regnum) { return m_channel[0]->read(regnum); }
-
- // write to the ADPCM-B registers
- void write(u32 regnum, u8 data);
-
- // status
- u8 status() const { return m_channel[0]->status(); }
-
- // return a reference to our registers
- ymadpcm_b_registers &regs() { return m_regs; }
-
-private:
- // internal state
- std::unique_ptr<ymadpcm_b_channel> m_channel[CHANNELS]; // array of channels
- ymadpcm_b_registers m_regs; // register accessor
-};
-
-#endif // MAME_SOUND_YMADPCM_H
diff --git a/src/devices/sound/ymf262.cpp b/src/devices/sound/ymf262.cpp
deleted file mode 100644
index e6b9782cb87..00000000000
--- a/src/devices/sound/ymf262.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ymf262.h"
-
-
-DEFINE_DEVICE_TYPE(YMF262, ymf262_device, "ymf262", "YMF262 OPL3")
-
-
-//*********************************************************
-// YMF262 DEVICE
-//*********************************************************
-
-//-------------------------------------------------
-// ymf262_device - constructor
-//-------------------------------------------------
-
-ymf262_device::ymf262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
- device_t(mconfig, type, tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_address(0),
- m_stream(nullptr),
- m_fm(*this)
-{
-}
-
-
-//-------------------------------------------------
-// read - handle a read from the device
-//-------------------------------------------------
-
-u8 ymf262_device::read(offs_t offset)
-{
- u8 result = 0x00;
- switch (offset & 3)
- {
- case 0: // status port (A0=0, A1=0)
- result = m_fm.status();
- break;
-
- default: // datasheet says anything else is not guaranteed
- logerror("Unexpected read from YMF262 offset %d\n", offset & 3);
- break;
- }
- return result;
-}
-
-
-//-------------------------------------------------
-// write - handle a write to the register
-// interface
-//-------------------------------------------------
-
-void ymf262_device::write(offs_t offset, u8 value)
-{
- switch (offset & 1)
- {
- case 0: // address ports - A1 references upper bank
- m_address = value | (BIT(offset, 1) << 8);
-
- // tests reveal that in compatibility mode, upper bit is masked
- // except for register 0x105
- if (m_fm.regs().newflag() == 0 && m_address != 0x105)
- m_address &= 0xff;
- break;
-
- case 1: // data ports (A1 is ignored)
-
- // force an update
- m_stream->update();
-
- // write to FM
- m_fm.write(m_address, value);
- break;
- }
-}
-
-
-//-------------------------------------------------
-// device_start - start of emulation
-//-------------------------------------------------
-
-void ymf262_device::device_start()
-{
- // create our stream
- m_stream = stream_alloc(0, fm_engine::OUTPUTS, m_fm.sample_rate(clock()));
-
- // save our data
- save_item(YMFM_NAME(m_address));
-
- // save the engines
- m_fm.save(*this);
-}
-
-
-//-------------------------------------------------
-// device_reset - start of emulation
-//-------------------------------------------------
-
-void ymf262_device::device_reset()
-{
- // reset the engines
- m_fm.reset();
-}
-
-
-//-------------------------------------------------
-// device_clock_changed - update if clock changes
-//-------------------------------------------------
-
-void ymf262_device::device_clock_changed()
-{
- m_stream->set_sample_rate(m_fm.sample_rate(clock()));
-}
-
-
-//-------------------------------------------------
-// sound_stream_update - update the sound stream
-//-------------------------------------------------
-
-void ymf262_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- // iterate over all target samples
- for (int sampindex = 0; sampindex < outputs[0].samples(); sampindex++)
- {
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; clipping is unknown
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 0, 32767, fm_engine::ALL_CHANNELS);
-
- // YMF262 outputs straight 16-bit data in 4 channels
- for (int index = 0; index < fm_engine::OUTPUTS; index++)
- outputs[index].put_int(sampindex, sums[index], 32768);
- }
-}
diff --git a/src/devices/sound/ymf262.h b/src/devices/sound/ymf262.h
deleted file mode 100644
index 78086532e7c..00000000000
--- a/src/devices/sound/ymf262.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YMF262_H
-#define MAME_SOUND_YMF262_H
-
-#pragma once
-
-#include "ymfm.h"
-
-
-// ======================> ymf262_device
-
-DECLARE_DEVICE_TYPE(YMF262, ymf262_device);
-
-class ymf262_device : public device_t, public device_sound_interface
-{
-public:
- // YMF262 is OPL3
- using fm_engine = ymopl3_engine;
-
- // constructor
- ymf262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type = YMF262);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- // sound overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // internal state
- u16 m_address; // address register
- sound_stream *m_stream; // sound stream
- fm_engine m_fm; // core FM engine
-};
-
-
-#endif // MAME_SOUND_YMF262_H
diff --git a/src/devices/sound/ymf278b.cpp b/src/devices/sound/ymf278b.cpp
deleted file mode 100644
index ae84815ce67..00000000000
--- a/src/devices/sound/ymf278b.cpp
+++ /dev/null
@@ -1,945 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:R. Belmont, Olivier Galibert, hap
-/*
-
- YMF278B FM + Wave table Synthesizer (OPL4)
-
- Timer and PCM YMF278B. The FM will be shared with the ymf262, eventually.
-
- This chip roughly splits the difference between the Sega 315-5560 MultiPCM
- (Multi32, Model 1/2) and YMF 292-F SCSP (later Model 2, STV, Saturn, Model 3).
-
- Features as listed in LSI-4MF2782 data sheet:
- FM Synthesis (same as YMF262)
- 1. Sound generation mode
- Two-operater mode
- Generates eighteen voices or fifteen voices plus five rhythm sounds simultaneously
- Four-operator mode
- Generates six voices in four-operator mode plus six voices in two-operator mode simultaneously,
- or generates six voices in four-operator mode plus three voices in two-operator mode plus five
- rhythm sounds simultaneously
- 2. Eight selectable waveforms
- 3. Stereo output
- Wave Table Synthesis
- 1. Generates twenty-four voices simultaneously
- 2. 44.1kHz sampling rate for output sound data
- 3. Selectable from 8-bit, 12-bit and 16-bit word lengths for wave data
- 4. Stereo output (16-stage panpot for each voice)
- Wave Data
- 1. Accepts 32M bit external memory at maximum
- 2. Up to 512 wave tables
- 3. External ROM or SRAM can be connected. With SRAM connected, the CPU can download wave data
- 4. Outputs chip select signals for 1Mbit, 4Mbit, 8Mbit or 16Mbit memory
- 5. Can be directly connected to the Yamaha YRW801 (Wave data ROM)
- Features of YRW801 as listed in LSI 4RW801A2
- Built-in wave data of tones which comply with GM system Level 1
- Melody tone ....... 128 tones
- Percussion tone ... 47 tones
- 16Mbit capacity (2,097,152word x 8)
-
- By R. Belmont and O. Galibert.
-
-
- TODO:
- - accurate timing of envelopes
- - LFO (vibrato, tremolo)
- - integrate YMF262 mixing (used by Fuuki games, not used by Psikyo and Metro games)
- - Envelope and LFO function is similar algorithm as multipcm.cpp (except Damp, Pseudo Reverb)
- Can it be merged with/ported to this?
-*/
-
-#include "emu.h"
-#include "ymf278b.h"
-
-#include <algorithm>
-
-#define VERBOSE 0
-#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
-
-
-// Using the nominal datasheet frequency of 33.868MHz, the output of
-// the chip will be clock/768 = 44.1kHz. However, the FM engine is
-// clocked internally at clock/(19*36), or 49.515kHz, so the FM output
-// needs to be downsampled. The calculations below produce the fractional
-// number of extra FM samples we need to consume for each output sample,
-// as a 0.24 fixed point fraction.
-static constexpr double NOMINAL_CLOCK = 33868800;
-static constexpr double NOMINAL_FM_RATE = NOMINAL_CLOCK / double(ymopl4_registers::DEFAULT_PRESCALE * ymopl4_registers::OPERATORS);
-static constexpr double NOMINAL_OUTPUT_RATE = NOMINAL_CLOCK / 768.0;
-static constexpr uint32_t FM_STEP = uint32_t((NOMINAL_FM_RATE / NOMINAL_OUTPUT_RATE - 1.0) * double(1 << 24));
-
-
-/**************************************************************************/
-
-int ymf278b_device::compute_rate(YMF278BSlot *slot, int val)
-{
- int res, oct;
-
- if(val == 0)
- return 0;
- if(val == 15)
- return 63;
- if(slot->RC != 15)
- {
- oct = slot->octave;
- if (oct & 8)
- oct |= -8;
-
- res = (oct+slot->RC)*2 + (slot->F_NUMBER & 0x200 ? 1 : 0) + val*4;
- }
- else
- res = val * 4;
- if(res < 0)
- res = 0;
- else if(res > 63)
- res = 63;
-
- return res;
-}
-
-uint32_t ymf278b_device::compute_decay_env_vol_step(YMF278BSlot *slot, int val)
-{
- int rate;
- uint32_t res;
-
- // rate override with damping/pseudo reverb
- if (slot->DAMP)
- rate = 56; // approximate, datasheet says it's slightly curved though
- else if (slot->preverb && slot->env_vol > ((6*8)<<23))
- {
- // pseudo reverb starts at -18dB (6 in voltab)
- slot->env_preverb = 1;
- rate = 5;
- }
- else
- rate = compute_rate(slot, val);
-
- if (rate < 4)
- res = 0;
- else
- res = (256U<<23) / m_lut_dr[rate];
-
- return res;
-}
-
-void ymf278b_device::compute_freq_step(YMF278BSlot *slot)
-{
- uint32_t step;
- int oct;
-
- oct = slot->octave;
- if(oct & 8)
- oct |= -8;
-
- step = (slot->F_NUMBER | 1024) << (oct + 8);
- slot->step = step >> 3;
-}
-
-void ymf278b_device::compute_envelope(YMF278BSlot *slot)
-{
- switch (slot->env_step)
- {
- // Attack
- case 0:
- {
- // Attack
- int rate = compute_rate(slot, slot->AR);
- slot->env_vol = 256U<<23;
- slot->env_vol_lim = (256U<<23) - 1;
-
- if (rate==63)
- {
- // immediate
- LOG(("YMF278B: Attack skipped - "));
- slot->env_vol = 0;
- slot->env_step++;
- compute_envelope(slot);
- }
- else if (rate<4)
- {
- slot->env_vol_step = 0;
- }
- else
- {
- // NOTE: attack rate is linear here, but datasheet shows a smooth curve
- LOG(("YMF278B: Attack, val = %d, rate = %d, delay = %g\n", slot->AR, rate, m_lut_ar[rate]*1000.0));
- slot->env_vol_step = ~((256U<<23) / m_lut_ar[rate]);
- }
-
- break;
- }
-
- // Decay 1
- case 1:
- if(slot->DL)
- {
- LOG(("YMF278B: Decay step 1, dl=%d, val = %d rate = %d, delay = %g, PRVB = %d, DAMP = %d\n", slot->DL, slot->D1R, compute_rate(slot, slot->D1R), m_lut_dr[compute_rate(slot, slot->D1R)]*1000.0, slot->preverb, slot->DAMP));
- slot->env_vol_step = compute_decay_env_vol_step(slot, slot->D1R);
- slot->env_vol_lim = (slot->DL*8)<<23;
- }
- else
- {
- LOG(("YMF278B: Decay 1 skipped - "));
- slot->env_step++;
- compute_envelope(slot);
- }
-
- break;
-
- // Decay 2
- case 2:
- LOG(("YMF278B: Decay step 2, val = %d, rate = %d, delay = %g, , PRVB = %d, DAMP = %d, current vol = %d\n", slot->D2R, compute_rate(slot, slot->D2R), m_lut_dr[compute_rate(slot, slot->D2R)]*1000.0, slot->preverb, slot->DAMP, slot->env_vol >> 23));
- slot->env_vol_step = compute_decay_env_vol_step(slot, slot->D2R);
- slot->env_vol_lim = 256U<<23;
- break;
-
- // Decay 2 reached -96dB
- case 3:
- LOG(("YMF278B: Voice cleared because of decay 2\n"));
- slot->env_vol = 256U<<23;
- slot->env_vol_step = 0;
- slot->env_vol_lim = 0;
- slot->active = 0;
- break;
-
- // Release
- case 4:
- LOG(("YMF278B: Release, val = %d, rate = %d, delay = %g, PRVB = %d, DAMP = %d\n", slot->RR, compute_rate(slot, slot->RR), m_lut_dr[compute_rate(slot, slot->RR)]*1000.0, slot->preverb, slot->DAMP));
- slot->env_vol_step = compute_decay_env_vol_step(slot, slot->RR);
- slot->env_vol_lim = 256U<<23;
- break;
-
- // Release reached -96dB
- case 5:
- LOG(("YMF278B: Release ends\n"));
- slot->env_vol = 256U<<23;
- slot->env_vol_step = 0;
- slot->env_vol_lim = 0;
- slot->active = 0;
- break;
-
- default: break;
- }
-}
-
-//-------------------------------------------------
-// sound_stream_update - handle a stream update
-//-------------------------------------------------
-
-void ymf278b_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
-{
- int i, j;
- YMF278BSlot *slot;
- int16_t sample = 0;
- int32_t *mixp;
-
- std::fill(m_mix_buffer.begin(), m_mix_buffer.end(), 0);
-
- for (i = 0; i < 24; i++)
- {
- slot = &m_slots[i];
-
- if (slot->active)
- {
- mixp = &m_mix_buffer[0];
-
- for (j = 0; j < outputs[0].samples(); j++)
- {
- if (slot->stepptr >= slot->endaddr)
- {
- slot->stepptr = slot->stepptr - slot->endaddr + slot->loopaddr;
-
- // NOTE: loop overflow is still possible here if (slot->stepptr >= slot->endaddr)
- // This glitch may be (ab)used to your advantage to create pseudorandom noise.
- }
-
- switch (slot->bits)
- {
- // 8 bit
- case 0:
- sample = read_byte(slot->startaddr + (slot->stepptr>>16))<<8;
- break;
-
- // 12 bit
- case 1:
- if (slot->stepptr & 0x10000)
- sample = read_byte(slot->startaddr + (slot->stepptr>>17)*3+2)<<8 |
- (read_byte(slot->startaddr + (slot->stepptr>>17)*3+1) & 0xf0);
- else
- sample = read_byte(slot->startaddr + (slot->stepptr>>17)*3)<<8 |
- ((read_byte(slot->startaddr + (slot->stepptr>>17)*3+1) << 4) & 0xf0);
- break;
-
- // 16 bit
- case 2:
- sample = read_byte(slot->startaddr + ((slot->stepptr>>16)*2))<<8 |
- read_byte(slot->startaddr + ((slot->stepptr>>16)*2)+1);
- break;
-
- // ?? bit, effect is unknown, datasheet says it's prohibited
- case 3:
- sample = 0;
- break;
- }
-
- if (slot->CH) // DO1 out
- {
- mixp++;
- mixp++;
- *mixp++ += (sample * m_volume[slot->TL+m_pan_left [slot->pan]+(slot->env_vol>>23)])>>17;
- *mixp++ += (sample * m_volume[slot->TL+m_pan_right[slot->pan]+(slot->env_vol>>23)])>>17;
- }
- else // DO2 out
- {
- *mixp++ += (sample * m_volume[slot->TL+m_pan_left [slot->pan]+(slot->env_vol>>23)])>>17;
- *mixp++ += (sample * m_volume[slot->TL+m_pan_right[slot->pan]+(slot->env_vol>>23)])>>17;
- mixp++;
- mixp++;
- }
-
- // update frequency
- slot->stepptr += slot->step;
-
- // update envelope
- slot->env_vol += slot->env_vol_step;
- if (((int32_t)(slot->env_vol - slot->env_vol_lim)) >= 0)
- {
- slot->env_step++;
- compute_envelope(slot);
- }
- else if (slot->preverb && !slot->env_preverb && slot->env_step && slot->env_vol > ((6*8)<<23))
- compute_envelope(slot);
- }
- }
- }
-
- mixp = &m_mix_buffer[0];
- stream_buffer::sample_t wtl = stream_buffer::sample_t(m_mix_level[m_pcm_l]) / (65536.0f * 32768.0f);
- stream_buffer::sample_t wtr = stream_buffer::sample_t(m_mix_level[m_pcm_r]) / (65536.0f * 32768.0f);
- stream_buffer::sample_t fml = stream_buffer::sample_t(m_mix_level[m_fm_l]) / (65536.0f * 32768.0f);
- stream_buffer::sample_t fmr = stream_buffer::sample_t(m_mix_level[m_fm_r]) / (65536.0f * 32768.0f);
- for (i = 0; i < outputs[0].samples(); i++)
- {
- // the FM_STEP value is the fractional number of extra samples consumed per
- // output sample; when this overflows, we need to clock the FM engine an
- // extra time; since the PCM side of the chip doesn't do interpolation, I'm
- // assuming this resampling stage doesn't either
- m_fm_pos += FM_STEP;
- if (BIT(m_fm_pos, 24))
- {
- m_fm.clock(fm_engine::ALL_CHANNELS);
- m_fm_pos &= 0xffffff;
- }
-
- // clock the system
- m_fm.clock(fm_engine::ALL_CHANNELS);
-
- // update the FM content; clipping is unknown
- s32 sums[fm_engine::OUTPUTS] = { 0 };
- m_fm.output(sums, 1, 32767, fm_engine::ALL_CHANNELS);
-
- // DO2 output: mixed FM channels 0+1 and wavetable channels 0+1
- outputs[0].put(i, stream_buffer::sample_t(*mixp++) * wtl + stream_buffer::sample_t(sums[0]) * fml);
- outputs[1].put(i, stream_buffer::sample_t(*mixp++) * wtr + stream_buffer::sample_t(sums[1]) * fmr);
-
- // DO0 output: FM channels 2+3 only
- outputs[2].put_int(i, sums[2], 32768);
- outputs[3].put_int(i, sums[3], 32768);
-
- // DO1 output: wavetable channels 2+3 only
- outputs[4].put_int(i, *mixp++, 32768);
- outputs[5].put_int(i, *mixp++, 32768);
- }
-}
-
-enum
-{
- TIMER_BUSY_CLEAR,
- TIMER_LD_CLEAR
-};
-
-void ymf278b_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
-{
- switch(id)
- {
- case TIMER_BUSY_CLEAR:
- m_fm.set_reset_status(0, STATUS_BUSY);
- break;
-
- case TIMER_LD_CLEAR:
- m_fm.set_reset_status(0, STATUS_LD);
- break;
- }
-}
-
-
-/**************************************************************************/
-
-void ymf278b_device::retrigger_sample(YMF278BSlot *slot)
-{
- // activate channel
- if (slot->octave != 8)
- slot->active = 1;
-
- // reset sample pos and go to attack stage
- slot->stepptr = 0;
- slot->env_step = 0;
- slot->env_preverb = 0;
-
- compute_freq_step(slot);
- compute_envelope(slot);
-}
-
-void ymf278b_device::C_w(uint8_t reg, uint8_t data)
-{
- // Handle slot registers specifically
- if (reg >= 0x08 && reg <= 0xf7)
- {
- YMF278BSlot *slot;
- int snum;
- snum = (reg-8) % 24;
- slot = &m_slots[snum];
- switch((reg-8) / 24)
- {
- case 0:
- {
- attotime period;
- uint32_t offset;
- uint8_t p[12];
- int i;
-
- slot->wave &= 0x100;
- slot->wave |= data;
-
- // load wavetable header
- if(slot->wave < 384 || !m_wavetblhdr)
- offset = slot->wave * 12;
- else
- offset = m_wavetblhdr*0x80000 + (slot->wave - 384) * 12;
- for (i = 0; i < 12; i++)
- p[i] = read_byte(offset+i);
-
- slot->bits = (p[0]&0xc0)>>6;
- slot->startaddr = (p[2] | (p[1]<<8) | ((p[0]&0x3f)<<16));
- slot->loopaddr = (p[4]<<16) | (p[3]<<24);
- slot->endaddr = (p[6]<<16) | (p[5]<<24);
- slot->endaddr -= 0x00010000U;
- slot->endaddr ^= 0xffff0000U;
-
- // copy internal registers data
- for (i = 7; i < 12; i++)
- C_w(8 + snum + (i-2) * 24, p[i]);
-
- // status register LD bit is on for approx 300us
- m_fm.set_reset_status(STATUS_LD, 0);
- period = clocks_to_attotime(10);
- m_timer_ld->adjust(period);
-
- // retrigger if key is on
- if (slot->KEY_ON)
- retrigger_sample(slot);
- else if (slot->active)
- {
- // deactivate channel
- slot->env_step = 5;
- compute_envelope(slot);
- }
-
- break;
- }
-
- case 1:
- slot->wave &= 0xff;
- slot->wave |= ((data&0x1)<<8);
- slot->F_NUMBER &= 0x380;
- slot->F_NUMBER |= (data>>1);
- if (slot->active && (data ^ m_pcmregs[reg]) & 0xfe)
- {
- compute_freq_step(slot);
- compute_envelope(slot);
- }
- break;
-
- case 2:
- slot->F_NUMBER &= 0x07f;
- slot->F_NUMBER |= ((data&0x07)<<7);
- slot->preverb = (data&0x8)>>3;
- slot->octave = (data&0xf0)>>4;
- if (data != m_pcmregs[reg])
- {
- // channel goes off if octave is set to -8 (datasheet says it's prohibited)
- // (it is ok if this activates the channel while it was off: compute_envelope will reset it again if needed)
- slot->active = (slot->octave != 8);
-
- if (slot->active)
- {
- slot->env_preverb = 0;
- compute_freq_step(slot);
- compute_envelope(slot);
- }
- }
- break;
-
- case 3:
- slot->TL = data>>1;
- slot->LD = data&0x1;
- break;
-
- case 4:
- slot->CH = (data&0x10)>>4;
- // CH bit note: output to DO1 pin (1) or DO2 pin (0), this may
- // silence the channel depending on how it's wired up on the PCB.
- // For now, it's always enabled.
- // (bit 5 (LFO reset) is also not hooked up yet)
-
- slot->pan = data&0xf;
- slot->DAMP = (data&0x40)>>6;
- if (data & 0x80)
- {
- // don't retrigger if key was already on
- if (slot->KEY_ON)
- {
- if ((data ^ m_pcmregs[reg]) & 0x40)
- compute_envelope(slot);
-
- break;
- }
-
- retrigger_sample(slot);
- }
- else if (slot->active)
- {
- // release
- slot->env_step = 4;
- compute_envelope(slot);
- }
- slot->KEY_ON = (data&0x80)>>7;
- break;
-
- case 5:
- // LFO and vibrato level, not hooked up yet
- slot->LFO = (data>>3)&0x7;
- slot->VIB = data&0x7;
- break;
-
- case 6:
- slot->AR = data>>4;
- slot->D1R = data&0xf;
- if (slot->active && data != m_pcmregs[reg])
- compute_envelope(slot);
- break;
-
- case 7:
- slot->DL = data>>4;
- slot->D2R = data&0xf;
- if (slot->active && data != m_pcmregs[reg])
- compute_envelope(slot);
- break;
-
- case 8:
- slot->RC = data>>4;
- slot->RR = data&0xf;
- if (slot->active && data != m_pcmregs[reg])
- compute_envelope(slot);
- break;
-
- case 9:
- // tremolo level, not hooked up yet
- slot->AM = data & 0x7;
- break;
- }
- }
- else
- {
- // All non-slot registers
- switch (reg)
- {
- // LSI TEST
- case 0x00:
- case 0x01:
- break;
-
- case 0x02:
- m_wavetblhdr = (data>>2)&0x7;
- m_memmode = data&3;
- break;
-
- case 0x03:
- data &= 0x3f; // !
- break;
- case 0x04:
- break;
- case 0x05:
- // set memory address
- m_memadr = m_pcmregs[3] << 16 | m_pcmregs[4] << 8 | data;
- break;
-
- case 0x06:
- // memory data
- space(0).write_byte(m_memadr, data);
- m_memadr = (m_memadr + 1) & 0x3fffff;
- break;
-
- case 0x07:
- break; // unused
-
- case 0xf8:
- m_fm_l = data & 0x7;
- m_fm_r = (data>>3)&0x7;
- break;
-
- case 0xf9:
- m_pcm_l = data & 0x7;
- m_pcm_r = (data>>3)&0x7;
- break;
-
- default:
- logerror("YMF278B: Port C write %02x, %02x\n", reg, data);
- break;
- }
- }
-
- m_pcmregs[reg] = data;
-}
-
-void ymf278b_device::timer_busy_start(int is_pcm)
-{
- // status register BUSY bit is on for 56(FM) or 88(PCM) cycles
- m_fm.set_reset_status(STATUS_BUSY, 0);
- m_timer_busy->adjust(attotime::from_hz(m_clock / (is_pcm ? 88 : 56)));
-}
-
-void ymf278b_device::write(offs_t offset, u8 data)
-{
- uint32_t old;
- switch (offset & 7)
- {
- case 0:
- case 2:
- timer_busy_start(0);
- m_port_AB = data;
- m_lastport = BIT(offset, 1);
- break;
-
- case 1:
- case 3:
- timer_busy_start(0);
- old = m_fm.regs().new2flag();
- m_fm.write(m_port_AB | (m_lastport << 8), data);
-
- // if the new2 flag is turned on, the next status read will set bit 1
- // but only for the first status read after new2 is set
- if (old == 0 && m_fm.regs().new2flag() != 0)
- m_next_status_id = true;
- break;
-
- case 4:
- timer_busy_start(1);
- m_port_C = data;
- break;
-
- case 5:
- // PCM regs are only accessible if NEW2 is set
- if (!m_fm.regs().new2flag())
- break;
-
- m_stream->update();
-
- timer_busy_start(1);
- C_w(m_port_C, data);
- break;
-
- default:
- logerror("%s: unexpected write at offset %X to ymf278b = %02X\n", machine().describe_context(), offset, data);
- break;
- }
-}
-
-
-u8 ymf278b_device::read(offs_t offset)
-{
- uint8_t ret = 0;
-
- switch (offset & 7)
- {
- // status register
- case 0:
-
- // first status read after initialization returns a chip ID, which
- // varies based on the "new" flags, indicating the mode
- if (m_next_status_id)
- {
- if (m_fm.regs().new2flag())
- ret = 0x02;
- else if (m_fm.regs().newflag())
- ret = 0x00;
- else
- ret = 0x06;
- m_next_status_id = false;
- }
- else
- {
- ret = m_fm.status();
-
- // if new2 flag is not set, we're in OPL2 or OPL3 mode
- if (!m_fm.regs().new2flag())
- ret &= ~(STATUS_BUSY | STATUS_LD);
- }
- break;
-
- // FM regs can be read too (on contrary to what the datasheet says)
- case 1:
- case 3:
- // but they're not implemented here yet
- // This may be incorrect, but it makes the mbwave moonsound detection in msx drivers pass.
- ret = m_fm.regs().read(m_port_AB | (m_lastport << 8));
- break;
-
- // PCM regs
- case 5:
- // only accessible if NEW2 is set
- if (!m_fm.regs().new2flag())
- break;
-
- switch (m_port_C)
- {
- // special cases
- case 2:
- ret = (m_pcmregs[m_port_C] & 0x1f) | 0x20; // device ID in upper bits
- break;
- case 6:
- ret = read_byte(m_memadr);
- m_memadr = (m_memadr + 1) & 0x3fffff;
- break;
-
- default:
- ret = m_pcmregs[m_port_C];
- break;
- }
- break;
-
- default:
- logerror("%s: unexpected read at offset %X from ymf278b\n", machine().describe_context(), offset);
- break;
- }
-
- return ret;
-}
-
-
-/**************************************************************************/
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void ymf278b_device::device_reset()
-{
- int i;
-
- // clear registers
- for (i = 0; i < 8; i++)
- C_w(i, 0);
- for (i = 0xff; i >= 8; i--)
- C_w(i, 0);
- C_w(0xf8, 0x1b);
-
- m_port_AB = m_port_C = 0;
- m_lastport = 0;
- m_next_status_id = true;
- m_memadr = 0;
-
- // init/silence channels
- for (i = 0; i < 24 ; i++)
- {
- YMF278BSlot *slot = &m_slots[i];
-
- slot->LFO = 0;
- slot->VIB = 0;
- slot->AR = 0;
- slot->D1R = 0;
- slot->DL = 0;
- slot->D2R = 0;
- slot->RC = 0;
- slot->RR = 0;
- slot->AM = 0;
-
- slot->startaddr = 0;
- slot->loopaddr = 0;
- slot->endaddr = 0;
-
- slot->env_step = 5;
- compute_envelope(slot);
- }
-
- m_timer_busy->reset();
- m_timer_ld->reset();
-
- m_fm.reset();
-}
-
-void ymf278b_device::device_clock_changed()
-{
- int old_rate = m_rate;
- m_clock = clock();
- m_rate = m_clock/768;
- m_fm_pos = 0;
-
- if (m_rate > old_rate)
- {
- m_mix_buffer.resize(m_rate*4,0);
- }
- m_stream->set_sample_rate(m_rate);
-}
-
-void ymf278b_device::rom_bank_updated()
-{
- m_stream->update();
-}
-
-void ymf278b_device::precompute_rate_tables()
-{
- int i;
-
- // decay rate
- for (i = 0; i < 64; i++)
- {
- if (i <= 3)
- m_lut_dr[i] = 0;
- else if (i >= 60)
- m_lut_dr[i] = 15 << 4;
- else
- m_lut_dr[i] = (15 << (21 - i / 4)) / (4 + i % 4);
- }
-
- // attack rate (manual shows curve instead of linear though, so this is not entirely accurate)
- for (i = 0; i < 64; i++)
- {
- if (i <= 3 || i == 63)
- m_lut_ar[i] = 0;
- else if (i >= 60)
- m_lut_ar[i] = 17;
- else
- m_lut_ar[i] = (67 << (15 - i / 4)) / (4 + i % 4);
- }
-}
-
-void ymf278b_device::register_save_state()
-{
- int i;
-
- save_item(NAME(m_pcmregs));
- save_item(NAME(m_wavetblhdr));
- save_item(NAME(m_memmode));
- save_item(NAME(m_memadr));
- save_item(NAME(m_fm_l));
- save_item(NAME(m_fm_r));
- save_item(NAME(m_fm_pos));
- save_item(NAME(m_pcm_l));
- save_item(NAME(m_pcm_r));
- save_item(NAME(m_port_AB));
- save_item(NAME(m_port_C));
- save_item(NAME(m_lastport));
- save_item(NAME(m_next_status_id));
-
- for (i = 0; i < 24; ++i)
- {
- save_item(NAME(m_slots[i].wave), i);
- save_item(NAME(m_slots[i].F_NUMBER), i);
- save_item(NAME(m_slots[i].octave), i);
- save_item(NAME(m_slots[i].preverb), i);
- save_item(NAME(m_slots[i].DAMP), i);
- save_item(NAME(m_slots[i].CH), i);
- save_item(NAME(m_slots[i].LD), i);
- save_item(NAME(m_slots[i].TL), i);
- save_item(NAME(m_slots[i].pan), i);
- save_item(NAME(m_slots[i].LFO), i);
- save_item(NAME(m_slots[i].VIB), i);
- save_item(NAME(m_slots[i].AM), i);
-
- save_item(NAME(m_slots[i].AR), i);
- save_item(NAME(m_slots[i].D1R), i);
- save_item(NAME(m_slots[i].DL), i);
- save_item(NAME(m_slots[i].D2R), i);
- save_item(NAME(m_slots[i].RC), i);
- save_item(NAME(m_slots[i].RR), i);
-
- save_item(NAME(m_slots[i].step), i);
- save_item(NAME(m_slots[i].stepptr), i);
-
- save_item(NAME(m_slots[i].active), i);
- save_item(NAME(m_slots[i].KEY_ON), i);
- save_item(NAME(m_slots[i].bits), i);
- save_item(NAME(m_slots[i].startaddr), i);
- save_item(NAME(m_slots[i].loopaddr), i);
- save_item(NAME(m_slots[i].endaddr), i);
-
- save_item(NAME(m_slots[i].env_step), i);
- save_item(NAME(m_slots[i].env_vol), i);
- save_item(NAME(m_slots[i].env_vol_step), i);
- save_item(NAME(m_slots[i].env_vol_lim), i);
- save_item(NAME(m_slots[i].env_preverb), i);
- }
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void ymf278b_device::device_start()
-{
- int i;
-
- m_clock = clock();
- m_rate = m_clock / 768;
- m_fm_pos = 0;
-
- m_timer_busy = timer_alloc(TIMER_BUSY_CLEAR);
- m_timer_ld = timer_alloc(TIMER_LD_CLEAR);
-
- for (i = 0; i < 24; i++)
- {
- m_slots[i].num = i;
- }
-
- m_stream = stream_alloc(0, 6, m_rate);
- m_mix_buffer.resize(m_rate*4,0);
-
- // rate tables
- precompute_rate_tables();
-
- // Volume table, 1 = -0.375dB, 8 = -3dB, 256 = -96dB
- for(i = 0; i < 256; i++)
- m_volume[i] = 65536*pow(2.0, (-0.375/6)*i);
- for(i = 256; i < 256*4; i++)
- m_volume[i] = 0;
-
- // Pan values, units are -3dB, i.e. 8.
- for(i = 0; i < 16; i++)
- {
- m_pan_left[i] = i < 7 ? i*8 : i < 9 ? 256 : 0;
- m_pan_right[i] = i < 8 ? 0 : i < 10 ? 256 : (16-i)*8;
- }
-
- // Mixing levels, units are -3dB, and add some margin to avoid clipping
- for(i=0; i<7; i++)
- m_mix_level[i] = m_volume[8*i+13];
- m_mix_level[7] = 0;
-
- // Register state for saving
- register_save_state();
-
- // YMF262 related
- m_fm.save(*this);
-}
-
-
-DEFINE_DEVICE_TYPE(YMF278B, ymf278b_device, "ymf278b", "Yamaha YMF278B OPL4")
-
-ymf278b_device::ymf278b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, YMF278B, tag, owner, clock)
- , device_sound_interface(mconfig, *this)
- , device_rom_interface(mconfig, *this)
- , m_fm(*this)
-{
-}
diff --git a/src/devices/sound/ymf278b.h b/src/devices/sound/ymf278b.h
deleted file mode 100644
index b98b35bfe49..00000000000
--- a/src/devices/sound/ymf278b.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:R. Belmont, Olivier Galibert, hap
-#ifndef MAME_SOUND_YMF278B_H
-#define MAME_SOUND_YMF278B_H
-
-#pragma once
-
-#include "dirom.h"
-#include "sound/ymfm.h"
-
-class ymf278b_device : public device_t, public device_sound_interface, public device_rom_interface<22>
-{
-public:
- static constexpr u8 STATUS_BUSY = 0x01;
- static constexpr u8 STATUS_LD = 0x02;
-
- // YMF278B is OPL4
- using fm_engine = ymopl4_engine;
-
- // constructor
- ymf278b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // configuration helpers
- auto irq_handler() { return m_fm.irq_handler(); }
-
- // read/write access
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_clock_changed() override;
-
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
- // sound stream update overrides
- virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
-
- // device_rom_interface overrides
- virtual void rom_bank_updated() override;
-
-private:
- struct YMF278BSlot
- {
- int16_t wave; /* wavetable number */
- int16_t F_NUMBER; /* frequency */
- int8_t octave; /* octave */
- int8_t preverb; /* pseudo-reverb */
- int8_t DAMP; /* damping */
- int8_t CH; /* output channel */
- int8_t LD; /* level direct */
- int8_t TL; /* total level */
- int8_t pan; /* panpot */
- int8_t LFO; /* LFO */
- int8_t VIB; /* vibrato */
- int8_t AM; /* tremolo */
-
- int8_t AR; /* attack rate */
- int8_t D1R; /* decay 1 rate */
- int8_t DL; /* decay level */
- int8_t D2R; /* decay 2 rate */
- int8_t RC; /* rate correction */
- int8_t RR; /* release rate */
-
- uint32_t step; /* fixed-point frequency step */
- uint64_t stepptr; /* fixed-point pointer into the sample */
-
- int8_t active; /* channel is playing */
- int8_t KEY_ON; /* slot keyed on */
- int8_t bits; /* width of the samples */
- uint32_t startaddr;
- uint32_t loopaddr;
- uint32_t endaddr;
-
- int env_step;
- uint32_t env_vol;
- uint32_t env_vol_step;
- uint32_t env_vol_lim;
- int8_t env_preverb;
-
- int num; /* slot number (for debug only) */
- };
-
- int compute_rate(YMF278BSlot *slot, int val);
- uint32_t compute_decay_env_vol_step(YMF278BSlot *slot, int val);
- void compute_freq_step(YMF278BSlot *slot);
- void compute_envelope(YMF278BSlot *slot);
- void irq_check();
- void retrigger_sample(YMF278BSlot *slot);
- void C_w(uint8_t reg, uint8_t data);
- void timer_busy_start(int is_pcm);
- void precompute_rate_tables();
- void register_save_state();
-
- // internal state
- uint8_t m_pcmregs[256];
- YMF278BSlot m_slots[24];
- int8_t m_wavetblhdr;
- int8_t m_memmode;
- int32_t m_memadr;
-
- emu_timer *m_timer_busy;
- emu_timer *m_timer_ld;
-
- int32_t m_fm_l, m_fm_r;
- int32_t m_pcm_l, m_pcm_r;
-
- uint32_t m_fm_pos;
-
- uint8_t m_port_C, m_port_AB, m_lastport;
- bool m_next_status_id;
-
- // precomputed tables
- uint32_t m_lut_ar[64]; // attack rate
- uint32_t m_lut_dr[64]; // decay rate
- int32_t m_volume[256*4]; // precalculated attenuation values with some margin for envelope and pan levels
- int m_pan_left[16],m_pan_right[16]; // pan volume offsets
- int32_t m_mix_level[8];
-
- int m_clock;
- int m_rate;
-
- sound_stream * m_stream;
- std::vector<int32_t> m_mix_buffer;
-
- // ymf262
- fm_engine m_fm;
-};
-
-DECLARE_DEVICE_TYPE(YMF278B, ymf278b_device)
-
-#endif // MAME_SOUND_YMF278B_H
diff --git a/src/devices/sound/ymfm.cpp b/src/devices/sound/ymfm.cpp
deleted file mode 100644
index abea6fa365a..00000000000
--- a/src/devices/sound/ymfm.cpp
+++ /dev/null
@@ -1,3298 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#include "emu.h"
-#include "ymfm.h"
-
-//#define VERBOSE 1
-#define LOG_OUTPUT_FUNC osd_printf_verbose
-#include "logmacro.h"
-
-
-//*********************************************************
-// DEBUGGING
-//*********************************************************
-
-// set this mask to only play certain channels
-constexpr u32 global_chanmask = 0xffffffff;
-
-
-//
-// ONE FM CORE TO RULE THEM ALL
-//
-// This emulator is written from the ground-up using the analysis and deduction
-// by Nemesis as a starting point, particularly in this thread:
-//
-// https://gendev.spritesmind.net/forum/viewtopic.php?f=24&t=386
-//
-// The core assumption is that these details apply to all FM variants unless
-// otherwise proven incorrect.
-//
-// The fine details of this implementation have also been cross-checked against
-// Nemesis' implementation in his Exodus emulator, as well as Alexey Khokholov's
-// "Nuked" implementations based off die shots.
-//
-// Operator and channel summing/mixing code is largely based off of research
-// done by David Viens and Hubert Lamontagne.
-//
-// Search for QUESTION to find areas where I am unsure.
-//
-//
-// FAMILIES
-//
-// The Yamaha FM chips can be broadly categoried into families:
-//
-// OPM (YM2151)
-// OPN (YM2203)
-// OPNA/OPNB/OPN2 (YM2608, YM2610, YM2610B, YM2612, YM3438, YMF276, YMF288)
-// OPL (YM3526)
-// OPL2 (YM3812)
-// OPLL (YM2413, YM2423, YMF281, DS1001, and others)
-// OPL3 (YMF262, YMF278)
-//
-// All of these families are very closely related, and the ymfm engine
-// implemented below is designed to be universal to work across all of
-// these families.
-//
-// Of course, each variant has its own register maps, features, and
-// implementation details which need to be sorted out. Thus, each
-// significant variant listed above is represented by a register class. The
-// register class contains:
-//
-// * constants describing core parameters and features
-// * mappers between operators and channels
-// * generic fetchers that return normalized values across families
-// * family-specific helper functions
-//
-//
-// FAMILY HISTORY
-//
-// OPM started it all off, featuring:
-// - 8 FM channels, 4 operators each
-// - LFO and noise support
-// - Stereo output
-//
-// OPM -> OPN changes:
-// - Reduced to 3 FM channels, 4 operators each
-// - Removed LFO and noise support
-// - Mono output
-// - Integrated AY-8910 compatible PSG
-// - Added SSG-EG envelope mode
-// - Added multi-frequency mode: ch. 3 operators can have separate frequencies
-// - Software controlled clock divider
-//
-// OPN -> OPNA changes:
-// - Increased to 6 FM channels, 4 operators each
-// - Added back (a cut-down) LFO
-// - Stereo output again
-// - Removed software controlled divider on later versions (OPNB/OPN2)
-// - Removed PSG on OPN2 models
-//
-// OPNA -> OPL changes:
-// - Increased to 9 FM channels, but only 2 operators each
-// - Even more simplified LFO
-// - Mono output
-// - Removed PSG
-// - Removed SSG-EG envelope modes
-// - Removed multi-frequency modes
-// - Fixed clock divider
-// - Built-in ryhthm generation
-//
-// OPL -> OPL2 changes:
-// - Added 4 selectable waveforms
-//
-// OPL2 -> OPLL changes:
-// - Vastly simplified register map
-// - 15 built-in instruments, plus built-in rhythm instruments
-// - 1 user-controlled instrument
-//
-// OPL2 -> OPL3 changes:
-// - Increased to 18 FM channels, 2 operators each
-// - 4 output channels
-// - Increased to 8 selectable waveforms
-// - 6 channels can be configured to use 4 operators
-//
-//
-// CHANNELS AND OPERATORS
-//
-// The polyphony of a given chip is determined by the number of channels
-// it supports. This number ranges from as low as 3 to as high as 18.
-// Each channel has either 2 or 4 operators that can be combined in a
-// myriad of ways. On most chips the number of operators per channel is
-// fixed; however, some later OPL chips allow this to be toggled between
-// 2 and 4 at runtime.
-//
-// The base ymfm engine class maintains an array of channels and operators,
-// while the relationship between the two is described by the register
-// class.
-//
-//
-// REGISTERS
-//
-// Registers on the Yamaha chips are generally write-only, and can be divided
-// into three distinct categories:
-//
-// * system-wide registers
-// * channel-specific registers
-// * operator-specific registers
-//
-// For maximum flexibility, most parameters can be configured at the operator
-// level, with channel-level registers controlling details such as how to
-// combine the operators into the final output. System-wide registers are
-// used to control chip-wide modes and manage onboard timer functions.
-//
-// Note that since registers are write-only, some implementations will use
-// "holes" in the register space to store additional values that may be
-// needed.
-//
-//
-// STATUS AND TIMERS
-//
-// Generically, all chips (except OPLL) support two timers that can be
-// programmed to fire and signal IRQs. These timers also set bits in the
-// status register. The behavior of these bits is shared across all
-// implementations, even if the exact bit positions shift (this is controlled
-// by constants in the registers class).
-//
-// In addition, several chips incorporate ADPCM decoders which also may set
-// bits in the same status register. For this reason, it is possible to
-// control various bits in the status register via the set_reset_status()
-// function directly. Any active bits that are set and which are not masked
-// (mask is controlled by set_irq_mask()), lead to an IRQ being signalled.
-//
-// Thus, it is possible for the chip-specific implementations to set the
-// mask and control the status register bits such that IRQs are signalled
-// via the same mechanism as timer signals.
-//
-// In addition, the OPM and OPN families have a "busy" flag, which is set
-// after each write, indicating that another write should not be performed.
-// Historically, the duration of this flag was constant and had nothing to
-// do with the internals of the chip. However, since the details can
-// potentially vary chip-to-chip, it is the chip's responsibility after any
-// operation to call set_busy_end() with the attotime of when the busy
-// signal should be released.
-//
-//
-// CLOCKING
-//
-// Each of the Yamaha chips works by cycling through all operators one at
-// a time. Thus, the effective output rate of the chips is related to the
-// input clock divided by the number of operators. In addition, the input
-// clock is prescaled by an amount. Generally, this is a fixed value, though
-// some early OPN chips allow this to be selected at runtime from a small
-// number of values.
-//
-//
-// CHANNEL FREQUENCIES
-//
-// One major difference between OPM and later families is in how frequencies
-// are specified. OPM specifies frequency via a 3-bit 'block' (aka octave),
-// combined with a 4-bit 'key code' (note number) and a 6-bit 'key fraction'.
-// The key code and fraction are converted on the chip into an x.11 fixed-
-// point value and then shifted by the block to produce the final step value
-// for the phase.
-//
-// Later families, on the other hand, specify frequencies via a 3-bit 'block'
-// just as on OPM, but combined with a 9, 10, or 11-bit 'frequency number'
-// or 'fnum', which is directly shifted by the block to produce the step
-// value. So essentially, later chips make the user do the conversion from
-// note value to phase increment, while OPM is programmed in a more 'musical'
-// way, specifying notes and cents.
-//
-// Interally, this is abstracted away into a 'block_freq' value, which is a
-// 16-bit value containing the block and frequency info concatenated together
-// as follows:
-//
-// OPM: [3-bit block]:[4-bit keycode]:[6-bit fraction] = 13 bits total
-//
-// OPN: [3-bit block]:[11-bit fnum] = 14 bits total
-// OPL: [3-bit block]:[10-bit fnum]:0 = 14 bits total
-// OPLL: [3-bit block]:[ 9-bit fnum]:00 = 14 bits total
-//
-// Template specialization in functions that interpret the 'block_freq' value
-// is used to deconstruct it appropriately (specifically, see clock_phase).
-//
-//
-// LOW FREQUENCY OSCILLATOR (LFO)
-//
-// The LFO engines are different in several key ways. The OPM LFO engine is
-// fairly intricate. It has a 4.4 floating-point rate which allows for a huge
-// range of frequencies, and can select between four different waveforms
-// (sawtooth, square, triangle, or noise). Separate 7-bit depth controls for
-// AM and PM control the amount of modulation applied in each case. This
-// global LFO value is then further controlled at the channel level by a 2-bit
-// AM sensitivity and a 3-bit PM sensitivity, and each operator has a 1-bit AM
-// on/off switch.
-//
-// For OPN the LFO engine was removed entirely, but a limited version was put
-// back in OPNA and later chips. This stripped-down version offered only a
-// 3-bit rate setting (versus the 4.4 floating-point rate in OPN), and no
-// depth control. It did bring back the channel-level sensitivity controls and
-// the operator-level on/off control.
-//
-// For OPL, the LFO is simplified again, with AM and PM running at fixed
-// frequencies, and simple enable flags at the operator level for each
-// controlling their application.
-//
-//
-// DIFFERENCES BETWEEN FAMILIES
-//
-// The table below provides some high level functional differences between the
-// differnet families:
-//
-// +--------++-----------------++-----------------------------------+
-// family: | OPM || OPN || OPL |
-// +--------++--------+--------++--------+--------+--------+--------+
-// subfamily: | OPM || OPN | OPNA || OPL | OPL2 | OPLL | OPL3 |
-// +--------++--------+--------++--------+--------+--------+--------+
-// outputs: | 2 || 1 | 2 || 1 | 1 | 1 | 4 |
-// channels: | 8 || 3 | 6 || 9 | 9 | 9 | 18 |
-// operators: | 32 || 12 | 24 || 18 | 18 | 18 | 36 |
-// waveforms: | 1 || 1 | 1 || 1 | 4 | 2 | 8 |
-// instruments: | no || no | no || yes | yes | yes | yes |
-// ryhthm: | no || no | no || no | no | yes | no |
-// dynamic ops: | no || no | no || no | no | no | yes |
-// prescale: | 2 || 2/3/6 | 2/3/6 || 4 | 4 | 4 | 8 |
-// EG divider: | 3 || 3 | 3 || 1 | 1 | 1 | 1 |
-// EG DP: | no || no | no || no | no | yes | no |
-// EG SSG: | no || yes | yes || no | no | no | no |
-// mod delay: | no || no | no || yes | yes | yes? | no |
-// CSM: | yes || ch 2 | ch 2 || yes | yes | yes | no |
-// LFO: | yes || no | yes || yes | yes | yes | yes |
-// noise: | yes || no | no || no | no | no | no |
-// +--------++--------+--------++--------+--------+--------+--------+
-//
-// Outputs represents the number of output channels: 1=mono, 2=stereo, 4=stereo+.
-// Channels represents the number of independent FM channels.
-// Operators represents the number of operators, or "slots" which are assembled
-// into the channels.
-// Waveforms represents the number of different sine-derived waveforms available.
-// Instruments indicates whether the family has built-in instruments.
-// Rhythm indicates whether the family has a built-in rhythm
-// Dynamic ops indicates whether it is possible to switch between 2-operator and
-// 4-operator modes dynamically.
-// Prescale specifies the default clock divider; some chips allow this to be
-// controlled via register writes.
-// EG divider represents the divider applied to the envelope generator clock.
-// EG DP indicates whether the envelope generator includes a DP (depress?) phase
-// at the beginning of each key on.
-// SSG EG indicates whether the envelope generator has SSG-style support.
-// Mod delay indicates whether the connection to the first modulator's input is
-// delayed by 1 sample.
-// CSM indicates whether CSM mode is supported, triggered by timer A.
-// LFO indicates whether LFO is supported.
-// Noise indicates whether one of the operators can be replaced with a noise source.
-//
-//
-// CHIP SPECIFICS
-//
-// While OPM is its own thing, the OPN and OPL families have quite a few specific
-// implementations, with many differing details beyond the core FM parts. Here are
-// some details on the OPN family:
-//
-// +--------++--------+--------++--------+---------++--------+--------+--------+
-// chip ID: | YM2203 || YM2608 | YMF288 || YM2610 | YM2610B || YM2612 | YM3438 | YMF276 |
-// +--------++--------+--------++--------+---------++--------+--------+--------+
-// aka: | OPN || OPNA | OPN3 || OPNB | OPNB2 || OPN2 | OPN2C | OPN2L |
-// FM: | 3 || 6 | 6 || 4 | 6 || 6 | 6 | 6 |
-// AY-8910: | 3 || 3 | 3 || 3 | 3 || - | - | - |
-// ADPCM-A: | - || 6 int | 6 int || 6 ext | 6 ext || - | - | - |
-// ADPCM-B: | - || 1 ext | - || 1 ext | 1 ext || - | - | - |
-// DAC: | no || no | no || no | no || yes | yes | yes |
-// output: | 10.3fp || 16-bit | 16-bit || 16-bit | 16-bit || 9-bit | 9-bit | 16-bit |
-// summing: | adder || adder | adder || adder | adder || muxer | muxer | adder |
-// +--------++--------+--------++--------+---------++--------+--------+--------+
-//
-// FM represents the number of FM channels available.
-// AY-8910 represents the number of AY-8910-compatible channels that are built in.
-// ADPCM-A represents the number of internal/external ADPCM-A channels present.
-// ADPCM-B represents the number of internal/external ADPCM-B channels present.
-// DAC indicates if a directly-accessible DAC output exists, replacing one channel.
-// Output indicates the output format to the final DAC.
-// Summing indicates whether channels are added or time divided in the output.
-//
-// OPL has a similar trove of chip variants:
-//
-// +--------+---------++--------++--------++--------++---------+
-// chip ID: | YM3526 | Y8950 || YM3812 || YM2413 || YMF262 || YMF278B |
-// +--------+---------++--------++--------++--------++---------+
-// aka: | OPL |MSX-AUDIO|| OPL2 || OPLL || OPL3 || OPL4 |
-// FM: | 9 | 9 || 9 || 9 || 18 || 18 |
-// ADPCM-B: | - | 1 ext || - || - || - || - |
-// wavetable: | - | - || - || - || - || 24 |
-// instruments: | no | no || no || yes || no || no |
-// output: | 10.3fp | 10.3fp || 10.3fp || 9-bit || 16-bit || 16-bit |
-// summing: | adder | adder || adder || muxer || adder || adder |
-// +--------+---------++--------++--------++--------++---------+
-//
-// FM represents the number of FM channels available.
-// ADPCM-B represents the number of external ADPCM-B channels present.
-// Wavetable indicates the number of wavetable channels present.
-// Instruments indicates that the chip has built-in instrument selection.
-// Output indicates the output format to the final DAC.
-// Summing indicates whether channels are added or time divided in the output.
-//
-// There are several close variants of the YM2413 with different sets of built-
-// in instruments. These include the YM2423, YMF281, and DS1001 (aka Konami VRC7).
-//
-// ===================================================================================
-//
-// OPN Test Bit Functions (YM2612)
-// $21:0: Select which of two unknown signals is read as bit 14 of the test read output.
-// $21:1: Some LFO control, unknown function.
-// $21:2: Timers increment once every internal clock rather than once every sample. (Untested by me)
-// $21:3: Freezes PG. Presumably disables writebacks to the phase register.
-// $21:4: Ugly bit. Inverts MSB of operators.
-// $21:5: Freezes EG. Presumably disables writebacks to the envelope counter register.
-// Unknown whether this affects the other EG state bits.
-// $21:6: Enable reading test data from OPN2 rather than status flags.
-// $21:7: Select LSB (1) or MSB (0) of read test data. (Yes, it's backwards.)
-// $2C:2 downto 0: Ignored by OPN2, confirmed by die shot.
-// $2C:3: Bit 0 of Channel 6 DAC value
-// $2C:4: Read 9-bit channel output (1) instead of 14-bit operator output (0)
-// $2C:5: Play DAC output over all channels (possibly except for Channel 5--in my testing
-// the DAC is the only thing you hear and it's much louder, you do not get any output
-// from Channel 5; but someone else supposedly found that the pan flags for Channel 5
-// don't affect the panning of this sound, which is only possible if it's not being
-// output during that time slot for some reason. I don't have any other reason to
-// believe this is true though).
-// $2C:6: Select function of TEST pin input--both unknown functions.
-// $2C:7: Set the TEST pin to be an output (1) instead of input (0).
-//
-
-
-//*********************************************************
-// GLOBAL TABLE LOOKUPS
-//*********************************************************
-
-//-------------------------------------------------
-// abs_sin_attenuation - given a sin (phase) input
-// where the range 0-2*PI is mapped onto 10 bits,
-// return the absolute value of sin(input),
-// logarithmically-adjusted and treated as an
-// attenuation value, in 4.8 fixed point format
-//-------------------------------------------------
-
-inline u32 abs_sin_attenuation(u32 input)
-{
- // the values here are stored as 4.8 logarithmic values for 1/4 phase
- // this matches the internal format of the OPN chip, extracted from the die
- static u16 const s_sin_table[256] =
- {
- 0x859,0x6c3,0x607,0x58b,0x52e,0x4e4,0x4a6,0x471,0x443,0x41a,0x3f5,0x3d3,0x3b5,0x398,0x37e,0x365,
- 0x34e,0x339,0x324,0x311,0x2ff,0x2ed,0x2dc,0x2cd,0x2bd,0x2af,0x2a0,0x293,0x286,0x279,0x26d,0x261,
- 0x256,0x24b,0x240,0x236,0x22c,0x222,0x218,0x20f,0x206,0x1fd,0x1f5,0x1ec,0x1e4,0x1dc,0x1d4,0x1cd,
- 0x1c5,0x1be,0x1b7,0x1b0,0x1a9,0x1a2,0x19b,0x195,0x18f,0x188,0x182,0x17c,0x177,0x171,0x16b,0x166,
- 0x160,0x15b,0x155,0x150,0x14b,0x146,0x141,0x13c,0x137,0x133,0x12e,0x129,0x125,0x121,0x11c,0x118,
- 0x114,0x10f,0x10b,0x107,0x103,0x0ff,0x0fb,0x0f8,0x0f4,0x0f0,0x0ec,0x0e9,0x0e5,0x0e2,0x0de,0x0db,
- 0x0d7,0x0d4,0x0d1,0x0cd,0x0ca,0x0c7,0x0c4,0x0c1,0x0be,0x0bb,0x0b8,0x0b5,0x0b2,0x0af,0x0ac,0x0a9,
- 0x0a7,0x0a4,0x0a1,0x09f,0x09c,0x099,0x097,0x094,0x092,0x08f,0x08d,0x08a,0x088,0x086,0x083,0x081,
- 0x07f,0x07d,0x07a,0x078,0x076,0x074,0x072,0x070,0x06e,0x06c,0x06a,0x068,0x066,0x064,0x062,0x060,
- 0x05e,0x05c,0x05b,0x059,0x057,0x055,0x053,0x052,0x050,0x04e,0x04d,0x04b,0x04a,0x048,0x046,0x045,
- 0x043,0x042,0x040,0x03f,0x03e,0x03c,0x03b,0x039,0x038,0x037,0x035,0x034,0x033,0x031,0x030,0x02f,
- 0x02e,0x02d,0x02b,0x02a,0x029,0x028,0x027,0x026,0x025,0x024,0x023,0x022,0x021,0x020,0x01f,0x01e,
- 0x01d,0x01c,0x01b,0x01a,0x019,0x018,0x017,0x017,0x016,0x015,0x014,0x014,0x013,0x012,0x011,0x011,
- 0x010,0x00f,0x00f,0x00e,0x00d,0x00d,0x00c,0x00c,0x00b,0x00a,0x00a,0x009,0x009,0x008,0x008,0x007,
- 0x007,0x007,0x006,0x006,0x005,0x005,0x005,0x004,0x004,0x004,0x003,0x003,0x003,0x002,0x002,0x002,
- 0x002,0x001,0x001,0x001,0x001,0x001,0x001,0x001,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000
- };
-
- // if the top bit is set, we're in the second half of the curve
- // which is a mirror image, so invert the index
- if (BIT(input, 8))
- input = ~input;
-
- // return the value from the table
- return s_sin_table[input & 0xff];
-}
-
-
-//-------------------------------------------------
-// attenuation_to_volume - given a 5.8 fixed point
-// logarithmic attenuation value, return a 13-bit
-// linear volume
-//-------------------------------------------------
-
-inline u32 attenuation_to_volume(u32 input)
-{
- // the values here are 10-bit mantissas with an implied leading bit
- // this matches the internal format of the OPN chip, extracted from the die
-
- // as a nod to performance, the implicit 0x400 bit is pre-incorporated, and
- // the values are left-shifted by 2 so that a simple right shift is all that
- // is needed; also the order is reversed to save a NOT on the input
-#define X(a) ((a | 0x400) << 2)
- static u16 const s_power_table[256] =
- {
- X(0x3fa),X(0x3f5),X(0x3ef),X(0x3ea),X(0x3e4),X(0x3df),X(0x3da),X(0x3d4),
- X(0x3cf),X(0x3c9),X(0x3c4),X(0x3bf),X(0x3b9),X(0x3b4),X(0x3ae),X(0x3a9),
- X(0x3a4),X(0x39f),X(0x399),X(0x394),X(0x38f),X(0x38a),X(0x384),X(0x37f),
- X(0x37a),X(0x375),X(0x370),X(0x36a),X(0x365),X(0x360),X(0x35b),X(0x356),
- X(0x351),X(0x34c),X(0x347),X(0x342),X(0x33d),X(0x338),X(0x333),X(0x32e),
- X(0x329),X(0x324),X(0x31f),X(0x31a),X(0x315),X(0x310),X(0x30b),X(0x306),
- X(0x302),X(0x2fd),X(0x2f8),X(0x2f3),X(0x2ee),X(0x2e9),X(0x2e5),X(0x2e0),
- X(0x2db),X(0x2d6),X(0x2d2),X(0x2cd),X(0x2c8),X(0x2c4),X(0x2bf),X(0x2ba),
- X(0x2b5),X(0x2b1),X(0x2ac),X(0x2a8),X(0x2a3),X(0x29e),X(0x29a),X(0x295),
- X(0x291),X(0x28c),X(0x288),X(0x283),X(0x27f),X(0x27a),X(0x276),X(0x271),
- X(0x26d),X(0x268),X(0x264),X(0x25f),X(0x25b),X(0x257),X(0x252),X(0x24e),
- X(0x249),X(0x245),X(0x241),X(0x23c),X(0x238),X(0x234),X(0x230),X(0x22b),
- X(0x227),X(0x223),X(0x21e),X(0x21a),X(0x216),X(0x212),X(0x20e),X(0x209),
- X(0x205),X(0x201),X(0x1fd),X(0x1f9),X(0x1f5),X(0x1f0),X(0x1ec),X(0x1e8),
- X(0x1e4),X(0x1e0),X(0x1dc),X(0x1d8),X(0x1d4),X(0x1d0),X(0x1cc),X(0x1c8),
- X(0x1c4),X(0x1c0),X(0x1bc),X(0x1b8),X(0x1b4),X(0x1b0),X(0x1ac),X(0x1a8),
- X(0x1a4),X(0x1a0),X(0x19c),X(0x199),X(0x195),X(0x191),X(0x18d),X(0x189),
- X(0x185),X(0x181),X(0x17e),X(0x17a),X(0x176),X(0x172),X(0x16f),X(0x16b),
- X(0x167),X(0x163),X(0x160),X(0x15c),X(0x158),X(0x154),X(0x151),X(0x14d),
- X(0x149),X(0x146),X(0x142),X(0x13e),X(0x13b),X(0x137),X(0x134),X(0x130),
- X(0x12c),X(0x129),X(0x125),X(0x122),X(0x11e),X(0x11b),X(0x117),X(0x114),
- X(0x110),X(0x10c),X(0x109),X(0x106),X(0x102),X(0x0ff),X(0x0fb),X(0x0f8),
- X(0x0f4),X(0x0f1),X(0x0ed),X(0x0ea),X(0x0e7),X(0x0e3),X(0x0e0),X(0x0dc),
- X(0x0d9),X(0x0d6),X(0x0d2),X(0x0cf),X(0x0cc),X(0x0c8),X(0x0c5),X(0x0c2),
- X(0x0be),X(0x0bb),X(0x0b8),X(0x0b5),X(0x0b1),X(0x0ae),X(0x0ab),X(0x0a8),
- X(0x0a4),X(0x0a1),X(0x09e),X(0x09b),X(0x098),X(0x094),X(0x091),X(0x08e),
- X(0x08b),X(0x088),X(0x085),X(0x082),X(0x07e),X(0x07b),X(0x078),X(0x075),
- X(0x072),X(0x06f),X(0x06c),X(0x069),X(0x066),X(0x063),X(0x060),X(0x05d),
- X(0x05a),X(0x057),X(0x054),X(0x051),X(0x04e),X(0x04b),X(0x048),X(0x045),
- X(0x042),X(0x03f),X(0x03c),X(0x039),X(0x036),X(0x033),X(0x030),X(0x02d),
- X(0x02a),X(0x028),X(0x025),X(0x022),X(0x01f),X(0x01c),X(0x019),X(0x016),
- X(0x014),X(0x011),X(0x00e),X(0x00b),X(0x008),X(0x006),X(0x003),X(0x000)
- };
-#undef X
-
- // look up the fractional part, then shift by the whole
- return s_power_table[input & 0xff] >> (input >> 8);
-}
-
-
-//-------------------------------------------------
-// attenuation_increment - given a 6-bit ADSR
-// rate value and a 3-bit stepping index,
-// return a 4-bit increment to the attenutaion
-// for this step (or for the attack case, the
-// fractional scale factor to decrease by)
-//-------------------------------------------------
-
-inline u32 attenuation_increment(u32 rate, u32 index)
-{
- static u32 const s_increment_table[64] =
- {
- 0x00000000, 0x00000000, 0x10101010, 0x10101010, // 0-3 (0x00-0x03)
- 0x10101010, 0x10101010, 0x11101110, 0x11101110, // 4-7 (0x04-0x07)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 8-11 (0x08-0x0B)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 12-15 (0x0C-0x0F)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 16-19 (0x10-0x13)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 20-23 (0x14-0x17)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 24-27 (0x18-0x1B)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 28-31 (0x1C-0x1F)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 32-35 (0x20-0x23)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 36-39 (0x24-0x27)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 40-43 (0x28-0x2B)
- 0x10101010, 0x10111010, 0x11101110, 0x11111110, // 44-47 (0x2C-0x2F)
- 0x11111111, 0x21112111, 0x21212121, 0x22212221, // 48-51 (0x30-0x33)
- 0x22222222, 0x42224222, 0x42424242, 0x44424442, // 52-55 (0x34-0x37)
- 0x44444444, 0x84448444, 0x84848484, 0x88848884, // 56-59 (0x38-0x3B)
- 0x88888888, 0x88888888, 0x88888888, 0x88888888 // 60-63 (0x3C-0x3F)
- };
- return BIT(s_increment_table[rate], 4*index, 4);
-}
-
-
-//-------------------------------------------------
-// detune_adjustment - given a 5-bit key code
-// value and a 3-bit detune parameter, return a
-// 6-bit signed phase displacement; this table
-// has been verified against Nuked's equations,
-// but the equations are rather complicated, so
-// we'll keep the simplicity of the table
-//-------------------------------------------------
-
-inline s32 detune_adjustment(u32 detune, u32 keycode)
-{
- static u8 const s_detune_adjustment[32][4] =
- {
- { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 },
- { 0, 1, 2, 2 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 },
- { 0, 1, 2, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 5 },
- { 0, 2, 4, 5 }, { 0, 2, 4, 6 }, { 0, 2, 4, 6 }, { 0, 2, 5, 7 },
- { 0, 2, 5, 8 }, { 0, 3, 6, 8 }, { 0, 3, 6, 9 }, { 0, 3, 7, 10 },
- { 0, 4, 8, 11 }, { 0, 4, 8, 12 }, { 0, 4, 9, 13 }, { 0, 5, 10, 14 },
- { 0, 5, 11, 16 }, { 0, 6, 12, 17 }, { 0, 6, 13, 19 }, { 0, 7, 14, 20 },
- { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }
- };
- s32 result = s_detune_adjustment[keycode][detune & 3];
- return BIT(detune, 2) ? -result : result;
-}
-
-
-//-------------------------------------------------
-// opn_lfo_pm_phase_adjustment - given the 7 most
-// significant frequency number bits, plus a 3-bit
-// PM depth value and a signed 5-bit raw PM value,
-// return a signed PM adjustment to the frequency;
-// algorithm written to match Nuked behavior
-//-------------------------------------------------
-
-inline s32 opn_lfo_pm_phase_adjustment(u32 fnum_bits, u32 pm_sensitivity, s32 lfo_raw_pm)
-{
- // this table encodes 2 shift values to apply to the top 7 bits
- // of fnum; it is effectively a cheap multiply by a constant
- // value containing 0-2 bits
- static u8 const s_lfo_pm_shifts[8][8] =
- {
- { 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77 },
- { 0x77, 0x77, 0x77, 0x77, 0x72, 0x72, 0x72, 0x72 },
- { 0x77, 0x77, 0x77, 0x72, 0x72, 0x72, 0x17, 0x17 },
- { 0x77, 0x77, 0x72, 0x72, 0x17, 0x17, 0x12, 0x12 },
- { 0x77, 0x77, 0x72, 0x17, 0x17, 0x17, 0x12, 0x07 },
- { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 },
- { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 },
- { 0x77, 0x77, 0x17, 0x12, 0x07, 0x07, 0x02, 0x01 }
- };
-
- // look up the relevant shifts
- s32 abs_pm = (lfo_raw_pm < 0) ? -lfo_raw_pm : lfo_raw_pm;
- u32 const shifts = s_lfo_pm_shifts[pm_sensitivity][BIT(abs_pm, 0, 3)];
-
- // compute the adjustment
- s32 adjust = (fnum_bits >> BIT(shifts, 0, 4)) + (fnum_bits >> BIT(shifts, 4, 4));
- if (pm_sensitivity > 5)
- adjust <<= pm_sensitivity - 5;
- adjust >>= 2;
-
- // every 16 cycles it inverts sign
- return (lfo_raw_pm < 0) ? -adjust : adjust;
-}
-
-
-//-------------------------------------------------
-// opm_key_code_to_phase_step - converts an
-// OPM concatenated block (3 bits), keycode
-// (4 bits) and key fraction (6 bits) to a 0.10
-// phase step, after applying the given delta
-//-------------------------------------------------
-
-inline u32 opm_key_code_to_phase_step(u32 block_freq, s32 delta)
-{
- // The phase step is essentially the fnum in OPN-speak. To compute this table,
- // we used the standard formula for computing the frequency of a note, and
- // then converted that frequency to fnum using the formula documented in the
- // YM2608 manual.
- //
- // However, the YM2608 manual describes everything in terms of a nominal 8MHz
- // clock, which produces an FM clock of:
- //
- // 8000000 / 24(operators) / 6(prescale) = 55555Hz FM clock
- //
- // Whereas the descriptions for the YM2151 use a nominal 3.579545MHz clock:
- //
- // 3579545 / 32(operators) / 2(prescale) = 55930Hz FM clock
- //
- // To correct for this, the YM2608 formula was adjusted to use a clock of
- // 8053920Hz, giving this equation for the fnum:
- //
- // fnum = (double(144) * freq * (1 << 20)) / double(8053920) / 4;
- //
- // Unfortunately, the computed table differs in a few spots from the data
- // verified from an actual chip. The table below comes from David Viens'
- // analysis, used with his permission.
- static const u32 s_phase_step[12*64] =
- {
- 41568,41600,41632,41664,41696,41728,41760,41792,41856,41888,41920,41952,42016,42048,42080,42112,
- 42176,42208,42240,42272,42304,42336,42368,42400,42464,42496,42528,42560,42624,42656,42688,42720,
- 42784,42816,42848,42880,42912,42944,42976,43008,43072,43104,43136,43168,43232,43264,43296,43328,
- 43392,43424,43456,43488,43552,43584,43616,43648,43712,43744,43776,43808,43872,43904,43936,43968,
- 44032,44064,44096,44128,44192,44224,44256,44288,44352,44384,44416,44448,44512,44544,44576,44608,
- 44672,44704,44736,44768,44832,44864,44896,44928,44992,45024,45056,45088,45152,45184,45216,45248,
- 45312,45344,45376,45408,45472,45504,45536,45568,45632,45664,45728,45760,45792,45824,45888,45920,
- 45984,46016,46048,46080,46144,46176,46208,46240,46304,46336,46368,46400,46464,46496,46528,46560,
- 46656,46688,46720,46752,46816,46848,46880,46912,46976,47008,47072,47104,47136,47168,47232,47264,
- 47328,47360,47392,47424,47488,47520,47552,47584,47648,47680,47744,47776,47808,47840,47904,47936,
- 48032,48064,48096,48128,48192,48224,48288,48320,48384,48416,48448,48480,48544,48576,48640,48672,
- 48736,48768,48800,48832,48896,48928,48992,49024,49088,49120,49152,49184,49248,49280,49344,49376,
- 49440,49472,49504,49536,49600,49632,49696,49728,49792,49824,49856,49888,49952,49984,50048,50080,
- 50144,50176,50208,50240,50304,50336,50400,50432,50496,50528,50560,50592,50656,50688,50752,50784,
- 50880,50912,50944,50976,51040,51072,51136,51168,51232,51264,51328,51360,51424,51456,51488,51520,
- 51616,51648,51680,51712,51776,51808,51872,51904,51968,52000,52064,52096,52160,52192,52224,52256,
- 52384,52416,52448,52480,52544,52576,52640,52672,52736,52768,52832,52864,52928,52960,52992,53024,
- 53120,53152,53216,53248,53312,53344,53408,53440,53504,53536,53600,53632,53696,53728,53792,53824,
- 53920,53952,54016,54048,54112,54144,54208,54240,54304,54336,54400,54432,54496,54528,54592,54624,
- 54688,54720,54784,54816,54880,54912,54976,55008,55072,55104,55168,55200,55264,55296,55360,55392,
- 55488,55520,55584,55616,55680,55712,55776,55808,55872,55936,55968,56032,56064,56128,56160,56224,
- 56288,56320,56384,56416,56480,56512,56576,56608,56672,56736,56768,56832,56864,56928,56960,57024,
- 57120,57152,57216,57248,57312,57376,57408,57472,57536,57568,57632,57664,57728,57792,57824,57888,
- 57952,57984,58048,58080,58144,58208,58240,58304,58368,58400,58464,58496,58560,58624,58656,58720,
- 58784,58816,58880,58912,58976,59040,59072,59136,59200,59232,59296,59328,59392,59456,59488,59552,
- 59648,59680,59744,59776,59840,59904,59936,60000,60064,60128,60160,60224,60288,60320,60384,60416,
- 60512,60544,60608,60640,60704,60768,60800,60864,60928,60992,61024,61088,61152,61184,61248,61280,
- 61376,61408,61472,61536,61600,61632,61696,61760,61824,61856,61920,61984,62048,62080,62144,62208,
- 62272,62304,62368,62432,62496,62528,62592,62656,62720,62752,62816,62880,62944,62976,63040,63104,
- 63200,63232,63296,63360,63424,63456,63520,63584,63648,63680,63744,63808,63872,63904,63968,64032,
- 64096,64128,64192,64256,64320,64352,64416,64480,64544,64608,64672,64704,64768,64832,64896,64928,
- 65024,65056,65120,65184,65248,65312,65376,65408,65504,65536,65600,65664,65728,65792,65856,65888,
- 65984,66016,66080,66144,66208,66272,66336,66368,66464,66496,66560,66624,66688,66752,66816,66848,
- 66944,66976,67040,67104,67168,67232,67296,67328,67424,67456,67520,67584,67648,67712,67776,67808,
- 67904,67936,68000,68064,68128,68192,68256,68288,68384,68448,68512,68544,68640,68672,68736,68800,
- 68896,68928,68992,69056,69120,69184,69248,69280,69376,69440,69504,69536,69632,69664,69728,69792,
- 69920,69952,70016,70080,70144,70208,70272,70304,70400,70464,70528,70560,70656,70688,70752,70816,
- 70912,70976,71040,71104,71136,71232,71264,71360,71424,71488,71552,71616,71648,71744,71776,71872,
- 71968,72032,72096,72160,72192,72288,72320,72416,72480,72544,72608,72672,72704,72800,72832,72928,
- 72992,73056,73120,73184,73216,73312,73344,73440,73504,73568,73632,73696,73728,73824,73856,73952,
- 74080,74144,74208,74272,74304,74400,74432,74528,74592,74656,74720,74784,74816,74912,74944,75040,
- 75136,75200,75264,75328,75360,75456,75488,75584,75648,75712,75776,75840,75872,75968,76000,76096,
- 76224,76288,76352,76416,76448,76544,76576,76672,76736,76800,76864,76928,77024,77120,77152,77248,
- 77344,77408,77472,77536,77568,77664,77696,77792,77856,77920,77984,78048,78144,78240,78272,78368,
- 78464,78528,78592,78656,78688,78784,78816,78912,78976,79040,79104,79168,79264,79360,79392,79488,
- 79616,79680,79744,79808,79840,79936,79968,80064,80128,80192,80256,80320,80416,80512,80544,80640,
- 80768,80832,80896,80960,80992,81088,81120,81216,81280,81344,81408,81472,81568,81664,81696,81792,
- 81952,82016,82080,82144,82176,82272,82304,82400,82464,82528,82592,82656,82752,82848,82880,82976
- };
-
- // extract the block (octave) first
- u32 block = BIT(block_freq, 10, 3);
-
- // the keycode (bits 6-9) is "gappy", mapping 12 values over 16 in each
- // octave; to correct for this, we multiply the 4-bit value by 3/4 (or
- // rather subtract 1/4); note that a (invalid) value of 15 will bleed into
- // the next octave -- this is confirmed
- u32 adjusted_code = BIT(block_freq, 6, 4) - BIT(block_freq, 8, 2);
-
- // now re-insert the 6-bit fraction
- s32 eff_freq = (adjusted_code << 6) | BIT(block_freq, 0, 6);
-
- // now that the gaps are removed, add the delta
- eff_freq += delta;
-
- // handle over/underflow by adjusting the block:
- if (u32(eff_freq) >= 768)
- {
- // minimum delta is -512 (PM), so we can only underflow by 1 octave
- if (eff_freq < 0)
- {
- eff_freq += 768;
- if (block-- == 0)
- return s_phase_step[0] >> 7;
- }
-
- // maximum delta is +512+608 (PM+detune), so we can overflow by up to 2 octaves
- else
- {
- eff_freq -= 768;
- if (eff_freq >= 768)
- block++, eff_freq -= 768;
- if (block++ >= 7)
- return s_phase_step[767];
- }
- }
-
- // look up the phase shift for the key code, then shift by octave
- return s_phase_step[eff_freq] >> (block ^ 7);
-}
-
-
-//-------------------------------------------------
-// opl_key_scale_atten - converts an
-// OPL concatenated block (3 bits) and fnum
-// (10 bits) into an attenuation offset; values
-// here are for 6dB/octave, in 0.75dB units
-// (matching total level LSB)
-//-------------------------------------------------
-
-inline u32 opl_key_scale_atten(u32 block, u32 fnum_4msb)
-{
- // this table uses the top 4 bits of FNUM and are the maximal values
- // (for when block == 7). Values for other blocks can be computed by
- // subtracting 8 for each block below 7.
- static u8 const fnum_to_atten[16] = { 0,24,32,37,40,43,45,47,48,50,51,52,53,54,55,56 };
- s32 result = fnum_to_atten[fnum_4msb] - 8 * (block ^ 7);
- return std::max<s32>(0, result);
-}
-
-
-
-//*********************************************************
-// OPM SPECIFICS
-//*********************************************************
-
-//-------------------------------------------------
-// ymopm_registers - constructor
-//-------------------------------------------------
-
-ymopm_registers::ymopm_registers() :
- m_lfo_counter(0),
- m_noise_lfsr(1),
- m_noise_counter(0),
- m_noise_state(0),
- m_noise_lfo(0),
- m_lfo_am(0)
-{
- // create the waveforms
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- m_waveform[0][index] = abs_sin_attenuation(index) | (BIT(index, 9) << 15);
-
- // create the LFO waveforms; AM in the low 8 bits, PM in the upper 8
- // waveforms are adjusted to match the pictures in the application manual
- for (int index = 0; index < LFO_WAVEFORM_LENGTH; index++)
- {
- // waveform 0 is a sawtooth
- u8 am = index ^ 0xff;
- s8 pm = s8(index);
- m_lfo_waveform[0][index] = am | (pm << 8);
-
- // waveform 1 is a square wave
- am = BIT(index, 7) ? 0 : 0xff;
- pm = s8(am ^ 0x80);
- m_lfo_waveform[1][index] = am | (pm << 8);
-
- // waveform 2 is a triangle wave
- am = BIT(index, 7) ? (index << 1) : ((index ^ 0xff) << 1);
- pm = s8(BIT(index, 6) ? am : ~am);
- m_lfo_waveform[2][index] = am | (pm << 8);
-
- // waveform 3 is noise; it is filled in dynamically
- }
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-void ymopm_registers::save(device_t &device)
-{
- device.save_item(YMFM_NAME(m_lfo_counter));
- device.save_item(YMFM_NAME(m_lfo_am));
- device.save_item(YMFM_NAME(m_noise_lfsr));
- device.save_item(YMFM_NAME(m_noise_counter));
- device.save_item(YMFM_NAME(m_noise_state));
- device.save_item(YMFM_NAME(m_noise_lfo));
- device.save_item(YMFM_NAME(m_regdata));
-}
-
-
-//-------------------------------------------------
-// reset - reset to initial state
-//-------------------------------------------------
-
-void ymopm_registers::reset()
-{
- std::fill_n(&m_regdata[0], REGISTERS, 0);
-
- // enable output on both channels by default
- m_regdata[0x20] = m_regdata[0x21] = m_regdata[0x22] = m_regdata[0x23] = 0xc0;
- m_regdata[0x24] = m_regdata[0x25] = m_regdata[0x26] = m_regdata[0x27] = 0xc0;
-}
-
-
-//-------------------------------------------------
-// operator_map - return an array of operator
-// indices for each channel; for OPM this is fixed
-//-------------------------------------------------
-
-void ymopm_registers::operator_map(operator_mapping &dest) const
-{
- // Note that the channel index order is 0,2,1,3, so we bitswap the index.
- //
- // This is because the order in the map is:
- // carrier 1, carrier 2, modulator 1, modulator 2
- //
- // But when wiring up the connections, the more natural order is:
- // carrier 1, modulator 1, carrier 2, modulator 2
- static const operator_mapping s_fixed_map =
- { {
- operator_list( 0, 16, 8, 24 ), // Channel 0 operators
- operator_list( 1, 17, 9, 25 ), // Channel 1 operators
- operator_list( 2, 18, 10, 26 ), // Channel 2 operators
- operator_list( 3, 19, 11, 27 ), // Channel 3 operators
- operator_list( 4, 20, 12, 28 ), // Channel 4 operators
- operator_list( 5, 21, 13, 29 ), // Channel 5 operators
- operator_list( 6, 22, 14, 30 ), // Channel 6 operators
- operator_list( 7, 23, 15, 31 ), // Channel 7 operators
- } };
- dest = s_fixed_map;
-}
-
-
-//-------------------------------------------------
-// write - handle writes to the register array
-//-------------------------------------------------
-
-bool ymopm_registers::write(u16 index, u8 data, u32 &channel, u32 &opmask)
-{
- assert(index < REGISTERS);
-
- // LFO AM/PM depth are written to the same register (0x19);
- // redirect the PM depth to an unused neighbor (0x1a)
- if (index == 0x19)
- m_regdata[index + BIT(data, 7)] = data;
- else if (index != 0x1a)
- m_regdata[index] = data;
-
- // handle writes to the key on index
- if (index == 0x08)
- {
- channel = BIT(data, 0, 3);
- opmask = BIT(data, 3, 4);
- return true;
- }
- return false;
-}
-
-
-//-------------------------------------------------
-// clock_noise_and_lfo - clock the noise and LFO,
-// handling clock division, depth, and waveform
-// computations
-//-------------------------------------------------
-
-s32 ymopm_registers::clock_noise_and_lfo()
-{
- // base noise frequency is measured at 2x 1/2 FM frequency; this
- // means each tick counts as two steps against the noise counter
- u32 freq = noise_frequency();
- for (int rep = 0; rep < 2; rep++)
- {
- // evidence seems to suggest the LFSR is clocked continually and just
- // sampled at the noise frequency for output purposes; note that the
- // low 8 bits are the most recent 8 bits of history while bits 8-24
- // contain the 17 bit LFSR state
- m_noise_lfsr <<= 1;
- m_noise_lfsr |= BIT(m_noise_lfsr, 17) ^ BIT(m_noise_lfsr, 14) ^ 1;
-
- // compare against the frequency and latch when we exceed it
- if (m_noise_counter++ >= freq)
- {
- m_noise_counter = 0;
- m_noise_state = BIT(m_noise_lfsr, 17);
- }
- }
-
- // treat the rate as a 4.4 floating-point step value with implied
- // leading 1; this matches exactly the frequencies in the application
- // manual, though it might not be implemented exactly this way on chip
- u32 rate = lfo_rate();
- m_lfo_counter += (0x10 | BIT(rate, 0, 4)) << BIT(rate, 4, 4);
- u32 lfo = BIT(m_lfo_counter, 22, 8);
-
- // fill in the noise entry 1 ahead of our current position; this
- // ensures the current value remains stable for a full LFO clock
- // and effectively latches the running value when the LFO advances
- u32 lfo_noise = BIT(m_noise_lfsr, 17, 8);
- m_lfo_waveform[3][(lfo + 1) & 0xff] = lfo_noise | (lfo_noise << 8);
-
- // fetch the AM/PM values based on the waveform; AM is unsigned and
- // encoded in the low 8 bits, while PM signed and encoded in the upper
- // 8 bits
- s32 ampm = m_lfo_waveform[lfo_waveform()][lfo];
-
- // apply depth to the AM value and store for later
- m_lfo_am = ((ampm & 0xff) * lfo_am_depth()) >> 7;
-
- // apply depth to the PM value and return it
- return ((ampm >> 8) * s32(lfo_pm_depth())) >> 7;
-}
-
-
-//-------------------------------------------------
-// lfo_am_offset - return the AM offset from LFO
-// for the given channel
-//-------------------------------------------------
-
-u32 ymopm_registers::lfo_am_offset(u32 choffs) const
-{
- // OPM maps AM quite differently from OPN
-
- // shift value for AM sensitivity is [*, 0, 1, 2],
- // mapping to values of [0, 23.9, 47.8, and 95.6dB]
- u32 am_sensitivity = ch_lfo_am_sens(choffs);
- if (am_sensitivity == 0)
- return 0;
-
- // QUESTION: see OPN note below for the dB range mapping; it applies
- // here as well
-
- // raw LFO AM value on OPM is 0-FF, which is already a factor of 2
- // larger than the OPN below, putting our staring point at 2x theirs;
- // this works out since our minimum is 2x their maximum
- return m_lfo_am << (am_sensitivity - 1);
-}
-
-
-//-------------------------------------------------
-// cache_operator_data - fill the operator cache
-// with prefetched data
-//-------------------------------------------------
-
-void ymopm_registers::cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache)
-{
- // set up the easy stuff
- cache.waveform = &m_waveform[0][0];
-
- // get frequency from the channel
- u32 block_freq = cache.block_freq = ch_block_freq(choffs);
-
- // compute the keycode: block_freq is:
- //
- // BBBCCCCFFFFFF
- // ^^^^^
- //
- // the 5-bit keycode is just the top 5 bits (block + top 2 bits
- // of the key code)
- u32 keycode = BIT(block_freq, 8, 5);
-
- // detune adjustment
- cache.detune = detune_adjustment(op_detune(opoffs), keycode);
-
- // multiple value, as an x.1 value (0 means 0.5)
- cache.multiple = op_multiple(opoffs) * 2;
- if (cache.multiple == 0)
- cache.multiple = 1;
-
- // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
- // block_freq, detune, and multiple, so compute it after we've done those
- if (lfo_pm_depth() == 0 || ch_lfo_pm_sens(choffs) == 0)
- cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
- else
- cache.phase_step = ymfm_opdata_cache::PHASE_STEP_DYNAMIC;
-
- // total level, scaled by 8
- cache.total_level = op_total_level(opoffs) << 3;
-
- // 4-bit sustain level, but 15 means 31 so effectively 5 bits
- cache.eg_sustain = op_sustain_level(opoffs);
- cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
- cache.eg_sustain <<= 5;
-
- // determine KSR adjustment for enevlope rates
- u32 ksrval = keycode >> (op_ksr(opoffs) ^ 3);
- cache.eg_rate[YMFM_ENV_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
- cache.eg_rate[YMFM_ENV_DEPRESS] = 0x3f;
-}
-
-
-//-------------------------------------------------
-// compute_phase_step - compute the phase step
-//-------------------------------------------------
-
-u32 ymopm_registers::compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm)
-{
- // OPM logic is rather unique here, due to extra detune
- // and the use of key codes (not to be confused with keycode)
-
- // start with coarse detune delta; table uses cents value from
- // manual, converted into 1/64ths
- static const s16 s_detune2_delta[4] = { 0, (600*64+50)/100, (781*64+50)/100, (950*64+50)/100 };
- s32 delta = s_detune2_delta[op_detune2(opoffs)];
-
- // add in the PM delta
- u32 pm_sensitivity = ch_lfo_pm_sens(choffs);
- if (pm_sensitivity != 0)
- {
- // raw PM value is -127..128 which is +/- 200 cents
- // manual gives these magnitudes in cents:
- // 0, +/-5, +/-10, +/-20, +/-50, +/-100, +/-400, +/-700
- // this roughly corresponds to shifting the 200-cent value:
- // 0 >> 5, >> 4, >> 3, >> 2, >> 1, << 1, << 2
- if (pm_sensitivity < 6)
- delta += lfo_raw_pm >> (6 - pm_sensitivity);
- else
- delta += lfo_raw_pm << (pm_sensitivity - 5);
- }
-
- // apply delta and convert to a frequency number
- u32 phase_step = opm_key_code_to_phase_step(cache.block_freq, delta);
-
- // apply detune based on the keycode
- phase_step += cache.detune;
-
- // apply frequency multiplier (which is cached as an x.1 value)
- return (phase_step * cache.multiple) >> 1;
-}
-
-
-//-------------------------------------------------
-// log_keyon - log a key-on event
-//-------------------------------------------------
-
-void ymopm_registers::log_keyon(u32 choffs, u32 opoffs)
-{
- u32 chnum = choffs;
- u32 opnum = opoffs;
-
- // don't log masked channels
- if (((global_chanmask >> chnum) & 1) == 0)
- return;
-
- LOG("%d.%02d freq=%04X dt2=%d dt=%d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X out=%c%c",
- chnum, opnum,
- ch_block_freq(choffs),
- op_detune2(opoffs),
- op_detune(opoffs),
- ch_feedback(choffs),
- ch_algorithm(choffs),
- op_multiple(opoffs),
- op_total_level(opoffs),
- op_ksr(opoffs),
- op_attack_rate(opoffs),
- op_decay_rate(opoffs),
- op_sustain_rate(opoffs),
- op_release_rate(opoffs),
- op_sustain_level(opoffs),
- ch_output_0(choffs) ? 'L' : '-',
- ch_output_1(choffs) ? 'R' : '-');
-
- bool am = (lfo_am_depth() != 0 && ch_lfo_am_sens(choffs) != 0 && op_lfo_am_enable(opoffs) != 0);
- if (am)
- LOG(" am=%d/%02X", ch_lfo_am_sens(choffs), lfo_am_depth());
- bool pm = (lfo_pm_depth() != 0 && ch_lfo_pm_sens(choffs) != 0);
- if (pm)
- LOG(" pm=%d/%02X", ch_lfo_pm_sens(choffs), lfo_pm_depth());
- if (am || pm)
- LOG(" lfo=%02X/%c", lfo_rate(), "WQTN"[lfo_waveform()]);
- if (noise_enable() && opoffs == 31)
- LOG(" noise=1");
-}
-
-
-//*********************************************************
-// OPN/OPNA SPECIFICS
-//*********************************************************
-
-//-------------------------------------------------
-// ymopn_registers_base - constructor
-//-------------------------------------------------
-
-template<bool IsOpnA>
-ymopn_registers_base<IsOpnA>::ymopn_registers_base() :
- m_lfo_counter(0),
- m_lfo_am(0)
-{
- // create the waveforms
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- m_waveform[0][index] = abs_sin_attenuation(index) | (BIT(index, 9) << 15);
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-template<bool IsOpnA>
-void ymopn_registers_base<IsOpnA>::save(device_t &device)
-{
- if (IsOpnA)
- {
- device.save_item(YMFM_NAME(m_lfo_counter));
- device.save_item(YMFM_NAME(m_lfo_am));
- }
- device.save_item(YMFM_NAME(m_regdata));
-}
-
-
-//-------------------------------------------------
-// reset - reset to initial state
-//-------------------------------------------------
-
-template<bool IsOpnA>
-void ymopn_registers_base<IsOpnA>::reset()
-{
- std::fill_n(&m_regdata[0], REGISTERS, 0);
- if (IsOpnA)
- {
- // enable output on both channels by default
- m_regdata[0xb4] = m_regdata[0xb5] = m_regdata[0xb6] = 0xc0;
- m_regdata[0x1b4] = m_regdata[0x1b5] = m_regdata[0x1b6] = 0xc0;
- }
-}
-
-
-//-------------------------------------------------
-// operator_map - return an array of operator
-// indices for each channel; for OPN this is fixed
-//-------------------------------------------------
-
-template<>
-void ymopn_registers_base<false>::operator_map(operator_mapping &dest) const
-{
- // Note that the channel index order is 0,2,1,3, so we bitswap the index.
- //
- // This is because the order in the map is:
- // carrier 1, carrier 2, modulator 1, modulator 2
- //
- // But when wiring up the connections, the more natural order is:
- // carrier 1, modulator 1, carrier 2, modulator 2
- static const operator_mapping s_fixed_map =
- { {
- operator_list( 0, 6, 3, 9 ), // Channel 0 operators
- operator_list( 1, 7, 4, 10 ), // Channel 1 operators
- operator_list( 2, 8, 5, 11 ), // Channel 2 operators
- } };
- dest = s_fixed_map;
-}
-
-template<>
-void ymopn_registers_base<true>::operator_map(operator_mapping &dest) const
-{
- // Note that the channel index order is 0,2,1,3, so we bitswap the index.
- //
- // This is because the order in the map is:
- // carrier 1, carrier 2, modulator 1, modulator 2
- //
- // But when wiring up the connections, the more natural order is:
- // carrier 1, modulator 1, carrier 2, modulator 2
- static const operator_mapping s_fixed_map =
- { {
- operator_list( 0, 6, 3, 9 ), // Channel 0 operators
- operator_list( 1, 7, 4, 10 ), // Channel 1 operators
- operator_list( 2, 8, 5, 11 ), // Channel 2 operators
- operator_list( 12, 18, 15, 21 ), // Channel 3 operators
- operator_list( 13, 19, 16, 22 ), // Channel 4 operators
- operator_list( 14, 20, 17, 23 ), // Channel 5 operators
- } };
- dest = s_fixed_map;
-}
-
-
-//-------------------------------------------------
-// write - handle writes to the register array
-//-------------------------------------------------
-
-template<bool IsOpnA>
-bool ymopn_registers_base<IsOpnA>::write(u16 index, u8 data, u32 &channel, u32 &opmask)
-{
- assert(index < REGISTERS);
-
- // writes in the 0xa0-af/0x1a0-af region are handled as latched pairs
- // borrow unused registers 0xb8-bf/0x1b8-bf as temporary holding locations
- if ((index & 0xf0) == 0xa0)
- {
- u32 latchindex = 0xb8 | (BIT(index, 3) << 2) | BIT(index, 0, 2);
- if (IsOpnA)
- latchindex |= index & 0x100;
-
- // writes to the upper half just latch (only low 6 bits matter)
- if (BIT(index, 2))
- m_regdata[latchindex] = data | 0x80;
-
- // writes to the lower half only commit if the latch is there
- else if (BIT(m_regdata[latchindex], 7))
- {
- m_regdata[index | 4] = m_regdata[latchindex] & 0x3f;
- m_regdata[latchindex] = 0;
- }
- }
-
- // everything else is normal
- m_regdata[index] = data;
-
- // handle writes to the key on index
- if (index == 0x28)
- {
- channel = BIT(data, 0, 2);
- if (channel == 3)
- return false;
- if (IsOpnA)
- channel += BIT(data, 2, 1) * 3;
- opmask = BIT(data, 4, 4);
- return true;
- }
- return false;
-}
-
-
-//-------------------------------------------------
-// clock_noise_and_lfo - clock the noise and LFO,
-// handling clock division, depth, and waveform
-// computations
-//-------------------------------------------------
-
-template<bool IsOpnA>
-s32 ymopn_registers_base<IsOpnA>::clock_noise_and_lfo()
-{
- // OPN has no noise generation
-
- // if LFO not enabled (not present on OPN), quick exit with 0s
- if (!IsOpnA || !lfo_enable())
- {
- m_lfo_counter = 0;
- m_lfo_am = 0;
- return 0;
- }
-
- // this table is based on converting the frequencies in the applications
- // manual to clock dividers, based on the assumption of a 7-bit LFO value
- static u8 const lfo_max_count[8] = { 109, 78, 72, 68, 63, 45, 9, 6 };
- u32 subcount = u8(m_lfo_counter++);
-
- // when we cross the divider count, add enough to zero it and cause an
- // increment at bit 8; the 7-bit value lives from bits 8-14
- if (subcount >= lfo_max_count[lfo_rate()])
- m_lfo_counter += subcount ^ 0xff;
-
- // AM value is 7 bits, staring at bit 8; grab the low 6 directly
- m_lfo_am = BIT(m_lfo_counter, 8, 6);
-
- // first half of the AM period (bit 6 == 0) is inverted
- if (BIT(m_lfo_counter, 8+6) == 0)
- m_lfo_am ^= 0x3f;
-
- // PM value is 5 bits, starting at bit 10; grab the low 3 directly
- s32 pm = BIT(m_lfo_counter, 10, 3);
-
- // PM is reflected based on bit 3
- if (BIT(m_lfo_counter, 10+3))
- pm ^= 7;
-
- // PM is negated based on bit 4
- return BIT(m_lfo_counter, 10+4) ? -pm : pm;
-}
-
-
-//-------------------------------------------------
-// lfo_am_offset - return the AM offset from LFO
-// for the given channel
-//-------------------------------------------------
-
-template<bool IsOpnA>
-u32 ymopn_registers_base<IsOpnA>::lfo_am_offset(u32 choffs) const
-{
- // shift value for AM sensitivity is [7, 3, 1, 0],
- // mapping to values of [0, 1.4, 5.9, and 11.8dB]
- u32 am_shift = (1 << (ch_lfo_am_sens(choffs) ^ 3)) - 1;
-
- // QUESTION: max sensitivity should give 11.8dB range, but this value
- // is directly added to an x.8 attenuation value, which will only give
- // 126/256 or ~4.9dB range -- what am I missing? The calculation below
- // matches several other emulators, including the Nuked implemenation.
-
- // raw LFO AM value on OPN is 0-3F, scale that up by a factor of 2
- // (giving 7 bits) before applying the final shift
- return (m_lfo_am << 1) >> am_shift;
-}
-
-
-//-------------------------------------------------
-// cache_operator_data - fill the operator cache
-// with prefetched data
-//-------------------------------------------------
-
-template<bool IsOpnA>
-void ymopn_registers_base<IsOpnA>::cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache)
-{
- // set up the easy stuff
- cache.waveform = &m_waveform[0][0];
-
- // get frequency from the channel
- u32 block_freq = cache.block_freq = ch_block_freq(choffs);
-
- // if multi-frequency mode is enabled and this is channel 2,
- // fetch one of the special frequencies
- if (multi_freq() && choffs == 2)
- {
- if (opoffs == 2)
- block_freq = cache.block_freq = multi_block_freq(1);
- else if (opoffs == 10)
- block_freq = cache.block_freq = multi_block_freq(2);
- else if (opoffs == 6)
- block_freq = cache.block_freq = multi_block_freq(0);
- }
-
- // compute the keycode: block_freq is:
- //
- // BBBFFFFFFFFFFF
- // ^^^^???
- //
- // the 5-bit keycode uses the top 4 bits plus a magic formula
- // for the final bit
- u32 keycode = BIT(block_freq, 10, 4) << 1;
-
- // lowest bit is determined by a mix of next lower FNUM bits
- // according to this equation from the YM2608 manual:
- //
- // (F11 & (F10 | F9 | F8)) | (!F11 & F10 & F9 & F8)
- //
- // for speed, we just look it up in a 16-bit constant
- keycode |= BIT(0xfe80, BIT(block_freq, 7, 4));
-
- // detune adjustment
- cache.detune = detune_adjustment(op_detune(opoffs), keycode);
-
- // multiple value, as an x.1 value (0 means 0.5)
- cache.multiple = op_multiple(opoffs) * 2;
- if (cache.multiple == 0)
- cache.multiple = 1;
-
- // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
- // block_freq, detune, and multiple, so compute it after we've done those
- if (!IsOpnA || lfo_enable() == 0 || ch_lfo_pm_sens(choffs) == 0)
- cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
- else
- cache.phase_step = ymfm_opdata_cache::PHASE_STEP_DYNAMIC;
-
- // total level, scaled by 8
- cache.total_level = op_total_level(opoffs) << 3;
-
- // 4-bit sustain level, but 15 means 31 so effectively 5 bits
- cache.eg_sustain = op_sustain_level(opoffs);
- cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
- cache.eg_sustain <<= 5;
-
- // determine KSR adjustment for enevlope rates
- u32 ksrval = keycode >> (op_ksr(opoffs) ^ 3);
- cache.eg_rate[YMFM_ENV_ATTACK] = effective_rate(op_attack_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_DECAY] = effective_rate(op_decay_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_SUSTAIN] = effective_rate(op_sustain_rate(opoffs) * 2, ksrval);
- cache.eg_rate[YMFM_ENV_RELEASE] = effective_rate(op_release_rate(opoffs) * 4 + 2, ksrval);
- cache.eg_rate[YMFM_ENV_DEPRESS] = 0x3f;
-}
-
-
-//-------------------------------------------------
-// compute_phase_step - compute the phase step
-//-------------------------------------------------
-
-template<bool IsOpnA>
-u32 ymopn_registers_base<IsOpnA>::compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm)
-{
- // OPN phase calculation has only a single detune parameter
- // and uses FNUMs instead of keycodes
-
- // extract frequency number (low 11 bits of block_freq)
- u32 fnum = BIT(cache.block_freq, 0, 11) << 1;
-
- // if there's a non-zero PM sensitivity, compute the adjustment
- u32 pm_sensitivity = ch_lfo_pm_sens(choffs);
- if (pm_sensitivity != 0)
- {
- // apply the phase adjustment based on the upper 7 bits
- // of FNUM and the PM depth parameters
- fnum += opn_lfo_pm_phase_adjustment(BIT(cache.block_freq, 4, 7), pm_sensitivity, lfo_raw_pm);
-
- // keep fnum to 12 bits
- fnum &= 0xfff;
- }
-
- // apply block shift to compute phase step
- u32 block = BIT(cache.block_freq, 11, 3);
- u32 phase_step = (fnum << block) >> 2;
-
- // apply detune based on the keycode
- phase_step += cache.detune;
-
- // clamp to 17 bits in case detune overflows
- // QUESTION: is this specific to the YM2612/3438?
- phase_step &= 0x1ffff;
-
- // apply frequency multiplier (which is cached as an x.1 value)
- return (phase_step * cache.multiple) >> 1;
-}
-
-
-//-------------------------------------------------
-// log_keyon - log a key-on event
-//-------------------------------------------------
-
-template<bool IsOpnA>
-void ymopn_registers_base<IsOpnA>::log_keyon(u32 choffs, u32 opoffs)
-{
- u32 chnum = (choffs & 3) + 3 * BIT(choffs, 8);
- u32 opnum = (opoffs & 15) - ((opoffs & 15) / 4) + 12 * BIT(opoffs, 8);
-
- u32 block_freq = ch_block_freq(choffs);
- if (multi_freq() && choffs == 2)
- {
- if (opoffs == 2)
- block_freq = multi_block_freq(1);
- else if (opoffs == 10)
- block_freq = multi_block_freq(2);
- else if (opoffs == 6)
- block_freq = multi_block_freq(0);
- }
-
- LOG("%d.%02d freq=%04X dt=%d fb=%d alg=%X mul=%X tl=%02X ksr=%d adsr=%02X/%02X/%02X/%X sl=%X",
- chnum, opnum,
- block_freq,
- op_detune(opoffs),
- ch_feedback(choffs),
- ch_algorithm(choffs),
- op_multiple(opoffs),
- op_total_level(opoffs),
- op_ksr(opoffs),
- op_attack_rate(opoffs),
- op_decay_rate(opoffs),
- op_sustain_rate(opoffs),
- op_release_rate(opoffs),
- op_sustain_level(opoffs));
-
- if (OUTPUTS > 1)
- LOG(" out=%c%c",
- ch_output_0(choffs) ? 'L' : '-',
- ch_output_1(choffs) ? 'R' : '-');
- if (op_ssg_eg_enable(opoffs))
- LOG(" ssg=%X", op_ssg_eg_mode(opoffs));
- bool am = (lfo_enable() && op_lfo_am_enable(opoffs) && ch_lfo_am_sens(choffs) != 0);
- if (am)
- LOG(" am=%d", ch_lfo_am_sens(choffs));
- bool pm = (lfo_enable() && ch_lfo_pm_sens(choffs) != 0);
- if (pm)
- LOG(" pm=%d", ch_lfo_pm_sens(choffs));
- if (am || pm)
- LOG(" lfo=%02X", lfo_rate());
- if (multi_freq() && choffs == 2)
- LOG(" multi=1");
-}
-
-
-//*********************************************************
-// OPL SPECIFICS
-//*********************************************************
-
-//-------------------------------------------------
-// ymopl_registers_base - constructor
-//-------------------------------------------------
-
-template<int Revision>
-ymopl_registers_base<Revision>::ymopl_registers_base() :
- m_lfo_am_counter(0),
- m_lfo_pm_counter(0),
- m_noise_lfsr(1),
- m_lfo_am(0)
-{
- // create the waveforms
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- m_waveform[0][index] = abs_sin_attenuation(index) | (BIT(index, 9) << 15);
-
- if (WAVEFORMS >= 4)
- {
- u16 zeroval = m_waveform[0][0];
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- {
- m_waveform[1][index] = BIT(index, 9) ? zeroval : m_waveform[0][index];
- m_waveform[2][index] = m_waveform[0][index] & 0x7fff;
- m_waveform[3][index] = BIT(index, 8) ? zeroval : (m_waveform[0][index] & 0x7fff);
- if (WAVEFORMS >= 8)
- {
- m_waveform[4][index] = BIT(index, 9) ? zeroval : m_waveform[0][index * 2];
- m_waveform[5][index] = BIT(index, 9) ? zeroval : m_waveform[0][(index * 2) & 0x1ff];
- m_waveform[6][index] = BIT(index, 9) << 15;
- m_waveform[7][index] = (zeroval - m_waveform[0][(index / 2)]) | (BIT(index, 9) << 15);
- }
- }
- }
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-template<int Revision>
-void ymopl_registers_base<Revision>::save(device_t &device)
-{
- device.save_item(YMFM_NAME(m_lfo_am_counter));
- device.save_item(YMFM_NAME(m_lfo_pm_counter));
- device.save_item(YMFM_NAME(m_lfo_am));
- device.save_item(YMFM_NAME(m_noise_lfsr));
- device.save_item(YMFM_NAME(m_regdata));
-}
-
-
-//-------------------------------------------------
-// reset - reset to initial state
-//-------------------------------------------------
-
-template<int Revision>
-void ymopl_registers_base<Revision>::reset()
-{
- std::fill_n(&m_regdata[0], REGISTERS, 0);
-}
-
-
-//-------------------------------------------------
-// operator_map - return an array of operator
-// indices for each channel; for OPL this is fixed
-//-------------------------------------------------
-
-template<int Revision>
-void ymopl_registers_base<Revision>::operator_map(operator_mapping &dest) const
-{
- if (Revision <= 2)
- {
- // OPL/OPL2 has a fixed map, all 2 operators
- static const operator_mapping s_fixed_map =
- { {
- operator_list( 0, 3 ), // Channel 0 operators
- operator_list( 1, 4 ), // Channel 1 operators
- operator_list( 2, 5 ), // Channel 2 operators
- operator_list( 6, 9 ), // Channel 3 operators
- operator_list( 7, 10 ), // Channel 4 operators
- operator_list( 8, 11 ), // Channel 5 operators
- operator_list( 12, 15 ), // Channel 6 operators
- operator_list( 13, 16 ), // Channel 7 operators
- operator_list( 14, 17 ), // Channel 8 operators
- } };
- dest = s_fixed_map;
- }
- else
- {
- // OPL3/OPL4 can be configured for 2 or 4 operators
- u32 fourop = fourop_enable();
-
- dest.chan[ 0] = BIT(fourop, 0) ? operator_list( 0, 3, 6, 9 ) : operator_list( 0, 3 );
- dest.chan[ 1] = BIT(fourop, 1) ? operator_list( 1, 4, 7, 10 ) : operator_list( 1, 4 );
- dest.chan[ 2] = BIT(fourop, 2) ? operator_list( 2, 5, 8, 11 ) : operator_list( 2, 5 );
- dest.chan[ 3] = BIT(fourop, 0) ? operator_list() : operator_list( 6, 9 );
- dest.chan[ 4] = BIT(fourop, 1) ? operator_list() : operator_list( 7, 10 );
- dest.chan[ 5] = BIT(fourop, 2) ? operator_list() : operator_list( 8, 11 );
- dest.chan[ 6] = operator_list( 12, 15 );
- dest.chan[ 7] = operator_list( 13, 16 );
- dest.chan[ 8] = operator_list( 14, 17 );
-
- dest.chan[ 9] = BIT(fourop, 3) ? operator_list( 18, 21, 24, 27 ) : operator_list( 18, 21 );
- dest.chan[10] = BIT(fourop, 4) ? operator_list( 19, 22, 25, 28 ) : operator_list( 19, 22 );
- dest.chan[11] = BIT(fourop, 5) ? operator_list( 20, 23, 26, 29 ) : operator_list( 20, 23 );
- dest.chan[12] = BIT(fourop, 3) ? operator_list() : operator_list( 24, 27 );
- dest.chan[13] = BIT(fourop, 4) ? operator_list() : operator_list( 25, 28 );
- dest.chan[14] = BIT(fourop, 5) ? operator_list() : operator_list( 26, 29 );
- dest.chan[15] = operator_list( 30, 33 );
- dest.chan[16] = operator_list( 31, 34 );
- dest.chan[17] = operator_list( 32, 35 );
- }
-}
-
-
-//-------------------------------------------------
-// write - handle writes to the register array
-//-------------------------------------------------
-
-template<int Revision>
-bool ymopl_registers_base<Revision>::write(u16 index, u8 data, u32 &channel, u32 &opmask)
-{
- assert(index < REGISTERS);
-
- // writes to the mode register with high bit set ignore the low bits
- if (index == REG_MODE && BIT(data, 7) != 0)
- m_regdata[index] |= 0x80;
- else
- m_regdata[index] = data;
-
- // handle writes to the rhythm keyons
- if (index == 0xbd)
- {
- channel = YMFM_RHYTHM_CHANNEL;
- opmask = BIT(data, 5) ? BIT(data, 0, 5) : 0;
- return true;
- }
-
- // handle writes to the channel keyons
- if ((index & 0xf0) == 0xb0)
- {
- channel = index & 0x0f;
- if (channel < 9)
- {
- if (IsOpl3Plus)
- channel += 9 * BIT(index, 8);
- opmask = BIT(data, 5) ? 15 : 0;
- return true;
- }
- }
- return false;
-}
-
-
-//-------------------------------------------------
-// clock_noise_and_lfo - clock the noise and LFO,
-// handling clock division, depth, and waveform
-// computations
-//-------------------------------------------------
-
-static s32 opl_clock_noise_and_lfo(u32 &noise_lfsr, u16 &lfo_am_counter, u16 &lfo_pm_counter, u8 &lfo_am, u32 am_depth, u32 pm_depth)
-{
- // OPL has a 23-bit noise generator for the rhythm section, running at
- // a constant rate, used only for percussion input
- noise_lfsr <<= 1;
- noise_lfsr |= BIT(noise_lfsr, 23) ^ BIT(noise_lfsr, 9) ^ BIT(noise_lfsr, 8) ^ BIT(noise_lfsr, 1);
-
- // OPL has two fixed-frequency LFOs, one for AM, one for PM
-
- // the AM LFO has 210*64 steps; at a nominal 50kHz output,
- // this equates to a period of 50000/(210*64) = 3.72Hz
- u32 am_counter = lfo_am_counter++;
- if (am_counter >= 210*64 - 1)
- lfo_am_counter = 0;
-
- // low 8 bits are fractional; depth 0 is divided by 2, while depth 1 is times 2
- int shift = 9 - 2 * am_depth;
-
- // AM value is the upper bits of the value, inverted across the midpoint
- // to produce a triangle
- lfo_am = ((am_counter < 105*64) ? am_counter : (210*64+63 - am_counter)) >> shift;
-
- // the PM LFO has 8192 steps, or a nominal period of 6.1Hz
- u32 pm_counter = lfo_pm_counter++;
-
- // PM LFO is broken into 8 chunks, each lasting 1024 steps; the PM value
- // depends on the upper bits of FNUM, so this value is a fraction and
- // sign to apply to that value, as a 1.3 value
- static s8 const pm_scale[8] = { 8, 4, 0, -4, -8, -4, 0, 4 };
- return pm_scale[BIT(pm_counter, 10, 3)] >> (pm_depth ^ 1);
-}
-
-template<int Revision>
-s32 ymopl_registers_base<Revision>::clock_noise_and_lfo()
-{
- return opl_clock_noise_and_lfo(m_noise_lfsr, m_lfo_am_counter, m_lfo_pm_counter, m_lfo_am, lfo_am_depth(), lfo_pm_depth());
-}
-
-
-//-------------------------------------------------
-// cache_operator_data - fill the operator cache
-// with prefetched data; note that this code is
-// also used by ymopna_registers, so it must
-// handle upper channels cleanly
-//-------------------------------------------------
-
-template<int Revision>
-void ymopl_registers_base<Revision>::cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache)
-{
- // set up the easy stuff
- cache.waveform = &m_waveform[op_waveform(opoffs) % WAVEFORMS][0];
-
- // get frequency from the channel
- u32 block_freq = cache.block_freq = ch_block_freq(choffs);
-
- // compute the keycode: block_freq is:
- //
- // 111 |
- // 21098|76543210
- // BBBFF|FFFFFFFF
- // ^^^??
- //
- // the 4-bit keycode uses the top 3 bits plus one of the next two bits
- u32 keycode = BIT(block_freq, 10, 3) << 1;
-
- // lowest bit is determined by note_select(); note that it is
- // actually reversed from what the manual says, however
- keycode |= BIT(block_freq, 9 - note_select(), 1);
-
- // no detune adjustment on OPL
- cache.detune = 0;
-
- // multiple value, as an x.1 value (0 means 0.5)
- // replace the low bit with a table lookup to give 0,1,2,3,4,5,6,7,8,9,10,10,12,12,15,15
- u32 multiple = op_multiple(opoffs);
- cache.multiple = ((multiple & 0xe) | BIT(0xc2aa, multiple)) * 2;
- if (cache.multiple == 0)
- cache.multiple = 1;
-
- // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on block_freq, detune,
- // and multiple, so compute it after we've done those
- if (op_lfo_pm_enable(opoffs) == 0)
- cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
- else
- cache.phase_step = ymfm_opdata_cache::PHASE_STEP_DYNAMIC;
-
- // total level, scaled by 8
- cache.total_level = op_total_level(opoffs) << 3;
-
- // pre-add key scale level
- u32 ksl = op_ksl(opoffs);
- if (ksl != 0)
- cache.total_level += opl_key_scale_atten(BIT(block_freq, 10, 3), BIT(block_freq, 6, 4)) << ksl;
-
- // 4-bit sustain level, but 15 means 31 so effectively 5 bits
- cache.eg_sustain = op_sustain_level(opoffs);
- cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
- cache.eg_sustain <<= 5;
-
- // determine KSR adjustment for enevlope rates
- u32 ksrval = keycode >> (2 * (op_ksr(opoffs) ^ 1));
- cache.eg_rate[YMFM_ENV_ATTACK] = effective_rate(op_attack_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_DECAY] = effective_rate(op_decay_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_SUSTAIN] = op_eg_sustain(opoffs) ? 0 : effective_rate(op_release_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_RELEASE] = effective_rate(op_release_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_DEPRESS] = 0x3f;
-}
-
-
-//-------------------------------------------------
-// compute_phase_step - compute the phase step
-//-------------------------------------------------
-
-static u32 opl_compute_phase_step(u32 block_freq, u32 multiple, s32 lfo_raw_pm)
-{
- // OPL phase calculation has no detuning, but uses FNUMs like
- // the OPN version, and computes PM a bit differently
-
- // extract frequency number as a 12-bit fraction
- u32 fnum = BIT(block_freq, 0, 10) << 2;
-
- // apply the phase adjustment based on the upper 3 bits
- // of FNUM and the PM depth parameters
- fnum += (lfo_raw_pm * BIT(block_freq, 7, 3)) >> 1;
-
- // keep fnum to 12 bits
- fnum &= 0xfff;
-
- // apply block shift to compute phase step
- u32 block = BIT(block_freq, 10, 3);
- u32 phase_step = (fnum << block) >> 2;
-
- // apply frequency multiplier (which is cached as an x.1 value)
- return (phase_step * multiple) >> 1;
-}
-
-template<int Revision>
-u32 ymopl_registers_base<Revision>::compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm)
-{
- return opl_compute_phase_step(cache.block_freq, cache.multiple, op_lfo_pm_enable(opoffs) ? lfo_raw_pm : 0);
-}
-
-
-//-------------------------------------------------
-// log_keyon - log a key-on event
-//-------------------------------------------------
-
-template<int Revision>
-void ymopl_registers_base<Revision>::log_keyon(u32 choffs, u32 opoffs)
-{
- u32 chnum = (choffs & 15) + 9 * BIT(choffs, 8);
- u32 opnum = (opoffs & 31) - 2 * ((opoffs & 31) / 8) + 18 * BIT(opoffs, 8);
-
- LOG("%2d.%02d freq=%04X fb=%d alg=%X mul=%X tl=%02X ksr=%d ns=%d ksl=%d adr=%X/%X/%X sl=%X sus=%d",
- chnum, opnum,
- ch_block_freq(choffs),
- ch_feedback(choffs),
- ch_algorithm(choffs),
- op_multiple(opoffs),
- op_total_level(opoffs),
- op_ksr(opoffs),
- note_select(),
- op_ksl(opoffs),
- op_attack_rate(opoffs),
- op_decay_rate(opoffs),
- op_release_rate(opoffs),
- op_sustain_level(opoffs),
- op_eg_sustain(opoffs));
-
- if (OUTPUTS > 1)
- LOG(" out=%c%c%c%c",
- ch_output_0(choffs) ? 'L' : '-',
- ch_output_1(choffs) ? 'R' : '-',
- ch_output_2(choffs) ? '0' : '-',
- ch_output_3(choffs) ? '1' : '-');
- if (op_lfo_am_enable(opoffs) != 0)
- LOG(" am=%d", lfo_am_depth());
- if (op_lfo_pm_enable(opoffs) != 0)
- LOG(" pm=%d", lfo_pm_depth());
- if (waveform_enable() && op_waveform(opoffs) != 0)
- LOG(" wf=%d", op_waveform(opoffs));
- if (is_rhythm(choffs))
- LOG(" rhy=1");
- if (DYNAMIC_OPS)
- {
- operator_mapping map;
- operator_map(map);
- if (BIT(map.chan[chnum], 16, 8) != 0xff)
- LOG(" 4op");
- }
-}
-
-
-//*********************************************************
-// OPLL SPECIFICS
-//*********************************************************
-
-//-------------------------------------------------
-// ymopll_registers - constructor
-//-------------------------------------------------
-
-ymopll_registers::ymopll_registers() :
- m_lfo_am_counter(0),
- m_lfo_pm_counter(0),
- m_noise_lfsr(1),
- m_lfo_am(0)
-{
- // create the waveforms
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- m_waveform[0][index] = abs_sin_attenuation(index) | (BIT(index, 9) << 15);
-
- u16 zeroval = m_waveform[0][0];
- for (int index = 0; index < WAVEFORM_LENGTH; index++)
- m_waveform[1][index] = BIT(index, 9) ? zeroval : m_waveform[0][index];
-
- // initialize the instruments to something sane
- for (int choffs = 0; choffs < CHANNELS; choffs++)
- m_chinst[choffs] = &m_regdata[0];
- for (int opoffs = 0; opoffs < OPERATORS; opoffs++)
- m_opinst[opoffs] = &m_regdata[BIT(opoffs, 0)];
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-void ymopll_registers::save(device_t &device)
-{
- device.save_item(YMFM_NAME(m_lfo_am_counter));
- device.save_item(YMFM_NAME(m_lfo_pm_counter));
- device.save_item(YMFM_NAME(m_lfo_am));
- device.save_item(YMFM_NAME(m_noise_lfsr));
- device.save_item(YMFM_NAME(m_regdata));
-}
-
-
-//-------------------------------------------------
-// reset - reset to initial state
-//-------------------------------------------------
-
-void ymopll_registers::reset()
-{
- std::fill_n(&m_regdata[0], REGISTERS, 0);
-}
-
-
-//-------------------------------------------------
-// operator_map - return an array of operator
-// indices for each channel; for OPLL this is fixed
-//-------------------------------------------------
-
-void ymopll_registers::operator_map(operator_mapping &dest) const
-{
- static const operator_mapping s_fixed_map =
- { {
- operator_list( 0, 1 ), // Channel 0 operators
- operator_list( 2, 3 ), // Channel 1 operators
- operator_list( 4, 5 ), // Channel 2 operators
- operator_list( 6, 7 ), // Channel 3 operators
- operator_list( 8, 9 ), // Channel 4 operators
- operator_list( 10, 11 ), // Channel 5 operators
- operator_list( 12, 13 ), // Channel 6 operators
- operator_list( 14, 15 ), // Channel 7 operators
- operator_list( 16, 17 ), // Channel 8 operators
- } };
- dest = s_fixed_map;
-}
-
-
-//-------------------------------------------------
-// write - handle writes to the register array;
-// note that this code is also used by
-// ymopl3_registers, so it must handle upper
-// channels cleanly
-//-------------------------------------------------
-
-bool ymopll_registers::write(u16 index, u8 data, u32 &channel, u32 &opmask)
-{
- // unclear the address is masked down to 6 bits or if writes above
- // the register top are ignored; assuming the latter for now
- if (index >= REGISTERS)
- {
- LOG("ymopll write above register area; ignoring: %02X=%02X\n", index, data);
- return false;
- }
-
- // write the new data
- m_regdata[index] = data;
-
- // handle writes to the rhythm keyons
- if (index == 0x0e)
- {
- channel = YMFM_RHYTHM_CHANNEL;
- opmask = BIT(data, 5) ? BIT(data, 0, 5) : 0;
- return true;
- }
-
- // handle writes to the channel keyons
- if ((index & 0xf0) == 0x20)
- {
- channel = index & 0x0f;
- if (channel < CHANNELS)
- {
- opmask = BIT(data, 4) ? 3 : 0;
- return true;
- }
- }
- return false;
-}
-
-
-//-------------------------------------------------
-// clock_noise_and_lfo - clock the noise and LFO,
-// handling clock division, depth, and waveform
-// computations
-//-------------------------------------------------
-
-s32 ymopll_registers::clock_noise_and_lfo()
-{
- // implementation is the same as OPL with fixed depths
- return opl_clock_noise_and_lfo(m_noise_lfsr, m_lfo_am_counter, m_lfo_pm_counter, m_lfo_am, 1, 1);
-}
-
-
-//-------------------------------------------------
-// cache_operator_data - fill the operator cache
-// with prefetched data; note that this code is
-// also used by ymopna_registers, so it must
-// handle upper channels cleanly
-//-------------------------------------------------
-
-void ymopll_registers::cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache)
-{
- // first set up the instrument data
- u32 instrument = ch_instrument(choffs);
- if (rhythm_enable() && choffs >= 6)
- m_chinst[choffs] = &m_instdata[8 * (15 + (choffs - 6))];
- else
- m_chinst[choffs] = (instrument == 0) ? &m_regdata[0] : &m_instdata[8 * (instrument - 1)];
- m_opinst[opoffs] = m_chinst[choffs] + BIT(opoffs, 0);
-
- // set up the easy stuff
- cache.waveform = &m_waveform[op_waveform(opoffs) % WAVEFORMS][0];
-
- // get frequency from the channel
- u32 block_freq = cache.block_freq = ch_block_freq(choffs);
-
- // compute the keycode: block_freq is:
- //
- // 11 |
- // 1098|76543210
- // BBBF|FFFFFFFF
- // ^^^^
- //
- // the 4-bit keycode uses the top 4 bits
- u32 keycode = BIT(block_freq, 8, 4);
-
- // no detune adjustment on OPLL
- cache.detune = 0;
-
- // multiple value, as an x.1 value (0 means 0.5)
- // replace the low bit with a table lookup to give 0,1,2,3,4,5,6,7,8,9,10,10,12,12,15,15
- u32 multiple = op_multiple(opoffs);
- cache.multiple = ((multiple & 0xe) | BIT(0xc2aa, multiple)) * 2;
- if (cache.multiple == 0)
- cache.multiple = 1;
-
- // phase step, or PHASE_STEP_DYNAMIC if PM is active; this depends on
- // block_freq, detune, and multiple, so compute it after we've done those
- if (op_lfo_pm_enable(opoffs) == 0)
- cache.phase_step = compute_phase_step(choffs, opoffs, cache, 0);
- else
- cache.phase_step = ymfm_opdata_cache::PHASE_STEP_DYNAMIC;
-
- // total level, scaled by 8; for non-rhythm operator 0, this is the total
- // level from the instrument data; for other operators it is 4*volume
- if (BIT(opoffs, 0) == 1 || (rhythm_enable() && choffs >= 7))
- cache.total_level = op_volume(opoffs) * 4;
- else
- cache.total_level = ch_total_level(choffs);
- cache.total_level <<= 3;
-
- // pre-add key scale level
- u32 ksl = op_ksl(opoffs);
- if (ksl != 0)
- cache.total_level += opl_key_scale_atten(BIT(block_freq, 9, 3), BIT(block_freq, 5, 4)) << ksl;
-
- // 4-bit sustain level, but 15 means 31 so effectively 5 bits
- cache.eg_sustain = op_sustain_level(opoffs);
- cache.eg_sustain |= (cache.eg_sustain + 1) & 0x10;
- cache.eg_sustain <<= 5;
-
- // The envelope diagram in the YM2413 datasheet gives values for these
- // in ms from 0->48dB. The attack/decay tables give values in ms from
- // 0->96dB, so to pick an equivalent decay rate, we want to find the
- // closest match that is 2x the 0->48dB value:
- //
- // DP = 10ms (0->48db) -> 20ms (0->96db); decay of 12 gives 19.20ms
- // RR = 310ms (0->48db) -> 620ms (0->96db); decay of 7 gives 613.76ms
- // RS = 1200ms (0->48db) -> 2400ms (0->96db); decay of 5 gives 2455.04ms
- //
- // The envelope diagram for percussive sounds (eg_sustain() == 0) also uses
- // "RR" to mean both the constant RR above and the Release Rate specified in
- // the instrument data. In this case, Relief Pitcher's credit sound bears out
- // that the Release Rate is used during sustain, and that the constant RR
- // (or RS) is used during the release phase.
- constexpr u8 DP = 12 * 4;
- constexpr u8 RR = 7 * 4;
- constexpr u8 RS = 5 * 4;
-
- // determine KSR adjustment for envelope rates
- u32 ksrval = keycode >> (2 * (op_ksr(opoffs) ^ 1));
- cache.eg_rate[YMFM_ENV_DEPRESS] = DP;
- cache.eg_rate[YMFM_ENV_ATTACK] = effective_rate(op_attack_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_DECAY] = effective_rate(op_decay_rate(opoffs) * 4, ksrval);
- if (op_eg_sustain(opoffs))
- {
- cache.eg_rate[YMFM_ENV_SUSTAIN] = 0;
- cache.eg_rate[YMFM_ENV_RELEASE] = ch_sustain(choffs) ? RS : effective_rate(op_release_rate(opoffs) * 4, ksrval);
- }
- else
- {
- cache.eg_rate[YMFM_ENV_SUSTAIN] = effective_rate(op_release_rate(opoffs) * 4, ksrval);
- cache.eg_rate[YMFM_ENV_RELEASE] = ch_sustain(choffs) ? RS : RR;
- }
-}
-
-
-//-------------------------------------------------
-// compute_phase_step - compute the phase step
-//-------------------------------------------------
-
-u32 ymopll_registers::compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm)
-{
- // phase step computation is the same as OPL but the block_freq has one
- // more bit, which we shift in
- return opl_compute_phase_step(cache.block_freq << 1, cache.multiple, op_lfo_pm_enable(opoffs) ? lfo_raw_pm : 0);
-}
-
-
-//-------------------------------------------------
-// log_keyon - log a key-on event
-//-------------------------------------------------
-
-void ymopll_registers::log_keyon(u32 choffs, u32 opoffs)
-{
- u32 chnum = choffs;
- u32 opnum = opoffs;
-
- LOG("%d.%02d freq=%04X inst=%X fb=%d mul=%X",
- chnum, opnum,
- ch_block_freq(choffs),
- ch_instrument(choffs),
- ch_feedback(choffs),
- op_multiple(opoffs));
-
- if (BIT(opoffs, 0) == 1 || (is_rhythm(choffs) && choffs >= 6))
- LOG(" vol=%X", op_volume(opoffs));
- else
- LOG(" tl=%02X", ch_total_level(choffs));
-
- LOG(" ksr=%d ksl=%d adr=%X/%X/%X sl=%X sus=%d/%d",
- op_ksr(opoffs),
- op_ksl(opoffs),
- op_attack_rate(opoffs),
- op_decay_rate(opoffs),
- op_release_rate(opoffs),
- op_sustain_level(opoffs),
- op_eg_sustain(opoffs),
- ch_sustain(choffs));
-
- if (op_lfo_am_enable(opoffs))
- LOG(" am=1");
- if (op_lfo_pm_enable(opoffs))
- LOG(" pm=1");
- if (op_waveform(opoffs) != 0)
- LOG(" wf=1");
- if (is_rhythm(choffs))
- LOG(" rhy=1");
-}
-
-
-//*********************************************************
-// YMFM OPERATOR
-//*********************************************************
-
-//-------------------------------------------------
-// ymfm_operator - constructor
-//-------------------------------------------------
-
-template<class RegisterType>
-ymfm_operator<RegisterType>::ymfm_operator(ymfm_engine_base<RegisterType> &owner, u32 opoffs) :
- m_choffs(0),
- m_opoffs(opoffs),
- m_phase(0),
- m_env_attenuation(0x3ff),
- m_env_state(YMFM_ENV_RELEASE),
- m_ssg_inverted(false),
- m_key_state(0),
- m_keyon_live(0),
- m_regs(owner.regs()),
- m_owner(owner)
-{
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-ALLOW_SAVE_TYPE(ymfm_envelope_state);
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::save(device_t &device, u32 index)
-{
- // save our data
- device.save_item(YMFM_NAME(m_phase), index);
- device.save_item(YMFM_NAME(m_env_attenuation), index);
- device.save_item(YMFM_NAME(m_env_state), index);
- device.save_item(YMFM_NAME(m_ssg_inverted), index);
- device.save_item(YMFM_NAME(m_key_state), index);
- device.save_item(YMFM_NAME(m_keyon_live), index);
-}
-
-
-//-------------------------------------------------
-// reset - reset the channel state
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::reset()
-{
- // reset our data
- m_phase = 0;
- m_env_attenuation = 0x3ff;
- m_env_state = YMFM_ENV_RELEASE;
- m_ssg_inverted = 0;
- m_key_state = 0;
- m_keyon_live = 0;
-}
-
-
-//-------------------------------------------------
-// prepare - prepare for clocking
-//-------------------------------------------------
-
-template<class RegisterType>
-bool ymfm_operator<RegisterType>::prepare()
-{
- // cache the data
- m_regs.cache_operator_data(m_choffs, m_opoffs, m_cache);
-
- // clock the key state
- clock_keystate(u32(m_keyon_live != 0));
- m_keyon_live &= ~(1 << YMFM_KEYON_CSM);
-
- // we're active until we're quiet after the release
- return (m_env_state != YMFM_ENV_RELEASE || m_env_attenuation < ENV_QUIET);
-}
-
-
-//-------------------------------------------------
-// clock - master clocking function
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::clock(u32 env_counter, s32 lfo_raw_pm)
-{
- // clock the SSG-EG state (OPN/OPNA)
- if (m_regs.op_ssg_eg_enable(m_opoffs))
- clock_ssg_eg_state();
-
- // clock the envelope if on an envelope cycle; env_counter is a x.2 value
- if (BIT(env_counter, 0, 2) == 0)
- clock_envelope(env_counter >> 2);
-
- // clock the phase
- clock_phase(lfo_raw_pm);
-}
-
-
-//-------------------------------------------------
-// compute_volume - compute the 14-bit signed
-// volume of this operator, given a phase
-// modulation and an AM LFO offset
-//-------------------------------------------------
-
-template<class RegisterType>
-s32 ymfm_operator<RegisterType>::compute_volume(u32 phase, u32 am_offset) const
-{
- // the low 10 bits of phase represents a full 2*PI period over
- // the full sin wave
-
- // early out if the envelope is effectively off
- if (m_env_attenuation > ENV_QUIET)
- return 0;
-
- // get the absolute value of the sin, as attenuation, as a 4.8 fixed point value
- u32 sin_attenuation = m_cache.waveform[phase & (RegisterType::WAVEFORM_LENGTH - 1)];
-
- // get the attenuation from the evelope generator as a 4.6 value, shifted up to 4.8
- u32 env_attenuation = envelope_attenuation(am_offset) << 2;
-
- // combine into a 5.8 value, then convert from attenuation to 13-bit linear volume
- s32 result = attenuation_to_volume((sin_attenuation & 0x7fff) + env_attenuation);
-
- // negate if in the negative part of the sin wave (sign bit gives 14 bits)
- return BIT(sin_attenuation, 15) ? -result : result;
-}
-
-
-//-------------------------------------------------
-// compute_noise_volume - compute the 14-bit
-// signed noise volume of this operator, given a
-// noise input value and an AM offset
-//-------------------------------------------------
-
-template<class RegisterType>
-s32 ymfm_operator<RegisterType>::compute_noise_volume(u32 am_offset) const
-{
- // application manual says the logarithmic transform is not applied here, so we
- // just use the raw envelope attenuation, inverted (since 0 attenuation should be
- // maximum), and shift it up from a 10-bit value to an 11-bit value
- u32 result = (envelope_attenuation(am_offset) ^ 0x3ff) << 1;
-
- // QUESTION: is AM applied still?
-
- // negate based on the noise state
- return BIT(m_regs.noise_state(), 0) ? -result : result;
-}
-
-
-//-------------------------------------------------
-// keyonoff - signal a key on/off event
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::keyonoff(u32 on, ymfm_keyon_type type)
-{
- m_keyon_live = (m_keyon_live & ~(1 << int(type))) | (BIT(on, 0) << int(type));
-}
-
-
-//-------------------------------------------------
-// start_attack - start the attack phase; called
-// when a keyon happens or when an SSG-EG cycle
-// is complete and restarts
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::start_attack()
-{
- // don't change anything if already in attack state
- if (m_env_state == YMFM_ENV_ATTACK)
- return;
- m_env_state = YMFM_ENV_ATTACK;
-
- // generally not inverted at start, except if SSG-EG is
- // enabled and one of the inverted modes is specified
- if (RegisterType::EG_HAS_SSG)
- m_ssg_inverted = m_regs.op_ssg_eg_enable(m_opoffs) & BIT(m_regs.op_ssg_eg_mode(m_opoffs), 2);
-
- // reset the phase when we start an attack
- m_phase = 0;
-
- // if the attack rate >= 62 then immediately go to max attenuation
- if (m_cache.eg_rate[YMFM_ENV_ATTACK] >= 62)
- m_env_attenuation = 0;
-}
-
-
-//-------------------------------------------------
-// start_release - start the release phase;
-// called when a keyoff happens
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::start_release()
-{
- // don't change anything if already in release state
- if (m_env_state == YMFM_ENV_RELEASE)
- return;
- m_env_state = YMFM_ENV_RELEASE;
-
- // adjust attenuation if inverted due to SSG-EG
- if (RegisterType::EG_HAS_SSG && m_ssg_inverted)
- m_env_attenuation = 0x200 - m_env_attenuation;
-}
-
-
-//-------------------------------------------------
-// clock_keystate - clock the keystate to match
-// the incoming keystate
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::clock_keystate(u32 keystate)
-{
- assert(keystate == 0 || keystate == 1);
-
- // has the key changed?
- if ((keystate ^ m_key_state) != 0)
- {
- m_key_state = keystate;
-
- // if the key has turned on, start the attack
- if (keystate != 0)
- {
- // log key on events under certain conditions
- // if (m_regs.lfo_waveform() == 3 && m_regs.lfo_enable() && ((m_regs.lfo_am_enable() && m_regs.lfo_am_sensitivity() != 0) || m_regs.lfo_pm_sensitivity() != 0))
- // if ((m_regs.rhythm_enable() && m_regs.chnum() >= 6) ||
- // (m_regs.waveform_enable() && m_regs.waveform() != 0))
- {
- LOG("%s: ", m_owner.device().tag(), m_opoffs);
- m_regs.log_keyon(m_choffs, m_opoffs);
- LOG("\n");
- }
-
- // OPLL has a DP ("depress"?) state to bring the volume
- // down before starting the attack
- if (RegisterType::EG_HAS_DEPRESS && m_env_attenuation < 0x200)
- m_env_state = YMFM_ENV_DEPRESS;
- else
- start_attack();
- }
-
- // otherwise, start the release
- else
- start_release();
- }
-}
-
-
-//-------------------------------------------------
-// clock_ssg_eg_state - clock the SSG-EG state;
-// should only be called if SSG-EG is enabled
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::clock_ssg_eg_state()
-{
- // work only happens once the attenuation crosses above 0x200
- if (!BIT(m_env_attenuation, 9))
- return;
-
- // 8 SSG-EG modes:
- // 000: repeat normally
- // 001: run once, hold low
- // 010: repeat, alternating between inverted/non-inverted
- // 011: run once, hold high
- // 100: inverted repeat normally
- // 101: inverted run once, hold low
- // 110: inverted repeat, alternating between inverted/non-inverted
- // 111: inverted run once, hold high
- u32 mode = m_regs.op_ssg_eg_mode(m_opoffs);
-
- // hold modes (1/3/5/7)
- if (BIT(mode, 0))
- {
- // set the inverted flag to the end state (0 for modes 1/7, 1 for modes 3/5)
- m_ssg_inverted = BIT(mode, 2) ^ BIT(mode, 1);
-
- // if holding low (modes 1/5), force the attenuation to maximum
- // once we're past the attack phase
- if (m_env_state != YMFM_ENV_ATTACK && BIT(mode, 1) == 0)
- m_env_attenuation = 0x3ff;
- }
-
- // continuous modes (0/2/4/6)
- else
- {
- // toggle invert in alternating mode (even in attack state)
- m_ssg_inverted ^= BIT(mode, 1);
-
- // restart attack if in decay/sustain states
- if (m_env_state == YMFM_ENV_DECAY || m_env_state == YMFM_ENV_SUSTAIN)
- start_attack();
-
- // phase is reset to 0 regardless in modes 0/4
- if (BIT(mode, 1) == 0)
- m_phase = 0;
- }
-
- // in all modes, once we hit release state, attenuation is forced to maximum
- if (m_env_state == YMFM_ENV_RELEASE)
- m_env_attenuation = 0x3ff;
-}
-
-
-//-------------------------------------------------
-// clock_envelope - clock the envelope state
-// according to the given count
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::clock_envelope(u32 env_counter)
-{
- // handle attack->decay transitions
- if (m_env_state == YMFM_ENV_ATTACK && m_env_attenuation == 0)
- m_env_state = YMFM_ENV_DECAY;
-
- // handle decay->sustain transitions; it is important to do this immediately
- // after the attack->decay transition above in the event that the sustain level
- // is set to 0 (in which case we will skip right to sustain without doing any
- // decay); as an example where this can be heard, check the cymbals sound
- // in channel 0 of shinobi's test mode sound #5
- if (m_env_state == YMFM_ENV_DECAY && m_env_attenuation >= m_cache.eg_sustain)
- m_env_state = YMFM_ENV_SUSTAIN;
-
- // fetch the appropriate 6-bit rate value from the cache
- u32 rate = m_cache.eg_rate[m_env_state];
-
- // compute the rate shift value; this is the shift needed to
- // apply to the env_counter such that it becomes a 5.11 fixed
- // point number
- u32 rate_shift = rate >> 2;
- env_counter <<= rate_shift;
-
- // see if the fractional part is 0; if not, it's not time to clock
- if (BIT(env_counter, 0, 11) != 0)
- return;
-
- // determine the increment based on the non-fractional part of env_counter
- u32 increment = attenuation_increment(rate, BIT(env_counter, 11, 3));
-
- // attack is the only one that increases
- if (m_env_state == YMFM_ENV_ATTACK)
- {
- // glitch means that attack rates of 62/63 don't increment if
- // changed after the initial key on (where they are handled
- // specially)
-
- // QUESTION: this check affects one of the operators on the gng credit sound
- // is it correct?
- // QUESTION: does this apply only to YM2612?
- if (rate < 62)
- m_env_attenuation += (~m_env_attenuation * increment) >> 4;
- }
-
- // all other cases are similar
- else
- {
- // non-SSG-EG cases just apply the increment
- if (!m_regs.op_ssg_eg_enable(m_opoffs))
- m_env_attenuation += increment;
-
- // SSG-EG only applies if less than mid-point, and then at 4x
- else if (m_env_attenuation < 0x200)
- m_env_attenuation += 4 * increment;
-
- // clamp the final attenuation
- if (m_env_attenuation >= 0x400)
- m_env_attenuation = 0x3ff;
-
- // transition from depress to attack
- if (RegisterType::EG_HAS_DEPRESS && m_env_state == YMFM_ENV_DEPRESS && m_env_attenuation >= 0x200)
- start_attack();
- }
-}
-
-
-//-------------------------------------------------
-// clock_phase - clock the 10.10 phase value; the
-// OPN version of the logic has been verified
-// against the Nuked phase generator
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_operator<RegisterType>::clock_phase(s32 lfo_raw_pm)
-{
- // read from the cache, or recalculate if PM active
- u32 phase_step = m_cache.phase_step;
- if (phase_step == ymfm_opdata_cache::PHASE_STEP_DYNAMIC)
- phase_step = m_regs.compute_phase_step(m_choffs, m_opoffs, m_cache, lfo_raw_pm);
-
- // finally apply the step to the current phase value
- m_phase += phase_step;
-}
-
-
-//-------------------------------------------------
-// envelope_attenuation - return the effective
-// attenuation of the envelope
-//-------------------------------------------------
-
-template<class RegisterType>
-u32 ymfm_operator<RegisterType>::envelope_attenuation(u32 am_offset) const
-{
- u32 result = m_env_attenuation;
-
- // invert if necessary due to SSG-EG
- if (RegisterType::EG_HAS_SSG && m_ssg_inverted)
- result = (0x200 - result) & 0x3ff;
-
- // add in LFO AM modulation
- if (m_regs.op_lfo_am_enable(m_opoffs))
- result += am_offset;
-
- // add in total level and KSL from the cache
- result += m_cache.total_level;
-
- // clamp to max and return
- return (result < 0x400) ? result : 0x3ff;
-}
-
-
-
-//*********************************************************
-// YMFM_CHANNEL
-//*********************************************************
-
-//-------------------------------------------------
-// ymfm_channel - constructor
-//-------------------------------------------------
-
-template<class RegisterType>
-ymfm_channel<RegisterType>::ymfm_channel(ymfm_engine_base<RegisterType> &owner, u32 choffs) :
- m_choffs(choffs),
- m_feedback{ 0, 0 },
- m_feedback_in(0),
- m_op{ nullptr, nullptr, nullptr, nullptr },
- m_regs(owner.regs()),
- m_owner(owner)
-{
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::save(device_t &device, u32 index)
-{
- // save our data
- device.save_item(YMFM_NAME(m_feedback), index);
- device.save_item(YMFM_NAME(m_feedback_in), index);
-}
-
-
-//-------------------------------------------------
-// reset - reset the channel state
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::reset()
-{
- // reset our data
- m_feedback[0] = m_feedback[1] = 0;
- m_feedback_in = 0;
-}
-
-
-//-------------------------------------------------
-// keyonoff - signal key on/off to our operators
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::keyonoff(u32 states, ymfm_keyon_type type)
-{
- for (int opnum = 0; opnum < std::size(m_op); opnum++)
- if (m_op[opnum] != nullptr)
- m_op[opnum]->keyonoff(BIT(states, opnum), type);
-}
-
-
-//-------------------------------------------------
-// prepare - prepare for clocking
-//-------------------------------------------------
-
-template<class RegisterType>
-bool ymfm_channel<RegisterType>::prepare()
-{
- u32 active_mask = 0;
-
- // prepare all operators and determine if they are active
- for (int opnum = 0; opnum < std::size(m_op); opnum++)
- if (m_op[opnum] != nullptr)
- if (m_op[opnum]->prepare())
- active_mask |= 1 << opnum;
-
- return (active_mask != 0);
-}
-
-
-//-------------------------------------------------
-// clock - master clock of all operators
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::clock(u32 env_counter, s32 lfo_raw_pm)
-{
- // clock the feedback through
- m_feedback[0] = m_feedback[1];
- m_feedback[1] = m_feedback_in;
-
- for (int opnum = 0; opnum < std::size(m_op); opnum++)
- if (m_op[opnum] != nullptr)
- m_op[opnum]->clock(env_counter, lfo_raw_pm);
-}
-
-
-//-------------------------------------------------
-// output_2op - combine 4 operators according to
-// the specified algorithm, returning a sum
-// according to the rshift and clipmax parameters,
-// which vary between different implementations
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::output_2op(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const
-{
- // The first 2 operators should be populated
- assert(m_op[0] != nullptr);
- assert(m_op[1] != nullptr);
-
- // AM amount is the same across all operators; compute it once
- u32 am_offset = m_regs.lfo_am_offset(m_choffs);
-
- // operator 1 has optional self-feedback
- s32 opmod = 0;
- u32 feedback = m_regs.ch_feedback(m_choffs);
- if (feedback != 0)
- opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
-
- // compute the 14-bit volume/value of operator 1 and update the feedback
- s32 op1value = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
-
- // now that the feedback has been computed, skip the rest if all volumes
- // are clear; no need to do all this work for nothing
- if (m_regs.ch_output_any(m_choffs) == 0)
- return;
-
- // Algorithms for two-operator case:
- // 0: O1 -> O2 -> out
- // 1: (O1 + O2) -> out
- s32 result;
- if (BIT(m_regs.ch_algorithm(m_choffs), 0) == 0)
- {
- // some OPL chips use the previous sample for modulation instead of
- // the current sample
- opmod = (RegisterType::MODULATOR_DELAY ? m_feedback[1] : op1value) >> 1;
- result = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset) >> rshift;
- }
- else
- {
- result = op1value + (m_op[1]->compute_volume(m_op[1]->phase(), am_offset) >> rshift);
- s32 clipmin = -clipmax - 1;
- result = std::clamp(result, clipmin, clipmax);
- }
-
- // add to the output
- add_to_output(m_choffs, outputs, result);
-}
-
-
-//-------------------------------------------------
-// output_4op - combine 4 operators according to
-// the specified algorithm, returning a sum
-// according to the rshift and clipmax parameters,
-// which vary between different implementations
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::output_4op(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const
-{
- // all 4 operators should be populated
- assert(m_op[0] != nullptr);
- assert(m_op[1] != nullptr);
- assert(m_op[2] != nullptr);
- assert(m_op[3] != nullptr);
-
- // AM amount is the same across all operators; compute it once
- u32 am_offset = m_regs.lfo_am_offset(m_choffs);
-
- // operator 1 has optional self-feedback
- s32 opmod = 0;
- u32 feedback = m_regs.ch_feedback(m_choffs);
- if (feedback != 0)
- opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
-
- // compute the 14-bit volume/value of operator 1 and update the feedback
- s32 op1value = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
-
- // now that the feedback has been computed, skip the rest if all volumes
- // are clear; no need to do all this work for nothing
- if (m_regs.ch_output_any(m_choffs) == 0)
- return;
-
- // OPM/OPN offer 8 different connection algorithms for 4 operators,
- // and OPL3 offers 4 more, which we designate here as 8-11.
- //
- // The operators are computed in order, with the inputs pulled from
- // an array of values (opout) that is populated as we go:
- // 0 = 0
- // 1 = O1
- // 2 = O2
- // 3 = O3
- // 4 = (O4)
- // 5 = O1+O2
- // 6 = O1+O3
- // 7 = O2+O3
- //
- // The s_algorithm_ops table describes the inputs and outputs of each
- // algorithm as follows:
- //
- // ---------x use opout[x] as operator 2 input
- // ------xxx- use opout[x] as operator 3 input
- // ---xxx---- use opout[x] as operator 4 input
- // --x------- include opout[1] in final sum
- // -x-------- include opout[2] in final sum
- // x--------- include opout[3] in final sum
- #define ALGORITHM(op2in, op3in, op4in, op1out, op2out, op3out) \
- (op2in | (op3in << 1) | (op4in << 4) | (op1out << 7) | (op2out << 8) | (op3out << 9))
- static u16 const s_algorithm_ops[8+4] =
- {
- ALGORITHM(1,2,3, 0,0,0), // 0: O1 -> O2 -> O3 -> O4 -> out (O4)
- ALGORITHM(0,5,3, 0,0,0), // 1: (O1 + O2) -> O3 -> O4 -> out (O4)
- ALGORITHM(0,2,6, 0,0,0), // 2: (O1 + (O2 -> O3)) -> O4 -> out (O4)
- ALGORITHM(1,0,7, 0,0,0), // 3: ((O1 -> O2) + O3) -> O4 -> out (O4)
- ALGORITHM(1,0,3, 0,1,0), // 4: ((O1 -> O2) + (O3 -> O4)) -> out (O2+O4)
- ALGORITHM(1,1,1, 0,1,1), // 5: ((O1 -> O2) + (O1 -> O3) + (O1 -> O4)) -> out (O2+O3+O4)
- ALGORITHM(1,0,0, 0,1,1), // 6: ((O1 -> O2) + O3 + O4) -> out (O2+O3+O4)
- ALGORITHM(0,0,0, 1,1,1), // 7: (O1 + O2 + O3 + O4) -> out (O1+O2+O3+O4)
- ALGORITHM(1,2,3, 0,0,0), // 8: O1 -> O2 -> O3 -> O4 -> out (O4) [same as 0]
- ALGORITHM(0,2,3, 1,0,0), // 9: (O1 + (O2 -> O3 -> O4)) -> out (O1+O4) [unique]
- ALGORITHM(1,0,3, 0,1,0), // 10: ((O1 -> O2) + (O3 -> O4)) -> out (O2+O4) [same as 4]
- ALGORITHM(0,2,0, 1,0,1) // 11: (O1 + (O2 -> O3) + O4) -> out (O1+O3+O4) [unique]
- };
- u32 algorithm_ops = s_algorithm_ops[m_regs.ch_algorithm(m_choffs)];
-
- // populate the opout table
- s16 opout[8];
- opout[0] = 0;
- opout[1] = op1value;
-
- // compute the 14-bit volume/value of operator 2
- opmod = opout[BIT(algorithm_ops, 0, 1)] >> 1;
- opout[2] = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset);
- opout[5] = opout[1] + opout[2];
-
- // compute the 14-bit volume/value of operator 3
- opmod = opout[BIT(algorithm_ops, 1, 3)] >> 1;
- opout[3] = m_op[2]->compute_volume(m_op[2]->phase() + opmod, am_offset);
- opout[6] = opout[1] + opout[3];
- opout[7] = opout[2] + opout[3];
-
- // compute the 14-bit volume/value of operator 4; this could be a noise
- // value on the OPM; all algorithms consume OP4 output at a minimum
- s32 result;
- if (m_regs.noise_enable() && m_choffs == 7)
- result = m_op[3]->compute_noise_volume(am_offset);
- else
- {
- opmod = opout[BIT(algorithm_ops, 4, 3)] >> 1;
- result = m_op[3]->compute_volume(m_op[3]->phase() + opmod, am_offset);
- }
- result >>= rshift;
-
- // optionally add OP1, OP2, OP3
- s32 clipmin = -clipmax - 1;
- if (BIT(algorithm_ops, 7) != 0)
- result = std::clamp(result + (opout[1] >> rshift), clipmin, clipmax);
- if (BIT(algorithm_ops, 8) != 0)
- result = std::clamp(result + (opout[2] >> rshift), clipmin, clipmax);
- if (BIT(algorithm_ops, 9) != 0)
- result = std::clamp(result + (opout[3] >> rshift), clipmin, clipmax);
-
- // add to the output
- add_to_output(m_choffs, outputs, result);
-}
-
-
-//-------------------------------------------------
-// output_rhythm_ch6 - special case output
-// computation for OPL channel 6 in rhythm mode,
-// which outputs a Bass Drum instrument
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::output_rhythm_ch6(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const
-{
- // AM amount is the same across all operators; compute it once
- u32 am_offset = m_regs.lfo_am_offset(m_choffs);
-
- // Bass Drum: this uses operators 12 and 15 (i.e., channel 6)
- // in an almost-normal way, except that if the algorithm is 1,
- // the first operator is ignored instead of added in
-
- // operator 1 has optional self-feedback
- s32 opmod = 0;
- u32 feedback = m_regs.ch_feedback(m_choffs);
- if (feedback != 0)
- opmod = (m_feedback[0] + m_feedback[1]) >> (10 - feedback);
-
- // compute the 14-bit volume/value of operator 1 and update the feedback
- s32 opout1 = m_feedback_in = m_op[0]->compute_volume(m_op[0]->phase() + opmod, am_offset);
-
- // compute the 14-bit volume/value of operator 2, which is the result
- opmod = BIT(m_regs.ch_algorithm(m_choffs), 0) ? 0 : (opout1 >> 1);
- s32 result = m_op[1]->compute_volume(m_op[1]->phase() + opmod, am_offset) >> rshift;
-
- // add to the output
- add_to_output(m_choffs, outputs, result * 2);
-}
-
-
-//-------------------------------------------------
-// output_rhythm_ch7 - special case output
-// computation for OPL channel 7 in rhythm mode,
-// which outputs High Hat and Snare Drum
-// instruments
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::output_rhythm_ch7(u32 phase_select, s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const
-{
- // AM amount is the same across all operators; compute it once
- u32 am_offset = m_regs.lfo_am_offset(m_choffs);
- u32 noise_state = BIT(m_regs.noise_state(), 0);
-
- // High Hat: this uses the envelope from operator 13 (channel 7),
- // and a combination of noise and the operator 13/17 phase select
- // to compute the phase
- u32 phase = (phase_select << 9) | (0xd0 >> (2 * (noise_state ^ phase_select)));
- s32 result = m_op[0]->compute_volume(phase, am_offset) >> rshift;
-
- // Snare Drum: this uses the envelope from operator 16 (channel 7),
- // and a combination of noise and operator 13 phase to pick a phase
- u32 op13phase = m_op[0]->phase();
- phase = (0x100 << BIT(op13phase, 8)) ^ (noise_state << 8);
- result += m_op[1]->compute_volume(phase, am_offset) >> rshift;
- result = std::clamp<s32>(result, -clipmax - 1, clipmax);
-
- // add to the output
- add_to_output(m_choffs, outputs, result * 2);
-}
-
-
-//-------------------------------------------------
-// output_rhythm_ch8 - special case output
-// computation for OPL channel 8 in rhythm mode,
-// which outputs Tom Tom and Top Cymbal instruments
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_channel<RegisterType>::output_rhythm_ch8(u32 phase_select, s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const
-{
- // AM amount is the same across all operators; compute it once
- u32 am_offset = m_regs.lfo_am_offset(m_choffs);
-
- // Tom Tom: this is just a single operator processed normally
- s32 result = m_op[0]->compute_volume(m_op[0]->phase(), am_offset) >> rshift;
-
- // Top Cymbal: this uses the envelope from operator 17 (channel 8),
- // and the operator 13/17 phase select to compute the phase
- u32 phase = 0x100 | (phase_select << 9);
- result += m_op[1]->compute_volume(phase, am_offset) >> rshift;
- result = std::clamp<s32>(result, -clipmax - 1, clipmax);
-
- // add to the output
- add_to_output(m_choffs, outputs, result * 2);
-}
-
-
-
-//*********************************************************
-// YMFM ENGINE BASE
-//*********************************************************
-
-//-------------------------------------------------
-// ymfm_engine_base - constructor
-//-------------------------------------------------
-
-template<class RegisterType>
-ymfm_engine_base<RegisterType>::ymfm_engine_base(device_t &device) :
- m_device(device),
- m_env_counter(0),
- m_status(0),
- m_clock_prescale(RegisterType::DEFAULT_PRESCALE),
- m_irq_mask(STATUS_TIMERA | STATUS_TIMERB),
- m_irq_state(0),
- m_active_channels(ALL_CHANNELS),
- m_modified_channels(ALL_CHANNELS),
- m_prepare_count(0),
- m_busy_end(attotime::zero),
- m_timer{ nullptr, nullptr },
- m_irq_handler(device)
-{
- // create the channels
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- m_channel[chnum] = std::make_unique<ymfm_channel<RegisterType>>(*this, RegisterType::channel_offset(chnum));
-
- // create the operators
- for (int opnum = 0; opnum < OPERATORS; opnum++)
- m_operator[opnum] = std::make_unique<ymfm_operator<RegisterType>>(*this, RegisterType::operator_offset(opnum));
-
- // do the initial operator assignment
- assign_operators();
-}
-
-
-//-------------------------------------------------
-// save - register for save states
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::save(device_t &device)
-{
- // allocate our timers
- for (int tnum = 0; tnum < 2; tnum++)
- m_timer[tnum] = device.machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(ymfm_engine_base::timer_handler), this));
-
- // resolve the IRQ handler while we're here
- m_irq_handler.resolve();
-
- // save our data
- device.save_item(YMFM_NAME(m_env_counter));
- device.save_item(YMFM_NAME(m_status));
- device.save_item(YMFM_NAME(m_clock_prescale));
- device.save_item(YMFM_NAME(m_irq_mask));
- device.save_item(YMFM_NAME(m_irq_state));
- device.save_item(YMFM_NAME(m_busy_end));
-
- // save the register/family data
- m_regs.save(device);
-
- // save channel data
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- m_channel[chnum]->save(device, chnum);
-
- // save operator data
- for (int opnum = 0; opnum < OPERATORS; opnum++)
- m_operator[opnum]->save(device, opnum);
-}
-
-
-//-------------------------------------------------
-// reset - reset the overall state
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::reset()
-{
- // reset all status bits
- set_reset_status(0, 0xff);
-
- // register type-specific initialization
- m_regs.reset();
-
- // explicitly write to the mode register since it has side-effects
- // QUESTION: old cores initialize this to 0x30 -- who is right?
- write(RegisterType::REG_MODE, 0);
-
- // reset the channels
- for (auto &chan : m_channel)
- chan->reset();
-
- // reset the operators
- for (auto &op : m_operator)
- op->reset();
-}
-
-
-//-------------------------------------------------
-// clock - iterate over all channels, clocking
-// them forward one step
-//-------------------------------------------------
-
-template<class RegisterType>
-u32 ymfm_engine_base<RegisterType>::clock(u32 chanmask)
-{
- // if something was modified, prepare
- // also prepare every 4k samples to catch ending notes
- if (m_modified_channels != 0 || m_prepare_count++ >= 4096)
- {
- // reassign operators to channels if dynamic
- if (RegisterType::DYNAMIC_OPS)
- assign_operators();
-
- // call each channel to prepare
- m_active_channels = 0;
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- if (BIT(chanmask, chnum))
- if (m_channel[chnum]->prepare())
- m_active_channels |= 1 << chnum;
-
- // reset the modified channels and prepare count
- m_modified_channels = m_prepare_count = 0;
- }
-
- // if the envelope clock divider is 1, just increment by 4;
- // otherwise, increment by 1 and manually wrap when we reach the divide count
- if (RegisterType::EG_CLOCK_DIVIDER == 1)
- m_env_counter += 4;
- else if (BIT(++m_env_counter, 0, 2) == RegisterType::EG_CLOCK_DIVIDER)
- m_env_counter += 4 - RegisterType::EG_CLOCK_DIVIDER;
-
- // clock the noise generator
- s32 lfo_raw_pm = m_regs.clock_noise_and_lfo();
-
- // now update the state of all the channels and operators
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- if (BIT(chanmask, chnum))
- m_channel[chnum]->clock(m_env_counter, lfo_raw_pm);
-
- // return the envelope counter as it is used to clock ADPCM-A
- return m_env_counter;
-}
-
-
-//-------------------------------------------------
-// output - compute a sum over the relevant
-// channels
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::output(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax, u32 chanmask) const
-{
- // mask out some channels for debug purposes
- chanmask &= global_chanmask;
-
- // mask out inactive channels
- chanmask &= m_active_channels;
-
- // handle the rhythm case, where some of the operators are dedicated
- // to percussion (this is an OPL-specific feature)
- if (m_regs.rhythm_enable())
- {
- // we don't support the OPM noise channel here; ensure it is off
- assert(m_regs.noise_enable() == 0);
-
- // precompute the operator 13+17 phase selection value
- u32 op13phase = m_operator[13]->phase();
- u32 op17phase = m_operator[17]->phase();
- u32 phase_select = (BIT(op13phase, 2) ^ BIT(op13phase, 7)) | BIT(op13phase, 3) | (BIT(op17phase, 5) ^ BIT(op17phase, 3));
-
- // sum over all the desired channels
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- if (BIT(chanmask, chnum))
- {
- if (chnum == 6)
- m_channel[chnum]->output_rhythm_ch6(outputs, rshift, clipmax);
- else if (chnum == 7)
- m_channel[chnum]->output_rhythm_ch7(phase_select, outputs, rshift, clipmax);
- else if (chnum == 8)
- m_channel[chnum]->output_rhythm_ch8(phase_select, outputs, rshift, clipmax);
- else if (m_channel[chnum]->is4op())
- m_channel[chnum]->output_4op(outputs, rshift, clipmax);
- else
- m_channel[chnum]->output_2op(outputs, rshift, clipmax);
- }
- }
- else
- {
- // sum over all the desired channels
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- if (BIT(chanmask, chnum))
- {
- if (m_channel[chnum]->is4op())
- m_channel[chnum]->output_4op(outputs, rshift, clipmax);
- else
- m_channel[chnum]->output_2op(outputs, rshift, clipmax);
- }
- }
-}
-
-
-//-------------------------------------------------
-// write - handle writes to the OPN registers
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::write(u16 regnum, u8 data)
-{
- // special case: writes to the mode register can impact IRQs;
- // schedule these writes to ensure ordering with timers
- if (regnum == RegisterType::REG_MODE)
- {
- m_device.machine().scheduler().synchronize(timer_expired_delegate(FUNC(ymfm_engine_base<RegisterType>::synced_mode_w), this), data);
- return;
- }
-
- // for now just mark all channels as modified
- m_modified_channels = ALL_CHANNELS;
-
- // most writes are passive, consumed only when needed
- u32 keyon_channel;
- u32 keyon_opmask;
- if (m_regs.write(regnum, data, keyon_channel, keyon_opmask))
- {
- // handle writes to the keyon register(s)
- if (keyon_channel < CHANNELS)
- {
- // normal channel on/off
- m_channel[keyon_channel]->keyonoff(keyon_opmask, YMFM_KEYON_NORMAL);
- }
- else if (CHANNELS >= 9 && keyon_channel == RegisterType::YMFM_RHYTHM_CHANNEL)
- {
- // special case for the OPL rhythm channels
- m_channel[6]->keyonoff(BIT(keyon_opmask, 4) ? 3 : 0, YMFM_KEYON_RHYTHM);
- m_channel[7]->keyonoff(BIT(keyon_opmask, 0) | (BIT(keyon_opmask, 3) << 1), YMFM_KEYON_RHYTHM);
- m_channel[8]->keyonoff(BIT(keyon_opmask, 2) | (BIT(keyon_opmask, 1) << 1), YMFM_KEYON_RHYTHM);
- }
- }
-}
-
-
-//-------------------------------------------------
-// status - return the current state of the
-// status flags
-//-------------------------------------------------
-
-template<class RegisterType>
-u8 ymfm_engine_base<RegisterType>::status() const
-{
- u8 result = m_status & ~STATUS_BUSY & ~m_regs.status_mask();
- if (m_device.machine().time() < m_busy_end)
- result |= STATUS_BUSY;
- return result;
-}
-
-
-//-------------------------------------------------
-// assign_operators - get the current mapping of
-// operators to channels and assign them all
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::assign_operators()
-{
- typename RegisterType::operator_mapping map;
- m_regs.operator_map(map);
-
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- for (int index = 0; index < 4; index++)
- {
- u32 opnum = BIT(map.chan[chnum], 8 * index, 8);
- m_channel[chnum]->assign(index, (opnum == 0xff) ? nullptr : m_operator[opnum].get());
- }
-}
-
-
-//-------------------------------------------------
-// update_timer - update the state of the given
-// timer
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::update_timer(u32 tnum, u32 enable)
-{
- // if the timer is live, but not currently enabled, set the timer
- if (enable && !m_timer[tnum]->enable())
- {
- // each timer clock is n operators * prescale factor (2/3/6)
- u32 clockscale = OPERATORS * m_clock_prescale;
-
- // period comes from the registers, and is different for each
- u32 period = (tnum == 0) ? (1024 - m_regs.timer_a_value()) : 16 * (256 - m_regs.timer_b_value());
-
- // reset it
- m_timer[tnum]->adjust(attotime::from_hz(m_device.clock()) * (period * clockscale), tnum);
- }
-
- // if the timer is not live, ensure it is not enabled
- else if (!enable)
- m_timer[tnum]->enable(false);
-}
-
-
-//-------------------------------------------------
-// timer_handler - timer has expired - signal
-// status and possibly IRQs
-//-------------------------------------------------
-
-template<class RegisterType>
-TIMER_CALLBACK_MEMBER(ymfm_engine_base<RegisterType>::timer_handler)
-{
- // update status
- if (param == 0 && m_regs.enable_timer_a())
- set_reset_status(STATUS_TIMERA, 0);
- else if (param == 1 && m_regs.enable_timer_b())
- set_reset_status(STATUS_TIMERB, 0);
-
- // if timer A fired in CSM mode, trigger CSM on all relevant channels
- if (param == 0 && m_regs.csm())
- for (int chnum = 0; chnum < CHANNELS; chnum++)
- if (BIT(RegisterType::CSM_TRIGGER_MASK, chnum))
- m_channel[chnum]->keyonoff(1, YMFM_KEYON_CSM);
-
- // reset
- update_timer(param, 1);
-}
-
-
-//-------------------------------------------------
-// schedule_check_interrupts - schedule an
-// interrupt check via timer
-//-------------------------------------------------
-
-template<class RegisterType>
-void ymfm_engine_base<RegisterType>::schedule_check_interrupts()
-{
- // if we're currently executing a CPU, schedule the interrupt check;
- // otherwise, do it directly
- auto &scheduler = m_device.machine().scheduler();
- if (scheduler.currently_executing())
- scheduler.synchronize(timer_expired_delegate(FUNC(ymfm_engine_base<RegisterType>::check_interrupts), this), 0);
- else
- check_interrupts(nullptr, 0);
-}
-
-
-//-------------------------------------------------
-// check_interrupts - check the interrupt sources
-// for interrupts
-//-------------------------------------------------
-
-template<class RegisterType>
-TIMER_CALLBACK_MEMBER(ymfm_engine_base<RegisterType>::check_interrupts)
-{
- // update the state
- u8 old_state = m_irq_state;
- m_irq_state = ((m_status & m_irq_mask & ~m_regs.status_mask()) != 0);
-
- // set the IRQ status bit
- if (m_irq_state)
- m_status |= STATUS_IRQ;
- else
- m_status &= ~STATUS_IRQ;
-
- // if changed, signal the new state
- if (old_state != m_irq_state && !m_irq_handler.isnull())
- m_irq_handler(m_irq_state ? ASSERT_LINE : CLEAR_LINE);
-}
-
-
-//-------------------------------------------------
-// synced_mode_w - handle a mode register write
-// via timer callback
-//-------------------------------------------------
-
-template<class RegisterType>
-TIMER_CALLBACK_MEMBER(ymfm_engine_base<RegisterType>::synced_mode_w)
-{
- // mark all channels as modified
- m_modified_channels = ALL_CHANNELS;
-
- // actually write the mode register now
- u32 dummy1, dummy2;
- m_regs.write(RegisterType::REG_MODE, param, dummy1, dummy2);
-
- // reset IRQ status -- when written, all other bits are ignored
- // QUESTION: should this maybe just reset the IRQ bit and not all the bits?
- // That is, check_interrupts would only set, this would only clear?
- if (m_regs.irq_reset())
- set_reset_status(0, 0x78);
- else
- {
- // reset timer status
- u8 reset_mask = 0;
- if (m_regs.reset_timer_b())
- reset_mask |= RegisterType::STATUS_TIMERB;
- if (m_regs.reset_timer_a())
- reset_mask |= RegisterType::STATUS_TIMERA;
- set_reset_status(0, reset_mask);
-
- // load timers
- update_timer(1, m_regs.load_timer_b());
- update_timer(0, m_regs.load_timer_a());
- }
-}
-
-
-
-//*********************************************************
-// EXPLICIT TEMPLATE INSTANTIATION
-//*********************************************************
-
-template class ymfm_engine_base<ymopm_registers>;
-template class ymfm_engine_base<ymopn_registers>;
-template class ymfm_engine_base<ymopna_registers>;
-template class ymfm_engine_base<ymopl_registers>;
-template class ymfm_engine_base<ymopl2_registers>;
-template class ymfm_engine_base<ymopll_registers>;
-template class ymfm_engine_base<ymopl3_registers>;
-template class ymfm_engine_base<ymopl4_registers>;
diff --git a/src/devices/sound/ymfm.h b/src/devices/sound/ymfm.h
deleted file mode 100644
index 8ab0ddc9d03..00000000000
--- a/src/devices/sound/ymfm.h
+++ /dev/null
@@ -1,1415 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-
-#ifndef MAME_SOUND_YMFM_H
-#define MAME_SOUND_YMFM_H
-
-#pragma once
-
-
-//*********************************************************
-// MACROS
-//*********************************************************
-
-// special naming helper to keep our namespace isolated from other
-// same-named objects in the device's namespace (mostly necessary
-// for chips which derive from AY-8910 classes and may have clashing
-// names)
-#define YMFM_NAME(x) x, "ymfm." #x
-
-
-//*********************************************************
-// GLOBAL ENUMERATORS
-//*********************************************************
-
-enum ymfm_envelope_state : u32
-{
- YMFM_ENV_DEPRESS = 0,
- YMFM_ENV_ATTACK = 1,
- YMFM_ENV_DECAY = 2,
- YMFM_ENV_SUSTAIN = 3,
- YMFM_ENV_RELEASE = 4,
- YMFM_ENV_STATES = 5
-};
-
-
-//*********************************************************
-// GLOBAL HELPERS
-//*********************************************************
-
-// Many of the Yamaha FM chips emit a floating-point value, which is sent to
-// a DAC for processing. The exact format of this floating-point value is
-// documented below. This description only makes sense if the "internal"
-// format treats sign as 1=positive and 0=negative, so the helpers below
-// presume that.
-//
-// Internal OPx data 16-bit signed data Exp Sign Mantissa
-// ================= ================= === ==== ========
-// 1 1xxxxxxxx------ -> 0 1xxxxxxxx------ -> 111 1 1xxxxxxx
-// 1 01xxxxxxxx----- -> 0 01xxxxxxxx----- -> 110 1 1xxxxxxx
-// 1 001xxxxxxxx---- -> 0 001xxxxxxxx---- -> 101 1 1xxxxxxx
-// 1 0001xxxxxxxx--- -> 0 0001xxxxxxxx--- -> 100 1 1xxxxxxx
-// 1 00001xxxxxxxx-- -> 0 00001xxxxxxxx-- -> 011 1 1xxxxxxx
-// 1 000001xxxxxxxx- -> 0 000001xxxxxxxx- -> 010 1 1xxxxxxx
-// 1 000000xxxxxxxxx -> 0 000000xxxxxxxxx -> 001 1 xxxxxxxx
-// 0 111111xxxxxxxxx -> 1 111111xxxxxxxxx -> 001 0 xxxxxxxx
-// 0 111110xxxxxxxx- -> 1 111110xxxxxxxx- -> 010 0 0xxxxxxx
-// 0 11110xxxxxxxx-- -> 1 11110xxxxxxxx-- -> 011 0 0xxxxxxx
-// 0 1110xxxxxxxx--- -> 1 1110xxxxxxxx--- -> 100 0 0xxxxxxx
-// 0 110xxxxxxxx---- -> 1 110xxxxxxxx---- -> 101 0 0xxxxxxx
-// 0 10xxxxxxxx----- -> 1 10xxxxxxxx----- -> 110 0 0xxxxxxx
-// 0 0xxxxxxxx------ -> 1 0xxxxxxxx------ -> 111 0 0xxxxxxx
-
-//-------------------------------------------------
-// ymfm_encode_fp - given a 32-bit signed input
-// value, convert it to a signed 3.10 floating-
-// point value
-//-------------------------------------------------
-
-inline s16 ymfm_encode_fp(s32 value)
-{
- // handle overflows first
- if (value < -32768)
- return (7 << 10) | 0x000;
- if (value > 32767)
- return (7 << 10) | 0x3ff;
-
- // we need to count the number of leading sign bits after the sign
- // we can use count_leading_zeros if we invert negative values
- s32 scanvalue = value ^ (s32(value) >> 31);
-
- // exponent is related to the number of leading bits starting from bit 14
- int exponent = 7 - count_leading_zeros(scanvalue << 17);
-
- // smallest exponent value allowed is 1
- exponent = std::max(exponent, 1);
-
- // mantissa
- s32 mantissa = value >> (exponent - 1);
-
- // assemble into final form, inverting the sign
- return ((exponent << 10) | (mantissa & 0x3ff)) ^ 0x200;
-}
-
-
-//-------------------------------------------------
-// ymfm_decode_fp - given a 3.10 floating-point
-// value, convert it to a signed 16-bit value
-//-------------------------------------------------
-
-inline s16 ymfm_decode_fp(s16 value)
-{
- // invert the sign and the exponent
- value ^= 0x1e00;
-
- // shift mantissa up to 16 bits then apply inverted exponent
- return s16(value << 6) >> BIT(value, 10, 3);
-}
-
-
-//-------------------------------------------------
-// ymfm_roundtrip_fp - compute the result of a
-// round trip through the encode/decode process
-// above
-//-------------------------------------------------
-
-inline s16 ymfm_roundtrip_fp(s32 value)
-{
- // handle overflows first
- if (value < -32768)
- return -32768;
- if (value > 32767)
- return 32767;
-
- // we need to count the number of leading sign bits after the sign
- // we can use count_leading_zeros if we invert negative values
- s32 scanvalue = value ^ (s32(value) >> 31);
-
- // exponent is related to the number of leading bits starting from bit 14
- int exponent = 7 - count_leading_zeros(scanvalue << 17);
-
- // smallest exponent value allowed is 1
- exponent = std::max(exponent, 1);
-
- // apply the shift back and forth to zero out bits that are lost
- exponent -= 1;
- return (value >> exponent) << exponent;
-}
-
-
-//*********************************************************
-// REGISTER CLASSES
-//*********************************************************
-
-// ======================> ymfm_opdata_cache
-
-// this class holds data that is computed once at the start of clocking
-// and remains static during subsequent sound generation
-struct ymfm_opdata_cache
-{
- // set phase_step to this value to recalculate it each sample; needed
- // in the case of PM LFO changes
- static constexpr u32 PHASE_STEP_DYNAMIC = 1;
-
- u16 const *waveform; // base of sine table
- u32 phase_step; // phase step, or PHASE_STEP_DYNAMIC if PM is active
- u32 total_level; // total level * 8 + KSL
- u32 block_freq; // raw block frequency value (used to compute phase_step)
- s32 detune; // detuning value (used to compute phase_step)
- u32 multiple; // multiple value (x.1, used to compute phase_step)
- u32 eg_sustain; // sustain level, shifted up to envelope values
- u8 eg_rate[YMFM_ENV_STATES]; // envelope rate, including KSR
-};
-
-
-// ======================> ymfm_registers_base
-
-// base class for family-specific register classes; this provides a few
-// constants, common defaults, and helpers, but mostly each derived
-// class is responsible for defining all commonly-called methods
-class ymfm_registers_base
-{
-public:
- // this value is returned from the write() function for rhythm channels
- static constexpr u32 YMFM_RHYTHM_CHANNEL = 0xff;
-
- // this is the size of a full sin waveform
- static constexpr u32 WAVEFORM_LENGTH = 0x400;
-
- //
- // the following constants need to be defined per family:
- // u32 OUTPUTS: The number of outputs exposed (1-4)
- // u32 CHANNELS: The number of channels on the chip
- // u32 ALL_CHANNELS: A bitmask of all channels
- // u32 OPERATORS: The number of operators on the chip
- // bool DYNAMIC_OPS: True if ops/channel can be changed at runtime
- // u32 WAVEFORMS: The number of waveforms offered
- // u32 REGISTERS: The number of 8-bit registers allocated
- // u32 REG_MODE: The address of the "mode" register controlling timers
- // u32 DEFAULT_PRESCALE: The starting clock prescale
- // u32 EG_CLOCK_DIVIDER: The clock divider of the envelope generator
- // bool EG_HAS_DEPRESS: True if the chip has a DP ("depress"?) envelope stage
- // bool EG_HAS_SSG: True if the chip has SSG envelope support
- // bool MODULATOR_DELAY: True if the modulator is delayed by 1 sample (OPL pre-OPL3)
- // u32 CSM_TRIGGER_MASK: Mask of channels to trigger in CSM mode
- // u8 STATUS_TIMERA: Status bit to set when timer A fires
- // u8 STATUS_TIMERB: Status bit to set when tiemr B fires
- // u8 STATUS_BUSY: Status bit to set when the chip is busy
- // u8 STATUS_IRQ: Status bit to set when an IRQ is signalled
- //
-
- // system-wide register defaults
- u32 status_mask() const { return 0; } // OPL only
- u32 irq_reset() const { return 0; } // OPL only
- u32 noise_enable() const { return 0; } // OPM only
- u32 rhythm_enable() const { return 0; } // OPL only
-
- // per-operator register defaults
- u32 op_ssg_eg_enable(u32 opoffs) const { return 0; } // OPN(A) only
- u32 op_ssg_eg_mode(u32 opoffs) const { return 0; } // OPN(A) only
-
-protected:
- // helper to encode four operator numbers into a 32-bit value in the
- // operator maps for each register class
- static constexpr u32 operator_list(u8 o1 = 0xff, u8 o2 = 0xff, u8 o3 = 0xff, u8 o4 = 0xff)
- {
- return o1 | (o2 << 8) | (o3 << 16) | (o4 << 24);
- }
-
- // helper to apply KSR to the raw ADSR rate, ignoring ksr if the
- // raw value is 0, and clamping to 63
- static constexpr u32 effective_rate(u32 rawrate, u32 ksr)
- {
- return (rawrate == 0) ? 0 : std::min<u32>(rawrate + ksr, 63);
- }
-};
-
-
-// ======================> ymopm_registers
-
-//
-// OPM register map:
-//
-// System-wide registers:
-// 01 xxxxxxxx Test register
-// 08 x------- Key on/off operator 4
-// -x------ Key on/off operator 3
-// --x----- Key on/off operator 2
-// ---x---- Key on/off operator 1
-// -----xxx Channel select
-// 0F x------- NE
-// ---xxxxx NFRQ
-// 10 xxxxxxxx Timer A value (upper 8 bits)
-// 11 ------xx Timer A value (lower 2 bits)
-// 12 xxxxxxxx Timer B value
-// 14 x------- CSM mode
-// --x----- Reset timer B
-// ---x---- Reset timer A
-// ----x--- Enable timer B
-// -----x-- Enable timer A
-// ------x- Load timer B
-// -------x Load timer A
-// 18 xxxxxxxx LFO frequency
-// 19 xxxxxxxx PM/AM LFO depth
-// 1B xx------ CT
-// ------xx W
-//
-// Per-channel registers (channel in address bits 0-2)
-// 20-27 x------- Pan right
-// -x------ Pan left
-// --xxx--- Feedback level for operator 1 (0-7)
-// -----xxx Operator connection algorithm (0-7)
-// 28-2F -xxxxxxx Key code
-// 30-37 xxxxxx-- KF
-// 38-3F -xxx---- PM sensitivity
-// ------xx AM shift
-//
-// Per-operator registers (channel in address bits 0-2, operator in bits 3-4)
-// 40-5F -xxx---- Detune value (0-7)
-// ----xxxx Multiple value (0-15)
-// 60-7F -xxxxxxx Total level (0-127)
-// 80-9F xx------ Key scale rate (0-3)
-// ---xxxxx Attack rate (0-31)
-// A0-BF x------- LFO AM enable
-// ---xxxxx Decay rate (0-31)
-// C0-DF xx------ Detune 2 value (0-3)
-// ---xxxxx Sustain rate (0-31)
-// E0-FF xxxx---- Sustain level (0-15)
-// ----xxxx Release rate (0-15)
-//
-// Internal (fake) registers:
-// 19 -xxxxxxx AM depth
-// 1A -xxxxxxx PM depth
-//
-
-class ymopm_registers : public ymfm_registers_base
-{
- // LFO waveforms are 256 entries long
- static constexpr u32 LFO_WAVEFORM_LENGTH = 256;
-
-public:
- // constants
- static constexpr u32 OUTPUTS = 2;
- static constexpr u32 CHANNELS = 8;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
- static constexpr u32 OPERATORS = CHANNELS * 4;
- static constexpr bool DYNAMIC_OPS = false;
- static constexpr u32 WAVEFORMS = 1;
- static constexpr u32 REGISTERS = 0x100;
- static constexpr u32 REG_MODE = 0x14;
- static constexpr u32 DEFAULT_PRESCALE = 2;
- static constexpr u32 EG_CLOCK_DIVIDER = 3;
- static constexpr bool EG_HAS_DEPRESS = false;
- static constexpr bool EG_HAS_SSG = false;
- static constexpr bool MODULATOR_DELAY = false;
- static constexpr u32 CSM_TRIGGER_MASK = ALL_CHANNELS;
- static constexpr u8 STATUS_TIMERA = 0x01;
- static constexpr u8 STATUS_TIMERB = 0x02;
- static constexpr u8 STATUS_BUSY = 0x80;
- static constexpr u8 STATUS_IRQ = 0;
-
- // constructor
- ymopm_registers();
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // map channel number to register offset
- static constexpr u32 channel_offset(u32 chnum)
- {
- assert(chnum < CHANNELS);
- return chnum;
- }
-
- // map operator number to register offset
- static constexpr u32 operator_offset(u32 opnum)
- {
- assert(opnum < OPERATORS);
- return opnum;
- }
-
- // return an array of operator indices for each channel
- struct operator_mapping { u32 chan[CHANNELS]; };
- void operator_map(operator_mapping &dest) const;
-
- // handle writes to the register array
- bool write(u16 index, u8 data, u32 &chan, u32 &opmask);
-
- // clock the noise and LFO, if present, returning LFO PM value
- s32 clock_noise_and_lfo();
-
- // reset the LFO
- void reset_lfo() { m_lfo_counter = 0; }
-
- // return the AM offset from LFO for the given channel
- u32 lfo_am_offset(u32 choffs) const;
-
- // return the current noise state, gated by the noise clock
- u32 noise_state() const { return m_noise_state; }
-
- // caching helpers
- void cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache);
-
- // compute the phase step, given a PM value
- u32 compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm);
-
- // log a key-on event
- void log_keyon(u32 choffs, u32 opoffs);
-
- // system-wide registers
- u32 test() const { return byte(0x01, 0, 8); }
- u32 noise_frequency() const { return byte(0x0f, 0, 5); }
- u32 noise_enable() const { return byte(0x0f, 7, 1); }
- u32 timer_a_value() const { return word(0x10, 0, 8, 0x11, 0, 2); }
- u32 timer_b_value() const { return byte(0x12, 0, 8); }
- u32 csm() const { return byte(0x14, 7, 1); }
- u32 reset_timer_b() const { return byte(0x14, 5, 1); }
- u32 reset_timer_a() const { return byte(0x14, 4, 1); }
- u32 enable_timer_b() const { return byte(0x14, 3, 1); }
- u32 enable_timer_a() const { return byte(0x14, 2, 1); }
- u32 load_timer_b() const { return byte(0x14, 1, 1); }
- u32 load_timer_a() const { return byte(0x14, 0, 1); }
- u32 lfo_rate() const { return byte(0x18, 0, 8); }
- u32 lfo_am_depth() const { return byte(0x19, 0, 7); }
- u32 lfo_pm_depth() const { return byte(0x1a, 0, 7); }
- u32 lfo_waveform() const { return byte(0x1b, 0, 2); }
-
- // per-channel registers
- u32 ch_output_any(u32 choffs) const { return byte(0x20, 6, 2, choffs); }
- u32 ch_output_0(u32 choffs) const { return byte(0x20, 6, 1, choffs); }
- u32 ch_output_1(u32 choffs) const { return byte(0x20, 7, 1, choffs); }
- u32 ch_output_2(u32 choffs) const { return 0; }
- u32 ch_output_3(u32 choffs) const { return 0; }
- u32 ch_feedback(u32 choffs) const { return byte(0x20, 3, 3, choffs); }
- u32 ch_algorithm(u32 choffs) const { return byte(0x20, 0, 3, choffs); }
- u32 ch_block_freq(u32 choffs) const { return word(0x28, 0, 7, 0x30, 2, 6, choffs); }
- u32 ch_lfo_pm_sens(u32 choffs) const { return byte(0x38, 4, 3, choffs); }
- u32 ch_lfo_am_sens(u32 choffs) const { return byte(0x38, 0, 2, choffs); }
-
- // per-operator registers
- u32 op_detune(u32 opoffs) const { return byte(0x40, 4, 3, opoffs); }
- u32 op_multiple(u32 opoffs) const { return byte(0x40, 0, 4, opoffs); }
- u32 op_total_level(u32 opoffs) const { return byte(0x60, 0, 7, opoffs); }
- u32 op_ksr(u32 opoffs) const { return byte(0x80, 6, 2, opoffs); }
- u32 op_attack_rate(u32 opoffs) const { return byte(0x80, 0, 5, opoffs); }
- u32 op_lfo_am_enable(u32 opoffs) const { return byte(0xa0, 7, 1, opoffs); }
- u32 op_decay_rate(u32 opoffs) const { return byte(0xa0, 0, 5, opoffs); }
- u32 op_detune2(u32 opoffs) const { return byte(0xc0, 6, 2, opoffs); }
- u32 op_sustain_rate(u32 opoffs) const { return byte(0xc0, 0, 5, opoffs); }
- u32 op_sustain_level(u32 opoffs) const { return byte(0xe0, 4, 4, opoffs); }
- u32 op_release_rate(u32 opoffs) const { return byte(0xe0, 0, 4, opoffs); }
-
-protected:
- // return a bitfield extracted from a byte
- u32 byte(u32 offset, u32 start, u32 count, u32 extra_offset = 0) const
- {
- return BIT(m_regdata[offset + extra_offset], start, count);
- }
-
- // return a bitfield extracted from a pair of bytes, MSBs listed first
- u32 word(u32 offset1, u32 start1, u32 count1, u32 offset2, u32 start2, u32 count2, u32 extra_offset = 0) const
- {
- return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
- }
-
- // internal state
- u32 m_lfo_counter; // LFO counter
- u32 m_noise_lfsr; // noise LFSR state
- u8 m_noise_counter; // noise counter
- u8 m_noise_state; // latched noise state
- u8 m_noise_lfo; // latched LFO noise value
- u8 m_lfo_am; // current LFO AM value
- u8 m_regdata[REGISTERS]; // register data
- s16 m_lfo_waveform[4][LFO_WAVEFORM_LENGTH]; // LFO waveforms; AM in low 8, PM in upper 8
- u16 m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
-};
-
-
-// ======================> ymopn_registers_base
-
-//
-// OPN register map:
-//
-// System-wide registers:
-// 21 xxxxxxxx Test register
-// 22 ----x--- LFO enable [OPNA+ only]
-// -----xxx LFO rate [OPNA+ only]
-// 24 xxxxxxxx Timer A value (upper 8 bits)
-// 25 ------xx Timer A value (lower 2 bits)
-// 26 xxxxxxxx Timer B value
-// 27 xx------ CSM/Multi-frequency mode for channel #2
-// --x----- Reset timer B
-// ---x---- Reset timer A
-// ----x--- Enable timer B
-// -----x-- Enable timer A
-// ------x- Load timer B
-// -------x Load timer A
-// 28 x------- Key on/off operator 4
-// -x------ Key on/off operator 3
-// --x----- Key on/off operator 2
-// ---x---- Key on/off operator 1
-// ------xx Channel select
-//
-// Per-channel registers (channel in address bits 0-1)
-// Note that all these apply to address+100 as well on OPNA+
-// A0-A3 xxxxxxxx Frequency number lower 8 bits
-// A4-A7 --xxx--- Block (0-7)
-// -----xxx Frequency number upper 3 bits
-// B0-B3 --xxx--- Feedback level for operator 1 (0-7)
-// -----xxx Operator connection algorithm (0-7)
-// B4-B7 x------- Pan left [OPNA]
-// -x------ Pan right [OPNA]
-// --xx---- LFO AM shift (0-3) [OPNA+ only]
-// -----xxx LFO PM depth (0-7) [OPNA+ only]
-//
-// Per-operator registers (channel in address bits 0-1, operator in bits 2-3)
-// Note that all these apply to address+100 as well on OPNA+
-// 30-3F -xxx---- Detune value (0-7)
-// ----xxxx Multiple value (0-15)
-// 40-4F -xxxxxxx Total level (0-127)
-// 50-5F xx------ Key scale rate (0-3)
-// ---xxxxx Attack rate (0-31)
-// 60-6F x------- LFO AM enable [OPNA]
-// ---xxxxx Decay rate (0-31)
-// 70-7F ---xxxxx Sustain rate (0-31)
-// 80-8F xxxx---- Sustain level (0-15)
-// ----xxxx Release rate (0-15)
-// 90-9F ----x--- SSG-EG enable
-// -----xxx SSG-EG envelope (0-7)
-//
-// Special multi-frequency registers (channel implicitly #2; operator in address bits 0-1)
-// A8-AB xxxxxxxx Frequency number lower 8 bits
-// AC-AF --xxx--- Block (0-7)
-// -----xxx Frequency number upper 3 bits
-//
-// Internal (fake) registers:
-// B8-BB --xxxxxx Latched frequency number upper bits (from A4-A7)
-// BC-BF --xxxxxx Latched frequency number upper bits (from AC-AF)
-//
-
-template<bool IsOpnA>
-class ymopn_registers_base : public ymfm_registers_base
-{
-public:
- // constants
- static constexpr u32 OUTPUTS = IsOpnA ? 2 : 1;
- static constexpr u32 CHANNELS = IsOpnA ? 6 : 3;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
- static constexpr u32 OPERATORS = CHANNELS * 4;
- static constexpr bool DYNAMIC_OPS = false;
- static constexpr u32 WAVEFORMS = 1;
- static constexpr u32 REGISTERS = IsOpnA ? 0x200 : 0x100;
- static constexpr u32 REG_MODE = 0x27;
- static constexpr u32 DEFAULT_PRESCALE = 6;
- static constexpr u32 EG_CLOCK_DIVIDER = 3;
- static constexpr bool EG_HAS_DEPRESS = false;
- static constexpr bool EG_HAS_SSG = true;
- static constexpr bool MODULATOR_DELAY = false;
- static constexpr u32 CSM_TRIGGER_MASK = 1 << 2;
- static constexpr u8 STATUS_TIMERA = 0x01;
- static constexpr u8 STATUS_TIMERB = 0x02;
- static constexpr u8 STATUS_BUSY = 0x80;
- static constexpr u8 STATUS_IRQ = 0;
-
- // constructor
- ymopn_registers_base();
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // map channel number to register offset
- static constexpr u32 channel_offset(u32 chnum)
- {
- assert(chnum < CHANNELS);
- if (!IsOpnA)
- return chnum;
- else
- return (chnum % 3) + 0x100 * (chnum / 3);
- }
-
- // map operator number to register offset
- static constexpr u32 operator_offset(u32 opnum)
- {
- assert(opnum < OPERATORS);
- if (!IsOpnA)
- return opnum + opnum / 3;
- else
- return (opnum % 12) + ((opnum % 12) / 3) + 0x100 * (opnum / 12);
- }
-
- // return an array of operator indices for each channel
- struct operator_mapping { u32 chan[CHANNELS]; };
- void operator_map(operator_mapping &dest) const;
-
- // handle writes to the register array
- bool write(u16 index, u8 data, u32 &chan, u32 &opmask);
-
- // clock the noise and LFO, if present, returning LFO PM value
- s32 clock_noise_and_lfo();
-
- // reset the LFO
- void reset_lfo() { m_lfo_counter = 0; }
-
- // return the AM offset from LFO for the given channel
- u32 lfo_am_offset(u32 choffs) const;
-
- // return LFO/noise states
- u32 noise_state() const { return 0; }
-
- // caching helpers
- void cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache);
-
- // compute the phase step, given a PM value
- u32 compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm);
-
- // log a key-on event
- void log_keyon(u32 choffs, u32 opoffs);
-
- // system-wide registers
- u32 test() const { return byte(0x21, 0, 8); }
- u32 lfo_enable() const { return IsOpnA ? byte(0x22, 3, 1) : 0; }
- u32 lfo_rate() const { return IsOpnA ? byte(0x22, 0, 3) : 0; }
- u32 timer_a_value() const { return word(0x24, 0, 8, 0x25, 0, 2); }
- u32 timer_b_value() const { return byte(0x26, 0, 8); }
- u32 csm() const { return (byte(0x27, 6, 2) == 2); }
- u32 multi_freq() const { return (byte(0x27, 6, 2) != 0); }
- u32 reset_timer_b() const { return byte(0x27, 5, 1); }
- u32 reset_timer_a() const { return byte(0x27, 4, 1); }
- u32 enable_timer_b() const { return byte(0x27, 3, 1); }
- u32 enable_timer_a() const { return byte(0x27, 2, 1); }
- u32 load_timer_b() const { return byte(0x27, 1, 1); }
- u32 load_timer_a() const { return byte(0x27, 0, 1); }
- u32 multi_block_freq(u32 num) const { return word(0xac, 0, 6, 0xa8, 0, 8, num); }
-
- // per-channel registers
- u32 ch_block_freq(u32 choffs) const { return word(0xa4, 0, 6, 0xa0, 0, 8, choffs); }
- u32 ch_feedback(u32 choffs) const { return byte(0xb0, 3, 3, choffs); }
- u32 ch_algorithm(u32 choffs) const { return byte(0xb0, 0, 3, choffs); }
- u32 ch_output_any(u32 choffs) const { return IsOpnA ? byte(0xb4, 6, 2, choffs) : 1; }
- u32 ch_output_0(u32 choffs) const { return IsOpnA ? byte(0xb4, 7, 1, choffs) : 1; }
- u32 ch_output_1(u32 choffs) const { return IsOpnA ? byte(0xb4, 6, 1, choffs) : 0; }
- u32 ch_output_2(u32 choffs) const { return 0; }
- u32 ch_output_3(u32 choffs) const { return 0; }
- u32 ch_lfo_am_sens(u32 choffs) const { return IsOpnA ? byte(0xb4, 4, 2, choffs) : 0; }
- u32 ch_lfo_pm_sens(u32 choffs) const { return IsOpnA ? byte(0xb4, 0, 3, choffs) : 0; }
-
- // per-operator registers
- u32 op_detune(u32 opoffs) const { return byte(0x30, 4, 3, opoffs); }
- u32 op_multiple(u32 opoffs) const { return byte(0x30, 0, 4, opoffs); }
- u32 op_total_level(u32 opoffs) const { return byte(0x40, 0, 7, opoffs); }
- u32 op_ksr(u32 opoffs) const { return byte(0x50, 6, 2, opoffs); }
- u32 op_attack_rate(u32 opoffs) const { return byte(0x50, 0, 5, opoffs); }
- u32 op_decay_rate(u32 opoffs) const { return byte(0x60, 0, 5, opoffs); }
- u32 op_lfo_am_enable(u32 opoffs) const { return IsOpnA ? byte(0x60, 7, 1, opoffs) : 0; }
- u32 op_sustain_rate(u32 opoffs) const { return byte(0x70, 0, 5, opoffs); }
- u32 op_sustain_level(u32 opoffs) const { return byte(0x80, 4, 4, opoffs); }
- u32 op_release_rate(u32 opoffs) const { return byte(0x80, 0, 4, opoffs); }
- u32 op_ssg_eg_enable(u32 opoffs) const { return byte(0x90, 3, 1, opoffs); }
- u32 op_ssg_eg_mode(u32 opoffs) const { return byte(0x90, 0, 3, opoffs); }
-
-protected:
- // return a bitfield extracted from a byte
- u32 byte(u32 offset, u32 start, u32 count, u32 extra_offset = 0) const
- {
- return BIT(m_regdata[offset + extra_offset], start, count);
- }
-
- // return a bitfield extracted from a pair of bytes, MSBs listed first
- u32 word(u32 offset1, u32 start1, u32 count1, u32 offset2, u32 start2, u32 count2, u32 extra_offset = 0) const
- {
- return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
- }
-
- // internal state
- u32 m_lfo_counter; // LFO counter
- u8 m_lfo_am; // current LFO AM value
- u8 m_regdata[REGISTERS]; // register data
- u16 m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
-};
-
-using ymopn_registers = ymopn_registers_base<false>;
-using ymopna_registers = ymopn_registers_base<true>;
-
-
-// ======================> ymopl_registers_base
-
-//
-// OPL/OPL2/OPL3/OPL4 register map:
-//
-// System-wide registers:
-// 01 xxxxxxxx Test register
-// --x----- Enable OPL compatibility mode [OPL2 only] (1 = enable)
-// 02 xxxxxxxx Timer A value (4 * OPN)
-// 03 xxxxxxxx Timer B value
-// 04 x------- RST
-// -x------ Mask timer A
-// --x----- Mask timer B
-// ------x- Load timer B
-// -------x Load timer A
-// 08 x------- CSM mode [OPL/OPL2 only]
-// -x------ Note select
-// BD x------- AM depth
-// -x------ PM depth
-// --x----- Rhythm enable
-// ---x---- Bass drum key on
-// ----x--- Snare drum key on
-// -----x-- Tom key on
-// ------x- Top cymbal key on
-// -------x High hat key on
-// 101 --xxxxxx Test register 2 [OPL3 only]
-// 104 --x----- Channel 6 4-operator mode [OPL3 only]
-// ---x---- Channel 5 4-operator mode [OPL3 only]
-// ----x--- Channel 4 4-operator mode [OPL3 only]
-// -----x-- Channel 3 4-operator mode [OPL3 only]
-// ------x- Channel 2 4-operator mode [OPL3 only]
-// -------x Channel 1 4-operator mode [OPL3 only]
-// 105 -------x New [OPL3 only]
-// ------x- New2 [OPL4 only]
-//
-// Per-channel registers (channel in address bits 0-3)
-// Note that all these apply to address+100 as well on OPL3+
-// A0-A8 xxxxxxxx F-number (low 8 bits)
-// B0-B8 --x----- Key on
-// ---xxx-- Block (octvate, 0-7)
-// ------xx F-number (high two bits)
-// C0-C8 x------- CHD output (to DO0 pin) [OPL3+ only]
-// -x------ CHC output (to DO0 pin) [OPL3+ only]
-// --x----- CHB output (mixed right, to DO2 pin) [OPL3+ only]
-// ---x---- CHA output (mixed left, to DO2 pin) [OPL3+ only]
-// ----xxx- Feedback level for operator 1 (0-7)
-// -------x Operator connection algorithm
-//
-// Per-operator registers (operator in bits 0-5)
-// Note that all these apply to address+100 as well on OPL3+
-// 20-35 x------- AM enable
-// -x------ PM enable (VIB)
-// --x----- EG type
-// ---x---- Key scale rate
-// ----xxxx Multiple value (0-15)
-// 40-55 xx------ Key scale level (0-3)
-// --xxxxxx Total level (0-63)
-// 60-75 xxxx---- Attack rate (0-15)
-// ----xxxx Decay rate (0-15)
-// 80-95 xxxx---- Sustain level (0-15)
-// ----xxxx Release rate (0-15)
-// E0-F5 ------xx Wave select (0-3) [OPL2 only]
-// -----xxx Wave select (0-7) [OPL3+ only]
-//
-
-template<int Revision>
-class ymopl_registers_base : public ymfm_registers_base
-{
- static constexpr bool IsOpl2 = (Revision == 2);
- static constexpr bool IsOpl2Plus = (Revision >= 2);
- static constexpr bool IsOpl3Plus = (Revision >= 3);
- static constexpr bool IsOpl4Plus = (Revision >= 4);
-
-public:
- // constants
- static constexpr u32 OUTPUTS = IsOpl3Plus ? 4 : 1;
- static constexpr u32 CHANNELS = IsOpl3Plus ? 18 : 9;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
- static constexpr u32 OPERATORS = CHANNELS * 2;
- static constexpr bool DYNAMIC_OPS = IsOpl3Plus;
- static constexpr u32 WAVEFORMS = IsOpl3Plus ? 8 : (IsOpl2Plus ? 4 : 1);
- static constexpr u32 REGISTERS = IsOpl3Plus ? 0x200 : 0x100;
- static constexpr u32 REG_MODE = 0x04;
- static constexpr u32 DEFAULT_PRESCALE = IsOpl4Plus ? 19 : (IsOpl3Plus ? 8 : 4);
- static constexpr u32 EG_CLOCK_DIVIDER = 1;
- static constexpr bool EG_HAS_DEPRESS = false;
- static constexpr bool EG_HAS_SSG = false;
- static constexpr bool MODULATOR_DELAY = !IsOpl3Plus;
- static constexpr u32 CSM_TRIGGER_MASK = ALL_CHANNELS;
- static constexpr u8 STATUS_TIMERA = 0x40;
- static constexpr u8 STATUS_TIMERB = 0x20;
- static constexpr u8 STATUS_BUSY = 0;
- static constexpr u8 STATUS_IRQ = 0x80;
-
- // constructor
- ymopl_registers_base();
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // map channel number to register offset
- static constexpr u32 channel_offset(u32 chnum)
- {
- assert(chnum < CHANNELS);
- if (!IsOpl3Plus)
- return chnum;
- else
- return (chnum % 9) + 0x100 * (chnum / 9);
- }
-
- // map operator number to register offset
- static constexpr u32 operator_offset(u32 opnum)
- {
- assert(opnum < OPERATORS);
- if (!IsOpl3Plus)
- return opnum + 2 * (opnum / 6);
- else
- return (opnum % 18) + 2 * ((opnum % 18) / 6) + 0x100 * (opnum / 18);
- }
-
- // return an array of operator indices for each channel
- struct operator_mapping { u32 chan[CHANNELS]; };
- void operator_map(operator_mapping &dest) const;
-
- // OPL4 apparently can read back FM registers?
- u8 read(u16 index) { return m_regdata[index]; }
-
- // handle writes to the register array
- bool write(u16 index, u8 data, u32 &chan, u32 &opmask);
-
- // clock the noise and LFO, if present, returning LFO PM value
- s32 clock_noise_and_lfo();
-
- // reset the LFO
- void reset_lfo() { m_lfo_am_counter = m_lfo_pm_counter = 0; }
-
- // return the AM offset from LFO for the given channel
- // on OPL this is just a fixed value
- u32 lfo_am_offset(u32 choffs) const { return m_lfo_am; }
-
- // return LFO/noise states
- u32 noise_state() const { return m_noise_lfsr >> 23; }
-
- // caching helpers
- void cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache);
-
- // compute the phase step, given a PM value
- u32 compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm);
-
- // log a key-on event
- void log_keyon(u32 choffs, u32 opoffs);
-
- // system-wide registers
- u32 test() const { return byte(0x01, 0, 8); }
- u32 waveform_enable() const { return IsOpl2 ? byte(0x01, 5, 1) : (IsOpl3Plus ? 1 : 0); }
- u32 timer_a_value() const { return byte(0x02, 0, 8) * 4; } // 8->10 bits
- u32 timer_b_value() const { return byte(0x03, 0, 8); }
- u32 status_mask() const { return byte(0x04, 0, 8) & 0x78; }
- u32 irq_reset() const { return byte(0x04, 7, 1); }
- u32 reset_timer_b() const { return byte(0x04, 7, 1) | byte(0x04, 5, 1); }
- u32 reset_timer_a() const { return byte(0x04, 7, 1) | byte(0x04, 6, 1); }
- u32 enable_timer_b() const { return 1; }
- u32 enable_timer_a() const { return 1; }
- u32 load_timer_b() const { return byte(0x04, 1, 1); }
- u32 load_timer_a() const { return byte(0x04, 0, 1); }
- u32 csm() const { return IsOpl3Plus ? 0 : byte(0x08, 7, 1); }
- u32 note_select() const { return byte(0x08, 6, 1); }
- u32 lfo_am_depth() const { return byte(0xbd, 7, 1); }
- u32 lfo_pm_depth() const { return byte(0xbd, 6, 1); }
- u32 rhythm_enable() const { return byte(0xbd, 5, 1); }
- u32 rhythm_keyon() const { return byte(0xbd, 4, 0); }
- u32 newflag() const { return IsOpl3Plus ? byte(0x105, 0, 1) : 0; }
- u32 new2flag() const { return IsOpl4Plus ? byte(0x105, 1, 1) : 0; }
- u32 fourop_enable() const { return IsOpl3Plus ? byte(0x104, 0, 6) : 0; }
-
- // per-channel registers
- u32 ch_block_freq(u32 choffs) const { return word(0xb0, 0, 5, 0xa0, 0, 8, choffs); }
- u32 ch_feedback(u32 choffs) const { return byte(0xc0, 1, 3, choffs); }
- u32 ch_algorithm(u32 choffs) const { return byte(0xc0, 0, 1, choffs) | (IsOpl3Plus ? (8 | (byte(0xc3, 0, 1, choffs) << 1)) : 0); }
- u32 ch_output_any(u32 choffs) const { return newflag() ? byte(0xc0 + choffs, 4, 4) : 1; }
- u32 ch_output_0(u32 choffs) const { return newflag() ? byte(0xc0 + choffs, 4, 1) : 1; }
- u32 ch_output_1(u32 choffs) const { return newflag() ? byte(0xc0 + choffs, 5, 1) : (IsOpl3Plus ? 1 : 0); }
- u32 ch_output_2(u32 choffs) const { return newflag() ? byte(0xc0 + choffs, 6, 1) : 0; }
- u32 ch_output_3(u32 choffs) const { return newflag() ? byte(0xc0 + choffs, 7, 1) : 0; }
-
- // per-operator registers
- u32 op_lfo_am_enable(u32 opoffs) const { return byte(0x20, 7, 1, opoffs); }
- u32 op_lfo_pm_enable(u32 opoffs) const { return byte(0x20, 6, 1, opoffs); }
- u32 op_eg_sustain(u32 opoffs) const { return byte(0x20, 5, 1, opoffs); }
- u32 op_ksr(u32 opoffs) const { return byte(0x20, 4, 1, opoffs); }
- u32 op_multiple(u32 opoffs) const { return byte(0x20, 0, 4, opoffs); }
- u32 op_ksl(u32 opoffs) const { return bitswap<2>(byte(0x40, 6, 2, opoffs), 0, 1); }
- u32 op_total_level(u32 opoffs) const { return byte(0x40, 0, 6, opoffs); }
- u32 op_attack_rate(u32 opoffs) const { return byte(0x60, 4, 4, opoffs); }
- u32 op_decay_rate(u32 opoffs) const { return byte(0x60, 0, 4, opoffs); }
- u32 op_sustain_level(u32 opoffs) const { return byte(0x80, 4, 4, opoffs); }
- u32 op_release_rate(u32 opoffs) const { return byte(0x80, 0, 4, opoffs); }
- u32 op_waveform(u32 opoffs) const { return IsOpl2Plus ? byte(0xe0, 0, newflag() ? 3 : 2, opoffs) : 0; }
-
-protected:
- // return a bitfield extracted from a byte
- u32 byte(u32 offset, u32 start, u32 count, u32 extra_offset = 0) const
- {
- return BIT(m_regdata[offset + extra_offset], start, count);
- }
-
- // return a bitfield extracted from a pair of bytes, MSBs listed first
- u32 word(u32 offset1, u32 start1, u32 count1, u32 offset2, u32 start2, u32 count2, u32 extra_offset = 0) const
- {
- return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
- }
-
- // helper to determine if the this channel is an active rhythm channel
- bool is_rhythm(u32 choffs) const
- {
- return rhythm_enable() && (choffs >= 6 && choffs <= 8);
- }
-
- // internal state
- u16 m_lfo_am_counter; // LFO AM counter
- u16 m_lfo_pm_counter; // LFO PM counter
- u32 m_noise_lfsr; // noise LFSR state
- u8 m_lfo_am; // current LFO AM value
- u8 m_regdata[REGISTERS]; // register data
- u16 m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
-};
-
-using ymopl_registers = ymopl_registers_base<1>;
-using ymopl2_registers = ymopl_registers_base<2>;
-using ymopl3_registers = ymopl_registers_base<3>;
-using ymopl4_registers = ymopl_registers_base<4>;
-
-
-// ======================> ymopll_registers
-
-//
-// OPLL register map:
-//
-// System-wide registers:
-// 0E --x----- Rhythm enable
-// ---x---- Bass drum key on
-// ----x--- Snare drum key on
-// -----x-- Tom key on
-// ------x- Top cymbal key on
-// -------x High hat key on
-// 0F xxxxxxxx Test register
-//
-// Per-channel registers (channel in address bits 0-3)
-// 10-18 xxxxxxxx F-number (low 8 bits)
-// 20-28 --x----- Sustain on
-// ---x---- Key on
-// --- xxx- Block (octvate, 0-7)
-// -------x F-number (high bit)
-// 30-38 xxxx---- Instrument selection
-// ----xxxx Volume
-//
-// User instrument registers (for carrier, modulator operators)
-// 00-01 x------- AM enable
-// -x------ PM enable (VIB)
-// --x----- EG type
-// ---x---- Key scale rate
-// ----xxxx Multiple value (0-15)
-// 02 xx------ Key scale level (carrier, 0-3)
-// --xxxxxx Total level (modulator, 0-63)
-// 03 xx------ Key scale level (modulator, 0-3)
-// ---x---- Rectified wave (carrier)
-// ----x--- Rectified wave (modulator)
-// -----xxx Feedback level for operator 1 (0-7)
-// 04-05 xxxx---- Attack rate (0-15)
-// ----xxxx Decay rate (0-15)
-// 06-07 xxxx---- Sustain level (0-15)
-// ----xxxx Release rate (0-15)
-//
-// Internal (fake) registers:
-// 40-48 xxxxxxxx Current instrument base address
-// 4E-5F xxxxxxxx Current instrument base address + operator slot (0/1)
-// 70-FF xxxxxxxx Data for instruments (1-16 plus 3 drums)
-//
-
-class ymopll_registers : public ymfm_registers_base
-{
-public:
- static constexpr u32 OUTPUTS = 2;
- static constexpr u32 CHANNELS = 9;
- static constexpr u32 ALL_CHANNELS = (1 << CHANNELS) - 1;
- static constexpr u32 OPERATORS = CHANNELS * 2;
- static constexpr bool DYNAMIC_OPS = false;
- static constexpr u32 WAVEFORMS = 2;
- static constexpr u32 REGISTERS = 0x40;
- static constexpr u32 REG_MODE = 0x3f;
- static constexpr u32 DEFAULT_PRESCALE = 4;
- static constexpr u32 EG_CLOCK_DIVIDER = 1;
- static constexpr bool EG_HAS_DEPRESS = true;
- static constexpr bool EG_HAS_SSG = false;
- static constexpr bool MODULATOR_DELAY = true;
- static constexpr u32 CSM_TRIGGER_MASK = 0;
- static constexpr u8 STATUS_TIMERA = 0;
- static constexpr u8 STATUS_TIMERB = 0;
- static constexpr u8 STATUS_BUSY = 0;
- static constexpr u8 STATUS_IRQ = 0;
-
- // OPLL-specific constants
- static constexpr u32 INSTDATA_SIZE = 0x90;
-
- // constructor
- ymopll_registers();
-
- // register for save states
- void save(device_t &device);
-
- // reset to initial state
- void reset();
-
- // map channel number to register offset
- static constexpr u32 channel_offset(u32 chnum)
- {
- assert(chnum < CHANNELS);
- return chnum;
- }
-
- // map operator number to register offset
- static constexpr u32 operator_offset(u32 opnum)
- {
- assert(opnum < OPERATORS);
- return opnum;
- }
-
- // return an array of operator indices for each channel
- struct operator_mapping { u32 chan[CHANNELS]; };
- void operator_map(operator_mapping &dest) const;
-
- // handle writes to the register array
- bool write(u16 index, u8 data, u32 &chan, u32 &opmask);
-
- // clock the noise and LFO, if present, returning LFO PM value
- s32 clock_noise_and_lfo();
-
- // reset the LFO
- void reset_lfo() { m_lfo_am_counter = m_lfo_pm_counter = 0; }
-
- // return the AM offset from LFO for the given channel
- // on OPL this is just a fixed value
- u32 lfo_am_offset(u32 choffs) const { return m_lfo_am; }
-
- // return LFO/noise states
- u32 noise_state() const { return m_noise_lfsr >> 23; }
-
- // caching helpers
- void cache_operator_data(u32 choffs, u32 opoffs, ymfm_opdata_cache &cache);
-
- // compute the phase step, given a PM value
- u32 compute_phase_step(u32 choffs, u32 opoffs, ymfm_opdata_cache const &cache, s32 lfo_raw_pm);
-
- // log a key-on event
- void log_keyon(u32 choffs, u32 opoffs);
-
- // set the instrument data
- void set_instrument_data(u8 const *data)
- {
- memcpy(&m_instdata[0], data, INSTDATA_SIZE);
- }
-
- // system-wide registers
- u32 rhythm_enable() const { return byte(0x0e, 5, 1); }
- u32 rhythm_keyon() const { return byte(0x0e, 4, 0); }
- u32 test() const { return byte(0x0f, 0, 8); }
- u32 waveform_enable() const { return 1; }
- u32 timer_a_value() const { return 0; }
- u32 timer_b_value() const { return 0; }
- u32 status_mask() const { return 0; }
- u32 irq_reset() const { return 0; }
- u32 reset_timer_b() const { return 0; }
- u32 reset_timer_a() const { return 0; }
- u32 enable_timer_b() const { return 0; }
- u32 enable_timer_a() const { return 0; }
- u32 load_timer_b() const { return 0; }
- u32 load_timer_a() const { return 0; }
- u32 csm() const { return 0; }
-
- // per-channel registers
- u32 ch_block_freq(u32 choffs) const { return word(0x20, 0, 4, 0x10, 0, 8, choffs); }
- u32 ch_sustain(u32 choffs) const { return byte(0x20, 5, 1, choffs); }
- u32 ch_total_level(u32 choffs) const { return instchbyte(0x02, 0, 6, choffs); }
- u32 ch_feedback(u32 choffs) const { return instchbyte(0x03, 0, 3, choffs); }
- u32 ch_algorithm(u32 choffs) const { return 0; }
- u32 ch_instrument(u32 choffs) const { return byte(0x30, 4, 4, choffs); }
- u32 ch_output_any(u32 choffs) const { return 1; }
- u32 ch_output_0(u32 choffs) const { return !is_rhythm(choffs); }
- u32 ch_output_1(u32 choffs) const { return is_rhythm(choffs); }
- u32 ch_output_2(u32 choffs) const { return 0; }
- u32 ch_output_3(u32 choffs) const { return 0; }
-
- // per-operator registers
- u32 op_lfo_am_enable(u32 opoffs) const { return instopbyte(0x00, 7, 1, opoffs); }
- u32 op_lfo_pm_enable(u32 opoffs) const { return instopbyte(0x00, 6, 1, opoffs); }
- u32 op_eg_sustain(u32 opoffs) const { return instopbyte(0x00, 5, 1, opoffs); }
- u32 op_ksr(u32 opoffs) const { return instopbyte(0x00, 4, 1, opoffs); }
- u32 op_multiple(u32 opoffs) const { return instopbyte(0x00, 0, 4, opoffs); }
- u32 op_ksl(u32 opoffs) const { return instopbyte(0x02, 6, 2, opoffs); }
- u32 op_waveform(u32 opoffs) const { return instchbyte(0x03, 3 + BIT(opoffs, 0), 1, opoffs >> 1); }
- u32 op_attack_rate(u32 opoffs) const { return instopbyte(0x04, 4, 4, opoffs); }
- u32 op_decay_rate(u32 opoffs) const { return instopbyte(0x04, 0, 4, opoffs); }
- u32 op_sustain_level(u32 opoffs) const { return instopbyte(0x06, 4, 4, opoffs); }
- u32 op_release_rate(u32 opoffs) const { return instopbyte(0x06, 0, 4, opoffs); }
- u32 op_volume(u32 opoffs) const { return byte(0x30, 4 * BIT(~opoffs, 0), 4, opoffs >> 1); }
-
-private:
- // return a bitfield extracted from a byte
- u32 byte(u32 offset, u32 start, u32 count, u32 extra_offset = 0) const
- {
- return BIT(m_regdata[offset + extra_offset], start, count);
- }
-
- // return a bitfield extracted from a pair of bytes, MSBs listed first
- u32 word(u32 offset1, u32 start1, u32 count1, u32 offset2, u32 start2, u32 count2, u32 extra_offset = 0) const
- {
- return (byte(offset1, start1, count1, extra_offset) << count2) | byte(offset2, start2, count2, extra_offset);
- }
-
- // helpers to read from instrument channel/operator data
- u32 instchbyte(u32 offset, u32 start, u32 count, u32 choffs) const { return BIT(m_chinst[choffs][offset], start, count); }
- u32 instopbyte(u32 offset, u32 start, u32 count, u32 opoffs) const { return BIT(m_opinst[opoffs][offset], start, count); }
-
- // helper to determine if the this channel is an active rhythm channel
- bool is_rhythm(u32 choffs) const
- {
- return rhythm_enable() && choffs >= 6;
- }
-
- // internal state
- u16 m_lfo_am_counter; // LFO AM counter
- u16 m_lfo_pm_counter; // LFO PM counter
- u32 m_noise_lfsr; // noise LFSR state
- u8 m_lfo_am; // current LFO AM value
- u8 const *m_chinst[CHANNELS]; // pointer to instrument data for each channel
- u8 const *m_opinst[OPERATORS]; // pointer to instrument data for each operator
- u8 m_regdata[REGISTERS]; // register data
- u8 m_instdata[INSTDATA_SIZE]; // instrument data
- u16 m_waveform[WAVEFORMS][WAVEFORM_LENGTH]; // waveforms
-};
-
-
-//*********************************************************
-// CORE ENGINE CLASSES
-//*********************************************************
-
-// forward declarations
-template<class RegisterType> class ymfm_engine_base;
-
-// three different keyon sources; actual keyon is an OR over all of these
-enum ymfm_keyon_type : u32
-{
- YMFM_KEYON_NORMAL = 0,
- YMFM_KEYON_RHYTHM = 1,
- YMFM_KEYON_CSM = 2
-};
-
-
-// ======================> ymfm_operator
-
-// ymfm_operator represents an FM operator (or "slot" in FM parlance), which
-// produces an output sine wave modulated by an envelope
-template<class RegisterType>
-class ymfm_operator
-{
- // "quiet" value, used to optimize when we can skip doing working
- static constexpr u32 ENV_QUIET = 0x200;
-
-public:
- // constructor
- ymfm_operator(ymfm_engine_base<RegisterType> &owner, u32 opoffs);
-
- // register for save states
- void save(device_t &device, u32 index);
-
- // reset the operator state
- void reset();
-
- // set the current channel
- void set_choffs(u32 choffs) { m_choffs = choffs; }
-
- // prepare prior to clocking
- bool prepare();
-
- // master clocking function
- void clock(u32 env_counter, s32 lfo_raw_pm);
-
- // return the current phase value
- u32 phase() const { return m_phase >> 10; }
-
- // compute operator volume
- s32 compute_volume(u32 phase, u32 am_offset) const;
-
- // compute volume for the OPM noise channel
- s32 compute_noise_volume(u32 am_offset) const;
-
- // key state control
- void keyonoff(u32 on, ymfm_keyon_type type);
-
- // return a reference to our registers
- RegisterType &regs() { return m_regs; }
-
-private:
- // start the attack phase
- void start_attack();
-
- // start the release phase
- void start_release();
-
- // clock phases
- void clock_keystate(u32 keystate);
- void clock_ssg_eg_state();
- void clock_envelope(u32 env_counter);
- void clock_phase(s32 lfo_raw_pm);
-
- // return effective attenuation of the envelope
- u32 envelope_attenuation(u32 am_offset) const;
-
- // internal state
- u32 m_choffs; // channel offset in registers
- u32 m_opoffs; // operator offset in registers
- u32 m_phase; // current phase value (10.10 format)
- u16 m_env_attenuation; // computed envelope attenuation (4.6 format)
- ymfm_envelope_state m_env_state; // current envelope state
- u8 m_ssg_inverted; // non-zero if the output should be inverted (bit 0)
- u8 m_key_state; // current key state: on or off (bit 0)
- u8 m_keyon_live; // live key on state (bit 0 = direct, bit 1 = rhythm, bit 2 = CSM)
- ymfm_opdata_cache m_cache; // cached values for performance
- RegisterType &m_regs; // direct reference to registers
- ymfm_engine_base<RegisterType> &m_owner; // reference to the owning engine
-};
-
-
-// ======================> ymfm_channel
-
-// ymfm_channel represents an FM channel which combines the output of 2 or 4
-// operators into a final result
-template<class RegisterType>
-class ymfm_channel
-{
-public:
- // constructor
- ymfm_channel(ymfm_engine_base<RegisterType> &owner, u32 choffs);
-
- // register for save states
- void save(device_t &device, u32 index);
-
- // reset the channel state
- void reset();
-
- // assign operators
- void assign(int index, ymfm_operator<RegisterType> *op)
- {
- assert(index < std::size(m_op));
- m_op[index] = op;
- if (op != nullptr)
- op->set_choffs(m_choffs);
- }
-
- // signal key on/off to our operators
- void keyonoff(u32 states, ymfm_keyon_type type);
-
- // prepare prior to clocking
- bool prepare();
-
- // master clocking function
- void clock(u32 env_counter, s32 lfo_raw_pm);
-
- // specific 2-operator and 4-operator output handlers
- void output_2op(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const;
- void output_4op(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const;
-
- // compute the special OPL rhythm channel outputs
- void output_rhythm_ch6(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const;
- void output_rhythm_ch7(u32 phase_select, s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const;
- void output_rhythm_ch8(u32 phase_select, s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax) const;
-
- // are we a 4-operator channel or a 2-operator one?
- bool is4op() const
- {
- if (RegisterType::DYNAMIC_OPS)
- return (m_op[2] != nullptr);
- return (RegisterType::OPERATORS / RegisterType::CHANNELS == 4);
- }
-
- // return a reference to our registers
- RegisterType &regs() { return m_regs; }
-
-private:
- // helper to add values to the outputs based on channel enables
- void add_to_output(u32 choffs, s32 *outputs, s32 value) const
- {
- if (RegisterType::OUTPUTS == 1 || m_regs.ch_output_0(choffs))
- outputs[0] += value;
- if (RegisterType::OUTPUTS >= 2 && m_regs.ch_output_1(choffs))
- outputs[1] += value;
- if (RegisterType::OUTPUTS >= 3 && m_regs.ch_output_2(choffs))
- outputs[2] += value;
- if (RegisterType::OUTPUTS >= 4 && m_regs.ch_output_3(choffs))
- outputs[3] += value;
- }
-
- // internal state
- u32 m_choffs; // channel offset in registers
- s16 m_feedback[2]; // feedback memory for operator 1
- mutable s16 m_feedback_in; // next input value for op 1 feedback (set in output)
- ymfm_operator<RegisterType> *m_op[4]; // up to 4 operators
- RegisterType &m_regs; // direct reference to registers
- ymfm_engine_base<RegisterType> &m_owner; // reference to the owning engine
-};
-
-
-// ======================> ymfm_engine_base
-
-// ymfm_engine_base represents a set of operators and channels which together
-// form a Yamaha FM core; chips that implement other engines (ADPCM, wavetable,
-// etc) take this output and combine it with the others externally
-template<class RegisterType>
-class ymfm_engine_base
-{
-public:
- // expose some constants from the registers
- static constexpr u32 OUTPUTS = RegisterType::OUTPUTS;
- static constexpr u32 CHANNELS = RegisterType::CHANNELS;
- static constexpr u32 ALL_CHANNELS = RegisterType::ALL_CHANNELS;
- static constexpr u32 OPERATORS = RegisterType::OPERATORS;
-
- // also expose status flags for consumers that inject additional bits
- static constexpr u8 STATUS_TIMERA = RegisterType::STATUS_TIMERA;
- static constexpr u8 STATUS_TIMERB = RegisterType::STATUS_TIMERB;
- static constexpr u8 STATUS_BUSY = RegisterType::STATUS_BUSY;
- static constexpr u8 STATUS_IRQ = RegisterType::STATUS_IRQ;
-
- // constructor
- ymfm_engine_base(device_t &device);
-
- // configuration helpers
- auto irq_handler() { return m_irq_handler.bind(); }
-
- // register for save states
- void save(device_t &device);
-
- // reset the overall state
- void reset();
-
- // master clocking function
- u32 clock(u32 chanmask);
-
- // compute sum of channel outputs
- void output(s32 outputs[RegisterType::OUTPUTS], u32 rshift, s32 clipmax, u32 chanmask) const;
-
- // write to the OPN registers
- void write(u16 regnum, u8 data);
-
- // return the current status
- u8 status() const;
-
- // set/reset bits in the status register, updating the IRQ status
- u8 set_reset_status(u8 set, u8 reset)
- {
- m_status = (m_status | set) & ~reset;
- schedule_check_interrupts();
- return m_status;
- }
-
- // set the IRQ mask
- void set_irq_mask(u8 mask) { m_irq_mask = mask; schedule_check_interrupts(); }
-
- // helper to compute the busy duration
- attotime compute_busy_duration(u32 cycles = 32)
- {
- return attotime::from_hz(m_device.clock()) * (cycles * m_clock_prescale);
- }
-
- // set the time when the busy flag in the status register should be cleared
- void set_busy_end(attotime end) { m_busy_end = end; }
-
- // return the current clock prescale
- u32 clock_prescale() const { return m_clock_prescale; }
-
- // set prescale factor (2/3/6)
- void set_clock_prescale(u32 prescale) { m_clock_prescale = prescale; }
-
- // compute sample rate
- u32 sample_rate(u32 baseclock) const { return baseclock / (m_clock_prescale * OPERATORS); }
-
- // reset the LFO state
- void reset_lfo() { m_regs.reset_lfo(); }
-
- // return the owning device
- device_t &device() const { return m_device; }
-
- // return a reference to our registers
- RegisterType &regs() { return m_regs; }
-
-protected:
- // assign the current set of operators to channels
- void assign_operators();
-
- // update the state of the given timer
- void update_timer(u32 which, u32 enable);
-
- // timer callback
- TIMER_CALLBACK_MEMBER(timer_handler);
-
- // schedule an interrupt check
- void schedule_check_interrupts();
-
- // check interrupts
- TIMER_CALLBACK_MEMBER(check_interrupts);
-
- // handle a mode register write
- TIMER_CALLBACK_MEMBER(synced_mode_w);
-
- // internal state
- device_t &m_device; // reference to the owning device
- u32 m_env_counter; // envelope counter; low 2 bits are sub-counter
- u8 m_status; // current status register
- u8 m_clock_prescale; // prescale factor (2/3/6)
- u8 m_irq_mask; // mask of which bits signal IRQs
- u8 m_irq_state; // current IRQ state
- u32 m_active_channels; // mask of active channels (computed by prepare)
- u32 m_modified_channels; // mask of channels that have been modified
- u32 m_prepare_count; // counter to do periodic prepare sweeps
- attotime m_busy_end; // end of the busy time
- emu_timer *m_timer[2]; // our two timers
- devcb_write_line m_irq_handler; // IRQ callback
- RegisterType m_regs; // register accessor
- std::unique_ptr<ymfm_channel<RegisterType>> m_channel[CHANNELS]; // channel pointers
- std::unique_ptr<ymfm_operator<RegisterType>> m_operator[OPERATORS]; // operator pointers
-};
-
-
-// ======================> template instantiations
-
-extern template class ymfm_engine_base<ymopm_registers>;
-extern template class ymfm_engine_base<ymopn_registers>;
-extern template class ymfm_engine_base<ymopna_registers>;
-extern template class ymfm_engine_base<ymopl_registers>;
-extern template class ymfm_engine_base<ymopl2_registers>;
-extern template class ymfm_engine_base<ymopl3_registers>;
-
-using ymopm_engine = ymfm_engine_base<ymopm_registers>;
-using ymopn_engine = ymfm_engine_base<ymopn_registers>;
-using ymopna_engine = ymfm_engine_base<ymopna_registers>;
-using ymopl_engine = ymfm_engine_base<ymopl_registers>;
-using ymopl2_engine = ymfm_engine_base<ymopl2_registers>;
-using ymopl3_engine = ymfm_engine_base<ymopl3_registers>;
-using ymopl4_engine = ymfm_engine_base<ymopl4_registers>;
-
-
-// ======================> ymopll_engine
-
-// ymopll_engine is a special case because instrument data needs to be
-// provided from an external source
-class ymopll_engine : public ymfm_engine_base<ymopll_registers>
-{
-public:
- // constructor
- ymopll_engine(device_t &device) :
- ymfm_engine_base(device)
- {
- }
-
- // set the instrument data
- void set_instrument_data(u8 const *data)
- {
- m_regs.set_instrument_data(data);
- }
-};
-
-
-#endif // MAME_SOUND_YMFM_H
diff --git a/src/devices/sound/ymfm_mame.h b/src/devices/sound/ymfm_mame.h
new file mode 100644
index 00000000000..74acf718182
--- /dev/null
+++ b/src/devices/sound/ymfm_mame.h
@@ -0,0 +1,495 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMFM_MAME_H
+#define MAME_SOUND_YMFM_MAME_H
+
+#pragma once
+
+#include "ymfm/src/ymfm.h"
+#include "ymfm/src/ymfm_ssg.h"
+#include "ay8910.h"
+
+
+// set this to 1 to use ymfm's built-in SSG implementation
+// set it to 0 to use MAME's ay8910 as the SSG implementation
+#define USE_BUILTIN_SSG (1)
+
+// set this to control the output sample rate for SSG-based chips
+#define SSG_FIDELITY (ymfm::OPN_FIDELITY_MED)
+
+
+
+//*********************************************************
+// MAME INTERFACES
+//*********************************************************
+
+// ======================> ym_generic_device
+
+// generic base class for a standalone FM device; this class contains the shared
+// configuration helpers, timers, and ymfm interface implementation; it also
+// specifies pure virtual functions for read/write access, which means it
+// can be used as a generic proxy for systems that have multiple FM types that are
+// swappable
+class ym_generic_device : public device_t, public device_sound_interface, public ymfm::ymfm_interface
+{
+public:
+ // constructor
+ ym_generic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_sound_interface(mconfig, *this),
+ m_timer{ nullptr, nullptr },
+ m_update_irq(*this),
+ m_io_read{ *this, *this },
+ m_io_write{ *this, *this }
+ {
+ }
+
+ // configuration helpers
+ auto irq_handler() { return m_update_irq.bind(); }
+ auto io_read_handler(int index = 0) { return m_io_read[index & 1].bind(); }
+ auto io_write_handler(int index = 0) { return m_io_write[index & 1].bind(); }
+
+ // read access interface, implemented by the derived chip-specific class
+ virtual u8 read(offs_t offset) = 0;
+ virtual u8 status_r() = 0;
+
+ // write access interface, implemented by the derived chip-specific class
+ virtual void write(offs_t offset, u8 data) = 0;
+ virtual void address_w(u8 data) = 0;
+ virtual void data_w(u8 data) = 0;
+
+protected:
+ // the chip implementation calls this when a write happens to the mode
+ // register, which could affect timers and interrupts; our responsibility
+ // is to ensure the system is up to date before calling the engine's
+ // engine_mode_write() method
+ virtual void ymfm_sync_mode_write(uint8_t data) override
+ {
+ machine().scheduler().synchronize(timer_expired_delegate(FUNC(ym_generic_device::fm_mode_write), this), data);
+ }
+
+ // the chip implementation calls this when the chip's status has changed,
+ // which may affect the interrupt state; our responsibility is to ensure
+ // the system is up to date before calling the engine's
+ // engine_check_interrupts() method
+ virtual void ymfm_sync_check_interrupts() override
+ {
+ // if we're currently executing a CPU, schedule the interrupt check;
+ // otherwise, do it directly
+ auto &scheduler = machine().scheduler();
+ if (scheduler.currently_executing())
+ scheduler.synchronize(timer_expired_delegate(FUNC(ym_generic_device::fm_check_interrupts), this));
+ else
+ m_engine->engine_check_interrupts();
+ }
+
+ // the chip implementation calls this when one of the two internal timers
+ // has changed state; our responsibility is to arrange to call the engine's
+ // engine_timer_expired() method after the provided number of clocks; if
+ // duration_in_clocks is negative, we should cancel any outstanding timers
+ virtual void ymfm_set_timer(uint32_t tnum, int32_t duration_in_clocks) override
+ {
+ if (duration_in_clocks >= 0)
+ m_timer[tnum]->adjust(attotime::from_ticks(duration_in_clocks, device_t::clock()), tnum);
+ else
+ m_timer[tnum]->enable(false);
+ }
+
+ // the chip implementation calls this when the state of the IRQ signal has
+ // changed due to a status change; our responsibility is to respons as
+ // needed to the change in IRQ state, signaling any consumers
+ virtual void ymfm_update_irq(bool asserted) override
+ {
+ if (!m_update_irq.isnull())
+ m_update_irq(asserted ? ASSERT_LINE : CLEAR_LINE);
+ }
+
+ // the chip implementation calls this to indicate that the chip should be
+ // considered in a busy state until the given number of clocks has passed;
+ // our responsibility is to compute and remember the ending time based on
+ // the chip's clock for later checking
+ virtual void ymfm_set_busy_end(uint32_t clocks) override
+ {
+ m_busy_end = machine().time() + attotime::from_ticks(clocks, device_t::clock());
+ }
+
+ // the chip implementation calls this to see if the chip is still currently
+ // is a busy state, as specified by a previous call to ymfm_set_busy_end();
+ // our responsibility is to compare the current time against the previously
+ // noted busy end time and return true if we haven't yet passed it
+ virtual bool ymfm_is_busy() override
+ {
+ return (machine().time() < m_busy_end);
+ }
+
+ // the chip implementation calls this whenever data is read from outside
+ // of the chip; our responsibility is to provide the data requested
+ virtual uint8_t ymfm_external_read(ymfm::access_class type, uint32_t address) override
+ {
+ return (type != ymfm::ACCESS_IO || m_io_read[address & 1].isnull()) ? 0 : m_io_read[address & 1]();
+ }
+
+ // the chip implementation calls this whenever data is written outside
+ // of the chip; our responsibility is to pass the written data on to any consumers
+ virtual void ymfm_external_write(ymfm::access_class type, uint32_t address, uint8_t data) override
+ {
+ if (type == ymfm::ACCESS_IO && !m_io_write[address & 1].isnull())
+ m_io_write[address & 1](data);
+ }
+
+ // handle device start
+ virtual void device_start() override
+ {
+ // allocate our timers
+ for (int tnum = 0; tnum < 2; tnum++)
+ m_timer[tnum] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(ym_generic_device::fm_timer_handler), this));
+
+ // resolve the handlers
+ m_update_irq.resolve();
+ m_io_read[0].resolve();
+ m_io_read[1].resolve();
+ m_io_write[0].resolve();
+ m_io_write[1].resolve();
+ }
+
+ // timer callbacks
+ void fm_mode_write(void *ptr, int param) { m_engine->engine_mode_write(param); }
+ void fm_check_interrupts(void *ptr, int param) { m_engine->engine_check_interrupts(); }
+ void fm_timer_handler(void *ptr, int param) { m_engine->engine_timer_expired(param); }
+
+ // internal state
+ attotime m_busy_end; // busy end time
+ emu_timer *m_timer[2]; // two timers
+ devcb_write_line m_update_irq; // IRQ update callback
+ devcb_read8 m_io_read[2]; // up to 2 input port handlers
+ devcb_write8 m_io_write[2]; // up to 2 output port handlers
+};
+
+
+// ======================> ymfm_device_base
+
+// this template provides most of the basics used by device objects in MAME
+// that wrap ymfm chips; it provides basic read/write functions; however, this
+// class is not intended to be used directly -- rather, devices should inherit
+// from either ymfm_device_base or ymfm_ssg_device_base, depending on whether
+// they include an SSG or not
+template<typename ChipClass, bool FMOnly = false>
+class ymfm_device_base : public ym_generic_device
+{
+protected:
+ // for SSG chips, we only create a subset of outputs here:
+ // YM2203 is 4 outputs: 1 mono FM + 3 SSG
+ // YM2608/2610 is 3 outputs: 2 stereo FM + 1 SSG
+ static constexpr int OUTPUTS = FMOnly ? ((ChipClass::OUTPUTS == 4) ? 1 : 2) : ChipClass::OUTPUTS;
+
+public:
+ // constructor
+ ymfm_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ ym_generic_device(mconfig, tag, owner, clock, type),
+ m_stream(nullptr),
+ m_chip(*this)
+ {
+ }
+
+ // read access: update the streams before performing the read
+ virtual u8 read(offs_t offset) override { return update_streams().read(offset); }
+ virtual u8 status_r() override { return update_streams().read_status(); }
+
+ // write access: update the strams before performing the write
+ virtual void write(offs_t offset, u8 data) override { update_streams().write(offset, data); }
+ virtual void address_w(u8 data) override { update_streams().write_address(data); }
+ virtual void data_w(u8 data) override { update_streams().write_data(data); }
+
+protected:
+ // handle device start
+ virtual void device_start() override
+ {
+ // let our parent do its startup
+ ym_generic_device::device_start();
+
+ // allocate our stream
+ m_stream = device_sound_interface::stream_alloc(0, OUTPUTS, m_chip.sample_rate(device_t::clock()));
+
+ // compute the size of the save buffer by doing an initial save
+ ymfm::ymfm_saved_state state(m_save_blob, true);
+ m_chip.save_restore(state);
+
+ // now register the blob for save, on the assumption the size won't change
+ save_item(NAME(m_save_blob));
+ }
+
+ // device reset
+ virtual void device_reset() override
+ {
+ m_chip.reset();
+ }
+
+ // handle clock changed
+ virtual void device_clock_changed() override
+ {
+ if (m_stream != nullptr)
+ m_stream->set_sample_rate(m_chip.sample_rate(device_t::clock()));
+ }
+
+ // handle pre-saving by filling the blob
+ virtual void device_pre_save() override
+ {
+ // remember the original blob size
+ auto orig_size = m_save_blob.size();
+
+ // save the state
+ ymfm::ymfm_saved_state state(m_save_blob, true);
+ m_chip.save_restore(state);
+
+ // ensure that the size didn't change since we first allocated
+ if (m_save_blob.size() != orig_size)
+ throw emu_fatalerror("State size changed for ymfm chip");
+ }
+
+ // handle post-loading by restoring from the blob
+ virtual void device_post_load() override
+ {
+ // populate the state from the blob
+ ymfm::ymfm_saved_state state(m_save_blob, false);
+ m_chip.save_restore(state);
+ }
+
+ // sound overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override
+ {
+ update_internal(outputs);
+ }
+
+ // update streams
+ virtual ChipClass &update_streams()
+ {
+ m_stream->update();
+ return m_chip;
+ }
+
+ // internal update helper
+ void update_internal(std::vector<write_stream_view> &outputs, int output_shift = 0)
+ {
+ // local buffer to hold samples
+ constexpr int MAX_SAMPLES = 256;
+ typename ChipClass::output_data output[MAX_SAMPLES];
+
+ // parameters
+ int const outcount = std::min(outputs.size(), std::size(output[0].data));
+ int const numsamples = outputs[0].samples();
+
+ // generate the FM/ADPCM stream
+ for (int sampindex = 0; sampindex < numsamples; sampindex += MAX_SAMPLES)
+ {
+ int cursamples = std::min(numsamples - sampindex, MAX_SAMPLES);
+ m_chip.generate(output, cursamples);
+ for (int outnum = 0; outnum < outcount; outnum++)
+ {
+ int eff_outnum = (outnum + output_shift) % OUTPUTS;
+ for (int index = 0; index < cursamples; index++)
+ outputs[eff_outnum].put_int(sampindex + index, output[index].data[outnum], 32768);
+ }
+ }
+ }
+
+ // internal state
+ sound_stream *m_stream; // sound stream
+ ChipClass m_chip; // core chip implementation
+ std::vector<uint8_t> m_save_blob; // state saving buffer
+};
+
+
+// ======================> ymfm_ssg_internal_device_base
+
+// this template adds SSG support to the base template, using ymfm's internal
+// SSG implementation
+template<typename ChipClass>
+class ymfm_ssg_internal_device_base : public ymfm_device_base<ChipClass>
+{
+ using parent = ymfm_device_base<ChipClass>;
+
+public:
+ // constructor
+ ymfm_ssg_internal_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ ymfm_device_base<ChipClass>(mconfig, tag, owner, clock, type)
+ {
+ }
+
+ // configuration helpers
+ void set_flags(int flags) { /* not supported when using internal SSG */ }
+
+protected:
+ // sound overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override
+ {
+ // ymfm outputs FM first, then SSG, while MAME traditionally
+ // wants SSG streams first; to do this, we rotate the outputs
+ // by the number of SSG output channels
+ parent::update_internal(outputs, ChipClass::SSG_OUTPUTS);
+
+ // for the single-output case, also apply boost the gain to better match
+ // previous version, which summed instead of averaged the outputs
+ if (ChipClass::SSG_OUTPUTS == 1)
+ outputs[0].apply_gain(3.0);
+ }
+};
+
+
+// ======================> ymfm_ssg_external_device_base
+
+// this template adds SSG support to the base template, using MAME's YM2149
+// implementation in ay8910.cpp; this is the "classic" way to do it in MAME
+// and is more flexible in terms of output handling
+template<typename ChipClass>
+class ymfm_ssg_external_device_base : public ymfm_device_base<ChipClass, true>, public ymfm::ssg_override
+{
+ using parent = ymfm_device_base<ChipClass, true>;
+
+public:
+ // constructor
+ ymfm_ssg_external_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ ymfm_device_base<ChipClass, true>(mconfig, tag, owner, clock, type),
+ m_ssg_stream(nullptr),
+ m_ssg(*this, "ssg"),
+ m_ssg_flags(((ChipClass::SSG_OUTPUTS == 1) ? AY8910_SINGLE_OUTPUT : 0) | AY8910_LEGACY_OUTPUT)
+ {
+ }
+
+ // configuration helpers
+ void set_flags(int flags)
+ {
+ // don't allow some flags to be changed: there is no pin26 in the embedded chip,
+ // and the number of outputs is configured by the chip itself
+ flags &= ~(AY8910_SINGLE_OUTPUT | YM2149_PIN26_LOW);
+ flags |= m_ssg_flags & AY8910_SINGLE_OUTPUT;
+ m_ssg_flags = flags;
+ if (m_ssg)
+ m_ssg->set_flags(m_ssg_flags);
+ }
+
+protected:
+ using parent::m_chip;
+ using parent::m_io_read;
+ using parent::m_io_write;
+
+ // SSG overrides
+ virtual void ssg_reset() override
+ {
+ m_ssg->reset();
+ }
+
+ virtual uint8_t ssg_read(uint32_t offset) override
+ {
+ m_ssg->address_w(offset);
+ return m_ssg->data_r();
+ }
+
+ virtual void ssg_write(uint32_t offset, uint8_t data) override
+ {
+ m_ssg->address_w(offset);
+ m_ssg->data_w(data);
+ }
+
+ virtual void ssg_prescale_changed() override
+ {
+ device_clock_changed();
+ }
+
+ // device-level overrides
+ virtual void device_add_mconfig(machine_config &config) override
+ {
+ YM2149(config, m_ssg, device_t::clock());
+ m_ssg->set_flags(m_ssg_flags);
+
+ // configure the callbacks to route through our callbacks
+ m_ssg->port_a_read_callback().set(FUNC(ymfm_ssg_external_device_base::io_reader<0>));
+ m_ssg->port_a_write_callback().set(FUNC(ymfm_ssg_external_device_base::io_writer<0>));
+ m_ssg->port_b_read_callback().set(FUNC(ymfm_ssg_external_device_base::io_reader<1>));
+ m_ssg->port_b_write_callback().set(FUNC(ymfm_ssg_external_device_base::io_writer<1>));
+
+ // route outputs through us
+ m_ssg->add_route(0, *this, 1.0, 0);
+ if (ChipClass::SSG_OUTPUTS > 1)
+ {
+ m_ssg->add_route(1, *this, 1.0, 1);
+ m_ssg->add_route(2, *this, 1.0, 2);
+ }
+ }
+
+ // handle device start
+ virtual void device_start() override
+ {
+ // to use the YM2149 in MAME, we allocate our stream with the same number of inputs
+ // and outputs; in our update handler we'll just forward each output from the
+ // embedded YM2149 device through our stream to make it look like it used to when
+ // we were inheriting from ay8910_device
+ m_ssg_stream = device_sound_interface::stream_alloc(ChipClass::SSG_OUTPUTS, ChipClass::SSG_OUTPUTS, SAMPLE_RATE_INPUT_ADAPTIVE);
+
+ // also tell the chip we want to override reads & writes
+ m_chip.ssg_override(*this);
+
+ // SSG streams are expected to be first, so call the parent afterwards
+ parent::device_start();
+ }
+
+ // handle clock changed
+ virtual void device_clock_changed() override
+ {
+ parent::device_clock_changed();
+
+ // derive the effective clock from the computed sample rate
+ m_ssg->set_unscaled_clock(m_chip.ssg_effective_clock(device_t::clock()));
+ }
+
+ // sound overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override
+ {
+ // if not the SSG stream, pass it along to our parent
+ if (&stream != m_ssg_stream)
+ return parent::sound_stream_update(stream, inputs, outputs);
+
+ // just copy the streams from the SSG
+ for (int index = 0; index < ChipClass::SSG_OUTPUTS; index++)
+ outputs[index] = inputs[index];
+ }
+
+ // internal helper to update all our streams
+ virtual ChipClass &update_streams() override
+ {
+ m_ssg_stream->update();
+ return parent::update_streams();
+ }
+
+ // I/O reader trampoline
+ template<int Index>
+ uint8_t io_reader()
+ {
+ return m_io_read[Index].isnull() ? 0 : m_io_read[Index](0);
+ }
+
+ // I/O writer trampoline
+ template<int Index>
+ void io_writer(uint8_t data)
+ {
+ if (!m_io_write[Index].isnull())
+ m_io_write[Index](0, data);
+ }
+
+ // internal state
+ sound_stream *m_ssg_stream; // SSG sound stream
+ required_device<ay8910_device> m_ssg; // our embedded SSG device
+ int m_ssg_flags; // SSG flags
+};
+
+
+// now pick the right one
+#if USE_BUILTIN_SSG
+template<typename ChipClass>
+using ymfm_ssg_device_base = ymfm_ssg_internal_device_base<ChipClass>;
+#else
+template<typename ChipClass>
+using ymfm_ssg_device_base = ymfm_ssg_external_device_base<ChipClass>;
+#endif
+
+#endif // MAME_SOUND_YMFM_H
diff --git a/src/devices/sound/ymopl.cpp b/src/devices/sound/ymopl.cpp
new file mode 100644
index 00000000000..352906f40b8
--- /dev/null
+++ b/src/devices/sound/ymopl.cpp
@@ -0,0 +1,373 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#include "emu.h"
+#include "ymopl.h"
+
+
+//*********************************************************
+// YM3526 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM3526, ym3526_device, "ym3526", "YM3526 OPL")
+
+//-------------------------------------------------
+// ym3526_device - constructor
+//-------------------------------------------------
+
+ym3526_device::ym3526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym3526>(mconfig, tag, owner, clock, YM3526)
+{
+}
+
+
+
+//*********************************************************
+// Y8950 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(Y8950, y8950_device, "y8950", "Y8950 OPL MSX-Audio")
+
+//-------------------------------------------------
+// y8950_device - constructor
+//-------------------------------------------------
+
+y8950_device::y8950_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::y8950>(mconfig, tag, owner, clock, Y8950),
+ device_rom_interface(mconfig, *this)
+{
+}
+
+
+//-------------------------------------------------
+// rom_bank_updated - refresh the stream if the
+// ROM banking changes
+//-------------------------------------------------
+
+void y8950_device::rom_bank_updated()
+{
+ m_stream->update();
+}
+
+
+//-------------------------------------------------
+// ymfm_external_read - callback to read data for
+// the ADPCM-B engine; in this case, from our
+// default address space
+//-------------------------------------------------
+
+uint8_t y8950_device::ymfm_external_read(ymfm::access_class type, uint32_t offset)
+{
+ if (type == ymfm::ACCESS_ADPCM_B)
+ return read_byte(offset);
+ return parent::ymfm_external_read(type, offset);
+}
+
+
+//-------------------------------------------------
+// ymfm_external_write - callback to write data to
+// the ADPCM-B engine; in this case, to our
+// default address space
+//-------------------------------------------------
+
+void y8950_device::ymfm_external_write(ymfm::access_class type, uint32_t offset, uint8_t data)
+{
+ if (type == ymfm::ACCESS_ADPCM_B)
+ return space().write_byte(offset, data);
+ parent::ymfm_external_write(type, offset, data);
+}
+
+
+
+//*********************************************************
+// YM3812 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM3812, ym3812_device, "ym3812", "YM3812 OPL2")
+
+//-------------------------------------------------
+// ym3812_device - constructor
+//-------------------------------------------------
+
+ym3812_device::ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym3812>(mconfig, tag, owner, clock, YM3812)
+{
+}
+
+
+
+//*********************************************************
+// YMF262 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YMF262, ymf262_device, "ymf262", "YMF262 OPL3")
+
+//-------------------------------------------------
+// ymf262_device - constructor
+//-------------------------------------------------
+
+ymf262_device::ymf262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ymf262>(mconfig, tag, owner, clock, YMF262)
+{
+}
+
+
+
+//*********************************************************
+// YMF278B DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YMF278B, ymf278b_device, "ymf278b", "YMF278B OPL4")
+
+//-------------------------------------------------
+// ymf278b_device - constructor
+//-------------------------------------------------
+
+ymf278b_device::ymf278b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ymf278b>(mconfig, tag, owner, clock, YMF278B),
+ device_rom_interface(mconfig, *this)
+{
+}
+
+
+//-------------------------------------------------
+// rom_bank_updated - refresh the stream if the
+// ROM banking changes
+//-------------------------------------------------
+
+void ymf278b_device::rom_bank_updated()
+{
+ m_stream->update();
+}
+
+
+//-------------------------------------------------
+// ymfm_external_read - callback to read data for
+// the ADPCM-B engine; in this case, from our
+// default address space
+//-------------------------------------------------
+
+uint8_t ymf278b_device::ymfm_external_read(ymfm::access_class type, uint32_t offset)
+{
+ if (type == ymfm::ACCESS_PCM)
+ return read_byte(offset);
+ return 0;
+}
+
+
+//-------------------------------------------------
+// ymfm_external_write - callback to write data to
+// the ADPCM-B engine; in this case, to our
+// default address space
+//-------------------------------------------------
+
+void ymf278b_device::ymfm_external_write(ymfm::access_class type, uint32_t offset, uint8_t data)
+{
+ if (type == ymfm::ACCESS_PCM)
+ return space().write_byte(offset, data);
+}
+
+
+//-------------------------------------------------
+// ymfm_external_write - callback to write data to
+// the ADPCM-B engine; in this case, to our
+// default address space
+//-------------------------------------------------
+
+void ymf278b_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
+{
+ // rotate the outputs so that the DO2 outputs are first
+ parent::update_internal(outputs, 2);
+}
+
+
+
+//*********************************************************
+// YM2413 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2413, ym2413_device, "ym2413", "YM2413 OPLL")
+
+//-------------------------------------------------
+// ym2413_device - constructor
+//-------------------------------------------------
+
+ym2413_device::ym2413_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2413>(mconfig, tag, owner, clock, YM2413),
+ m_internal(*this, "internal")
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device startup
+//-------------------------------------------------
+
+void ym2413_device::device_start()
+{
+ parent::device_start();
+ m_chip.set_instrument_data(m_internal);
+}
+
+
+//-------------------------------------------------
+// device_rom_region - return a pointer to our
+// ROM region
+//-------------------------------------------------
+
+ROM_START( ym2413 )
+ ROM_REGION( 0x90, "internal", 0 )
+ //
+ // This is not the exact format
+ //
+ ROM_LOAD16_WORD( "ym2413_instruments.bin", 0x0000, 0x0090, CRC(6f582d01) SHA1(bb5537717e0b34849456b5ca7d405403dc3f8fda) )
+ROM_END
+
+const tiny_rom_entry *ym2413_device::device_rom_region() const
+{
+ return ROM_NAME( ym2413 );
+}
+
+
+
+//*********************************************************
+// YM2423 DEVICE (OPLL-X)
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2423, ym2423_device, "ym2423", "YM2423 OPLL-X")
+
+//-------------------------------------------------
+// ym2423_device - constructor
+//-------------------------------------------------
+
+ym2423_device::ym2423_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2423>(mconfig, tag, owner, clock, YM2423),
+ m_internal(*this, "internal")
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device startup
+//-------------------------------------------------
+
+void ym2423_device::device_start()
+{
+ parent::device_start();
+ m_chip.set_instrument_data(m_internal);
+}
+
+
+//-------------------------------------------------
+// device_rom_region - return a pointer to our
+// ROM region
+//-------------------------------------------------
+
+ROM_START( ym2423 )
+ ROM_REGION( 0x90, "internal", 0 )
+ //
+ // This is not the exact format
+ //
+ ROM_LOAD16_WORD( "ym2423_instruments.bin", 0x0000, 0x0090, CRC(cc51dd1b) SHA1(59c51918f02891d6a0e917f7ebc27e42f7eadd15) )
+ROM_END
+
+const tiny_rom_entry *ym2423_device::device_rom_region() const
+{
+ return ROM_NAME( ym2423 );
+}
+
+
+
+//*********************************************************
+// YMF281 DEVICE (OPLLP)
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YMF281, ymf281_device, "ymf281", "YMF281 OPLLP")
+
+//-------------------------------------------------
+// ymf281_device - constructor
+//-------------------------------------------------
+
+ymf281_device::ymf281_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ymf281>(mconfig, tag, owner, clock, YMF281),
+ m_internal(*this, "internal")
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device startup
+//-------------------------------------------------
+
+void ymf281_device::device_start()
+{
+ parent::device_start();
+ m_chip.set_instrument_data(m_internal);
+}
+
+
+//-------------------------------------------------
+// device_rom_region - return a pointer to our
+// ROM region
+//-------------------------------------------------
+
+ROM_START( ymf281 )
+ ROM_REGION( 0x90, "internal", 0 )
+ //
+ // This is not the exact format
+ //
+ ROM_LOAD16_WORD( "ymf281_instruments.bin", 0x0000, 0x0090, CRC(1c68abba) SHA1(5242d7b9c677c48e156ba5753db1a73db627a1a9) )
+ROM_END
+
+const tiny_rom_entry *ymf281_device::device_rom_region() const
+{
+ return ROM_NAME( ymf281 );
+}
+
+
+
+//*********************************************************
+// DS1001 DEVICE (Konami VRC7)
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(DS1001, ds1001_device, "ds1001", "Yamaha DS1001 / Konami 053982")
+
+//-------------------------------------------------
+// ds1001_device - constructor
+//-------------------------------------------------
+
+ds1001_device::ds1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ds1001>(mconfig, tag, owner, clock, DS1001),
+ m_internal(*this, "internal")
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device startup
+//-------------------------------------------------
+
+void ds1001_device::device_start()
+{
+ parent::device_start();
+ m_chip.set_instrument_data(m_internal);
+}
+
+
+//-------------------------------------------------
+// device_rom_region - return a pointer to our
+// ROM region
+//-------------------------------------------------
+
+ROM_START( ds1001 )
+ ROM_REGION( 0x90, "internal", 0 )
+ //
+ // This is not the exact format
+ //
+ ROM_LOAD16_WORD( "ds1001_instruments.bin", 0x0000, 0x0090, CRC(9d699efc) SHA1(7adf1d77bab12c50ebfa9921774f9aea1e74dd7b) )
+ROM_END
+
+const tiny_rom_entry *ds1001_device::device_rom_region() const
+{
+ return ROM_NAME( ds1001 );
+}
diff --git a/src/devices/sound/ymopl.h b/src/devices/sound/ymopl.h
new file mode 100644
index 00000000000..07ae7ead5cb
--- /dev/null
+++ b/src/devices/sound/ymopl.h
@@ -0,0 +1,208 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMOPL_H
+#define MAME_SOUND_YMOPL_H
+
+#pragma once
+
+#include "ymfm_mame.h"
+#include "ymfm/src/ymfm_opl.h"
+#include "dirom.h"
+
+
+// ======================> ym3526_device
+
+DECLARE_DEVICE_TYPE(YM3526, ym3526_device);
+
+class ym3526_device : public ymfm_device_base<ymfm::ym3526>
+{
+public:
+ // constructor
+ ym3526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
+// ======================> y8950_device
+
+DECLARE_DEVICE_TYPE(Y8950, y8950_device);
+
+class y8950_device : public ymfm_device_base<ymfm::y8950>, public device_rom_interface<21>
+{
+ using parent = ymfm_device_base<ymfm::y8950>;
+
+public:
+ // constructor
+ y8950_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers
+ auto io_read() { return io_read_handler(0); }
+ auto io_write() { return io_write_handler(0); }
+ auto keyboard_read() { return io_read_handler(1); }
+ auto keyboard_write() { return io_write_handler(1); }
+
+ // additional register reads
+ u8 data_r() { return update_streams().read_data(); }
+
+protected:
+ // ROM device overrides
+ virtual void rom_bank_updated() override;
+
+private:
+ // ADPCM read/write callbacks
+ uint8_t ymfm_external_read(ymfm::access_class type, uint32_t address) override;
+ void ymfm_external_write(ymfm::access_class type, uint32_t address, uint8_t data) override;
+};
+
+
+// ======================> ym3812_device
+
+DECLARE_DEVICE_TYPE(YM3812, ym3812_device);
+
+class ym3812_device : public ymfm_device_base<ymfm::ym3812>
+{
+public:
+ // constructor
+ ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
+// ======================> ymf262_device
+
+DECLARE_DEVICE_TYPE(YMF262, ymf262_device);
+
+class ymf262_device : public ymfm_device_base<ymfm::ymf262>
+{
+public:
+ // constructor
+ ymf262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data(data); }
+};
+
+
+// ======================> ymf278b_device
+
+DECLARE_DEVICE_TYPE(YMF278B, ymf278b_device);
+
+class ymf278b_device : public ymfm_device_base<ymfm::ymf278b>, public device_rom_interface<22>
+{
+ using parent = ymfm_device_base<ymfm::ymf278b>;
+
+public:
+ // constructor
+ ymf278b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // additional register reads
+ uint8_t data_pcm_r() { return update_streams().read_data_pcm(); }
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data(data); }
+ void address_pcm_w(u8 data) { update_streams().write_address_pcm(data); }
+ void data_pcm_w(u8 data) { update_streams().write_data_pcm(data); }
+
+protected:
+ // device_rom_interface overrides
+ virtual void rom_bank_updated() override;
+
+ // sound overrides
+ virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
+
+private:
+ // ADPCM read/write callbacks
+ uint8_t ymfm_external_read(ymfm::access_class type, uint32_t address) override;
+ void ymfm_external_write(ymfm::access_class type, uint32_t address, uint8_t data) override;
+};
+
+
+// ======================> ym2413_device
+
+DECLARE_DEVICE_TYPE(YM2413, ym2413_device);
+
+class ym2413_device : public ymfm_device_base<ymfm::ym2413>
+{
+ using parent = ymfm_device_base<ymfm::ym2413>;
+
+public:
+ // constructor
+ ym2413_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ // internal state
+ required_region_ptr<u8> m_internal; // internal memory region
+};
+
+
+// ======================> ym2423_device
+
+DECLARE_DEVICE_TYPE(YM2423, ym2423_device);
+
+class ym2423_device : public ymfm_device_base<ymfm::ym2423>
+{
+ using parent = ymfm_device_base<ymfm::ym2423>;
+
+public:
+ // constructor
+ ym2423_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ // internal state
+ required_region_ptr<u8> m_internal; // internal memory region
+};
+
+
+// ======================> ymf281_device
+
+DECLARE_DEVICE_TYPE(YMF281, ymf281_device);
+
+class ymf281_device : public ymfm_device_base<ymfm::ymf281>
+{
+ using parent = ymfm_device_base<ymfm::ymf281>;
+
+public:
+ // constructor
+ ymf281_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ // internal state
+ required_region_ptr<u8> m_internal; // internal memory region
+};
+
+
+// ======================> ds1001_device
+
+DECLARE_DEVICE_TYPE(DS1001, ds1001_device);
+
+class ds1001_device : public ymfm_device_base<ymfm::ds1001>
+{
+ using parent = ymfm_device_base<ymfm::ds1001>;
+
+public:
+ // constructor
+ ds1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ // internal state
+ required_region_ptr<u8> m_internal; // internal memory region
+};
+
+#endif // MAME_SOUND_YMOPL_H
diff --git a/src/devices/sound/ymopm.cpp b/src/devices/sound/ymopm.cpp
new file mode 100644
index 00000000000..a75da72b449
--- /dev/null
+++ b/src/devices/sound/ymopm.cpp
@@ -0,0 +1,81 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#include "emu.h"
+#include "ymopm.h"
+
+
+//*********************************************************
+// YM2151 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2151, ym2151_device, "ym2151", "YM2151 OPM")
+
+//-------------------------------------------------
+// ym2151_device - constructor
+//-------------------------------------------------
+
+ym2151_device::ym2151_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2151>(mconfig, tag, owner, clock, YM2151),
+ m_reset_state(1)
+{
+}
+
+
+//-------------------------------------------------
+// write/register_w/data_w - write access
+//-------------------------------------------------
+
+void ym2151_device::write(offs_t offset, u8 data)
+{
+ if (m_reset_state == 0)
+ return;
+ parent::write(offset, data);
+}
+
+void ym2151_device::address_w(u8 data)
+{
+ if (m_reset_state == 0)
+ return;
+ parent::address_w(data);
+}
+
+void ym2151_device::data_w(u8 data)
+{
+ if (m_reset_state == 0)
+ return;
+ parent::data_w(data);
+}
+
+
+//-------------------------------------------------
+// reset_w - reset line, active LOW
+//-------------------------------------------------
+
+WRITE_LINE_MEMBER(ym2151_device::reset_w)
+{
+ if (state != m_reset_state)
+ {
+ m_stream->update();
+ m_reset_state = state;
+ if (state != 0)
+ m_chip.reset();
+ }
+}
+
+
+
+//*********************************************************
+// YM2164 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2164, ym2164_device, "ym2164", "YM2164 OPP")
+
+//-------------------------------------------------
+// ym2164_device - constructor
+//-------------------------------------------------
+
+ym2164_device::ym2164_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2164>(mconfig, tag, owner, clock, YM2164)
+{
+}
diff --git a/src/devices/sound/ymopm.h b/src/devices/sound/ymopm.h
new file mode 100644
index 00000000000..ce4a7c87f51
--- /dev/null
+++ b/src/devices/sound/ymopm.h
@@ -0,0 +1,56 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMOPM_H
+#define MAME_SOUND_YMOPM_H
+
+#pragma once
+
+#include "ymfm_mame.h"
+#include "ymfm/src/ymfm_opm.h"
+
+
+// ======================> ym2151_device
+
+DECLARE_DEVICE_TYPE(YM2151, ym2151_device);
+
+class ym2151_device : public ymfm_device_base<ymfm::ym2151>
+{
+ using parent = ymfm_device_base<ymfm::ym2151>;
+
+public:
+ // constructor
+ ym2151_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers, handled by the interface
+ auto port_write_handler() { return io_write_handler(); }
+
+ // write access, handled by the chip implementation
+ virtual void write(offs_t offset, u8 data) override;
+ virtual void address_w(u8 data) override;
+ virtual void data_w(u8 data) override;
+
+ // reset line, active LOW
+ DECLARE_WRITE_LINE_MEMBER(reset_w);
+
+protected:
+ // internal state
+ uint8_t m_reset_state; // reset line state
+};
+
+
+// ======================> ym2164_device
+
+DECLARE_DEVICE_TYPE(YM2164, ym2164_device);
+
+class ym2164_device : public ymfm_device_base<ymfm::ym2164>
+{
+public:
+ // constructor
+ ym2164_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers, handled by the interface
+ auto port_write_handler() { return io_write_handler(); }
+};
+
+#endif // MAME_SOUND_YMOPM_H
diff --git a/src/devices/sound/ymopn.cpp b/src/devices/sound/ymopn.cpp
new file mode 100644
index 00000000000..2d1751ce8b0
--- /dev/null
+++ b/src/devices/sound/ymopn.cpp
@@ -0,0 +1,300 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#include "emu.h"
+#include "ymopn.h"
+
+
+//*********************************************************
+// YM2203 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2203, ym2203_device, "ym2203", "YM2203 OPN")
+
+//-------------------------------------------------
+// ym2203_device - constructor
+//-------------------------------------------------
+
+ym2203_device::ym2203_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_ssg_device_base<ymfm::ym2203>(mconfig, tag, owner, clock, YM2203)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - start of emulation
+//-------------------------------------------------
+
+void ym2203_device::device_start()
+{
+ // set our target output fidelity
+ m_chip.set_fidelity(SSG_FIDELITY);
+
+ // call our parent
+ parent::device_start();
+}
+
+
+
+//*********************************************************
+// YM2608 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2608, ym2608_device, "ym2608", "YM2608 OPNA")
+
+//-------------------------------------------------
+// ym2608_device - constructor
+//-------------------------------------------------
+
+ym2608_device::ym2608_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_ssg_device_base<ymfm::ym2608>(mconfig, tag, owner, clock, YM2608),
+ device_rom_interface(mconfig, *this),
+ m_internal(*this, "internal")
+{
+}
+
+
+//-------------------------------------------------
+// ym2608_device - start of emulation
+//-------------------------------------------------
+
+void ym2608_device::device_start()
+{
+ // set our target output fidelity
+ m_chip.set_fidelity(SSG_FIDELITY);
+
+ // call our parent
+ parent::device_start();
+}
+
+
+//-------------------------------------------------
+// device_rom_region - return a pointer to our
+// ROM region
+//-------------------------------------------------
+
+ROM_START( ym2608 )
+ ROM_REGION( 0x2000, "internal", 0 )
+ //
+ // While this rom was dumped by output analysis, not decap, it was tested
+ // by playing it back into the chip as an external adpcm sample and produced
+ // an identical dac result. a decap would be nice to verify things 100%,
+ // but there is currently no reason to think this rom dump is incorrect.
+ //
+ // offset 0x0000: Source: 01BD.ROM Length: 448 / 0x000001C0
+ // offset 0x01C0: Source: 02SD.ROM Length: 640 / 0x00000280
+ // offset 0x0440: Source: 04TOP.ROM Length: 5952 / 0x00001740
+ // offset 0x1B80: Source: 08HH.ROM Length: 384 / 0x00000180
+ // offset 0x1D00: Source: 10TOM.ROM Length: 640 / 0x00000280
+ // offset 0x1F80: Source: 20RIM.ROM Length: 128 / 0x00000080
+ //
+ ROM_LOAD16_WORD( "ym2608_adpcm_rom.bin", 0x0000, 0x2000, CRC(23c9e0d8) SHA1(50b6c3e288eaa12ad275d4f323267bb72b0445df) )
+ROM_END
+
+const tiny_rom_entry *ym2608_device::device_rom_region() const
+{
+ return ROM_NAME( ym2608 );
+}
+
+
+//-------------------------------------------------
+// rom_bank_updated - refresh the stream if the
+// ROM banking changes
+//-------------------------------------------------
+
+void ym2608_device::rom_bank_updated()
+{
+ m_stream->update();
+}
+
+
+//-------------------------------------------------
+// ymfm_external_read - callback to read data for
+// the ADPCM-A/B engines
+//-------------------------------------------------
+
+uint8_t ym2608_device::ymfm_external_read(ymfm::access_class type, uint32_t offset)
+{
+ if (type == ymfm::ACCESS_ADPCM_A)
+ return m_internal->as_u8(offset % m_internal->bytes());
+ else if (type == ymfm::ACCESS_ADPCM_B)
+ return space(0).read_byte(offset);
+ return parent::ymfm_external_read(type, offset);
+}
+
+
+//-------------------------------------------------
+// ymfm_external_write - callback to write data to
+// the ADPCM-B engine; in this case, to our
+// default address space
+//-------------------------------------------------
+
+void ym2608_device::ymfm_external_write(ymfm::access_class type, uint32_t offset, uint8_t data)
+{
+ if (type == ymfm::ACCESS_ADPCM_B)
+ return space(0).write_byte(offset, data);
+ parent::ymfm_external_write(type, offset, data);
+}
+
+
+
+//*********************************************************
+// YM2610 DEVICE BASE
+//*********************************************************
+
+//-------------------------------------------------
+// ym2610_device_base - constructor
+//-------------------------------------------------
+
+template<typename ChipClass>
+ym2610_device_base<ChipClass>::ym2610_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type) :
+ ymfm_ssg_device_base<ChipClass>(mconfig, tag, owner, clock, type),
+ device_memory_interface(mconfig, *this),
+ m_adpcm_a_config("adpcm-a", ENDIANNESS_LITTLE, 8, 24, 0),
+ m_adpcm_b_config("adpcm-b", ENDIANNESS_LITTLE, 8, 24, 0),
+ m_adpcm_a_region(*this, "adpcma"),
+ m_adpcm_b_region(*this, "adpcmb")
+{
+}
+
+
+//-------------------------------------------------
+// memory_space_config - return a description of
+// any address spaces owned by this device
+//-------------------------------------------------
+
+template<typename ChipClass>
+device_memory_interface::space_config_vector ym2610_device_base<ChipClass>::memory_space_config() const
+{
+ return space_config_vector{
+ std::make_pair(0, &m_adpcm_a_config),
+ std::make_pair(1, &m_adpcm_b_config)
+ };
+}
+
+
+//-------------------------------------------------
+// device_start - start of emulation
+//-------------------------------------------------
+
+template<typename ChipClass>
+void ym2610_device_base<ChipClass>::device_start()
+{
+ // set our target output fidelity
+ parent::m_chip.set_fidelity(SSG_FIDELITY);
+
+ // call our parent
+ parent::device_start();
+
+ // automatically map memory regions if not configured externally
+ if (!has_configured_map(0) && !has_configured_map(1))
+ {
+ if (m_adpcm_a_region)
+ space(0).install_rom(0, m_adpcm_a_region->bytes() - 1, m_adpcm_a_region->base());
+
+ if (m_adpcm_b_region)
+ space(1).install_rom(0, m_adpcm_b_region->bytes() - 1, m_adpcm_b_region->base());
+ else if (m_adpcm_a_region)
+ space(1).install_rom(0, m_adpcm_a_region->bytes() - 1, m_adpcm_a_region->base());
+ }
+}
+
+
+//-------------------------------------------------
+// ymfm_external_read - callback to read data for
+// the ADPCM-A/B engines
+//-------------------------------------------------
+
+template<typename ChipClass>
+uint8_t ym2610_device_base<ChipClass>::ymfm_external_read(ymfm::access_class type, uint32_t offset)
+{
+ if (type == ymfm::ACCESS_ADPCM_A)
+ return space(0).read_byte(offset);
+ else if (type == ymfm::ACCESS_ADPCM_B)
+ return space(1).read_byte(offset);
+ return 0;
+}
+
+
+
+//*********************************************************
+// YM2610 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2610, ym2610_device, "ym2610", "YM2610 OPNB")
+
+//-------------------------------------------------
+// ym2610_device - constructor
+//-------------------------------------------------
+
+ym2610_device::ym2610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ym2610_device_base<ymfm::ym2610>(mconfig, tag, owner, clock, YM2610)
+{
+}
+
+
+//*********************************************************
+// YM2610B DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2610B, ym2610b_device, "ym2610b", "YM2610B OPNB2")
+
+//-------------------------------------------------
+// ym2610b_device - constructor
+//-------------------------------------------------
+
+ym2610b_device::ym2610b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ym2610_device_base<ymfm::ym2610b>(mconfig, tag, owner, clock, YM2610B)
+{
+}
+
+
+
+//*********************************************************
+// YM2612 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM2612, ym2612_device, "ym2612", "YM2612 OPN2")
+
+//-------------------------------------------------
+// ym2612_device - constructor
+//-------------------------------------------------
+
+ym2612_device::ym2612_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2612>(mconfig, tag, owner, clock, YM2612)
+{
+}
+
+
+
+//*********************************************************
+// YM3438 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM3438, ym3438_device, "ym3438", "YM3438 OPN2C")
+
+//-------------------------------------------------
+// ym3438_device - constructor
+//-------------------------------------------------
+
+ym3438_device::ym3438_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym3438>(mconfig, tag, owner, clock, YM3438)
+{
+}
+
+
+
+//*********************************************************
+// YMF276 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YMF276, ymf276_device, "ymf276", "YMF276 OPN2L")
+
+//-------------------------------------------------
+// ymf276_device - constructor
+//-------------------------------------------------
+
+ymf276_device::ymf276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ymf276>(mconfig, tag, owner, clock, YMF276)
+{
+}
diff --git a/src/devices/sound/ymopn.h b/src/devices/sound/ymopn.h
new file mode 100644
index 00000000000..c65738dee07
--- /dev/null
+++ b/src/devices/sound/ymopn.h
@@ -0,0 +1,196 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMOPN_H
+#define MAME_SOUND_YMOPN_H
+
+#pragma once
+
+#include "ymfm_mame.h"
+#include "ymfm/src/ymfm_opn.h"
+#include "dirom.h"
+
+
+// ======================> ym2203_device
+
+DECLARE_DEVICE_TYPE(YM2203, ym2203_device);
+
+class ym2203_device : public ymfm_ssg_device_base<ymfm::ym2203>
+{
+ using parent = ymfm_ssg_device_base<ymfm::ym2203>;
+
+public:
+ // constructor
+ ym2203_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers, handled by the interface
+ auto port_a_read_callback() { return io_read_handler(0); }
+ auto port_b_read_callback() { return io_read_handler(1); }
+ auto port_a_write_callback() { return io_write_handler(0); }
+ auto port_b_write_callback() { return io_write_handler(1); }
+
+ // data register read
+ u8 data_r() { return update_streams().read_data(); }
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
+
+
+// ======================> ym2608_device
+
+DECLARE_DEVICE_TYPE(YM2608, ym2608_device);
+
+class ym2608_device : public ymfm_ssg_device_base<ymfm::ym2608>, public device_rom_interface<21>
+{
+ using parent = ymfm_ssg_device_base<ymfm::ym2608>;
+
+public:
+ // constructor
+ ym2608_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers, handled by the interface
+ auto port_a_read_callback() { return io_read_handler(0); }
+ auto port_b_read_callback() { return io_read_handler(1); }
+ auto port_a_write_callback() { return io_write_handler(0); }
+ auto port_b_write_callback() { return io_write_handler(1); }
+
+ // additional register reads
+ u8 data_r() { return update_streams().read_data(); }
+ u8 status_hi_r() { return update_streams().read_status_hi(); }
+ u8 data_hi_r() { return update_streams().read_data_hi(); }
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data_hi(data); }
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ // ROM device overrides
+ virtual void rom_bank_updated() override;
+
+private:
+ // ADPCM read/write callbacks
+ virtual uint8_t ymfm_external_read(ymfm::access_class type, uint32_t address) override;
+ virtual void ymfm_external_write(ymfm::access_class type, uint32_t address, u8 data) override;
+
+ // internal state
+ required_memory_region m_internal; // internal memory region
+};
+
+
+// ======================> ym2610_device_base
+
+template<typename ChipClass>
+class ym2610_device_base : public ymfm_ssg_device_base<ChipClass>, public device_memory_interface
+{
+ using parent = ymfm_ssg_device_base<ChipClass>;
+
+public:
+ // constructor
+ ym2610_device_base(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type);
+
+ // additional register reads
+ u8 data_r() { return update_streams().read_data(); }
+ u8 status_hi_r() { return update_streams().read_status_hi(); }
+ u8 data_hi_r() { return update_streams().read_data_hi(); }
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data_hi(data); }
+
+protected:
+ using parent::update_streams;
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ // memory space configuration
+ virtual space_config_vector memory_space_config() const override;
+
+private:
+ // ADPCM read/write callbacks
+ virtual uint8_t ymfm_external_read(ymfm::access_class type, uint32_t address) override;
+
+ // internal state
+ address_space_config const m_adpcm_a_config; // address space 0 config (ADPCM-A)
+ address_space_config const m_adpcm_b_config; // address space 1 config (ADPCM-B)
+ optional_memory_region m_adpcm_a_region; // ADPCM-A memory region
+ optional_memory_region m_adpcm_b_region; // ADPCM-B memory region
+};
+
+
+// ======================> ym2610_device
+
+DECLARE_DEVICE_TYPE(YM2610, ym2610_device);
+
+class ym2610_device : public ym2610_device_base<ymfm::ym2610>
+{
+public:
+ ym2610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
+// ======================> ym2610b_device
+
+DECLARE_DEVICE_TYPE(YM2610B, ym2610b_device);
+
+class ym2610b_device : public ym2610_device_base<ymfm::ym2610b>
+{
+public:
+ ym2610b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
+// ======================> ym2612_device
+
+DECLARE_DEVICE_TYPE(YM2612, ym2612_device);
+
+class ym2612_device : public ymfm_device_base<ymfm::ym2612>
+{
+public:
+ // constructor
+ ym2612_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data_hi(data); }
+};
+
+
+// ======================> ym3438_device
+
+DECLARE_DEVICE_TYPE(YM3438, ym3438_device);
+
+class ym3438_device : public ymfm_device_base<ymfm::ym3438>
+{
+public:
+ // constructor
+ ym3438_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data_hi(data); }
+};
+
+
+// ======================> ymf276_device
+
+DECLARE_DEVICE_TYPE(YMF276, ymf276_device);
+
+class ymf276_device : public ymfm_device_base<ymfm::ymf276>
+{
+public:
+ // constructor
+ ymf276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // additional register writes
+ void address_hi_w(u8 data) { update_streams().write_address_hi(data); }
+ void data_hi_w(u8 data) { update_streams().write_data_hi(data); }
+};
+
+#endif // MAME_SOUND_YMOPN_H
diff --git a/src/devices/sound/ymopq.cpp b/src/devices/sound/ymopq.cpp
new file mode 100644
index 00000000000..3286dd7cf3b
--- /dev/null
+++ b/src/devices/sound/ymopq.cpp
@@ -0,0 +1,38 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#include "emu.h"
+#include "ymopq.h"
+
+
+//*********************************************************
+// YM3806 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM3806, ym3806_device, "ym3806", "YM3806 OPQ")
+
+//-------------------------------------------------
+// ym3806_device - constructor
+//-------------------------------------------------
+
+ym3806_device::ym3806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym3806>(mconfig, tag, owner, clock, YM3806)
+{
+}
+
+
+
+//*********************************************************
+// YM3533 DEVICE
+//*********************************************************
+
+DEFINE_DEVICE_TYPE(YM3533, ym3533_device, "ym3533", "YM3533 OPQ")
+
+//-------------------------------------------------
+// ym3533_device - constructor
+//-------------------------------------------------
+
+ym3533_device::ym3533_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym3533>(mconfig, tag, owner, clock, YM3533)
+{
+}
diff --git a/src/devices/sound/ymopq.h b/src/devices/sound/ymopq.h
new file mode 100644
index 00000000000..39a76e7307d
--- /dev/null
+++ b/src/devices/sound/ymopq.h
@@ -0,0 +1,36 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMOPQ_H
+#define MAME_SOUND_YMOPQ_H
+
+#pragma once
+
+#include "ymfm_mame.h"
+#include "ymfm/src/ymfm_opq.h"
+
+
+// ======================> ym3806_device
+
+DECLARE_DEVICE_TYPE(YM3806, ym3806_device);
+
+class ym3806_device : public ymfm_device_base<ymfm::ym3806>
+{
+public:
+ // constructor
+ ym3806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
+// ======================> ym3533_device
+
+DECLARE_DEVICE_TYPE(YM3533, ym3533_device);
+
+class ym3533_device : public ymfm_device_base<ymfm::ym3533>
+{
+public:
+ // constructor
+ ym3533_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+#endif // MAME_SOUND_YMOPQ_H
diff --git a/src/devices/sound/ymopz.cpp b/src/devices/sound/ymopz.cpp
new file mode 100644
index 00000000000..cf629cb7779
--- /dev/null
+++ b/src/devices/sound/ymopz.cpp
@@ -0,0 +1,22 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#include "emu.h"
+#include "ymopz.h"
+
+
+DEFINE_DEVICE_TYPE(YM2414, ym2414_device, "ym2414", "YM2414 OPZ")
+
+
+//*********************************************************
+// YM2414 DEVICE
+//*********************************************************
+
+//-------------------------------------------------
+// ym2414_device - constructor
+//-------------------------------------------------
+
+ym2414_device::ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ymfm_device_base<ymfm::ym2414>(mconfig, tag, owner, clock, YM2414)
+{
+}
diff --git a/src/devices/sound/ymopz.h b/src/devices/sound/ymopz.h
new file mode 100644
index 00000000000..133da4160f4
--- /dev/null
+++ b/src/devices/sound/ymopz.h
@@ -0,0 +1,29 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+
+#ifndef MAME_SOUND_YMOPZ_H
+#define MAME_SOUND_YMOPZ_H
+
+#pragma once
+
+#include "ymfm_mame.h"
+#include "ymfm/src/ymfm_opz.h"
+
+
+// ======================> opm_device_base
+
+DECLARE_DEVICE_TYPE(YM2414, ym2414_device);
+
+class ym2414_device : public ymfm_device_base<ymfm::ym2414>
+{
+ using parent = ymfm_device_base<ymfm::ym2414>;
+
+public:
+ // constructor
+ ym2414_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // configuration helpers, handled by the interface
+ auto port_write_handler() { return io_write_handler(); }
+};
+
+#endif // MAME_SOUND_YMOPZ_H
diff --git a/src/devices/video/315_5124.cpp b/src/devices/video/315_5124.cpp
index 6612459cde4..43757c96159 100644
--- a/src/devices/video/315_5124.cpp
+++ b/src/devices/video/315_5124.cpp
@@ -139,32 +139,35 @@ DEFINE_DEVICE_TYPE(SEGA315_5377, sega315_5377_device, "sega315_5377", "Sega 315-
// (reference for VDP colors: http://www.sega-16.com/forum/showthread.php?30530-SMS-VDP-output-levels)
void sega315_5124_device::sega315_5124_palette(palette_device &palette) const
{
- static constexpr u8 level[4] = {0,90,173,255};
+ // blue channel is non-linear, verified from die shot
+ // reference: https://www.retrorgb.com/sega-master-system-blue-channel-mysteries-further-uncovered.html
+ static constexpr u8 level[4] = {0,78,160,238};
+ static constexpr u8 blue_level[4] = {0,98,160,238};
for (int i = 0; i < 64; i++)
{
const u8 r = i & 0x03;
const u8 g = (i & 0x0c) >> 2;
const u8 b = (i & 0x30) >> 4;
- palette.set_pen_color(i, level[r], level[g], level[b]);
+ palette.set_pen_color(i, level[r], level[g], blue_level[b]);
}
// sms and sg1000-mark3 uses a different palette for modes 0 to 3 - see http://www.smspower.org/Development/Palette
// TMS9918 palette
- palette.set_pen_color(64+ 0, level[0], level[0], level[0]); // palette.set_pen_color(64+ 0, 0, 0, 0);
- palette.set_pen_color(64+ 1, level[0], level[0], level[0]); // palette.set_pen_color(64+ 1, 0, 0, 0);
- palette.set_pen_color(64+ 2, level[0], level[2], level[0]); // palette.set_pen_color(64+ 2, 33, 200, 66);
- palette.set_pen_color(64+ 3, level[0], level[3], level[0]); // palette.set_pen_color(64+ 3, 94, 220, 120);
- palette.set_pen_color(64+ 4, level[0], level[0], level[1]); // palette.set_pen_color(64+ 4, 84, 85, 237);
- palette.set_pen_color(64+ 5, level[0], level[0], level[3]); // palette.set_pen_color(64+ 5, 125, 118, 252);
- palette.set_pen_color(64+ 6, level[1], level[0], level[0]); // palette.set_pen_color(64+ 6, 212, 82, 77);
- palette.set_pen_color(64+ 7, level[0], level[3], level[3]); // palette.set_pen_color(64+ 7, 66, 235, 245);
- palette.set_pen_color(64+ 8, level[2], level[0], level[0]); // palette.set_pen_color(64+ 8, 252, 85, 84);
- palette.set_pen_color(64+ 9, level[3], level[0], level[0]); // palette.set_pen_color(64+ 9, 255, 121, 120);
- palette.set_pen_color(64+10, level[1], level[1], level[0]); // palette.set_pen_color(64+10, 212, 193, 84);
- palette.set_pen_color(64+11, level[3], level[3], level[0]); // palette.set_pen_color(64+11, 230, 206, 128);
- palette.set_pen_color(64+12, level[0], level[1], level[0]); // palette.set_pen_color(64+12, 33, 176, 59);
- palette.set_pen_color(64+13, level[3], level[0], level[3]); // palette.set_pen_color(64+13, 201, 91, 186);
- palette.set_pen_color(64+14, level[1], level[1], level[1]); // palette.set_pen_color(64+14, 204, 204, 204);
- palette.set_pen_color(64+15, level[3], level[3], level[3]); // palette.set_pen_color(64+15, 255, 255, 255);
+ palette.set_pen_color(64+ 0, level[0], level[0], blue_level[0]); // palette.set_pen_color(64+ 0, 0, 0, 0);
+ palette.set_pen_color(64+ 1, level[0], level[0], blue_level[0]); // palette.set_pen_color(64+ 1, 0, 0, 0);
+ palette.set_pen_color(64+ 2, level[0], level[2], blue_level[0]); // palette.set_pen_color(64+ 2, 33, 200, 66);
+ palette.set_pen_color(64+ 3, level[0], level[3], blue_level[0]); // palette.set_pen_color(64+ 3, 94, 220, 120);
+ palette.set_pen_color(64+ 4, level[0], level[0], blue_level[1]); // palette.set_pen_color(64+ 4, 84, 85, 237);
+ palette.set_pen_color(64+ 5, level[0], level[0], blue_level[3]); // palette.set_pen_color(64+ 5, 125, 118, 252);
+ palette.set_pen_color(64+ 6, level[1], level[0], blue_level[0]); // palette.set_pen_color(64+ 6, 212, 82, 77);
+ palette.set_pen_color(64+ 7, level[0], level[3], blue_level[3]); // palette.set_pen_color(64+ 7, 66, 235, 245);
+ palette.set_pen_color(64+ 8, level[2], level[0], blue_level[0]); // palette.set_pen_color(64+ 8, 252, 85, 84);
+ palette.set_pen_color(64+ 9, level[3], level[0], blue_level[0]); // palette.set_pen_color(64+ 9, 255, 121, 120);
+ palette.set_pen_color(64+10, level[1], level[1], blue_level[0]); // palette.set_pen_color(64+10, 212, 193, 84);
+ palette.set_pen_color(64+11, level[3], level[3], blue_level[0]); // palette.set_pen_color(64+11, 230, 206, 128);
+ palette.set_pen_color(64+12, level[0], level[1], blue_level[0]); // palette.set_pen_color(64+12, 33, 176, 59);
+ palette.set_pen_color(64+13, level[3], level[0], blue_level[3]); // palette.set_pen_color(64+13, 201, 91, 186);
+ palette.set_pen_color(64+14, level[1], level[1], blue_level[1]); // palette.set_pen_color(64+14, 204, 204, 204);
+ palette.set_pen_color(64+15, level[3], level[3], blue_level[3]); // palette.set_pen_color(64+15, 255, 255, 255);
}
diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp
index 9edd13e8d2d..b4488be7052 100644
--- a/src/devices/video/upd7220.cpp
+++ b/src/devices/video/upd7220.cpp
@@ -3,7 +3,7 @@
/**********************************************************************
Intel 82720 Graphics Display Controller emulation
- also known as NEC uPD7220
+ also known as NEC uPD7220
**********************************************************************/
@@ -1732,12 +1732,12 @@ void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &clip
if(im || force_bitmap)
{
// according to documentation only areas 0-1-2 can be drawn in bitmap mode
- // PC98 Quarth definitely needs area 2 for player section.
+ // PC98 Quarth definitely needs area 2 for player section.
// TODO: what happens if combined area size is smaller than display height?
// documentation suggests that it should repeat from area 0, needs real HW verification (no known SW do it).
if(area >= 3)
break;
-
+
// PC98 madoum1-3 sets up ALL areas to a length of 0 after initial intro screen.
// madoum1: area 0 sad==0 on gameplay (PC=0x955e7), sad==0xaa0 on second intro screen (tower) then intentionally scrolls up and back to initial position.
// Suggests that length should be treated as max size if this occurs, this is also proven to be correct via real HW verification.
diff --git a/src/emu/dinetwork.cpp b/src/emu/dinetwork.cpp
index 6e10e28ecbd..69cc7e9235f 100644
--- a/src/emu/dinetwork.cpp
+++ b/src/emu/dinetwork.cpp
@@ -28,7 +28,7 @@ void device_network_interface::interface_post_start()
device().save_item(NAME(m_loopback_control));
}
-int device_network_interface::send(u8 *buf, int len)
+int device_network_interface::send(u8 *buf, int len, int fcs)
{
// TODO: enable this check when other devices implement delayed transmit
//if (m_send_timer->enabled())
@@ -49,8 +49,10 @@ int device_network_interface::send(u8 *buf, int len)
}
else if (m_dev)
{
- // send the data
- result = m_dev->send(buf, len);
+ // send the data (excluding fcs)
+ result = m_dev->send(buf, len - fcs);
+ if (result)
+ result += fcs;
}
// schedule transmit complete callback
diff --git a/src/emu/dinetwork.h b/src/emu/dinetwork.h
index d165d752852..99909e93905 100644
--- a/src/emu/dinetwork.h
+++ b/src/emu/dinetwork.h
@@ -23,7 +23,7 @@ public:
bool get_promisc() const { return m_promisc; }
int get_interface() const { return m_intf; }
- int send(u8 *buf, int len);
+ int send(u8 *buf, int len, int fcs = 0);
// TODO: de-virtualise this when existing devices implement delayed receive
virtual void recv_cb(u8 *buf, int len);
diff --git a/src/emu/emumem.cpp b/src/emu/emumem.cpp
index efca8ea0c73..556972a342f 100644
--- a/src/emu/emumem.cpp
+++ b/src/emu/emumem.cpp
@@ -1043,7 +1043,7 @@ void memory_bank::configure_entries(int startentry, int numentries, void *base,
// fill in the requested bank entries
for (int entrynum = 0; entrynum < numentries; entrynum ++)
- m_entries[entrynum + startentry] = reinterpret_cast<u8 *>(base) + entrynum * stride ;
+ m_entries[entrynum + startentry] = reinterpret_cast<u8 *>(base) + entrynum * stride;
}
diff --git a/src/emu/emumem.h b/src/emu/emumem.h
index ef47941290a..95a7c0d685e 100644
--- a/src/emu/emumem.h
+++ b/src/emu/emumem.h
@@ -17,6 +17,7 @@
#ifndef MAME_EMU_EMUMEM_H
#define MAME_EMU_EMUMEM_H
+#include <optional>
#include <type_traits>
using s8 = std::int8_t;
@@ -1851,6 +1852,8 @@ public:
void select(int entry);
void disable();
+ std::optional<int> entry() const { return m_cur_id == -1 ? std::optional<int>() : m_cur_slot; }
+
const std::string &name() const { return m_name; }
private:
diff --git a/src/emu/emumem_mview.cpp b/src/emu/emumem_mview.cpp
index 83280460cc7..d6750ad2e23 100644
--- a/src/emu/emumem_mview.cpp
+++ b/src/emu/emumem_mview.cpp
@@ -609,9 +609,11 @@ void memory_view::memory_view_entry::prepare_device_map(address_map &map)
template<int Level, int Width, int AddrShift, endianness_t Endian> void memory_view_entry_specific<Level, Width, AddrShift, Endian>::populate_from_map(address_map *map)
{
- // no map specified, use the space-specific one
- if (map == nullptr)
+ // no map specified, use the space-specific one and import the submaps
+ if (map == nullptr) {
map = m_map.get();
+ map->import_submaps(m_manager.machine(), m_view.m_device, data_width(), endianness(), addr_shift());
+ }
prepare_map_generic(*map, true);
diff --git a/src/emu/screen.h b/src/emu/screen.h
index d3f4ce418b1..bfff28d0f6f 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -238,7 +238,7 @@ public:
m_vblank = m_refresh / vtotal * (vtotal - (vbstart - vbend));
m_width = htotal;
m_height = vtotal;
- m_visarea.set(hbend, hbstart - 1, vbend, vbstart - 1);
+ m_visarea.set(hbend, hbstart ? hbstart - 1 : htotal - 1, vbend, vbstart - 1);
return *this;
}
screen_device &set_raw(const XTAL &xtal, u16 htotal, u16 hbend, u16 hbstart, u16 vtotal, u16 vbend, u16 vbstart)
diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp
index 5a82b3afe7a..d1105b187e2 100644
--- a/src/emu/xtal.cpp
+++ b/src/emu/xtal.cpp
@@ -247,6 +247,7 @@ const double XTAL::known_xtals[] = {
15'582'000, /* 15.582_MHz_XTAL Zentec Zephyr */
15'667'200, /* 15.6672_MHz_XTAL Apple Macintosh */
15'700'000, /* 15.7_MHz_XTAL Motogonki */
+ 15'741'000, /* 15.741_MHz_XTAL DECmate II 80-column display clock */
15'897'600, /* 15.8976_MHz_XTAL IAI Swyft */
15'920'000, /* 15.92_MHz_XTAL HP Integral PC */
15'930'000, /* 15.93_MHz_XTAL ADM 12 */
diff --git a/src/frontend/mame/ui/filecreate.cpp b/src/frontend/mame/ui/filecreate.cpp
index 07f7f10ad16..1474c562829 100644
--- a/src/frontend/mame/ui/filecreate.cpp
+++ b/src/frontend/mame/ui/filecreate.cpp
@@ -238,12 +238,11 @@ SELECT FORMAT MENU
// ctor
//-------------------------------------------------
-menu_select_format::menu_select_format(mame_ui_manager &mui, render_container &container, floppy_image_format_t **formats, int ext_match, int total_usable, int *result)
+menu_select_format::menu_select_format(mame_ui_manager &mui, render_container &container, const std::vector<floppy_image_format_t *> &formats, int ext_match, floppy_image_format_t **result)
: menu(mui, container)
{
m_formats = formats;
m_ext_match = ext_match;
- m_total_usable = total_usable;
m_result = result;
}
@@ -264,13 +263,13 @@ menu_select_format::~menu_select_format()
void menu_select_format::populate(float &customtop, float &custombottom)
{
item_append(_("Select image format"), FLAG_DISABLE, nullptr);
- for (int i = 0; i < m_total_usable; i++)
+ for (unsigned int i = 0; i != m_formats.size(); i++)
{
- const floppy_image_format_t *fmt = m_formats[i];
+ floppy_image_format_t *fmt = m_formats[i];
if (i && i == m_ext_match)
item_append(menu_item_type::SEPARATOR);
- item_append(fmt->description(), fmt->name(), 0, (void *)(uintptr_t)i);
+ item_append(fmt->description(), fmt->name(), 0, fmt);
}
}
@@ -285,7 +284,7 @@ void menu_select_format::handle()
const event *event = process(0);
if (event != nullptr && event->iptkey == IPT_UI_SELECT)
{
- *m_result = int(uintptr_t(event->itemref));
+ *m_result = (floppy_image_format_t *)event->itemref;
stack_pop();
}
}
diff --git a/src/frontend/mame/ui/filecreate.h b/src/frontend/mame/ui/filecreate.h
index 5d9dc597b0d..f4e0b670fbd 100644
--- a/src/frontend/mame/ui/filecreate.h
+++ b/src/frontend/mame/ui/filecreate.h
@@ -64,7 +64,7 @@ class menu_select_format : public menu
{
public:
menu_select_format(mame_ui_manager &mui, render_container &container,
- floppy_image_format_t **formats, int ext_match, int total_usable, int *result);
+ const std::vector<floppy_image_format_t *> &formats, int ext_match, floppy_image_format_t **result);
virtual ~menu_select_format() override;
private:
@@ -72,10 +72,9 @@ private:
virtual void handle() override;
// internal state
- floppy_image_format_t ** m_formats;
- int m_ext_match;
- int m_total_usable;
- int * m_result;
+ std::vector<floppy_image_format_t *> m_formats;
+ int m_ext_match;
+ floppy_image_format_t * *m_result;
};
// ======================> menu_select_floppy_init
diff --git a/src/frontend/mame/ui/floppycntrl.cpp b/src/frontend/mame/ui/floppycntrl.cpp
index f06c122280f..0cfc8ac2333 100644
--- a/src/frontend/mame/ui/floppycntrl.cpp
+++ b/src/frontend/mame/ui/floppycntrl.cpp
@@ -30,11 +30,6 @@ menu_control_floppy_image::menu_control_floppy_image(mame_ui_manager &mui, rende
input_filename(),
output_filename()
{
- int fcnt = 0;
- for(const floppy_image_format_t *i = fd.get_formats(); i; i = i->next)
- fcnt++;
-
- format_array = std::make_unique<floppy_image_format_t * []>(fcnt);
}
menu_control_floppy_image::~menu_control_floppy_image()
@@ -54,12 +49,6 @@ void menu_control_floppy_image::do_load_create()
err = fd.finish_load();
if (err == image_init_result::PASS) {
fs_meta_data meta;
- if(create_fs->m_manager) {
- auto metav = create_fs->m_manager->volume_meta_description();
- for(const auto &e : metav)
- if(!e.m_ro)
- meta[e.m_name] = e.m_default;
- }
fd.init_fs(create_fs, meta);
}
}
@@ -109,37 +98,34 @@ void menu_control_floppy_image::handle()
{
switch (m_state) {
case DO_CREATE: {
- floppy_image_format_t *fif_list = fd.get_formats();
- int ext_match;
- int total_usable = 0;
- for(floppy_image_format_t *i = fif_list; i; i = i->next) {
+ std::vector<floppy_image_format_t *> format_array;
+ for(floppy_image_format_t *i : fd.get_formats()) {
if(!i->supports_save())
continue;
if (i->extension_matches(m_current_file.c_str()))
- format_array[total_usable++] = i;
+ format_array.push_back(i);
}
- ext_match = total_usable;
- for(floppy_image_format_t *i = fif_list; i; i = i->next) {
+ int ext_match = format_array.size();
+ for(floppy_image_format_t *i : fd.get_formats()) {
if(!i->supports_save())
continue;
if (!i->extension_matches(m_current_file.c_str()))
- format_array[total_usable++] = i;
+ format_array.push_back(i);
}
- m_submenu_result.i = -1;
- menu::stack_push<menu_select_format>(ui(), container(), format_array.get(), ext_match, total_usable, &m_submenu_result.i);
+ output_format = nullptr;
+ menu::stack_push<menu_select_format>(ui(), container(), format_array, ext_match, &output_format);
m_state = SELECT_FORMAT;
break;
}
case SELECT_FORMAT:
- if(m_submenu_result.i == -1) {
+ if(!output_format) {
m_state = START_FILE;
handle();
} else {
const auto &fs = fd.get_create_fs();
output_filename = util::zippath_combine(m_current_directory, m_current_file);
- output_format = format_array[m_submenu_result.i];
if(fs.size() == 1) {
create_fs = &fs[0];
do_load_create();
diff --git a/src/frontend/mame/ui/floppycntrl.h b/src/frontend/mame/ui/floppycntrl.h
index a0ad007be2e..9b80cc7edaa 100644
--- a/src/frontend/mame/ui/floppycntrl.h
+++ b/src/frontend/mame/ui/floppycntrl.h
@@ -30,7 +30,6 @@ private:
enum { SELECT_FORMAT = LAST_ID, SELECT_MEDIA, SELECT_INIT, SELECT_RW };
floppy_image_device &fd;
- std::unique_ptr<floppy_image_format_t * []> format_array;
floppy_image_format_t *input_format, *output_format;
const floppy_image_device::fs_info *create_fs;
std::string input_filename, output_filename;
diff --git a/src/frontend/mame/ui/imgcntrl.cpp b/src/frontend/mame/ui/imgcntrl.cpp
index 966bffcaba1..33a71b7354a 100644
--- a/src/frontend/mame/ui/imgcntrl.cpp
+++ b/src/frontend/mame/ui/imgcntrl.cpp
@@ -53,6 +53,13 @@ menu_control_device_image::menu_control_device_image(mame_ui_manager &mui, rende
{
m_state = START_OTHER_PART;
m_current_directory = m_image.working_directory();
+
+ // check to see if we've never initialized the working directory
+ if (m_current_directory.empty())
+ {
+ m_current_directory = machine().image().setup_working_directory();
+ m_image.set_working_directory(m_current_directory);
+ }
}
else
{
diff --git a/src/frontend/mame/ui/miscmenu.cpp b/src/frontend/mame/ui/miscmenu.cpp
index 68ffadb0699..bf1754481dc 100644
--- a/src/frontend/mame/ui/miscmenu.cpp
+++ b/src/frontend/mame/ui/miscmenu.cpp
@@ -87,30 +87,55 @@ menu_bios_selection::~menu_bios_selection()
void menu_bios_selection::handle()
{
- /* process the menu */
+ // process the menu
const event *menu_event = process(0);
if (menu_event != nullptr && menu_event->itemref != nullptr)
{
if ((uintptr_t)menu_event->itemref == 1 && menu_event->iptkey == IPT_UI_SELECT)
machine().schedule_hard_reset();
- else if (menu_event->iptkey == IPT_UI_LEFT || menu_event->iptkey == IPT_UI_RIGHT)
+ else
{
device_t *dev = (device_t *)menu_event->itemref;
- int const cnt = ([bioses = romload::entries(dev->rom_region()).get_system_bioses()] () { return std::distance(bioses.begin(), bioses.end()); })();
- int val = dev->system_bios() + ((menu_event->iptkey == IPT_UI_LEFT) ? -1 : +1);
- if (val < 1)
- val = cnt;
- if (val > cnt)
- val = 1;
- dev->set_system_bios(val);
- if (strcmp(dev->tag(),":")==0) {
- machine().options().set_value("bios", val-1, OPTION_PRIORITY_CMDLINE);
- } else {
- const char *slot_option_name = dev->owner()->tag() + 1;
- machine().options().slot_option(slot_option_name).set_bios(string_format("%d", val - 1));
+ int bios_val = 0;
+
+ switch (menu_event->iptkey)
+ {
+ // reset to default
+ case IPT_UI_SELECT:
+ bios_val = dev->default_bios();
+ break;
+
+ // previous/next bios setting
+ case IPT_UI_LEFT: case IPT_UI_RIGHT:
+ {
+ int const cnt = ([bioses = romload::entries(dev->rom_region()).get_system_bioses()] () { return std::distance(bioses.begin(), bioses.end()); })();
+ bios_val = dev->system_bios() + ((menu_event->iptkey == IPT_UI_LEFT) ? -1 : +1);
+
+ // wrap
+ if (bios_val < 1)
+ bios_val = cnt;
+ if (bios_val > cnt)
+ bios_val = 1;
+
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ if (bios_val > 0)
+ {
+ dev->set_system_bios(bios_val);
+ if (strcmp(dev->tag(),":")==0) {
+ machine().options().set_value("bios", bios_val-1, OPTION_PRIORITY_CMDLINE);
+ } else {
+ const char *slot_option_name = dev->owner()->tag() + 1;
+ machine().options().slot_option(slot_option_name).set_bios(string_format("%d", bios_val - 1));
+ }
+ reset(reset_options::REMEMBER_REF);
}
- reset(reset_options::REMEMBER_REF);
}
}
}
diff --git a/src/frontend/mame/ui/selmenu.cpp b/src/frontend/mame/ui/selmenu.cpp
index 236a33225bc..b470291ab52 100644
--- a/src/frontend/mame/ui/selmenu.cpp
+++ b/src/frontend/mame/ui/selmenu.cpp
@@ -2820,7 +2820,7 @@ void menu_select_launch::infos_render(float origx1, float origy1, float origx2,
{
int itemline = r + m_topline_datsview;
std::string_view const tempbuf(std::string_view(m_info_buffer).substr(xstart[itemline], xend[itemline] - xstart[itemline]));
- if (tempbuf[0] == '#')
+ if (!tempbuf.empty() && (tempbuf[0] == '#'))
continue;
if (r == 0 && m_topline_datsview != 0) // up arrow
diff --git a/src/lib/formats/all.cpp b/src/lib/formats/all.cpp
index 0b50ddc9d69..70fc497e6d1 100644
--- a/src/lib/formats/all.cpp
+++ b/src/lib/formats/all.cpp
@@ -653,6 +653,14 @@
#include "vt_cas.h"
#endif
+#ifdef HAS_FORMATS_VT_DSK
+#include "vt_dsk.h"
+#endif
+
+#ifdef HAS_FORMATS_FS_VTECH
+#include "fs_vtech.h"
+#endif
+
#ifdef HAS_FORMATS_WD177X_DSK
#include "wd177x_dsk.h"
#endif
@@ -1379,6 +1387,13 @@ void mame_formats_full_list(mame_formats_enumerator &en)
en.add(vtech1_cassette_formats); // vt_cas.h
en.add(vtech2_cassette_formats); // vt_cas.h
#endif
+#ifdef HAS_FORMATS_VT_DSJ
+ en.add(FLOPPY_VTECH_BIN_FORMAT); // vt_dsk.h
+ en.add(FLOPPY_VTECH_DSK_FORMAT); // vt_dsk.h
+#endif
+#ifdef HAS_FORMATS_FS_VTECH
+ en.add(FS_VTECH); // fs_vtech.h
+#endif
en.category("Canon");
#ifdef HAS_FORMATS_X07_CAS
diff --git a/src/lib/formats/all.h b/src/lib/formats/all.h
index 63de5560949..1284bf9f509 100644
--- a/src/lib/formats/all.h
+++ b/src/lib/formats/all.h
@@ -18,7 +18,7 @@ struct mame_formats_enumerator {
virtual void category(const char *name) = 0;
virtual void add(const cassette_image::Format *const *formats) = 0;
virtual void add(floppy_format_type format) = 0;
- virtual void add(filesystem_manager_type fs) = 0;
+ virtual void add(const filesystem_manager_t &fs) = 0;
};
void mame_formats_full_list(mame_formats_enumerator &en);
diff --git a/src/lib/formats/ap_dsk35.cpp b/src/lib/formats/ap_dsk35.cpp
index 0fc1aafca32..9819406183c 100644
--- a/src/lib/formats/ap_dsk35.cpp
+++ b/src/lib/formats/ap_dsk35.cpp
@@ -1543,6 +1543,12 @@ int apple_2mg_format::identify(io_generic *io, uint32_t form_factor, const std::
return 100;
}
+ // Bernie ][ The Rescue wrote 2MGs with the signature byte-flipped, other fields are valid
+ if (!strncmp(reinterpret_cast<char *>(signature), "GMI2", 4))
+ {
+ return 100;
+ }
+
return 0;
}
diff --git a/src/lib/formats/flopimg.cpp b/src/lib/formats/flopimg.cpp
index ba75a1ed7b8..a7a4a6b2621 100644
--- a/src/lib/formats/flopimg.cpp
+++ b/src/lib/formats/flopimg.cpp
@@ -995,23 +995,6 @@ bool floppy_image_format_t::has_variant(const std::vector<uint32_t> &variants, u
return false;
}
-floppy_image_format_t::floppy_image_format_t()
-{
- next = nullptr;
-}
-
-floppy_image_format_t::~floppy_image_format_t()
-{
-}
-
-void floppy_image_format_t::append(floppy_image_format_t *_next)
-{
- if(next)
- next->append(_next);
- else
- next = _next;
-}
-
bool floppy_image_format_t::save(io_generic *, const std::vector<uint32_t> &, floppy_image *)
{
return false;
@@ -1038,7 +1021,7 @@ bool floppy_image_format_t::extension_matches(const char *file_name) const
return false;
}
-bool floppy_image_format_t::type_no_data(int type) const
+bool floppy_image_format_t::type_no_data(int type)
{
return
type == CRC_CCITT_START ||
@@ -1055,7 +1038,7 @@ bool floppy_image_format_t::type_no_data(int type) const
type == END;
}
-bool floppy_image_format_t::type_data_mfm(int type, int p1, const gen_crc_info *crcs) const
+bool floppy_image_format_t::type_data_mfm(int type, int p1, const gen_crc_info *crcs)
{
return
type == MFM ||
@@ -1078,7 +1061,7 @@ bool floppy_image_format_t::type_data_mfm(int type, int p1, const gen_crc_info *
(type == CRC && (crcs[p1].type == CRC_CCITT || crcs[p1].type == CRC_AMIGA));
}
-void floppy_image_format_t::collect_crcs(const desc_e *desc, gen_crc_info *crcs) const
+void floppy_image_format_t::collect_crcs(const desc_e *desc, gen_crc_info *crcs)
{
memset(crcs, 0, MAX_CRC_COUNT * sizeof(*crcs));
for(int i=0; i != MAX_CRC_COUNT; i++)
@@ -1120,7 +1103,7 @@ void floppy_image_format_t::collect_crcs(const desc_e *desc, gen_crc_info *crcs)
}
}
-int floppy_image_format_t::crc_cells_size(int type) const
+int floppy_image_format_t::crc_cells_size(int type)
{
switch(type) {
case CRC_CCITT: return 32;
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index 49d9ae1f29c..101d9bd86bd 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -224,8 +224,7 @@ class floppy_image;
class floppy_image_format_t
{
public:
- floppy_image_format_t();
- virtual ~floppy_image_format_t();
+ virtual ~floppy_image_format_t() = default;
/*! @brief Identify an image.
The identify function tests if the image is valid
@@ -270,10 +269,6 @@ public:
//! @returns true if format supports saving.
virtual bool supports_save() const = 0;
- //! Used if a linked list of formats is needed
- floppy_image_format_t *next;
- //! This appends a format to the linked list of formats, needed for floppy_image_device().
- void append(floppy_image_format_t *_next);
//! This checks if the file has the proper extension for this format.
//! @param file_name
//! @returns true if file matches the extension.
@@ -396,7 +391,7 @@ protected:
@param track_size in _cells_, i.e. 100000 for a usual 2us-per-cell track at 300rpm.
@param image
*/
- void generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image *image);
+ static void generate_track(const desc_e *desc, int track, int head, const desc_s *sect, int sect_count, int track_size, floppy_image *image);
/*! @brief Generate a track from cell binary values, MSB-first.
@param track
@@ -407,7 +402,7 @@ protected:
@param subtrack subtrack index, 0-3
@param splice write splice position
*/
- void generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image *image, int subtrack = 0, int splice = 0);
+ static void generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image *image, int subtrack = 0, int splice = 0);
//! @brief Generate a track from cell level values (0/1/W/D/N).
@@ -424,10 +419,10 @@ protected:
know. trackbuf may be modified at that position or after.
@param image
*/
- void generate_track_from_levels(int track, int head, std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image *image);
+ static void generate_track_from_levels(int track, int head, std::vector<uint32_t> &trackbuf, int splice_pos, floppy_image *image);
//! Normalize the times in a cell buffer to sum up to 200000000
- void normalize_times(std::vector<uint32_t> &buffer);
+ static void normalize_times(std::vector<uint32_t> &buffer);
// Some conversion tables for gcr
static const uint8_t gcr5fw_tb[0x10], gcr5bw_tb[0x20];
@@ -504,8 +499,8 @@ protected:
@endverbatim
*/
- std::vector<bool> generate_bitstream_from_track(int track, int head, int cell_size, floppy_image *image, int subtrack = 0);
- std::vector<uint8_t> generate_nibbles_from_bitstream(const std::vector<bool> &bitstream);
+ static std::vector<bool> generate_bitstream_from_track(int track, int head, int cell_size, floppy_image *image, int subtrack = 0);
+ static std::vector<uint8_t> generate_nibbles_from_bitstream(const std::vector<bool> &bitstream);
struct desc_pc_sector
{
@@ -523,84 +518,84 @@ protected:
uint8_t *data;
};
- int calc_default_pc_gap3_size(uint32_t form_factor, int sector_size);
- void build_wd_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2);
- void build_wd_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2=22);
- void build_pc_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=40, int gap_1=26, int gap_2=11);
- void build_pc_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=80, int gap_1=50, int gap_2=22);
- void build_mac_track_gcr(int track, int head, floppy_image *image, const desc_gcr_sector *sects);
+ static int calc_default_pc_gap3_size(uint32_t form_factor, int sector_size);
+ static void build_wd_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2);
+ static void build_wd_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_1, int gap_2=22);
+ static void build_pc_track_fm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=40, int gap_1=26, int gap_2=11);
+ static void build_pc_track_mfm(int track, int head, floppy_image *image, int cell_count, int sector_count, const desc_pc_sector *sects, int gap_3, int gap_4a=80, int gap_1=50, int gap_2=22);
+ static void build_mac_track_gcr(int track, int head, floppy_image *image, const desc_gcr_sector *sects);
//! @brief Extract standard sectors from a regenerated bitstream.
//! Returns a vector of the vector contents, indexed by the sector id. Missing sectors have size zero.
//! PC-type sectors with MFM encoding, sector size can go from 128 bytes to 16K.
- std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_mfm_pc(const std::vector<bool> &bitstream);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_mfm_pc(const std::vector<bool> &bitstream);
//! PC-type sectors with FM encoding
- std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_fm_pc(const std::vector<bool> &bitstream);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_fm_pc(const std::vector<bool> &bitstream);
//! Commodore type sectors with GCR5 encoding
- std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_gcr5(const std::vector<bool> &bitstream, int head, int tracks);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_gcr5(const std::vector<bool> &bitstream, int head, int tracks);
//! Victor 9000 type sectors with GCR5 encoding
- std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_victor_gcr5(const std::vector<bool> &bitstream);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_bitstream_victor_gcr5(const std::vector<bool> &bitstream);
//! Mac type sectors with GCR6 encoding
- std::vector<std::vector<uint8_t>> extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image);
+ static std::vector<std::vector<uint8_t>> extract_sectors_from_track_mac_gcr6(int head, int track, floppy_image *image);
//! @brief Get a geometry (including sectors) from an image.
//! PC-type sectors with MFM encoding
- void get_geometry_mfm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
+ static void get_geometry_mfm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
//! PC-type sectors with FM encoding
- void get_geometry_fm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
+ static void get_geometry_fm_pc(floppy_image *image, int cell_size, int &track_count, int &head_count, int &sector_count);
//! Regenerate the data for a full track.
//! PC-type sectors with MFM encoding and fixed-size.
- void get_track_data_mfm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
+ static void get_track_data_mfm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
//! Regenerate the data for a full track.
//! PC-type sectors with FM encoding and fixed-size.
- void get_track_data_fm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
+ static void get_track_data_fm_pc(int track, int head, floppy_image *image, int cell_size, int sector_size, int sector_count, uint8_t *sectdata);
//! Look up a bit in a level-type stream.
- bool bit_r(const std::vector<uint32_t> &buffer, int offset);
+ static bool bit_r(const std::vector<uint32_t> &buffer, int offset);
//! Look up multiple bits
- uint32_t bitn_r(const std::vector<uint32_t> &buffer, int offset, int count);
+ static uint32_t bitn_r(const std::vector<uint32_t> &buffer, int offset, int count);
//! Write a bit with a given size.
- void bit_w(std::vector<uint32_t> &buffer, bool val, uint32_t size = 1000);
- void bit_w(std::vector<uint32_t> &buffer, bool val, uint32_t size, int offset);
+ static void bit_w(std::vector<uint32_t> &buffer, bool val, uint32_t size = 1000);
+ static void bit_w(std::vector<uint32_t> &buffer, bool val, uint32_t size, int offset);
//! Calculate a CCITT-type CRC.
- uint16_t calc_crc_ccitt(const std::vector<uint32_t> &buffer, int start, int end);
+ static uint16_t calc_crc_ccitt(const std::vector<uint32_t> &buffer, int start, int end);
//! Write a series of (raw) bits
- void raw_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
- void raw_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
+ static void raw_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
+ static void raw_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
//! FM-encode and write a series of bits
- void fm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
- void fm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
+ static void fm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
+ static void fm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
//! MFM-encode and write a series of bits
- void mfm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
- void mfm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
+ static void mfm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
+ static void mfm_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size, int offset);
//! MFM-encode every two bits and write
- void mfm_half_w(std::vector<uint32_t> &buffer, int start_bit, uint32_t val, uint32_t size = 1000);
+ static void mfm_half_w(std::vector<uint32_t> &buffer, int start_bit, uint32_t val, uint32_t size = 1000);
//! GCR5-encode and write a series of bits
- void gcr5_w(std::vector<uint32_t> &buffer, uint8_t val, uint32_t size = 1000);
- void gcr5_w(std::vector<uint32_t> &buffer, uint8_t val, uint32_t size, int offset);
+ static void gcr5_w(std::vector<uint32_t> &buffer, uint8_t val, uint32_t size = 1000);
+ static void gcr5_w(std::vector<uint32_t> &buffer, uint8_t val, uint32_t size, int offset);
//! 8N1-encode and write a series of bits
- void _8n1_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
+ static void _8n1_w(std::vector<uint32_t> &buffer, int n, uint32_t val, uint32_t size = 1000);
//! GCR4 encode (Apple II sector header)
- uint16_t gcr4_encode(uint8_t va);
+ static uint16_t gcr4_encode(uint8_t va);
//! GCR4 decode
- uint8_t gcr4_decode(uint8_t e0, uint8_t e1);
+ static uint8_t gcr4_decode(uint8_t e0, uint8_t e1);
//! GCR6 encode (Apple II 16-sector and Mac-style GCR)
- uint32_t gcr6_encode(uint8_t va, uint8_t vb, uint8_t vc);
+ static uint32_t gcr6_encode(uint8_t va, uint8_t vb, uint8_t vc);
//! GCR6 decode
- void gcr6_decode(uint8_t e0, uint8_t e1, uint8_t e2, uint8_t e3, uint8_t &va, uint8_t &vb, uint8_t &vc);
+ static void gcr6_decode(uint8_t e0, uint8_t e1, uint8_t e2, uint8_t e3, uint8_t &va, uint8_t &vb, uint8_t &vc);
- uint8_t sbyte_mfm_r(const std::vector<bool> &bitstream, uint32_t &pos);
- uint8_t sbyte_gcr5_r(const std::vector<bool> &bitstream, uint32_t &pos);
+ static uint8_t sbyte_mfm_r(const std::vector<bool> &bitstream, uint32_t &pos);
+ static uint8_t sbyte_gcr5_r(const std::vector<bool> &bitstream, uint32_t &pos);
//! Max number of excess tracks to be discarded from disk image to fit floppy drive
enum { DUMP_THRESHOLD = 2 };
@@ -619,24 +614,24 @@ private:
bool fixup_mfm_clock; //!< would the MFM clock bit after the CRC need to be fixed?
};
- bool type_no_data(int type) const;
- bool type_data_mfm(int type, int p1, const gen_crc_info *crcs) const;
+ static bool type_no_data(int type);
+ static bool type_data_mfm(int type, int p1, const gen_crc_info *crcs);
- int crc_cells_size(int type) const;
- void fixup_crc_amiga(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_cbm(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_ccitt(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_ccitt_fm(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_machead(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_fcs(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_victor_header(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crc_victor_data(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
- void fixup_crcs(std::vector<uint32_t> &buffer, gen_crc_info *crcs);
- void collect_crcs(const desc_e *desc, gen_crc_info *crcs) const;
+ static int crc_cells_size(int type);
+ static void fixup_crc_amiga(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_cbm(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_ccitt(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_ccitt_fm(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_machead(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_fcs(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_victor_header(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crc_victor_data(std::vector<uint32_t> &buffer, const gen_crc_info *crc);
+ static void fixup_crcs(std::vector<uint32_t> &buffer, gen_crc_info *crcs);
+ static void collect_crcs(const desc_e *desc, gen_crc_info *crcs);
- int sbit_rp(const std::vector<bool> &bitstream, uint32_t &pos);
+ static int sbit_rp(const std::vector<bool> &bitstream, uint32_t &pos);
- int calc_sector_index(int num, int interleave, int skew, int total_sectors, int track_head);
+ static int calc_sector_index(int num, int interleave, int skew, int total_sectors, int track_head);
};
// a dce_type is simply a pointer to its alloc function
diff --git a/src/lib/formats/fs_oric_jasmin.cpp b/src/lib/formats/fs_oric_jasmin.cpp
index 3f4e0b04e14..dadf76026a7 100644
--- a/src/lib/formats/fs_oric_jasmin.cpp
+++ b/src/lib/formats/fs_oric_jasmin.cpp
@@ -7,6 +7,8 @@
#include "fs_oric_jasmin.h"
#include "oric_dsk.h"
+const fs_oric_jasmin FS_ORIC_JASMIN;
+
// Floppy only, format is 41 tracks, 1/2 heads, 17 sectors.
// Filesystem has no subdirectories.
//
@@ -39,12 +41,22 @@
// offset 04-05: length of the file in bytes on the first sector, ffff otherwise
// offset 06+ : reference to data sectors, (ff, ff) when done
+const char *fs_oric_jasmin::name() const
+{
+ return "oric_jasmin";
+}
+
+const char *fs_oric_jasmin::description() const
+{
+ return "Oric Jasmin";
+}
+
void fs_oric_jasmin::enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
if(has(form_factor, variants, floppy_image::FF_3, floppy_image::DSDD))
- fe.add(this, FLOPPY_ORIC_JASMIN_FORMAT, 356864, "oric_jasmin_ds", "Oric Jasmin dual-sided");
+ fe.add(FLOPPY_ORIC_JASMIN_FORMAT, 356864, "oric_jasmin_ds", "Oric Jasmin dual-sided");
if(has(form_factor, variants, floppy_image::FF_3, floppy_image::SSDD))
- fe.add(this, FLOPPY_ORIC_JASMIN_FORMAT, 178432, "oric_jasmin_ss", "Oric Jasmin single-sided");
+ fe.add(FLOPPY_ORIC_JASMIN_FORMAT, 178432, "oric_jasmin_ss", "Oric Jasmin single-sided");
}
std::unique_ptr<filesystem_t> fs_oric_jasmin::mount(fsblk_t &blockdev) const
@@ -64,6 +76,11 @@ bool fs_oric_jasmin::can_read() const
bool fs_oric_jasmin::can_write() const
{
+ return true;
+}
+
+bool fs_oric_jasmin::has_rsrc() const
+{
return false;
}
@@ -83,8 +100,8 @@ fs_meta_data fs_oric_jasmin::impl::metadata()
while(len > 0 && bdir.rodata()[0xf8 + len - 1] == ' ')
len--;
- res[fs_meta_name::name] = bdir.rstr(0xf8, len);
- return res;
+ res.set(fs_meta_name::name, bdir.rstr(0xf8, len));
+ return res;
}
bool fs_oric_jasmin::validate_filename(std::string name)
@@ -111,7 +128,7 @@ std::vector<fs_meta_description> fs_oric_jasmin::file_meta_description() const
void fs_oric_jasmin::impl::format(const fs_meta_data &meta)
{
- std::string volume_name = meta.find(fs_meta_name::name)->second.as_string();
+ std::string volume_name = meta.get_string(fs_meta_name::name, "UNTITLED");
u32 blocks = m_blockdev.block_count();
m_blockdev.fill(0x6c);
@@ -134,7 +151,7 @@ void fs_oric_jasmin::impl::format(const fs_meta_data &meta)
fmap.w8(0xf6, 0x80);
fmap.w8(0xf7, 0x80);
- fmap.fill(0xf8, 0x20, 8);
+ volume_name.resize(8, ' ');
fmap.wstr(0xf8, volume_name);
auto bdir = m_blockdev.get(20*17+1);
@@ -144,7 +161,7 @@ void fs_oric_jasmin::impl::format(const fs_meta_data &meta)
}
fs_oric_jasmin::impl::impl(fsblk_t &blockdev) : filesystem_t(blockdev, 256), m_root(true)
-{
+{
}
bool fs_oric_jasmin::impl::ref_valid(u16 ref)
@@ -261,11 +278,18 @@ filesystem_t::file_t fs_oric_jasmin::impl::root_dir::file_get(uint64_t key)
u16 ref = bdir.r16b(off);
bool system = ref == 0 && key == 0 && bdir.r32b(off+0xb) == 0x2e535953;
if(system)
- return file_t(new system_file(m_fs, bdir.rodata() + off));
+ return file_t(new system_file(m_fs, this, bdir.rodata() + off, key));
if(!m_fs.ref_valid(ref))
fatalerror("Key to deleted/non-existent file\n");
- return file_t(new file(m_fs, bdir.rodata() + off, key));
+ return file_t(new file(m_fs, this, bdir.rodata() + off, key));
+}
+
+void fs_oric_jasmin::impl::root_dir::update_file(u16 key, const u8 *entry)
+{
+ uint64_t rkey = key;
+ auto [bdir, off] = get_dir_block(rkey);
+ bdir.copy(off, entry, 18);
}
filesystem_t::dir_t fs_oric_jasmin::impl::root_dir::dir_get(uint64_t key)
@@ -273,10 +297,29 @@ filesystem_t::dir_t fs_oric_jasmin::impl::root_dir::dir_get(uint64_t key)
fatalerror("Directories not supported\n");
}
-fs_oric_jasmin::impl::file::file(impl &fs, const u8 *entry, u16 key) : m_fs(fs), m_key(key)
+std::string fs_oric_jasmin::impl::file_name_prepare(std::string fname)
+{
+ std::string nname;
+ size_t i;
+ for(i = 0; i != 8 && i != fname.size() && fname[i] != '.'; i++)
+ nname += fname[i];
+ if(nname.size() != 8)
+ nname.insert(nname.end(), 8 - nname.size(), ' ');
+ nname += '.';
+ while(i != fname.size() && fname[i] != '.')
+ i++;
+ if(i != fname.size())
+ i++;
+ while(i != fname.size() && nname.size() != 12)
+ nname += fname[i++];
+ if(nname.size() != 12)
+ nname.insert(nname.end(), 12 - nname.size(), ' ');
+ return nname;
+}
+
+fs_oric_jasmin::impl::file::file(impl &fs, root_dir *dir, const u8 *entry, u16 key) : m_fs(fs), m_dir(dir), m_key(key)
{
memcpy(m_entry, entry, 18);
- (void)m_key;
}
void fs_oric_jasmin::impl::file::drop_weak_references()
@@ -287,79 +330,36 @@ fs_meta_data fs_oric_jasmin::impl::file::metadata()
{
fs_meta_data res;
- res[fs_meta_name::name] = read_file_name(m_entry + 3);
- res[fs_meta_name::locked] = m_entry[2] == 'L';
- res[fs_meta_name::sequential] = m_entry[0xf] == 'S';
- res[fs_meta_name::size_in_blocks] = uint64_t(m_entry[0x10] | (m_entry[0x11] << 8));
+ res.set(fs_meta_name::name, read_file_name(m_entry + 3));
+ res.set(fs_meta_name::locked, m_entry[2] == 'L');
+ res.set(fs_meta_name::sequential, m_entry[0xf] == 'S');
+ res.set(fs_meta_name::size_in_blocks, r16l(m_entry + 0x10));
- u16 ref = (m_entry[0] << 8) | m_entry[1];
+ u16 ref = r16b(m_entry);
auto dblk = m_fs.m_blockdev.get(cs_to_block(ref));
- res[fs_meta_name::loading_address] = uint64_t(dblk.r16l(2));
- res[fs_meta_name::length] = uint64_t(dblk.r16l(4));
+ res.set(fs_meta_name::loading_address, dblk.r16l(2));
+ res.set(fs_meta_name::length, dblk.r16l(4));
return res;
}
std::vector<u8> fs_oric_jasmin::impl::file::read_all()
{
- auto [sect, length] = build_data_sector_table();
- std::vector<u8> data(length);
- u32 pos = 0;
- for(u16 ref : sect) {
- u32 npos = pos + 256;
- if(npos > length)
- npos = length;
- if(npos > pos) {
- auto dblk = m_fs.m_blockdev.get(cs_to_block(ref));
- memcpy(data.data() + pos, dblk.rodata(), npos - pos);
- } else
- break;
- pos = npos;
- }
- return data;
-}
-
-std::vector<u8> fs_oric_jasmin::impl::file::read(u64 start, u64 length)
-{
- auto [sect, rlength] = build_data_sector_table();
- length += start;
- if(length > rlength)
- length = rlength;
-
- if(rlength < start)
- return std::vector<u8>();
-
- std::vector<u8> data(length - start);
- u32 pos = 0;
- for(u16 ref : sect) {
- u32 npos = pos + 256;
- if(npos > length)
- npos = length;
- if(npos > pos) {
- if(npos > start) {
- u32 off = pos < start ? start & 0xff : 0;
- auto dblk = m_fs.m_blockdev.get(cs_to_block(ref));
- memcpy(data.data() + pos + off - start, dblk.rodata() + off, npos - pos - off);
- }
- } else
- break;
- pos = npos;
- }
- return data;
-}
-
-std::pair<std::vector<u16>, u32> fs_oric_jasmin::impl::file::build_data_sector_table()
-{
- std::pair<std::vector<u16>, u32> res;
- u16 ref = (m_entry[0] << 8) | m_entry[1];
+ std::vector<u8> data;
+ u16 ref = r16b(m_entry);
auto iblk = m_fs.m_blockdev.get(cs_to_block(ref));
u32 length = iblk.r16l(4);
while(m_fs.ref_valid(ref)) {
- for(u32 pos = 6; pos != 256; pos += 2) {
+ for(u32 pos = 6; pos != 256 && data.size() < length; pos += 2) {
u16 dref = iblk.r16b(pos);
if(!m_fs.ref_valid(dref))
goto done;
- res.first.push_back(dref);
+ auto dblk = m_fs.m_blockdev.get(cs_to_block(dref));
+ u32 dpos = data.size();
+ data.resize(dpos + 256);
+ memcpy(data.data() + dpos, dblk.rodata(), 256);
+ if(data.size() >= length)
+ goto done;
}
ref = iblk.r16b(2);
if(!m_fs.ref_valid(ref))
@@ -367,13 +367,11 @@ std::pair<std::vector<u16>, u32> fs_oric_jasmin::impl::file::build_data_sector_t
iblk = m_fs.m_blockdev.get(cs_to_block(ref));
}
done:
- if(length > 256 * res.first.size())
- length = 256 * res.first.size();
- res.second = length;
- return res;
+ data.resize(length);
+ return data;
}
-fs_oric_jasmin::impl::system_file::system_file(impl &fs, const u8 *entry) : m_fs(fs)
+fs_oric_jasmin::impl::system_file::system_file(impl &fs, root_dir *dir, const u8 *entry, u16 key) : m_fs(fs), m_dir(dir), m_key(key)
{
memcpy(m_entry, entry, 18);
}
@@ -386,11 +384,11 @@ fs_meta_data fs_oric_jasmin::impl::system_file::metadata()
{
fs_meta_data res;
- res[fs_meta_name::name] = read_file_name(m_entry + 3);
- res[fs_meta_name::locked] = m_entry[2] == 'L';
- res[fs_meta_name::sequential] = m_entry[0xf] == 'S';
- res[fs_meta_name::size_in_blocks] = uint64_t(m_entry[0x10] | (m_entry[0x11] << 8));
- res[fs_meta_name::length] = uint64_t(0x3e00);
+ res.set(fs_meta_name::name, read_file_name(m_entry + 3));
+ res.set(fs_meta_name::locked, m_entry[2] == 'L');
+ res.set(fs_meta_name::sequential, m_entry[0xf] == 'S');
+ res.set(fs_meta_name::size_in_blocks, r16l(m_entry + 0x10));
+ res.set(fs_meta_name::length, 0x3e00);
return res;
}
@@ -405,25 +403,221 @@ std::vector<u8> fs_oric_jasmin::impl::system_file::read_all()
return data;
}
-std::vector<u8> fs_oric_jasmin::impl::system_file::read(u64 start, u64 length)
+fs_oric_jasmin::impl::file_t fs_oric_jasmin::impl::root_dir::file_create(const fs_meta_data &info)
{
- if(start >= 0x3e00)
- return std::vector<u8>();
- length += start;
- if(length > 0x3e00)
- length = 0x3e00;
- std::vector<u8> data(length - start);
-
- for(u32 i = start / 256; i <= (length - 1) / 256; i++) {
- u32 pos = i * 256;
- u32 off = i * 256 < start ? start & 0xff : 0;
- u32 len = i * 256 > length ? length & 0xff : 0x100;
- auto dblk = m_fs.m_blockdev.get(i);
- memcpy(data.data() + pos + off - start, dblk.rodata() + off, len);
+ // One block of sector list, one block of data
+ u32 nb = 2;
+
+ // Find the key for the next entry, increase nb if needed
+ auto bdir = m_fs.m_blockdev.get(20*17+1);
+ uint64_t id = 0;
+ for(;;) {
+ for(u32 i = 0; i != 14; i ++) {
+ u32 off = 4 + i*18;
+ u16 ref = bdir.r16b(off);
+ if(!m_fs.ref_valid(ref))
+ goto found;
+ id++;
+ }
+ u16 ref = bdir.r16b(2);
+ if(!ref || !m_fs.ref_valid(ref)) {
+ nb ++;
+ break;
+ }
+ bdir = m_fs.m_blockdev.get(cs_to_block(ref));
+ }
+ found:
+ auto block = m_fs.allocate_blocks(nb);
+ if(block.empty())
+ return nullptr;
+
+ auto sblk = m_fs.m_blockdev.get(cs_to_block(block[0]));
+ sblk.w16b(0, 0xff00); // Next sector
+ sblk.w16l(2, info.get_number(fs_meta_name::loading_address, 0x500));
+ sblk.w16l(4, 0); // Length
+ sblk.w16b(6, block[1]); // Data block
+
+ if(nb == 3) {
+ bdir.w16l(0, block[2]); // Link to the next directory sector
+ bdir = m_fs.m_blockdev.get(cs_to_block(block[2]));
+ bdir.fill(0xff);
+ bdir.w16l(0, block[2]); // Reference to itself
+ bdir.w16l(2, 0xff00); // No next directory sector
}
- return data;
+ u32 off = 4 + (id % 14) * 18;
+ bdir.w16b(off+0x00, block[0]); // First (and only) sector in the sector list
+ bdir.w8 (off+0x02, info.get_flag(fs_meta_name::locked, false) ? 'L' : 'U');
+ bdir.wstr(off+0x03, file_name_prepare(info.get_string(fs_meta_name::name, "")));
+ bdir.w8 (off+0x0f, info.get_flag(fs_meta_name::sequential, true) ? 'S' : 'D');
+ bdir.w16l(off+0x10, 2); // 2 sectors for an empty file
+
+ return file_t(new file(m_fs, this, bdir.rodata() + off, id));
+}
+
+
+
+void fs_oric_jasmin::impl::root_dir::file_delete(uint64_t key)
+{
+}
+
+void fs_oric_jasmin::impl::file::replace(const std::vector<u8> &data)
+{
+ u32 cur_ns = r16l(m_entry + 0x10);
+ // Data sectors first
+ u32 need_ns = (data.size() + 255) / 256;
+ if(need_ns == 0)
+ need_ns = 1;
+ // Add the sector list sectors, 125 entries/sector
+ need_ns += (need_ns + 124)/125;
+
+ // Enough space?
+ if(cur_ns < need_ns && m_fs.free_block_count() < need_ns - cur_ns)
+ return;
+
+ u16 load_address = 0;
+ std::vector<u16> tofree;
+ u16 iref = r16b(m_entry);
+ for(u32 i=0; i < cur_ns; i += 125+1) {
+ auto iblk = m_fs.m_blockdev.get(cs_to_block(iref));
+ if(!i)
+ load_address = iblk.r16l(2);
+ tofree.push_back(iref);
+ for(u32 j=0; j != 125 && i+j+1 != cur_ns; j++)
+ tofree.push_back(iblk.r16b(6+2*j));
+ iref = iblk.r16b(2);
+ }
+ m_fs.free_blocks(tofree);
+
+ std::vector<u16> blocks = m_fs.allocate_blocks(need_ns);
+ for(u32 i=0; i < need_ns; i += 125+1) {
+ auto iblk = m_fs.m_blockdev.get(cs_to_block(blocks[i]));
+ iblk.fill(0xff);
+ if(!i) {
+ iblk.w16l(2, load_address);
+ iblk.w16l(4, data.size());
+ }
+ if(i + 126 < need_ns)
+ iblk.w16b(0, blocks[i+126]);
+ else
+ iblk.w16b(0, 0xff00);
+
+ for(u32 j=0; j != 125 && i+j+1 != need_ns; j++) {
+ u32 dpos = 256 * (j + i/126*125);
+ u32 size = data.size() - dpos;
+ iblk.w16b(6+j*2, blocks[i+j+1]);
+ auto dblk = m_fs.m_blockdev.get(cs_to_block(blocks[i+j+1]));
+ if(size >= 256)
+ dblk.copy(0, data.data() + dpos, 256);
+ else {
+ dblk.copy(0, data.data() + dpos, size);
+ dblk.fill(size, 0x55, 256-size);
+ }
+ }
+ }
+ w16l(m_entry + 0x10, need_ns);
+ w16b(m_entry + 0x00, blocks[0]);
+ m_dir->update_file(m_key, m_entry);
+}
+
+void fs_oric_jasmin::impl::root_dir::metadata_change(const fs_meta_data &info)
+{
+}
+
+void fs_oric_jasmin::impl::metadata_change(const fs_meta_data &info)
+{
+ if(info.has(fs_meta_name::name)) {
+ std::string volume_name = info.get_string(fs_meta_name::name);
+ volume_name.resize(8, ' ');
+ m_blockdev.get(20*17).wstr(0xf8, volume_name);
+ }
}
+void fs_oric_jasmin::impl::file::metadata_change(const fs_meta_data &info)
+{
+ if(info.has(fs_meta_name::locked))
+ w8 (m_entry+0x02, info.get_flag(fs_meta_name::locked) ? 'L' : 'U');
+ if(info.has(fs_meta_name::name))
+ wstr(m_entry+0x03, file_name_prepare(info.get_string(fs_meta_name::name)));
+ if(info.has(fs_meta_name::sequential))
+ w8 (m_entry+0x0f, info.get_flag(fs_meta_name::sequential) ? 'D' : 'S');
+ if(info.has(fs_meta_name::loading_address))
+ m_fs.m_blockdev.get(cs_to_block(r16b(m_entry))).w16l(2, info.get_number(fs_meta_name::loading_address));
+ m_dir->update_file(m_key, m_entry);
+}
+
+void fs_oric_jasmin::impl::system_file::replace(const std::vector<u8> &data)
+{
+ if(data.size() != 0x3e00)
+ return;
+
+ for(u32 i=0; i != 0x3e; i++)
+ m_fs.m_blockdev.get(i).copy(0, data.data() + i * 256, 256);
+}
+
+void fs_oric_jasmin::impl::system_file::metadata_change(const fs_meta_data &info)
+{
+ if(info.has(fs_meta_name::locked))
+ w8 (m_entry+0x02, info.get_flag(fs_meta_name::locked) ? 'L' : 'U');
+ if(info.has(fs_meta_name::name))
+ wstr(m_entry+0x03, file_name_prepare(info.get_string(fs_meta_name::name)));
+ if(info.has(fs_meta_name::sequential))
+ w8 (m_entry+0x0f, info.get_flag(fs_meta_name::sequential) ? 'S' : 'D');
+ if(info.has(fs_meta_name::loading_address))
+ m_fs.m_blockdev.get(cs_to_block(r16b(m_entry))).w16l(2, info.get_number(fs_meta_name::loading_address));
+ m_dir->update_file(m_key, m_entry);
+}
+
+std::vector<u16> fs_oric_jasmin::impl::allocate_blocks(u32 count)
+{
+ std::vector<u16> blocks;
+ if(free_block_count() < count)
+ return blocks;
-const filesystem_manager_type FS_ORIC_JASMIN = &filesystem_manager_creator<fs_oric_jasmin>;;
+ auto fmap = m_blockdev.get(20*17);
+ u32 nf = 0;
+ for(u32 track = 0; track != 2*41 && nf != count; track++) {
+ u32 map = fmap.r24l(track*3);
+ if(map != 0x800000) {
+ for(u32 sect = 1; sect <= 17 && nf != count; sect++)
+ if(map & (0x20000 >> sect)) {
+ blocks.push_back((track << 8) | sect);
+ map &= ~(0x20000 >> sect);
+ nf++;
+ }
+ if(!map)
+ map = 0x800000;
+ fmap.w24l(track*3, map);
+ }
+ }
+ return blocks;
+}
+
+void fs_oric_jasmin::impl::free_blocks(const std::vector<u16> &blocks)
+{
+ auto fmap = m_blockdev.get(20*17);
+ for(u16 ref : blocks) {
+ u32 track = ref >> 8;
+ u32 sect = ref & 0xff;
+ u32 map = fmap.r24l(track*3);
+ if(map == 0x800000)
+ map = 0;
+ map |= 0x20000 >> sect;
+ fmap.w24l(track*3, map);
+ }
+}
+
+u32 fs_oric_jasmin::impl::free_block_count()
+{
+ auto fmap = m_blockdev.get(20*17);
+ u32 nf = 0;
+ for(u32 track = 0; track != 2*41; track++) {
+ u32 map = fmap.r24l(track*3);
+ if(map != 0x800000) {
+ for(u32 sect = 1; sect <= 17; sect++)
+ if(map & (0x20000 >> sect))
+ nf++;
+ }
+ }
+ return nf;
+}
diff --git a/src/lib/formats/fs_oric_jasmin.h b/src/lib/formats/fs_oric_jasmin.h
index 823dcc90538..2ffe27fb7cf 100644
--- a/src/lib/formats/fs_oric_jasmin.h
+++ b/src/lib/formats/fs_oric_jasmin.h
@@ -22,9 +22,14 @@ public:
virtual void drop_weak_references() override;
virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
virtual std::vector<fs_dir_entry> contents() override;
virtual file_t file_get(uint64_t key) override;
virtual dir_t dir_get(uint64_t key) override;
+ virtual file_t file_create(const fs_meta_data &info) override;
+ virtual void file_delete(uint64_t key) override;
+
+ void update_file(u16 key, const u8 *entry);
private:
impl &m_fs;
@@ -34,44 +39,48 @@ public:
class file : public ifile_t {
public:
- file(impl &fs, const u8 *entry, u16 key);
+ file(impl &fs, root_dir *dir, const u8 *entry, u16 key);
virtual ~file() = default;
virtual void drop_weak_references() override;
virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
virtual std::vector<u8> read_all() override;
- virtual std::vector<u8> read(u64 start, u64 length) override;
+ virtual void replace(const std::vector<u8> &data) override;
private:
impl &m_fs;
+ root_dir *m_dir;
u16 m_key;
u8 m_entry[18];
-
- std::pair<std::vector<u16>, u32> build_data_sector_table();
};
class system_file : public ifile_t {
public:
- system_file(impl &fs, const u8 *entry);
+ system_file(impl &fs, root_dir *dir, const u8 *entry, u16 key);
virtual ~system_file() = default;
virtual void drop_weak_references() override;
virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
virtual std::vector<u8> read_all() override;
- virtual std::vector<u8> read(u64 start, u64 length) override;
+ virtual void replace(const std::vector<u8> &data) override;
private:
impl &m_fs;
+ root_dir *m_dir;
+ u16 m_key;
u8 m_entry[18];
};
impl(fsblk_t &blockdev);
virtual ~impl() = default;
-
+
virtual void format(const fs_meta_data &meta) override;
virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
virtual dir_t root() override;
static u32 cs_to_block(u16 ref);
@@ -81,18 +90,28 @@ public:
static std::string read_file_name(const u8 *p);
void drop_root_ref();
+ std::vector<u16> allocate_blocks(u32 count);
+ void free_blocks(const std::vector<u16> &blocks);
+ u32 free_block_count();
+
+ static std::string file_name_prepare(std::string name);
+
private:
dir_t m_root;
};
fs_oric_jasmin() : filesystem_manager_t() {}
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+
virtual void enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override;
virtual bool can_format() const override;
virtual bool can_read() const override;
virtual bool can_write() const override;
+ virtual bool has_rsrc() const override;
virtual std::vector<fs_meta_description> volume_meta_description() const override;
virtual std::vector<fs_meta_description> file_meta_description() const override;
@@ -100,6 +119,6 @@ public:
static bool validate_filename(std::string name);
};
-extern const filesystem_manager_type FS_ORIC_JASMIN;
+extern const fs_oric_jasmin FS_ORIC_JASMIN;
#endif
diff --git a/src/lib/formats/fs_prodos.cpp b/src/lib/formats/fs_prodos.cpp
index 5a4d3e6edf5..a5a6b11eea3 100644
--- a/src/lib/formats/fs_prodos.cpp
+++ b/src/lib/formats/fs_prodos.cpp
@@ -7,6 +7,19 @@
#include "fs_prodos.h"
#include "ap_dsk35.h"
+
+const fs_prodos FS_PRODOS;
+
+const char *fs_prodos::name() const
+{
+ return "prodos";
+}
+
+const char *fs_prodos::description() const
+{
+ return "Apple ProDOS";
+}
+
const u8 fs_prodos::impl::boot[512] = {
0x01, 0x38, 0xb0, 0x03, 0x4c, 0x1c, 0x09, 0x78, 0x86, 0x43, 0xc9, 0x03, 0x08, 0x8a, 0x29, 0x70,
0x4a, 0x4a, 0x4a, 0x4a, 0x09, 0xc0, 0x85, 0x49, 0xa0, 0xff, 0x84, 0x48, 0x28, 0xc8, 0xb1, 0x48,
@@ -45,9 +58,9 @@ const u8 fs_prodos::impl::boot[512] = {
void fs_prodos::enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
if(has(form_factor, variants, floppy_image::FF_35, floppy_image::DSDD))
- fe.add(this, FLOPPY_APPLE_GCR_FORMAT, 819200, "prodos_800k", "Apple ProDOS 800K");
+ fe.add(FLOPPY_APPLE_GCR_FORMAT, 819200, "prodos_800k", "Apple ProDOS 800K");
if(has(form_factor, variants, floppy_image::FF_35, floppy_image::SSDD))
- fe.add(this, FLOPPY_APPLE_GCR_FORMAT, 409600, "prodos_400k", "Apple ProDOS 400K");
+ fe.add(FLOPPY_APPLE_GCR_FORMAT, 409600, "prodos_400k", "Apple ProDOS 400K");
}
std::unique_ptr<filesystem_t> fs_prodos::mount(fsblk_t &blockdev) const
@@ -70,6 +83,11 @@ bool fs_prodos::can_write() const
return false;
}
+bool fs_prodos::has_rsrc() const
+{
+ return true;
+}
+
char fs_prodos::directory_separator() const
{
return '/';
@@ -118,7 +136,7 @@ std::vector<fs_meta_description> fs_prodos::directory_meta_description() const
void fs_prodos::impl::format(const fs_meta_data &meta)
{
- std::string volume_name = meta.find(fs_meta_name::name)->second.as_string();
+ std::string volume_name = meta.get_string(fs_meta_name::name, "UNTITLED");
u32 blocks = m_blockdev.block_count();
// Maximum usable partition size = 32M - 512 bytes (65535 blocks)
@@ -183,7 +201,7 @@ void fs_prodos::impl::format(const fs_meta_data &meta)
}
fs_prodos::impl::impl(fsblk_t &blockdev) : filesystem_t(blockdev, 512), m_root(true)
-{
+{
}
util::arbitrary_datetime fs_prodos::impl::prodos_to_dt(u32 date)
@@ -206,18 +224,18 @@ fs_meta_data fs_prodos::impl::metadata()
fs_meta_data res;
auto bdir = m_blockdev.get(2);
int len = bdir.r8(0x04) & 0xf;
- res[fs_meta_name::name] = bdir.rstr(0x05, len);
- res[fs_meta_name::os_version] = uint64_t(bdir.r8(0x20));
- res[fs_meta_name::os_minimum_version] = uint64_t(bdir.r8(0x21));
- res[fs_meta_name::creation_date] = prodos_to_dt(bdir.r32l(0x1c));
- res[fs_meta_name::modification_date] = prodos_to_dt(bdir.r32l(0x16));
- return res;
+ res.set(fs_meta_name::name, bdir.rstr(0x05, len));
+ res.set(fs_meta_name::os_version, bdir.r8(0x20));
+ res.set(fs_meta_name::os_minimum_version, bdir.r8(0x21));
+ res.set(fs_meta_name::creation_date, prodos_to_dt(bdir.r32l(0x1c)));
+ res.set(fs_meta_name::modification_date, prodos_to_dt(bdir.r32l(0x16)));
+ return res;
}
filesystem_t::dir_t fs_prodos::impl::root()
{
if(!m_root)
- m_root = new dir(*this, 2);
+ m_root = new root_dir(*this, 2);
return m_root.strong();
}
@@ -227,29 +245,18 @@ void fs_prodos::impl::drop_root_ref()
}
-void fs_prodos::impl::dir::drop_weak_references()
+void fs_prodos::impl::root_dir::drop_weak_references()
{
if(m_base_block == 2)
m_fs.drop_root_ref();
}
-fs_meta_data fs_prodos::impl::dir::metadata()
+fs_meta_data fs_prodos::impl::root_dir::metadata()
{
- fs_meta_data res;
- if(m_base_block == 2)
- return res;
-
- auto bdir = m_fs.m_blockdev.get(m_base_block);
- int len = bdir.r8(0x04) & 0xf;
- res[fs_meta_name::name] = bdir.rstr(0x05, len);
- res[fs_meta_name::os_version] = uint64_t(bdir.r8(0x20));
- res[fs_meta_name::os_minimum_version] = uint64_t(bdir.r8(0x21));
- res[fs_meta_name::creation_date] = prodos_to_dt(bdir.r32l(0x1c));
- res[fs_meta_name::modification_date] = prodos_to_dt(bdir.r32l(0x16));
- return res;
+ return fs_meta_data();
}
-std::vector<fs_dir_entry> fs_prodos::impl::dir::contents()
+std::vector<fs_dir_entry> fs_prodos::impl::root_dir::contents()
{
std::vector<fs_dir_entry> res;
@@ -277,7 +284,8 @@ std::vector<fs_dir_entry> fs_prodos::impl::dir::contents()
return res;
}
-std::pair<fsblk_t::block_t, const u8 *> fs_prodos::impl::dir::get_entry_ro(uint64_t key)
+
+std::pair<fsblk_t::block_t, const u8 *> fs_prodos::impl::root_dir::get_entry_ro(uint64_t key)
{
std::pair<fsblk_t::block_t, const u8 *> res;
res.first = m_fs.m_blockdev.get(m_base_block);
@@ -295,7 +303,7 @@ std::pair<fsblk_t::block_t, const u8 *> fs_prodos::impl::dir::get_entry_ro(uint6
return res;
}
-std::pair<fsblk_t::block_t, u8 *> fs_prodos::impl::dir::get_entry(uint64_t key)
+std::pair<fsblk_t::block_t, u8 *> fs_prodos::impl::root_dir::get_entry(uint64_t key)
{
std::pair<fsblk_t::block_t, u8 *> res;
res.first = m_fs.m_blockdev.get(m_base_block);
@@ -313,7 +321,7 @@ std::pair<fsblk_t::block_t, u8 *> fs_prodos::impl::dir::get_entry(uint64_t key)
return res;
}
-filesystem_t::file_t fs_prodos::impl::dir::file_get(uint64_t key)
+filesystem_t::file_t fs_prodos::impl::root_dir::file_get(uint64_t key)
{
auto [blk, entry] = get_entry_ro(key);
if(!blk)
@@ -321,10 +329,10 @@ filesystem_t::file_t fs_prodos::impl::dir::file_get(uint64_t key)
u8 type = entry[0] >> 4;
if(type == 0 || type == 4 || type > 5)
fatalerror("Unhandled file type %x\n", type);
- return new file(m_fs, entry, key);
+ return new file(m_fs, entry, key, this);
}
-filesystem_t::dir_t fs_prodos::impl::dir::dir_get(uint64_t key)
+filesystem_t::dir_t fs_prodos::impl::root_dir::dir_get(uint64_t key)
{
auto [blk, entry] = get_entry_ro(key);
if(!blk)
@@ -333,12 +341,21 @@ filesystem_t::dir_t fs_prodos::impl::dir::dir_get(uint64_t key)
if(type != 0xd)
fatalerror("Unhandled directory type %x\n", type);
- return new dir(m_fs, entry[17] | (entry[18] << 8), key);
+ return new dir(m_fs, entry, r16l(entry+0x11), key, this);
+}
+
+fs_prodos::impl::dir::dir(impl &fs, const u8 *entry, u16 base_block, u16 key, root_dir *parent_dir) : root_dir(fs, base_block), m_parent_dir(parent_dir), m_key(key)
+{
+ memcpy(m_entry, entry, 39);
+ (void)m_key;
+ (void)m_parent_dir;
}
-fs_prodos::impl::file::file(impl &fs, const u8 *entry, u16 key) : m_fs(fs), m_key(key)
+fs_prodos::impl::file::file(impl &fs, const u8 *entry, u16 key, root_dir *parent_dir) : m_fs(fs), m_parent_dir(parent_dir), m_key(key)
{
memcpy(m_entry, entry, 39);
+ (void)m_key;
+ (void)m_parent_dir;
}
void fs_prodos::impl::file::drop_weak_references()
@@ -348,31 +365,103 @@ void fs_prodos::impl::file::drop_weak_references()
fs_meta_data fs_prodos::impl::file::metadata()
{
fs_meta_data res;
- std::string name;
- u8 type = m_entry[0];
- for(u8 i = 0; i != (type & 0xf); i++)
- name += char(m_entry[i+1]);
+ u8 type = r8(m_entry);
+ std::string name = rstr(m_entry+1, type & 0xf);
type >>= 4;
- res[fs_meta_name::name] = name;
+ res.set(fs_meta_name::name, name);
if(type == 5) {
- auto rootblk = m_fs.m_blockdev.get(m_entry[0x11] | (m_entry[0x12] << 8));
- res[fs_meta_name::length] = rootblk.r24l(0x005);
- res[fs_meta_name::rsrc_length] = rootblk.r24l(0x105);
-
- } else if((type >= 1 && type <= 3) || 1)
- res[fs_meta_name::length] = m_entry[0x15] | (m_entry[0x16] << 8) | (m_entry[0x17] << 16);
+ auto rootblk = m_fs.m_blockdev.get(r16l(m_entry+0x11));
+ res.set(fs_meta_name::length, rootblk.r24l(0x005));
+ res.set(fs_meta_name::rsrc_length, rootblk.r24l(0x105));
+
+ } else if(type >= 1 && type <= 3)
+ res.set(fs_meta_name::length, r24l(m_entry + 0x15));
+
+ else
+ fatalerror("fs_prodos::impl::file::metadata: Unhandled file type %d\n", type);
return res;
}
-std::vector<u8> fs_prodos::impl::file::read_all()
+fs_meta_data fs_prodos::impl::dir::metadata()
{
- abort();
+ fs_meta_data res;
+ u8 type = r8(m_entry);
+ std::string name = rstr(m_entry+1, type & 0xf);
+ res.set(fs_meta_name::name, name);
+
+ return res;
}
-std::vector<u8> fs_prodos::impl::file::read(u64 start, u64 length)
+std::vector<u8> fs_prodos::impl::file::any_read_all(uint8_t type, u16 block, u32 length)
{
- abort();
+ std::vector<u8> data((length + 511) & ~511);
+ u32 nb = data.size()/512;
+ if(!nb)
+ return data;
+
+ u8 *dst = data.data();
+ u8 *end = dst + data.size();
+ switch(type) {
+ case 1:
+ memcpy(dst, m_fs.m_blockdev.get(block).rodata(), 512);
+ dst += 512;
+ break;
+
+ case 2: {
+ auto iblk = m_fs.m_blockdev.get(block);
+ for(u32 i=0; i != 256 && dst != end; i++) {
+ u16 blk = iblk.r8(i) | (iblk.r8(i | 0x100) << 8);
+ memcpy(dst, m_fs.m_blockdev.get(blk).rodata(), 512);
+ dst += 512;
+ }
+ break;
+ }
+
+ case 3: {
+ auto mblk = m_fs.m_blockdev.get(block);
+ for(u32 j=0; dst != end; j += 256) {
+ u32 idx = j/256;
+ auto iblk = m_fs.m_blockdev.get(mblk.r8(idx) | (mblk.r8(idx | 0x100) << 8));
+ for(u32 i=0; i != 256 && dst != end; i++) {
+ u16 blk = iblk.r8(i) | (iblk.r8(i | 0x100) << 8);
+ memcpy(dst, m_fs.m_blockdev.get(blk).rodata(), 512);
+ dst += 512;
+ }
+ }
+ break;
+ }
+
+ default:
+ fatalerror("fs_prodos::impl::file::get_file_blocks: unknown file type %d\n", type);
+ }
+
+ data.resize(length);
+ return data;
+}
+
+std::vector<u8> fs_prodos::impl::file::read_all()
+{
+ u8 type = r8(m_entry) >> 4;
+ if(type >= 1 && type <= 3)
+ return any_read_all(type, r16l(m_entry+0x11), r24l(m_entry + 0x15));
+
+ else if(type == 5) {
+ auto kblk = m_fs.m_blockdev.get(r16l(m_entry+0x11));
+ return any_read_all(kblk.r8(0x000), kblk.r16l(0x001), kblk.r24l(0x005));
+
+ } else
+ fatalerror("fs_prodos::impl::file::read_all: Unhandled file type %d\n", type);
}
-const filesystem_manager_type FS_PRODOS = &filesystem_manager_creator<fs_prodos>;;
+std::vector<u8> fs_prodos::impl::file::rsrc_read_all()
+{
+ u8 type = r8(m_entry) >> 4;
+
+ if(type == 5) {
+ auto kblk = m_fs.m_blockdev.get(r16l(m_entry+0x11));
+ return any_read_all(kblk.r8(0x100), kblk.r16l(0x101), kblk.r24l(0x105));
+
+ } else
+ fatalerror("fs_prodos::impl::file::rsrc_blocks: Unhandled file type %d\n", type);
+}
diff --git a/src/lib/formats/fs_prodos.h b/src/lib/formats/fs_prodos.h
index 2f33254842b..1f5d2405b98 100644
--- a/src/lib/formats/fs_prodos.h
+++ b/src/lib/formats/fs_prodos.h
@@ -14,10 +14,10 @@ class fs_prodos : public filesystem_manager_t {
public:
class impl : public filesystem_t {
public:
- class dir : public idir_t {
+ class root_dir : public idir_t {
public:
- dir(impl &fs, u16 base_block, u16 key = 0) : m_fs(fs), m_base_block(base_block), m_key(key) { (void)m_key; }
- virtual ~dir() = default;
+ root_dir(impl &fs, u16 base_block) : m_fs(fs), m_base_block(base_block) { }
+ virtual ~root_dir() = default;
virtual void drop_weak_references() override;
@@ -26,37 +26,50 @@ public:
virtual file_t file_get(uint64_t key) override;
virtual dir_t dir_get(uint64_t key) override;
- private:
+ protected:
impl &m_fs;
u16 m_base_block;
- u16 m_key;
std::pair<fsblk_t::block_t, const u8 *> get_entry_ro(uint64_t key);
std::pair<fsblk_t::block_t, u8 *> get_entry(uint64_t key);
};
+ class dir : public root_dir {
+ public:
+ dir(impl &fs, const u8 *entry, u16 base_block, u16 key, root_dir *parent_dir);
+ virtual ~dir() = default;
+
+ virtual fs_meta_data metadata() override;
+
+ protected:
+ root_dir *m_parent_dir;
+ u16 m_key;
+ u8 m_entry[39];
+ };
+
class file : public ifile_t {
public:
- file(impl &fs, const u8 *entry, u16 key);
+ file(impl &fs, const u8 *entry, u16 key, root_dir *parent_dir);
virtual ~file() = default;
virtual void drop_weak_references() override;
virtual fs_meta_data metadata() override;
virtual std::vector<u8> read_all() override;
- virtual std::vector<u8> read(u64 start, u64 length) override;
+ virtual std::vector<u8> rsrc_read_all() override;
private:
impl &m_fs;
+ root_dir *m_parent_dir;
u16 m_key;
u8 m_entry[39];
- std::vector<u16> build_block_table();
+ std::vector<u8> any_read_all(uint8_t type, u16 block, u32 length);
};
impl(fsblk_t &blockdev);
virtual ~impl() = default;
-
+
virtual void format(const fs_meta_data &meta) override;
virtual fs_meta_data metadata() override;
@@ -65,6 +78,7 @@ public:
void drop_root_ref();
static util::arbitrary_datetime prodos_to_dt(u32 date);
+ std::vector<fs_dir_entry> contents(u16 block);
private:
static const u8 boot[512];
@@ -74,12 +88,16 @@ public:
fs_prodos() : filesystem_manager_t() {}
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+
virtual void enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override;
virtual bool can_format() const override;
virtual bool can_read() const override;
virtual bool can_write() const override;
+ virtual bool has_rsrc() const override;
virtual char directory_separator() const override;
virtual std::vector<fs_meta_description> volume_meta_description() const override;
@@ -87,6 +105,6 @@ public:
virtual std::vector<fs_meta_description> directory_meta_description() const override;
};
-extern const filesystem_manager_type FS_PRODOS;
+extern const fs_prodos FS_PRODOS;
#endif
diff --git a/src/lib/formats/fs_unformatted.cpp b/src/lib/formats/fs_unformatted.cpp
index 573be8ac2b9..81df9ecae69 100644
--- a/src/lib/formats/fs_unformatted.cpp
+++ b/src/lib/formats/fs_unformatted.cpp
@@ -6,6 +6,18 @@
#include "emu.h"
#include "fs_unformatted.h"
+const fs_unformatted FS_UNFORMATTED;
+
+const char *fs_unformatted::name() const
+{
+ return "unformatted";
+}
+
+const char *fs_unformatted::description() const
+{
+ return "Unformatted floppy image";
+}
+
void fs_unformatted::enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const
{
bool all = form_factor == floppy_image::FF_UNKNOWN;
@@ -116,4 +128,7 @@ bool fs_unformatted::can_write() const
return false;
}
-const filesystem_manager_type FS_UNFORMATTED = &filesystem_manager_creator<fs_unformatted>;
+bool fs_unformatted::has_rsrc() const
+{
+ return false;
+}
diff --git a/src/lib/formats/fs_unformatted.h b/src/lib/formats/fs_unformatted.h
index ce472cafdb3..d3c741013a5 100644
--- a/src/lib/formats/fs_unformatted.h
+++ b/src/lib/formats/fs_unformatted.h
@@ -38,6 +38,9 @@ public:
fs_unformatted() : filesystem_manager_t() {}
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+
static void format(u32 key, floppy_image *image);
virtual void enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
@@ -46,8 +49,9 @@ public:
virtual bool can_format() const override;
virtual bool can_read() const override;
virtual bool can_write() const override;
+ virtual bool has_rsrc() const override;
};
-extern const filesystem_manager_type FS_UNFORMATTED;
+extern const fs_unformatted FS_UNFORMATTED;
#endif
diff --git a/src/lib/formats/fs_vtech.cpp b/src/lib/formats/fs_vtech.cpp
new file mode 100644
index 00000000000..cf432baa218
--- /dev/null
+++ b/src/lib/formats/fs_vtech.cpp
@@ -0,0 +1,366 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// Management of VTech images
+
+#include "emu.h"
+#include "fs_vtech.h"
+#include "vt_dsk.h"
+
+const fs_vtech FS_VTECH;
+
+// Floppy only, format is 40 tracks, 1 head, 16 sectors numbered 0-15, 256 bytes/sector.
+// Filesystem has no subdirectories.
+//
+// Track 0 sectors 0-14 have the file names. 16 bytes/entry
+// offset 0 : File type 'T' (basic) or 'B' (binary)
+// offset 1 : 0x3a
+// offset 2-9: File name
+// offset a : Track number of first file sector
+// offset b : Sector number of first file sector
+// offset c-d: Start address (little-endian)
+// offset e-f: End address (little-endian)
+//
+// Files are stored with 126 bytes/sector, and bytes 126 and 127 are
+// track/sector of the next file data sector.
+
+const char *fs_vtech::name() const
+{
+ return "vtech";
+}
+
+const char *fs_vtech::description() const
+{
+ return "VTech (Laser 200/300)";
+}
+
+void fs_vtech::enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const
+{
+ if(has(form_factor, variants, floppy_image::FF_525, floppy_image::SSSD))
+ fe.add(FLOPPY_VTECH_BIN_FORMAT, 163840, "vtech", "VTech");
+}
+
+std::unique_ptr<filesystem_t> fs_vtech::mount(fsblk_t &blockdev) const
+{
+ return std::make_unique<impl>(blockdev);
+}
+
+bool fs_vtech::can_format() const
+{
+ return true;
+}
+
+bool fs_vtech::can_read() const
+{
+ return true;
+}
+
+bool fs_vtech::can_write() const
+{
+ return true;
+}
+
+bool fs_vtech::has_rsrc() const
+{
+ return false;
+}
+
+std::vector<fs_meta_description> fs_vtech::volume_meta_description() const
+{
+ std::vector<fs_meta_description> res;
+ return res;
+}
+
+fs_meta_data fs_vtech::impl::metadata()
+{
+ fs_meta_data res;
+ return res;
+}
+
+std::vector<fs_meta_description> fs_vtech::file_meta_description() const
+{
+ std::vector<fs_meta_description> res;
+ res.emplace_back(fs_meta_description(fs_meta_name::name, fs_meta_type::string, "", false, [](const fs_meta &m) { return m.as_string().size() <= 8; }, "File name, 8 chars"));
+ res.emplace_back(fs_meta_description(fs_meta_name::loading_address, fs_meta_type::number, 0x7ae9, false, [](const fs_meta &m) { return m.as_number() < 0x10000; }, "Loading address of the file"));
+ res.emplace_back(fs_meta_description(fs_meta_name::length, fs_meta_type::number, 0, true, nullptr, "Size of the file in bytes"));
+ res.emplace_back(fs_meta_description(fs_meta_name::basic, fs_meta_type::flag, true, true, nullptr, "Basic file"));
+ return res;
+}
+
+
+void fs_vtech::impl::format(const fs_meta_data &meta)
+{
+ m_blockdev.fill(0);
+}
+
+fs_vtech::impl::impl(fsblk_t &blockdev) : filesystem_t(blockdev, 128), m_root(true)
+{
+}
+
+filesystem_t::dir_t fs_vtech::impl::root()
+{
+ if(!m_root)
+ m_root = new root_dir(*this);
+ return m_root.strong();
+}
+
+void fs_vtech::impl::drop_root_ref()
+{
+ m_root = nullptr;
+}
+
+void fs_vtech::impl::root_dir::drop_weak_references()
+{
+ m_fs.drop_root_ref();
+}
+
+fs_meta_data fs_vtech::impl::root_dir::metadata()
+{
+ return fs_meta_data();
+}
+
+std::vector<fs_dir_entry> fs_vtech::impl::root_dir::contents()
+{
+ std::vector<fs_dir_entry> res;
+
+ uint64_t id = 0;
+ for(int sect = 0; sect != 14; sect++) {
+ auto bdir = m_fs.m_blockdev.get(sect);
+ for(u32 i = 0; i != 8; i ++) {
+ u32 off = i*16;
+ u8 type = bdir.r8(off);
+ if(type != 'T' && type != 'B')
+ continue;
+ if(bdir.r8(off+1) != ':')
+ continue;
+ std::string fname = trim_end_spaces(bdir.rstr(off+2, 8));
+ res.emplace_back(fs_dir_entry(fname, fs_dir_entry_type::file, id));
+ id++;
+ }
+ }
+ return res;
+}
+
+filesystem_t::file_t fs_vtech::impl::root_dir::file_get(uint64_t key)
+{
+ if(key >= 15*8)
+ fatalerror("Key out of range\n");
+
+ auto bdir = m_fs.m_blockdev.get(key >> 3);
+ int off = (key & 7) << 4;
+ return file_t(new file(m_fs, this, bdir.rodata() + off, key));
+}
+
+void fs_vtech::impl::root_dir::update_file(u16 key, const u8 *entry)
+{
+ auto bdir = m_fs.m_blockdev.get(key >> 3);
+ int off = (key & 7) << 4;
+ bdir.copy(off, entry, 16);
+}
+
+filesystem_t::dir_t fs_vtech::impl::root_dir::dir_get(uint64_t key)
+{
+ fatalerror("Directories not supported\n");
+}
+
+fs_vtech::impl::file::file(impl &fs, root_dir *dir, const u8 *entry, u16 key) : m_fs(fs), m_dir(dir), m_key(key)
+{
+ memcpy(m_entry, entry, 16);
+}
+
+void fs_vtech::impl::file::drop_weak_references()
+{
+}
+
+fs_meta_data fs_vtech::impl::file::metadata()
+{
+ fs_meta_data res;
+
+ res.set(fs_meta_name::name, trim_end_spaces(rstr(m_entry+2, 8)));
+ res.set(fs_meta_name::basic, m_entry[0] == 'T');
+ res.set(fs_meta_name::loading_address, r16l(m_entry + 0xc));
+ res.set(fs_meta_name::length, ((r16l(m_entry + 0xe) - r16l(m_entry + 0xc) + 1) & 0xffff));
+
+ return res;
+}
+
+std::vector<u8> fs_vtech::impl::file::read_all()
+{
+ u8 track = m_entry[0xa];
+ u8 sector = m_entry[0xb];
+ int len = ((r16l(m_entry + 0xe) - r16l(m_entry + 0xc)) & 0xffff) + 1;
+
+ std::vector<u8> data(len, 0);
+ int pos = 0;
+ while(pos < len) {
+ if(track >= 40 || sector >= 16)
+ break;
+ auto dblk = m_fs.m_blockdev.get(track*16 + sector);
+ int size = len - pos;
+ if(size > 126)
+ size = 126;
+ memcpy(data.data() + pos, dblk.data(), size);
+ pos += size;
+ track = dblk.r8(126);
+ sector = dblk.r8(127);
+ }
+ return data;
+}
+
+fs_vtech::impl::file_t fs_vtech::impl::root_dir::file_create(const fs_meta_data &info)
+{
+ // Find the key for the next unused entry
+ for(int sect = 0; sect != 14; sect++) {
+ auto bdir = m_fs.m_blockdev.get(sect);
+ uint64_t id = 0;
+ for(u32 i = 0; i != 16; i ++) {
+ u32 off = i*16;
+ u8 type = bdir.r8(off);
+ if(type != 'T' && type != 'B') {
+ std::string fname = info.get_string(fs_meta_name::name, "");
+ fname.resize(8, ' ');
+
+ bdir.w8 (off+0x0, info.get_flag(fs_meta_name::basic, true) ? 'T' : 'B');
+ bdir.w8 (off+0x1, ':');
+ bdir.wstr(off+0x2, fname);
+ bdir.w8 (off+0xa, 0x00);
+ bdir.w8 (off+0xb, 0x00);
+ bdir.w16l(off+0xc, info.get_number(fs_meta_name::loading_address, 0x7ae9));
+ bdir.w16l(off+0xe, bdir.r16l(off+0xc) - 1); // Size 0 initially
+ return file_t(new file(m_fs, this, bdir.rodata() + off, id));
+ }
+ id++;
+ }
+ }
+ return nullptr;
+}
+
+void fs_vtech::impl::root_dir::file_delete(uint64_t key)
+{
+}
+
+void fs_vtech::impl::file::replace(const std::vector<u8> &data)
+{
+ u32 cur_len = ((r16l(m_entry + 0xe) - r16l(m_entry + 0xc) + 1) & 0xffff);
+ u32 new_len = data.size();
+ if(new_len > 65535)
+ new_len = 65535;
+ u32 cur_ns = (cur_len + 125)/126;
+ u32 need_ns = (new_len + 125) / 126;
+
+ // Enough space?
+ if(cur_ns < need_ns && m_fs.free_block_count() < need_ns - cur_ns)
+ return;
+
+ u8 track = m_entry[0xa];
+ u8 sector = m_entry[0xb];
+ std::vector<std::pair<u8, u8>> tofree;
+ for(u32 i = 0; i != cur_ns; i++) {
+ tofree.emplace_back(std::make_pair(track, sector));
+ auto dblk = m_fs.m_blockdev.get(track*16 + sector);
+ track = dblk.r8(126);
+ sector = dblk.r8(127);
+ }
+
+ m_fs.free_blocks(tofree);
+
+ std::vector<std::pair<u8, u8>> blocks = m_fs.allocate_blocks(need_ns);
+ for(u32 i=0; i != need_ns; i ++) {
+ auto dblk = m_fs.m_blockdev.get(blocks[i].first * 16 + blocks[i].second);
+ u32 len = new_len - i*126;
+ if(len > 126)
+ len = 126;
+ else if(len < 126)
+ dblk.fill(0x00);
+ memcpy(dblk.data(), data.data() + 126*i, len);
+ if(i < need_ns) {
+ dblk.w8(126, blocks[i+1].first);
+ dblk.w8(127, blocks[i+1].second);
+ } else
+ dblk.w16l(126, 0);
+ }
+
+ u16 end_address = (r16l(m_entry + 0xc) + data.size() - 1) & 0xffff;
+ w16l(m_entry + 0xe, end_address);
+ if(need_ns) {
+ w8(m_entry + 0xa, blocks[0].first);
+ w8(m_entry + 0xb, blocks[0].second);
+ } else
+ w16l(m_entry + 0xa, 0);
+
+ m_dir->update_file(m_key, m_entry);
+}
+
+void fs_vtech::impl::root_dir::metadata_change(const fs_meta_data &info)
+{
+}
+
+void fs_vtech::impl::metadata_change(const fs_meta_data &info)
+{
+}
+
+void fs_vtech::impl::file::metadata_change(const fs_meta_data &info)
+{
+ if(info.has(fs_meta_name::basic))
+ w8 (m_entry+0x0, info.get_flag(fs_meta_name::basic) ? 'T' : 'B');
+ if(info.has(fs_meta_name::name)) {
+ std::string name = info.get_string(fs_meta_name::name);
+ name.resize(8, ' ');
+ wstr(m_entry+0x2, name);
+ }
+ if(info.has(fs_meta_name::loading_address)) {
+ u16 new_loading = info.get_number(fs_meta_name::loading_address);
+ u16 new_end = r16l(m_entry + 0xe) - r16l(m_entry + 0xc) + new_loading;
+ w16l(m_entry + 0xc, new_loading);
+ w16l(m_entry + 0xe, new_end);
+ }
+ m_dir->update_file(m_key, m_entry);
+}
+
+std::vector<std::pair<u8, u8>> fs_vtech::impl::allocate_blocks(u32 count)
+{
+ std::vector<std::pair<u8, u8>> blocks;
+ if(free_block_count() < count)
+ return blocks;
+
+ auto fmap = m_blockdev.get(15);
+ for(u8 track = 1; track != 40; track++)
+ for(u8 sector = 0; sector != 16; sector++) {
+ u32 off = (track-1)*2 + (sector / 8);
+ u32 bit = 1 << (sector & 7);
+ if(!(fmap.r8(off) & bit)) {
+ fmap.w8(off, fmap.r8(off) | bit);
+ blocks.emplace_back(std::make_pair(track, sector));
+ if(blocks.size() == count)
+ return blocks;
+ }
+ }
+ abort();
+}
+
+void fs_vtech::impl::free_blocks(const std::vector<std::pair<u8, u8>> &blocks)
+{
+ auto fmap = m_blockdev.get(15);
+ for(auto ref : blocks) {
+ u8 track = ref.first;
+ u8 sector = ref.second;
+ u32 off = (track-1)*2 + (sector / 8);
+ u32 bit = 1 << (sector & 7);
+ fmap.w8(off, fmap.r8(off) & ~bit);
+ }
+}
+
+u32 fs_vtech::impl::free_block_count()
+{
+ auto fmap = m_blockdev.get(15);
+ u32 nf = 0;
+ for(u32 off = 0; off != (40-1)*2; off++) {
+ u8 m = fmap.r8(off);
+ // Count 1 bits;
+ m = ((m & 0xaa) >> 1) | (m & 0x55);
+ m = ((m & 0xcc) >> 2) | (m & 0x33);
+ m = ((m & 0xf0) >> 4) | (m & 0x0f);
+ nf += 7-m;
+ }
+ return nf;
+}
diff --git a/src/lib/formats/fs_vtech.h b/src/lib/formats/fs_vtech.h
new file mode 100644
index 00000000000..0a73c15778d
--- /dev/null
+++ b/src/lib/formats/fs_vtech.h
@@ -0,0 +1,96 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// Management of VTech images
+
+#ifndef MAME_FORMATS_FS_VTECH_H
+#define MAME_FORMATS_FS_VTECH_H
+
+#pragma once
+
+#include "fsmgr.h"
+
+class fs_vtech : public filesystem_manager_t {
+public:
+ class impl : public filesystem_t {
+ public:
+ class root_dir : public idir_t {
+ public:
+ root_dir(impl &i) : m_fs(i) {}
+ virtual ~root_dir() = default;
+
+ virtual void drop_weak_references() override;
+
+ virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
+ virtual std::vector<fs_dir_entry> contents() override;
+ virtual file_t file_get(uint64_t key) override;
+ virtual dir_t dir_get(uint64_t key) override;
+ virtual file_t file_create(const fs_meta_data &info) override;
+ virtual void file_delete(uint64_t key) override;
+
+ void update_file(u16 key, const u8 *entry);
+
+ private:
+ impl &m_fs;
+
+ std::pair<fsblk_t::block_t, u32> get_dir_block(uint64_t key);
+ };
+
+ class file : public ifile_t {
+ public:
+ file(impl &fs, root_dir *dir, const u8 *entry, u16 key);
+ virtual ~file() = default;
+
+ virtual void drop_weak_references() override;
+
+ virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
+ virtual std::vector<u8> read_all() override;
+ virtual void replace(const std::vector<u8> &data) override;
+
+ private:
+ impl &m_fs;
+ root_dir *m_dir;
+ u16 m_key;
+ u8 m_entry[18];
+ };
+
+ impl(fsblk_t &blockdev);
+ virtual ~impl() = default;
+
+ virtual void format(const fs_meta_data &meta) override;
+ virtual fs_meta_data metadata() override;
+ virtual void metadata_change(const fs_meta_data &info) override;
+ virtual dir_t root() override;
+
+ void drop_root_ref();
+
+ std::vector<std::pair<u8, u8>> allocate_blocks(u32 count);
+ void free_blocks(const std::vector<std::pair<u8, u8>> &blocks);
+ u32 free_block_count();
+
+ private:
+ dir_t m_root;
+ };
+
+ fs_vtech() : filesystem_manager_t() {}
+
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+
+ virtual void enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const override;
+ virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override;
+
+ virtual bool can_format() const override;
+ virtual bool can_read() const override;
+ virtual bool can_write() const override;
+ virtual bool has_rsrc() const override;
+
+ virtual std::vector<fs_meta_description> volume_meta_description() const override;
+ virtual std::vector<fs_meta_description> file_meta_description() const override;
+};
+
+extern const fs_vtech FS_VTECH;
+
+#endif
diff --git a/src/lib/formats/fsmgr.cpp b/src/lib/formats/fsmgr.cpp
index 2b15b1aeb93..cc18a942ed5 100644
--- a/src/lib/formats/fsmgr.cpp
+++ b/src/lib/formats/fsmgr.cpp
@@ -24,7 +24,7 @@ bool fs_refcounted_inner::unref()
if(m_ref == 0) {
if(m_weak_ref)
drop_weak_references();
- else
+ else
delete this;
return true;
}
@@ -262,9 +262,166 @@ uint32_t fsblk_t::block_t::r32l(u32 offset)
return blk[0] | (blk[1] << 8) | (blk[2] << 16) | (blk[3] << 24);
}
-const char *fs_meta_get_name(fs_meta_name name)
+
+
+void filesystem_t::copy(uint8_t *p, const uint8_t *src, u32 size)
+{
+ memcpy(p, src, size);
+}
+
+void filesystem_t::fill(uint8_t *p, uint8_t data, u32 size)
+{
+ memset(p, data, size);
+}
+
+void filesystem_t::wstr(uint8_t *p, const std::string &str)
+{
+ memcpy(p, str.data(), str.size());
+}
+
+void filesystem_t::w8(uint8_t *p, uint8_t data)
+{
+ p[0] = data;
+}
+
+void filesystem_t::w16b(uint8_t *p, u16 data)
+{
+ p[0] = data >> 8;
+ p[1] = data;
+}
+
+void filesystem_t::w24b(uint8_t *p, u32 data)
+{
+ p[0] = data >> 16;
+ p[1] = data >> 8;
+ p[2] = data;
+}
+
+void filesystem_t::w32b(uint8_t *p, u32 data)
+{
+ p[0] = data >> 24;
+ p[1] = data >> 16;
+ p[2] = data >> 8;
+ p[3] = data;
+}
+
+void filesystem_t::w16l(uint8_t *p, u16 data)
+{
+ p[0] = data;
+ p[1] = data >> 8;
+}
+
+void filesystem_t::w24l(uint8_t *p, u32 data)
+{
+ p[0] = data;
+ p[1] = data >> 8;
+ p[2] = data >> 16;
+}
+
+void filesystem_t::w32l(uint8_t *p, u32 data)
+{
+ p[0] = data;
+ p[1] = data >> 8;
+ p[2] = data >> 16;
+ p[3] = data >> 24;
+}
+
+std::string filesystem_t::rstr(const uint8_t *p, u32 size)
+{
+ std::string res;
+ for(u32 i=0; i != size; i++)
+ res += char(*p++);
+ return res;
+}
+
+uint8_t filesystem_t::r8(const uint8_t *p)
+{
+ return p[0];
+}
+
+uint16_t filesystem_t::r16b(const uint8_t *p)
+{
+ return (p[0] << 8) | p[1];
+}
+
+uint32_t filesystem_t::r24b(const uint8_t *p)
+{
+ return (p[0] << 16) | (p[1] << 8) | p[2];
+}
+
+uint32_t filesystem_t::r32b(const uint8_t *p)
+{
+ return (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
+}
+
+uint16_t filesystem_t::r16l(const uint8_t *p)
+{
+ return p[0] | (p[1] << 8);
+}
+
+uint32_t filesystem_t::r24l(const uint8_t *p)
+{
+ return p[0] | (p[1] << 8) | (p[2] << 16);
+}
+
+uint32_t filesystem_t::r32l(const uint8_t *p)
+{
+ return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
+}
+
+std::string filesystem_t::trim_end_spaces(const std::string &str)
+{
+ auto i = str.end();
+ while(i != str.begin() && i[-1] == ' ')
+ i--;
+ return std::string(str.begin(), i);
+}
+
+filesystem_t::file_t filesystem_t::idir_t::file_create(const fs_meta_data &info)
+{
+ fatalerror("file_create called on a filesystem not supporting write\n");
+}
+
+void filesystem_t::idir_t::file_delete(uint64_t key)
+{
+ fatalerror("file_delete called on a filesystem not supporting write\n");
+}
+
+
+void filesystem_t::ifile_t::replace(const std::vector<u8> &data)
+{
+ fatalerror("replace called on a filesystem not supporting write \n");
+}
+
+void filesystem_t::ifile_t::rsrc_replace(const std::vector<u8> &data)
+{
+ fatalerror("rsrc_replace called on a filesystem not supporting write or resource forks \n");
+}
+
+void filesystem_t::ifile_t::metadata_change(const fs_meta_data &info)
+{
+ fatalerror("metadata_change called on a filesystem not supporting write \n");
+}
+
+void filesystem_t::idir_t::metadata_change(const fs_meta_data &info)
+{
+ fatalerror("metadata_change called on a filesystem not supporting write \n");
+}
+
+void filesystem_t::metadata_change(const fs_meta_data &info)
+{
+ fatalerror("metadata_change called on a filesystem not supporting write \n");
+}
+
+std::vector<u8> filesystem_t::ifile_t::rsrc_read_all()
+{
+ fatalerror("rsrc_read_all called on a filesystem without resource forks\n");
+}
+
+const char *fs_meta_data::entry_name(fs_meta_name name)
{
switch(name) {
+ case fs_meta_name::basic: return "basic";
case fs_meta_name::creation_date: return "creation_date";
case fs_meta_name::length: return "length";
case fs_meta_name::loading_address: return "loading_address";
@@ -280,7 +437,7 @@ const char *fs_meta_get_name(fs_meta_name name)
return "";
}
-std::string fs_meta_to_string(fs_meta_type type, const fs_meta &m)
+std::string fs_meta::to_string(fs_meta_type type, const fs_meta &m)
{
switch(type) {
case fs_meta_type::string: return m.as_string();
diff --git a/src/lib/formats/fsmgr.h b/src/lib/formats/fsmgr.h
index 6ca909e3bcd..d407a597c6e 100644
--- a/src/lib/formats/fsmgr.h
+++ b/src/lib/formats/fsmgr.h
@@ -13,8 +13,10 @@
#include <variant>
#include <unordered_map>
+#include <functional>
enum class fs_meta_name {
+ basic,
creation_date,
length,
loading_address,
@@ -43,6 +45,9 @@ enum class fs_dir_entry_type {
class fs_meta {
public:
+ static std::string to_string(fs_meta_type type, const fs_meta &m);
+ static fs_meta from_string(fs_meta_type type, std::string value);
+
fs_meta() { value = false; }
fs_meta(std::string str) { value = str; }
fs_meta(bool b) { value = b; }
@@ -61,11 +66,31 @@ private:
std::variant<std::string, uint64_t, bool, util::arbitrary_datetime> value;
};
-using fs_meta_data = std::unordered_map<fs_meta_name, fs_meta>;
-
-const char *fs_meta_get_name(fs_meta_name name);
-std::string fs_meta_to_string(fs_meta_type type, const fs_meta &m);
-fs_meta fs_meta_from_string(fs_meta_type type, std::string value);
+class fs_meta_data {
+public:
+ std::unordered_map<fs_meta_name, fs_meta> meta;
+
+ static const char *entry_name(fs_meta_name name);
+
+ bool has(fs_meta_name name) const { return meta.find(name) != meta.end(); }
+ bool empty() const { return meta.empty(); }
+
+ void set(fs_meta_name name, const fs_meta &val) { meta[name] = val; }
+ void set(fs_meta_name name, std::string str) { set(name, fs_meta(str)); }
+ void set(fs_meta_name name, bool b) { set(name, fs_meta(b)); }
+ void set(fs_meta_name name, int32_t num) { set(name, fs_meta(num)); }
+ void set(fs_meta_name name, uint32_t num) { set(name, fs_meta(num)); }
+ void set(fs_meta_name name, int64_t num) { set(name, fs_meta(num)); }
+ void set(fs_meta_name name, uint64_t num) { set(name, fs_meta(num)); }
+ void set(fs_meta_name name, util::arbitrary_datetime dt) { set(name, fs_meta(dt)); }
+ void set_now(fs_meta_name name) { set(name, fs_meta(util::arbitrary_datetime::now())); }
+
+ fs_meta get(fs_meta_name name) const { auto i = meta.find(name); if(i == meta.end()) fatalerror("Entry %s not found\n", entry_name(name)); else return i->second; }
+ util::arbitrary_datetime get_date(fs_meta_name name, util::arbitrary_datetime def = util::arbitrary_datetime::now()) const { auto i = meta.find(name); if(i == meta.end()) return def; else return i->second.as_date(); }
+ bool get_flag(fs_meta_name name, bool def = false) const { auto i = meta.find(name); if(i == meta.end()) return def; else return i->second.as_flag(); }
+ uint64_t get_number(fs_meta_name name, uint64_t def = 0) const { auto i = meta.find(name); if(i == meta.end()) return def; else return i->second.as_number(); }
+ std::string get_string(fs_meta_name name, std::string def = "") const { auto i = meta.find(name); if(i == meta.end()) return def; else return i->second.as_string(); }
+};
template<typename T> class fs_refcounted_outer {
public:
@@ -116,7 +141,7 @@ public:
} else if(m_is_weak_ref != cref.m_is_weak_ref) {
ref();
cref.unref();
- m_object = cref.m_object; // In case the object got deleted (when going from strong ref to weak on the last strong)
+ m_object = cref.m_object; // In case the object got deleted (when going from strong ref to weak on the last strong)
}
cref.m_object = nullptr;
return *this;
@@ -137,7 +162,7 @@ private:
m_object->ref();
}
}
-
+
void unref() {
if(m_object) {
bool del = m_is_weak_ref ? m_object->unref_weak() : m_object->unref();
@@ -245,7 +270,7 @@ public:
fsblk_t() : m_block_size(0) {}
virtual ~fsblk_t() = default;
-
+
virtual void set_block_size(uint32_t block_size);
virtual uint32_t block_count() const = 0;
virtual block_t get(uint32_t id) = 0;
@@ -268,9 +293,12 @@ protected:
virtual ~idir_t() = default;
virtual fs_meta_data metadata() = 0;
+ virtual void metadata_change(const fs_meta_data &info);
virtual std::vector<fs_dir_entry> contents() = 0;
virtual file_t file_get(uint64_t key) = 0;
virtual dir_t dir_get(uint64_t key) = 0;
+ virtual file_t file_create(const fs_meta_data &info);
+ virtual void file_delete(uint64_t key);
};
class ifile_t : public fs_refcounted_inner {
@@ -279,8 +307,11 @@ protected:
virtual ~ifile_t() = default;
virtual fs_meta_data metadata() = 0;
+ virtual void metadata_change(const fs_meta_data &info);
virtual std::vector<u8> read_all() = 0;
- virtual std::vector<u8> read(u64 start, u64 length) = 0;
+ virtual void replace(const std::vector<u8> &data);
+ virtual std::vector<u8> rsrc_read_all();
+ virtual void rsrc_replace(const std::vector<u8> &data);
};
public:
@@ -294,9 +325,12 @@ public:
dir_t weak() { return dir_t(m_object, true); }
fs_meta_data metadata() { return m_object->metadata(); }
+ void metadata_change(const fs_meta_data &info) { m_object->metadata_change(info); }
std::vector<fs_dir_entry> contents() { return m_object->contents(); }
file_t file_get(uint64_t key) { return m_object->file_get(key); }
dir_t dir_get(uint64_t key) { return m_object->dir_get(key); }
+ file_t file_create(const fs_meta_data &info) { return m_object->file_create(info); }
+ void file_delete(uint64_t key) { m_object->file_delete(key); }
};
class file_t : public fs_refcounted_outer<ifile_t> {
@@ -309,9 +343,11 @@ public:
file_t weak() { return file_t(m_object, true); }
fs_meta_data metadata() { return m_object->metadata(); }
-
+ void metadata_change(const fs_meta_data &info) { m_object->metadata_change(info); }
std::vector<u8> read_all() { return m_object->read_all(); }
- std::vector<u8> read(u32 start, u32 length) { return m_object->read(start, length); }
+ void replace(const std::vector<u8> &data) { m_object->replace(data); }
+ std::vector<u8> rsrc_read_all() { return m_object->rsrc_read_all(); }
+ void rsrc_replace(const std::vector<u8> &data) { m_object->rsrc_replace(data); }
};
filesystem_t(fsblk_t &blockdev, u32 size) : m_blockdev(blockdev) {
@@ -320,22 +356,45 @@ public:
virtual ~filesystem_t() = default;
+ virtual dir_t root();
virtual void format(const fs_meta_data &meta);
virtual fs_meta_data metadata();
- virtual dir_t root();
+ virtual void metadata_change(const fs_meta_data &info);
+
+ static void copy(uint8_t *p, const uint8_t *src, uint32_t size);
+ static void fill(uint8_t *p, uint8_t data, uint32_t size);
+ static void wstr(uint8_t *p, const std::string &str);
+ static void w8( uint8_t *p, uint8_t data);
+ static void w16b(uint8_t *p, uint16_t data);
+ static void w24b(uint8_t *p, uint32_t data);
+ static void w32b(uint8_t *p, uint32_t data);
+ static void w16l(uint8_t *p, uint16_t data);
+ static void w24l(uint8_t *p, uint32_t data);
+ static void w32l(uint8_t *p, uint32_t data);
+
+ static std::string rstr(const uint8_t *p, uint32_t size);
+ static uint8_t r8( const uint8_t *p);
+ static uint16_t r16b(const uint8_t *p);
+ static uint32_t r24b(const uint8_t *p);
+ static uint32_t r32b(const uint8_t *p);
+ static uint16_t r16l(const uint8_t *p);
+ static uint32_t r24l(const uint8_t *p);
+ static uint32_t r32l(const uint8_t *p);
+
+ static std::string trim_end_spaces(const std::string &str);
protected:
fsblk_t &m_blockdev;
};
class unformatted_floppy_creator;
-
+
class filesystem_manager_t {
public:
struct floppy_enumerator {
virtual ~floppy_enumerator() = default;
- virtual void add(const filesystem_manager_t *manager, floppy_format_type type, uint32_t image_size, const char *name, const char *description) = 0;
+ virtual void add(floppy_format_type type, uint32_t image_size, const char *name, const char *description) = 0;
virtual void add_raw(const char *name, uint32_t key, const char *description) = 0;
};
@@ -354,6 +413,9 @@ public:
virtual ~filesystem_manager_t() = default;
+ virtual const char *name() const = 0;
+ virtual const char *description() const = 0;
+
virtual void enumerate_f(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const;
virtual void enumerate_h(hd_enumerator &he) const;
virtual void enumerate_c(cdrom_enumerator &ce) const;
@@ -361,6 +423,7 @@ public:
virtual bool can_format() const = 0;
virtual bool can_read() const = 0;
virtual bool can_write() const = 0;
+ virtual bool has_rsrc() const = 0;
virtual char directory_separator() const;
bool has_subdirectories() const { return directory_separator() != 0; }
@@ -379,14 +442,4 @@ protected:
static bool has_variant(const std::vector<uint32_t> &variants, uint32_t variant);
};
-
-typedef filesystem_manager_t *(*filesystem_manager_type)();
-
-// this template function creates a stub which constructs a filesystem manager
-template<class _FormatClass>
-filesystem_manager_t *filesystem_manager_creator()
-{
- return new _FormatClass();
-}
-
#endif
diff --git a/src/lib/formats/mfi_dsk.cpp b/src/lib/formats/mfi_dsk.cpp
index 049660272a3..7670bf6bfb9 100644
--- a/src/lib/formats/mfi_dsk.cpp
+++ b/src/lib/formats/mfi_dsk.cpp
@@ -146,8 +146,10 @@ bool mfi_format::load(io_generic *io, uint32_t form_factor, const std::vector<ui
trackbuf.resize(cell_count);
uLongf size = ent->uncompressed_size;
- if(uncompress((Bytef *)&trackbuf[0], &size, &compressed[0], ent->compressed_size) != Z_OK)
+ if(uncompress((Bytef *)&trackbuf[0], &size, &compressed[0], ent->compressed_size) != Z_OK) {
+ fprintf(stderr, "fail1\n");
return false;
+ }
uint32_t cur_time = 0;
for(unsigned int i=0; i != cell_count; i++) {
@@ -155,12 +157,15 @@ bool mfi_format::load(io_generic *io, uint32_t form_factor, const std::vector<ui
trackbuf[i] = (trackbuf[i] & MG_MASK) | cur_time;
cur_time = next_cur_time;
}
- if(cur_time != 200000000)
+ if(cur_time != 200000000) {
+ fprintf(stderr, "fail2 %d\n", cur_time);
return false;
+ }
ent++;
}
+ fprintf(stderr, "tick\n");
return true;
}
diff --git a/src/lib/formats/vt_dsk.cpp b/src/lib/formats/vt_dsk.cpp
new file mode 100644
index 00000000000..5d42ee9a1e0
--- /dev/null
+++ b/src/lib/formats/vt_dsk.cpp
@@ -0,0 +1,396 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+/*********************************************************************
+
+ formats/vt_dsk.cpp
+
+ VTech disk image formats
+
+*********************************************************************/
+
+#include "formats/vt_dsk.h"
+
+// Zero = | 9187 |
+// One = | 2237 | 6950 |
+// 0.5us ~= 143
+
+void vtech_common_format::wbit(std::vector<uint32_t> &buffer, uint32_t &pos, uint32_t &mg, bool bit)
+{
+ buffer.push_back(pos | mg);
+ mg = mg == floppy_image::MG_A ? floppy_image::MG_B : floppy_image::MG_A;
+ if(bit) {
+ pos += 2237;
+ buffer.push_back(pos | mg);
+ mg = mg == floppy_image::MG_A ? floppy_image::MG_B : floppy_image::MG_A;
+ pos += 6950;
+ } else
+ pos += 9187;
+}
+
+void vtech_common_format::wbyte(std::vector<uint32_t> &buffer, uint32_t &pos, uint32_t &mg, uint8_t byte)
+{
+ for(int i = 7; i >= 0; i--)
+ wbit(buffer, pos, mg, (byte >> i) & 1);
+}
+
+void vtech_common_format::image_to_flux(const std::vector<uint8_t> &bdata, floppy_image *image)
+{
+ static const uint8_t sector_map[16] = {
+ 0x0, 0xb, 0x6, 0x1, 0xc, 0x7, 0x2, 0xd, 0x8, 0x3, 0xe, 0x9, 0x4, 0xf, 0xa, 0x5
+ };
+
+ for(int track = 0; track != 40; track ++) {
+ uint32_t pos = 0;
+ uint32_t mg = floppy_image::MG_A;
+ std::vector<uint32_t> &buffer = image->get_buffer(track, 0);
+ buffer.clear();
+ image->set_write_splice_position(track, 0, 0);
+ // One window of pad at the start to avoid problems with the write splice
+ wbit(buffer, pos, mg, 0);
+
+ for(int sector = 0; sector != 16; sector ++) {
+ uint8_t sid = sector_map[sector];
+ for(int i=0; i != 7; i++)
+ wbyte(buffer, pos, mg, 0x80);
+ wbyte(buffer, pos, mg, 0x00);
+ wbyte(buffer, pos, mg, 0xfe);
+ wbyte(buffer, pos, mg, 0xe7);
+ wbyte(buffer, pos, mg, 0x18);
+ wbyte(buffer, pos, mg, 0xc3);
+ wbyte(buffer, pos, mg, track);
+ wbyte(buffer, pos, mg, sid);
+ wbyte(buffer, pos, mg, track+sid);
+ for(int i=0; i != 5; i++)
+ wbyte(buffer, pos, mg, 0x80);
+ wbyte(buffer, pos, mg, 0x00);
+ wbyte(buffer, pos, mg, 0xc3);
+ wbyte(buffer, pos, mg, 0x18);
+ wbyte(buffer, pos, mg, 0xe7);
+ wbyte(buffer, pos, mg, 0xfe);
+ uint16_t chk = 0;
+ const uint8_t *src = bdata.data() + 16*128*track + 128*sid;
+ for(int i=0; i != 128; i++) {
+ chk += src[i];
+ wbyte(buffer, pos, mg, src[i]);
+ }
+ wbyte(buffer, pos, mg, chk);
+ wbyte(buffer, pos, mg, chk >> 8);
+ }
+ // Rest is just not formatted
+ buffer.push_back(pos | floppy_image::MG_N);
+ }
+}
+
+std::vector<uint8_t> vtech_common_format::flux_to_image(floppy_image *image)
+{
+ std::vector<uint8_t> bdata(16*256*40, 0);
+
+ for(int track = 0; track != 40; track++) {
+ auto buffer = image->get_buffer(track, 0);
+ int sz = buffer.size();
+ if(sz < 128)
+ continue;
+
+ std::vector<bool> bitstream;
+ int lpos = -1;
+ bool looped = !((buffer[sz-1] ^ buffer[0]) & floppy_image::MG_MASK);
+ int cpos = looped ? sz-1 : 0;
+ while(cpos != lpos) {
+ int dt = looped && cpos == sz-1 ? (200000000 - (buffer[cpos] & floppy_image::TIME_MASK)) + (buffer[1] & floppy_image::TIME_MASK) :
+ cpos == sz-1 ? 200000000 - (buffer[cpos] & floppy_image::TIME_MASK) :
+ (buffer[cpos+1] & floppy_image::TIME_MASK) - (buffer[cpos] & floppy_image::TIME_MASK);
+ int t = dt >= 9187 - 143 ? 0 :
+ dt >= 2237 - 143 && dt <= 2237 + 143 ? 1 :
+ 2;
+ if(t <= 1) {
+ if(lpos == -1)
+ lpos = cpos;
+ bitstream.push_back(t);
+ }
+ cpos += 1;
+ if(cpos == sz)
+ cpos = looped ? 1 : 0;
+ }
+ int mode = 0;
+ looped = false;
+ int pos = 0;
+ int count = 0;
+ uint8_t *dest = nullptr;
+ uint16_t checksum = 0;
+ uint64_t buf = 0;
+ sz = bitstream.size();
+ if(sz < 128)
+ continue;
+
+ for(int i=0; i != 63; i++)
+ buf = (buf << 1) | bitstream[sz-64+i];
+ for(;;) {
+ buf = (buf << 1) | bitstream[pos];
+ count ++;
+ switch(mode) {
+ case 0: // idle
+ if(buf == 0x80808000fee718c3)
+ mode = 1;
+ count = 0;
+ break;
+
+ case 1: // sector header
+ if(count == 24) {
+ uint8_t trk = buf >> 16;
+ uint8_t sector = buf >> 8;
+ uint8_t chk = buf;
+ if(chk != sector + trk) {
+ mode = 0;
+ break;
+ }
+ checksum = 0;
+ dest = bdata.data() + 128 * 16 * trk + 128 * (sector & 0xf);
+ mode = 2;
+ }
+ break;
+
+ case 2: // look for sector data
+ if(buf == 0x80808000fee718c3)
+ mode = 1;
+ else if(buf == 0x80808000c318e7fe)
+ mode = 3;
+ count = 0;
+ break;
+
+ case 3: // sector data
+ if(count <= 128*8 && !(count & 7)) {
+ uint8_t byte = buf;
+ checksum += byte;
+ *dest++ = byte;
+ } else if(count == 128*8+16) {
+ // uint16_t disk_checksum = buf;
+ // printf("sector checksum %04x %04x\n", checksum, disk_checksum);
+ mode = 0;
+ }
+ break;
+ }
+ if(mode == 0 && looped)
+ break;
+ pos++;
+ if(pos == sz) {
+ pos = 0;
+ looped = true;
+ }
+ }
+ }
+
+ return bdata;
+}
+
+
+const char *vtech_bin_format::name() const
+{
+ return "vtech_bin";
+}
+
+const char *vtech_bin_format::description() const
+{
+ return "VTech sector disk image";
+}
+
+const char *vtech_bin_format::extensions() const
+{
+ return "bin";
+}
+
+const char *vtech_dsk_format::name() const
+{
+ return "vtech_dsk";
+}
+
+const char *vtech_dsk_format::description() const
+{
+ return "VTech dsk image";
+}
+
+const char *vtech_dsk_format::extensions() const
+{
+ return "dsk";
+}
+
+int vtech_bin_format::identify(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants)
+{
+ int size = io_generic_size(io);
+
+ if(size == 40*16*256)
+ return 50;
+
+ return 0;
+}
+
+int vtech_dsk_format::identify(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants)
+{
+ int size = io_generic_size(io);
+ if(size < 256)
+ return 0;
+
+ std::vector<uint8_t> bdata(size);
+ io_generic_read(io, bdata.data(), 0, size);
+
+ // Structurally validate the presence of sector headers and data
+ int count_sh = 0, count_sd = 0;
+ uint64_t buf = 0;
+ for(uint8_t b : bdata) {
+ buf = (buf << 8) | b;
+ if(buf == 0x80808000fee718c3)
+ count_sh++;
+ else if(buf == 0x80808000c318e7fe)
+ count_sd++;
+ }
+
+ return count_sh >= 30*16 && count_sd >= 30*16 ? 100 : 0;
+}
+
+bool vtech_bin_format::load(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image)
+{
+ int size = io_generic_size(io);
+ if(size != 40*16*256)
+ return false;
+
+ std::vector<uint8_t> bdata(size);
+ io_generic_read(io, bdata.data(), 0, size);
+
+ image_to_flux(bdata, image);
+ image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ return true;
+}
+
+bool vtech_dsk_format::load(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image)
+{
+ int size = io_generic_size(io);
+ std::vector<uint8_t> bdata(size);
+ io_generic_read(io, bdata.data(), 0, size);
+
+ std::vector<uint8_t> bdatax(128*16*40, 0);
+
+ int mode = 0;
+ int count = 0;
+ uint16_t checksum = 0;
+ uint64_t buf = 0;
+ uint8_t *dest = nullptr;
+
+ for(uint8_t b : bdata) {
+ buf = (buf << 8) | b;
+ count ++;
+ switch(mode) {
+ case 0: // idle
+ if(buf == 0x80808000fee718c3)
+ mode = 1;
+ count = 0;
+ break;
+
+ case 1: // sector header
+ if(count == 3) {
+ uint8_t trk = buf >> 16;
+ uint8_t sector = buf >> 8;
+ uint8_t chk = buf;
+ if(chk != sector + trk) {
+ mode = 0;
+ break;
+ }
+ dest = bdatax.data() + 128*16*trk + sector*128;
+ checksum = 0;
+ mode = 2;
+ }
+ break;
+
+ case 2: // look for sector data
+ if(buf == 0x80808000fee718c3)
+ mode = 1;
+ else if(buf == 0x80808000c318e7fe)
+ mode = 3;
+ count = 0;
+ break;
+
+ case 3: // sector data
+ if(count <= 128) {
+ uint8_t byte = buf;
+ checksum += byte;
+ *dest++ = byte;
+
+ } else if(count == 128+2) {
+ uint16_t disk_checksum = buf;
+ disk_checksum = (disk_checksum << 8) | (disk_checksum >> 8);
+ mode = 0;
+ }
+ break;
+ }
+ }
+
+ image_to_flux(bdatax, image);
+ image->set_form_variant(floppy_image::FF_525, floppy_image::SSSD);
+ return true;
+}
+
+bool vtech_bin_format::save(io_generic *io, const std::vector<uint32_t> &variants, floppy_image *image)
+{
+ int tracks, heads;
+ image->get_maximal_geometry(tracks, heads);
+ if(tracks < 40)
+ return false;
+
+ auto bdata = flux_to_image(image);
+ io_generic_write(io, bdata.data(), 0, bdata.size());
+ return true;
+}
+
+bool vtech_dsk_format::save(io_generic *io, const std::vector<uint32_t> &variants, floppy_image *image)
+{
+ int tracks, heads;
+ image->get_maximal_geometry(tracks, heads);
+ if(tracks < 40)
+ return false;
+
+ auto bdata = flux_to_image(image);
+ std::vector<uint8_t> bdatax(0x9b*16*40);
+
+ // Format is essentially an idealized version of what's written on the disk
+
+ static const uint8_t sector_map[16] = {
+ 0x0, 0xb, 0x6, 0x1, 0xc, 0x7, 0x2, 0xd, 0x8, 0x3, 0xe, 0x9, 0x4, 0xf, 0xa, 0x5
+ };
+
+ int pos = 0;
+ for(int track = 0; track != 40; track ++) {
+ for(int sector = 0; sector != 16; sector ++) {
+ uint8_t sid = sector_map[sector];
+ for(int i=0; i != 7; i++)
+ bdatax[pos++] = 0x80;
+ bdatax[pos++] = 0x00;
+ bdatax[pos++] = 0xfe;
+ bdatax[pos++] = 0xe7;
+ bdatax[pos++] = 0x18;
+ bdatax[pos++] = 0xc3;
+ bdatax[pos++] = track;
+ bdatax[pos++] = sid;
+ bdatax[pos++] = track+sid;
+ for(int i=0; i != 5; i++)
+ bdatax[pos++] = 0x80;
+ bdatax[pos++] = 0x00;
+ bdatax[pos++] = 0xc3;
+ bdatax[pos++] = 0x18;
+ bdatax[pos++] = 0xe7;
+ bdatax[pos++] = 0xfe;
+ uint16_t chk = 0;
+ const uint8_t *src = bdata.data() + 16*128*track + 128*sid;
+ for(int i=0; i != 128; i++) {
+ chk += src[i];
+ bdatax[pos++] = src[i];
+ }
+ bdatax[pos++] = chk;
+ bdatax[pos++] = chk >> 8;
+ }
+ }
+
+ io_generic_write(io, bdatax.data(), 0, bdatax.size());
+ return true;
+}
+
+
+const floppy_format_type FLOPPY_VTECH_BIN_FORMAT = &floppy_image_format_creator<vtech_bin_format>;
+const floppy_format_type FLOPPY_VTECH_DSK_FORMAT = &floppy_image_format_creator<vtech_dsk_format>;
diff --git a/src/lib/formats/vt_dsk.h b/src/lib/formats/vt_dsk.h
new file mode 100644
index 00000000000..739e5234a3f
--- /dev/null
+++ b/src/lib/formats/vt_dsk.h
@@ -0,0 +1,58 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+/*********************************************************************
+
+ formats/vt_dsk.h
+
+ VTech disk image formats
+
+*********************************************************************/
+#ifndef MAME_FORMATS_VT_DSK_H
+#define MAME_FORMATS_VT_DSK_H
+
+#pragma once
+
+#include "flopimg.h"
+
+class vtech_common_format : public floppy_image_format_t {
+public:
+ virtual bool supports_save() const override { return true; }
+
+protected:
+ static void image_to_flux(const std::vector<uint8_t> &bdata, floppy_image *image);
+ static std::vector<uint8_t> flux_to_image(floppy_image *image);
+
+ static void wbit(std::vector<uint32_t> &buffer, uint32_t &pos, uint32_t &mg, bool bit);
+ static void wbyte(std::vector<uint32_t> &buffer, uint32_t &pos, uint32_t &mg, uint8_t byte);
+};
+
+class vtech_bin_format : public vtech_common_format {
+public:
+ vtech_bin_format() = default;
+
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+ virtual const char *extensions() const override;
+
+ virtual int identify(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants) override;
+ virtual bool load(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) override;
+ virtual bool save(io_generic *io, const std::vector<uint32_t> &variants, floppy_image *image) override;
+};
+
+class vtech_dsk_format : public vtech_common_format {
+public:
+ vtech_dsk_format() = default;
+
+ virtual const char *name() const override;
+ virtual const char *description() const override;
+ virtual const char *extensions() const override;
+
+ virtual int identify(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants) override;
+ virtual bool load(io_generic *io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) override;
+ virtual bool save(io_generic *io, const std::vector<uint32_t> &variants, floppy_image *image) override;
+};
+
+extern const floppy_format_type FLOPPY_VTECH_BIN_FORMAT;
+extern const floppy_format_type FLOPPY_VTECH_DSK_FORMAT;
+
+#endif // MAME_FORMATS_VT_DSK_H
diff --git a/src/lib/util/timeconv.cpp b/src/lib/util/timeconv.cpp
index 084e989b513..99953712003 100644
--- a/src/lib/util/timeconv.cpp
+++ b/src/lib/util/timeconv.cpp
@@ -37,7 +37,7 @@ arbitrary_datetime arbitrary_datetime::now()
time_t sec;
time(&sec);
auto t = *localtime(&sec);
-
+
arbitrary_datetime dt;
dt.year = t.tm_year + 1900;
dt.month = t.tm_mon + 1;
@@ -46,7 +46,7 @@ arbitrary_datetime arbitrary_datetime::now()
dt.minute = t.tm_min;
dt.second = t.tm_sec;
- return dt;
+ return dt;
}
static std::chrono::system_clock::duration calculate_system_clock_adjustment()
diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt
index b515e27634b..fbd98bf2de0 100644
--- a/src/mame/arcade.flt
+++ b/src/mame/arcade.flt
@@ -296,6 +296,7 @@ d9final.cpp
dacholer.cpp
dai3wksi.cpp
dambustr.cpp
+dangbar.cpp
darius.cpp
darkmist.cpp
darkseal.cpp
@@ -439,6 +440,7 @@ funworld.cpp
funybubl.cpp
fuukifg2.cpp
fuukifg3.cpp
+fwheel.cpp
g627.cpp
gaelco.cpp
gaelco2.cpp
@@ -975,6 +977,7 @@ play_1.cpp
play_2.cpp
play_3.cpp
playcenter.cpp
+plsonic4.cpp
pluto5.cpp
plygonet.cpp
pntnpuzl.cpp
diff --git a/src/mame/audio/atarijsa.h b/src/mame/audio/atarijsa.h
index 3608b5c6705..bbdc12e0b60 100644
--- a/src/mame/audio/atarijsa.h
+++ b/src/mame/audio/atarijsa.h
@@ -17,7 +17,7 @@
#include "sound/okim6295.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "machine/atariscom.h"
diff --git a/src/mame/audio/dragrace.cpp b/src/mame/audio/dragrace.cpp
index 5c84331ce4e..56f68bd34cc 100644
--- a/src/mame/audio/dragrace.cpp
+++ b/src/mame/audio/dragrace.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Derrick Renaud
/*************************************************************************
- audio\dragrace.c
+ audio\dragrace.cpp
*************************************************************************/
#include "emu.h"
@@ -16,19 +16,19 @@
static const discrete_lfsr_desc dragrace_lfsr =
{
DISC_CLK_IS_FREQ,
- 16, /* Bit Length */
- 0, /* Reset Value */
- 0, /* Use Bit 0 as XOR input 0 */
- 14, /* Use Bit 14 as XOR input 1 */
- DISC_LFSR_XNOR, /* Feedback stage1 is XNOR */
- DISC_LFSR_OR, /* Feedback stage2 is just stage 1 output OR with external feed */
- DISC_LFSR_REPLACE, /* Feedback stage3 replaces the shifted register contents */
- 0x000001, /* Everything is shifted into the first bit only */
- 0, /* Output is already inverted by XNOR */
- 15 /* Output bit */
+ 16, // Bit Length
+ 0, // Reset Value
+ 0, // Use Bit 0 as XOR input 0
+ 14, // Use Bit 14 as XOR input 1
+ DISC_LFSR_XNOR, // Feedback stage1 is XNOR
+ DISC_LFSR_OR, // Feedback stage2 is just stage 1 output OR with external feed
+ DISC_LFSR_REPLACE, // Feedback stage3 replaces the shifted register contents
+ 0x000001, // Everything is shifted into the first bit only
+ 0, // Output is already inverted by XNOR
+ 15 // Output bit
};
-/* Nodes - Sounds */
+// Nodes - Sounds
#define DRAGRACE_NOISE NODE_10
#define DRAGRACE_SCREECH1_SND NODE_11
#define DRAGRACE_SCREECH2_SND NODE_12
@@ -42,7 +42,7 @@ static const discrete_lfsr_desc dragrace_lfsr =
DISCRETE_SOUND_START(dragrace_discrete)
/************************************************/
- /* dragrace Effects Relataive Gain Table */
+ /* dragrace Effects Relative Gain Table */
/* */
/* Effect V-ampIn Gain ratio Relative */
/* LoTone 3.8 10/32 593.8 */
@@ -73,7 +73,7 @@ DISCRETE_SOUND_START(dragrace_discrete)
/************************************************/
/* Motor sound circuit is based on a 556 VCO */
/* with the input frequency set by the MotorSND */
- /* latch (4 bit). This freqency is then used to */
+ /* latch (4 bit). This frequency is then used to*/
/* driver a modulo 12 counter, with div6, 4 & 3 */
/* summed as the output of the circuit. */
/* VCO Output is Sq wave = 27-382Hz */
@@ -88,7 +88,7 @@ DISCRETE_SOUND_START(dragrace_discrete)
/* to a 2.2uf capacitor on the R-ladder. */
/* Note the VCO freq. is controlled by a 250k */
/* pot. The freq. used here is for the pot set */
- /* to 125k. The low freq is allways the same. */
+ /* to 125k. The low freq is always the same. */
/* This adjusts the high end. */
/* 0k = 214Hz. 250k = 4416Hz */
/* NOTE: freqs are ripped from Sprint for now. */
@@ -97,15 +97,15 @@ DISCRETE_SOUND_START(dragrace_discrete)
DISCRETE_ADJUSTMENT(NODE_21, (214.0-27.0)/12/31, (4416.0-27.0)/12/31, DISC_LOGADJ, "MOTOR1")
DISCRETE_MULTIPLY(NODE_22, NODE_20, NODE_21)
- DISCRETE_MULTADD(NODE_23, NODE_22, 2, 27.0/6) /* F1 = /12*2 = /6 */
+ DISCRETE_MULTADD(NODE_23, NODE_22, 2, 27.0/6) // F1 = /12*2 = /6
DISCRETE_SQUAREWAVE(NODE_24, 1, NODE_23, (581.6/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_25, NODE_24, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_26, NODE_22, 3, 27.0/4) /* F2 = /12*3 = /4 */
+ DISCRETE_MULTADD(NODE_26, NODE_22, 3, 27.0/4) // F2 = /12*3 = /4
DISCRETE_SQUAREWAVE(NODE_27, 1, NODE_26, (581.6/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_28, NODE_27, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_29, NODE_22, 4, 27.0/3) /* F3 = /12*4 = /3 */
+ DISCRETE_MULTADD(NODE_29, NODE_22, 4, 27.0/3) // F3 = /12*4 = /3
DISCRETE_SQUAREWAVE(NODE_30, 1, NODE_29, (581.6/3), 100.0/3, 0, 360.0/3)
DISCRETE_RCFILTER(NODE_31, NODE_30, 10000, 1e-7)
@@ -120,15 +120,15 @@ DISCRETE_SOUND_START(dragrace_discrete)
DISCRETE_ADJUSTMENT(NODE_41, (214.0-27.0)/12/31, (4416.0-27.0)/12/31, DISC_LOGADJ, "MOTOR2")
DISCRETE_MULTIPLY(NODE_42, NODE_40, NODE_41)
- DISCRETE_MULTADD(NODE_43, NODE_42, 2, 27.0/6) /* F1 = /12*2 = /6 */
+ DISCRETE_MULTADD(NODE_43, NODE_42, 2, 27.0/6) // F1 = /12*2 = /6
DISCRETE_SQUAREWAVE(NODE_44, 1, NODE_43, (581.6/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_45, NODE_44, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_46, NODE_42, 3, 27.0/4) /* F2 = /12*3 = /4 */
+ DISCRETE_MULTADD(NODE_46, NODE_42, 3, 27.0/4) // F2 = /12*3 = /4
DISCRETE_SQUAREWAVE(NODE_47, 1, NODE_46, (581.6/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_48, NODE_47, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_49, NODE_42, 4, 27.0/3) /* F3 = /12*4 = /3 */
+ DISCRETE_MULTADD(NODE_49, NODE_42, 4, 27.0/3) // F3 = /12*4 = /3
DISCRETE_SQUAREWAVE(NODE_50, 1, NODE_49, (581.6/3), 100.0/3, 0, 360.0/3)
DISCRETE_RCFILTER(NODE_51, NODE_50, 10000, 1e-7)
diff --git a/src/mame/audio/leland.h b/src/mame/audio/leland.h
index 09eb3b96319..eaca7c0e6c4 100644
--- a/src/mame/audio/leland.h
+++ b/src/mame/audio/leland.h
@@ -14,7 +14,7 @@
#include "machine/gen_latch.h"
#include "machine/pit8253.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
class leland_80186_sound_device : public device_t
diff --git a/src/mame/audio/nichisnd.h b/src/mame/audio/nichisnd.h
index 22a04a38497..5c304430555 100644
--- a/src/mame/audio/nichisnd.h
+++ b/src/mame/audio/nichisnd.h
@@ -13,7 +13,7 @@
#include "cpu/z80/tmpz84c011.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
#include "machine/gen_latch.h"
diff --git a/src/mame/audio/nitedrvr.cpp b/src/mame/audio/nitedrvr.cpp
index a005627758a..d376a3d3a06 100644
--- a/src/mame/audio/nitedrvr.cpp
+++ b/src/mame/audio/nitedrvr.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Derrick Renaud
/*************************************************************************
- audio\nitedrvr.c
+ audio\nitedrvr.cpp
*************************************************************************/
#include "emu.h"
@@ -10,24 +10,24 @@
#include "sound/discrete.h"
-/* Discrete Sound Emulation */
+// Discrete Sound Emulation
static const discrete_lfsr_desc nitedrvr_lfsr =
{
DISC_CLK_IS_FREQ,
- 16, /* Bit Length */
- 0, /* Reset Value */
- 0, /* Use Bit 0 as XOR input 0 */
- 14, /* Use Bit 14 as XOR input 1 */
- DISC_LFSR_XNOR, /* Feedback stage1 is XNOR */
- DISC_LFSR_OR, /* Feedback stage2 is just stage 1 output OR with external feed */
- DISC_LFSR_REPLACE, /* Feedback stage3 replaces the shifted register contents */
- 0x000001, /* Everything is shifted into the first bit only */
- 0, /* Output is already inverted by XNOR */
- 15 /* Output bit */
+ 16, // Bit Length
+ 0, // Reset Value
+ 0, // Use Bit 0 as XOR input 0
+ 14, // Use Bit 14 as XOR input 1
+ DISC_LFSR_XNOR, // Feedback stage1 is XNOR
+ DISC_LFSR_OR, // Feedback stage2 is just stage 1 output OR with external feed
+ DISC_LFSR_REPLACE, // Feedback stage3 replaces the shifted register contents
+ 0x000001, // Everything is shifted into the first bit only
+ 0, // Output is already inverted by XNOR
+ 15 // Output bit
};
-/* Nodes - Sounds */
+// Nodes - Sounds
#define NITEDRVR_NOISE NODE_10
#define NITEDRVR_BANG_SND NODE_11
#define NITEDRVR_MOTOR_SND NODE_12
@@ -36,7 +36,7 @@ static const discrete_lfsr_desc nitedrvr_lfsr =
DISCRETE_SOUND_START(nitedrvr_discrete)
/************************************************/
- /* nitedrvr Effects Relataive Gain Table */
+ /* nitedrvr Effects Relative Gain Table */
/* */
/* Effect V-ampIn Gain ratio Relative */
/* Bang 3.8 5/(5+6.8) 1000.0 */
@@ -48,7 +48,7 @@ DISCRETE_SOUND_START(nitedrvr_discrete)
/************************************************/
/* Input register mapping for nitedrvr */
/************************************************/
- /* NODE GAIN OFFSET INIT */
+ // NODE GAIN OFFSET INIT
DISCRETE_INPUTX_DATA (NITEDRVR_BANG_DATA, 1000.0/15, 0.0, 0.0)
DISCRETE_INPUT_LOGIC (NITEDRVR_SKID1_EN)
DISCRETE_INPUT_LOGIC (NITEDRVR_SKID2_EN)
@@ -62,7 +62,7 @@ DISCRETE_SOUND_START(nitedrvr_discrete)
/* */
/* Motor sound circuit is based on a 556 VCO */
/* with the input frequency set by the MotorSND */
- /* latch (4 bit). This freqency is then used to */
+ /* latch (4 bit). This frequency is then used to*/
/* driver a modulo 12 counter, with div6, 4 & 3 */
/* summed as the output of the circuit. */
/* VCO Output is Sq wave = 27-382Hz */
@@ -77,7 +77,7 @@ DISCRETE_SOUND_START(nitedrvr_discrete)
/* to a 2.2uf capacitor on the R-ladder. */
/* Note the VCO freq. is controlled by a 250k */
/* pot. The freq. used here is for the pot set */
- /* to 125k. The low freq is allways the same. */
+ /* to 125k. The low freq is always the same. */
/* This adjusts the high end. */
/* 0k = 214Hz. 250k = 4416Hz */
/************************************************/
@@ -85,15 +85,15 @@ DISCRETE_SOUND_START(nitedrvr_discrete)
DISCRETE_ADJUSTMENT(NODE_21, (214.0-27.0)/12/31, (4416.0-27.0)/12/31, DISC_LOGADJ, "MOTOR")
DISCRETE_MULTIPLY(NODE_22, NODE_20, NODE_21)
- DISCRETE_MULTADD(NODE_23, NODE_22, 2, 27.0/6) /* F1 = /12*2 = /6 */
+ DISCRETE_MULTADD(NODE_23, NODE_22, 2, 27.0/6) // F1 = /12*2 = /6
DISCRETE_SQUAREWAVE(NODE_24, 1, NODE_23, (786.7/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_25, NODE_24, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_26, NODE_22, 3, 27.0/4) /* F2 = /12*3 = /4 */
+ DISCRETE_MULTADD(NODE_26, NODE_22, 3, 27.0/4) // F2 = /12*3 = /4
DISCRETE_SQUAREWAVE(NODE_27, 1, NODE_26, (786.7/3), 50.0, 0, 0)
DISCRETE_RCFILTER(NODE_28, NODE_27, 10000, 1e-7)
- DISCRETE_MULTADD(NODE_29, NODE_22, 4, 27.0/3) /* F3 = /12*4 = /3 */
+ DISCRETE_MULTADD(NODE_29, NODE_22, 4, 27.0/3) // F3 = /12*4 = /3
DISCRETE_SQUAREWAVE(NODE_30, 1, NODE_29, (786.7/3), 100.0/3, 0, 360.0/3)
DISCRETE_RCFILTER(NODE_31, NODE_30, 10000, 1e-7)
@@ -133,8 +133,8 @@ DISCRETE_SOUND_START(nitedrvr_discrete)
DISCRETE_MULTADD(NODE_72, NODE_71, 940.0-630.0, ((940.0-630.0)/2)+630.0)
DISCRETE_SQUAREWAVE(NITEDRVR_SCREECH1_SND, NITEDRVR_SKID1_EN, NODE_72, 226.9, 31.5, 0, 0.0)
- DISCRETE_MULTADD(NODE_75, NODE_71, 1380.0-626.0, 626.0+((1380.0-626.0)/2)) /* Frequency */
- DISCRETE_MULTADD(NODE_76, NODE_71, 32.0-13.0, 13.0+((32.0-13.0)/2)) /* Duty */
+ DISCRETE_MULTADD(NODE_75, NODE_71, 1380.0-626.0, 626.0+((1380.0-626.0)/2)) // Frequency
+ DISCRETE_MULTADD(NODE_76, NODE_71, 32.0-13.0, 13.0+((32.0-13.0)/2)) // Duty
DISCRETE_SQUAREWAVE(NITEDRVR_SCREECH2_SND, NITEDRVR_SKID2_EN, NODE_75, 226.9, NODE_76, 0, 0.0)
/************************************************/
diff --git a/src/mame/audio/pinsnd88.h b/src/mame/audio/pinsnd88.h
index e6d70baa9b3..13c06392fb5 100644
--- a/src/mame/audio/pinsnd88.h
+++ b/src/mame/audio/pinsnd88.h
@@ -13,7 +13,7 @@
#include "cpu/m6809/m6809.h"
#include "machine/gen_latch.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
class pinsnd88_device : public device_t, public device_mixer_interface
diff --git a/src/mame/audio/s11c_bg.h b/src/mame/audio/s11c_bg.h
index 756b71c89f7..1df38b63900 100644
--- a/src/mame/audio/s11c_bg.h
+++ b/src/mame/audio/s11c_bg.h
@@ -17,7 +17,7 @@
#include "sound/dac.h"
#include "sound/flt_biquad.h"
#include "sound/hc55516.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
class s11c_bg_device : public device_t, public device_mixer_interface
diff --git a/src/mame/audio/segam1audio.h b/src/mame/audio/segam1audio.h
index a87d2f3fe68..af8752efa0d 100644
--- a/src/mame/audio/segam1audio.h
+++ b/src/mame/audio/segam1audio.h
@@ -6,7 +6,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/i8251.h"
#include "sound/multipcm.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#pragma once
diff --git a/src/mame/audio/sprint2.cpp b/src/mame/audio/sprint2.cpp
index b5cff7b1946..068143070c6 100644
--- a/src/mame/audio/sprint2.cpp
+++ b/src/mame/audio/sprint2.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Hans Andersson
/*************************************************************************
- audio\sprint2.c
+ audio\sprint2.cpp
*************************************************************************/
#include "emu.h"
@@ -17,16 +17,16 @@
static const discrete_lfsr_desc sprint2_lfsr =
{
DISC_CLK_IS_FREQ,
- 16, /* Bit Length */
- 0, /* Reset Value */
- 0, /* Use Bit 0 as XOR input 0 */
- 14, /* Use Bit 14 as XOR input 1 */
- DISC_LFSR_XNOR, /* Feedback stage1 is XNOR */
- DISC_LFSR_OR, /* Feedback stage2 is just stage 1 output OR with external feed */
- DISC_LFSR_REPLACE, /* Feedback stage3 replaces the shifted register contents */
- 0x000001, /* Everything is shifted into the first bit only */
- 0, /* Output is not inverted */
- 15 /* Output bit */
+ 16, // Bit Length
+ 0, // Reset Value
+ 0, // Use Bit 0 as XOR input 0
+ 14, // Use Bit 14 as XOR input 1
+ DISC_LFSR_XNOR, // Feedback stage1 is XNOR
+ DISC_LFSR_OR, // Feedback stage2 is just stage 1 output OR with external feed
+ DISC_LFSR_REPLACE, // Feedback stage3 replaces the shifted register contents
+ 0x000001, // Everything is shifted into the first bit only
+ 0, // Output is not inverted
+ 15 // Output bit
};
static const discrete_dac_r1_ladder sprint2_motor_v_dac =
@@ -90,7 +90,7 @@ static const discrete_mixer_desc sprint2_mixer =
30000 // final gain
};
-/* Nodes - Sounds */
+// Nodes - Sounds
#define SPRINT2_MOTORSND1 NODE_10
#define SPRINT2_MOTORSND2 NODE_11
#define SPRINT2_CRASHSND NODE_12
@@ -118,7 +118,7 @@ DISCRETE_SOUND_START(sprint2_discrete)
/************************************************/
/* Motor sound circuit is based on a 556 VCO */
/* with the input frequency set by the MotorSND */
- /* latch (4 bit). This freqency is then used to */
+ /* latch (4 bit). This frequency is then used to*/
/* drive three counters, that are summed up */
/* and are output through a DAC */
/************************************************/
@@ -140,18 +140,18 @@ DISCRETE_SOUND_START(sprint2_discrete)
RES_M(3.3), 0, 0, // R22
&sprint2_motor_vco)
- /* QB-D of 7492 */
+ // QB-D of 7492
DISCRETE_COUNTER_7492(NODE_23, 1, SPRINT2_ATTRACT_EN, NODE_22, DISC_CLK_ON_F_EDGE)
- /* Mask the bits and XOR for clock input */
+ // Mask the bits and XOR for clock input
DISCRETE_TRANSFORM2(NODE_24, NODE_23, 1, "01&")
DISCRETE_TRANSFORM2(NODE_25, NODE_23, 4, "01&")
DISCRETE_LOGIC_XOR(NODE_26, NODE_24, NODE_25)
- /* QA of 7492 */
+ // QA of 7492
DISCRETE_COUNTER(NODE_27, 1, SPRINT2_ATTRACT_EN, NODE_26, 0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
- /* Mix QA and QB-D together */
+ // Mix QA and QB-D together
DISCRETE_TRANSFORM3(NODE_28, NODE_23, 2, NODE_27, "01*2+")
DISCRETE_DAC_R1(SPRINT2_MOTORSND1, NODE_28,
@@ -178,18 +178,18 @@ DISCRETE_SOUND_START(sprint2_discrete)
RES_M(3.3), 0, 0,
&sprint2_motor_vco)
- /* QB-D of 7492 */
+ // QB-D of 7492
DISCRETE_COUNTER_7492(NODE_43, 1, SPRINT2_ATTRACT_EN, NODE_42, DISC_CLK_ON_F_EDGE)
- /* Mask the bits and XOR for clock input */
+ // Mask the bits and XOR for clock input
DISCRETE_TRANSFORM2(NODE_44, NODE_43, 1, "01&")
DISCRETE_TRANSFORM2(NODE_45, NODE_43, 4, "01&")
DISCRETE_LOGIC_XOR(NODE_46, NODE_44, NODE_45)
- /* QA of 7492 */
+ // QA of 7492
DISCRETE_COUNTER(NODE_47, 1, SPRINT2_ATTRACT_EN, NODE_46, 0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
- /* Mix QA and QB-D together */
+ // Mix QA and QB-D together
DISCRETE_TRANSFORM3(NODE_48, NODE_43, 2, NODE_47, "01*2+")
DISCRETE_DAC_R1(SPRINT2_MOTORSND2, NODE_48,
@@ -241,7 +241,7 @@ DISCRETE_SOUND_START(sprint1_discrete)
/************************************************/
/* Motor sound circuit is based on a 556 VCO */
/* with the input frequency set by the MotorSND */
- /* latch (4 bit). This freqency is then used to */
+ /* latch (4 bit). This frequency is then used to*/
/* drive three counters, that are summed up */
/* and are output through a DAC */
/************************************************/
@@ -263,18 +263,18 @@ DISCRETE_SOUND_START(sprint1_discrete)
RES_M(3.3), 0, 0, // R22
&sprint2_motor_vco)
- /* QB-D of 7492 */
+ // QB-D of 7492
DISCRETE_COUNTER_7492(NODE_23, 1, SPRINT2_ATTRACT_EN, NODE_22, DISC_CLK_ON_F_EDGE)
- /* Mask the bits and XOR for clock input */
+ // Mask the bits and XOR for clock input
DISCRETE_TRANSFORM2(NODE_24, NODE_23, 1, "01&")
DISCRETE_TRANSFORM2(NODE_25, NODE_23, 4, "01&")
DISCRETE_LOGIC_XOR(NODE_26, NODE_24, NODE_25)
- /* QA of 7492 */
+ // QA of 7492
DISCRETE_COUNTER(NODE_27, 1, SPRINT2_ATTRACT_EN, NODE_26, 0, 1, 1, 0, DISC_CLK_ON_F_EDGE)
- /* Mix QA and QB-D together */
+ // Mix QA and QB-D together
DISCRETE_TRANSFORM3(NODE_28, NODE_23, 2, NODE_27, "01*2+")
DISCRETE_DAC_R1(SPRINT2_MOTORSND1, NODE_28,
@@ -355,10 +355,10 @@ static const discrete_mixer_desc dominos_mixer =
40000 // final gain
};
-/* Nodes - Sounds */
+// Nodes - Sounds
#define DOMINOS_TONE_SND NODE_10
#define DOMINOS_TOPPLE_SND NODE_11
-/* Nodes - Adjusters */
+// Nodes - Adjusters
#define DOMINOS_R23 NODE_15
DISCRETE_SOUND_START(dominos_discrete)
diff --git a/src/mame/audio/t5182.h b/src/mame/audio/t5182.h
index de909b0f05c..c4280cc913a 100644
--- a/src/mame/audio/t5182.h
+++ b/src/mame/audio/t5182.h
@@ -5,7 +5,7 @@
#pragma once
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "cpu/z80/z80.h"
class t5182_device : public device_t
diff --git a/src/mame/audio/williams.cpp b/src/mame/audio/williams.cpp
index 2c73f322c51..20424857d77 100644
--- a/src/mame/audio/williams.cpp
+++ b/src/mame/audio/williams.cpp
@@ -38,7 +38,7 @@
#include "sound/dac.h"
#include "sound/hc55516.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#define NARC_MASTER_CLOCK XTAL(8'000'000)
diff --git a/src/mame/audio/williams.h b/src/mame/audio/williams.h
index faffb29cc81..db15bfab4bb 100644
--- a/src/mame/audio/williams.h
+++ b/src/mame/audio/williams.h
@@ -12,7 +12,7 @@
#include "cpu/m6809/m6809.h"
#include "sound/hc55516.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
diff --git a/src/mame/audio/wpcsnd.h b/src/mame/audio/wpcsnd.h
index f6d8e4d8b0f..7d42ae4fef9 100644
--- a/src/mame/audio/wpcsnd.h
+++ b/src/mame/audio/wpcsnd.h
@@ -13,7 +13,7 @@
#include "cpu/m6809/m6809.h"
#include "sound/hc55516.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
class wpcsnd_device : public device_t, public device_mixer_interface
diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp
index ee44a0caaf0..53e04129d01 100644
--- a/src/mame/drivers/1942.cpp
+++ b/src/mame/drivers/1942.cpp
@@ -513,10 +513,7 @@ void _1942_state::_1942(machine_config &config)
PALETTE(config, m_palette, FUNC(_1942_state::_1942_palette), 64*4+4*32*8+16*16, 256);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
m_screen->set_screen_update(FUNC(_1942_state::screen_update));
m_screen->set_palette(m_palette);
@@ -576,10 +573,7 @@ void _1942p_state::_1942p(machine_config &config)
PALETTE(config, m_palette, FUNC(_1942p_state::_1942p_palette), 0x500, 0x400);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ m_screen->set_raw(MASTER_CLOCK/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
m_screen->set_screen_update(FUNC(_1942p_state::screen_update));
m_screen->set_palette(m_palette);
diff --git a/src/mame/drivers/1943.cpp b/src/mame/drivers/1943.cpp
index 8da52e081e1..0d592d0c810 100644
--- a/src/mame/drivers/1943.cpp
+++ b/src/mame/drivers/1943.cpp
@@ -28,7 +28,6 @@
- use priority PROM for drawing sprites
- find and dump an unmodified bme01.12d to correct the 1943 Euro set
- Accurate interrupt handling
- - Screen raw parameters
Notes:
@@ -46,7 +45,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -297,10 +296,7 @@ void _1943_state::_1943(machine_config &config)
// video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ m_screen->set_raw(XTAL(24'000'000)/4, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
m_screen->set_screen_update(FUNC(_1943_state::screen_update));
m_screen->set_palette(m_palette);
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index 791d54ba23e..97f6b245167 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -39,7 +39,7 @@ DAC -26.6860Mhz
#include "cpu/m68000/m68000.h"
#include "machine/taitoio.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -215,7 +215,7 @@ void _2mindril_state::drill_map(address_map &map)
map(0x460010, 0x46001f).w(FUNC(_2mindril_state::control_1_w));
map(0x500000, 0x501fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x502022, 0x502023).nopw(); //countinously switches between 0 and 2
- map(0x600000, 0x600007).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)).umask16(0x00ff);
+ map(0x600000, 0x600007).rw("ymsnd", FUNC(ym2610b_device::read), FUNC(ym2610b_device::write)).umask16(0x00ff);
map(0x60000c, 0x60000d).rw(FUNC(_2mindril_state::irq_r), FUNC(_2mindril_state::irq_w));
map(0x60000e, 0x60000f).ram(); // unknown purpose, zeroed at start-up and nothing else
map(0x700000, 0x70000f).rw("tc0510nio", FUNC(tc0510nio_device::read), FUNC(tc0510nio_device::write)).umask16(0xff00);
diff --git a/src/mame/drivers/88games.cpp b/src/mame/drivers/88games.cpp
index 4c5e84880b6..b7702c9edd5 100644
--- a/src/mame/drivers/88games.cpp
+++ b/src/mame/drivers/88games.cpp
@@ -13,7 +13,7 @@
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/actfancr.cpp b/src/mame/drivers/actfancr.cpp
index 5b32998b852..421cd6b1f49 100644
--- a/src/mame/drivers/actfancr.cpp
+++ b/src/mame/drivers/actfancr.cpp
@@ -22,8 +22,8 @@
#include "cpu/m6502/m6502.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp
index 17d216b198a..ebad14451eb 100644
--- a/src/mame/drivers/aerofgt.cpp
+++ b/src/mame/drivers/aerofgt.cpp
@@ -67,9 +67,9 @@ Verification still needed for the other PCBs.
#include "cpu/z80/z80.h"
#include "machine/mb3773.h"
#include "machine/vs9209.h"
-#include "sound/ym2151.h"
-#include "sound/ym2610.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "video/vsystem_gga.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index 42939238c27..1ef4e50e485 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -224,7 +224,7 @@ Code at 505: waits for bit 1 to go low, writes command, waits for bit
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index 65e5de55745..b262aca908d 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -154,7 +154,7 @@ Stephh's notes (based on the game Z80 code and some tests) :
#include "cpu/z80/z80.h"
#include "machine/timer.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ajax.cpp b/src/mame/drivers/ajax.cpp
index 6daf1ff2c29..2039f8c72d1 100644
--- a/src/mame/drivers/ajax.cpp
+++ b/src/mame/drivers/ajax.cpp
@@ -19,7 +19,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m6809/hd6309.h"
#include "cpu/m6809/konami.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/alg.cpp b/src/mame/drivers/alg.cpp
index f00386d76e2..d6cf201c7d0 100644
--- a/src/mame/drivers/alg.cpp
+++ b/src/mame/drivers/alg.cpp
@@ -28,14 +28,14 @@
Game System ROM dumped LD dumped
--------------------- --------- ---------- ---------
- Marbella Vice PAL 50Hz YES NO
- Marbella Vice PAL 100Hz YES NO
+ Marbella Vice PAL 50Hz YES YES (but not added yet)
+ Marbella Vice PAL 100Hz YES YES (but not added yet)
Marbella Vice NTSC 60Hz NO NO
Tierras Salvajes PAL 50Hz NO NO
Tierras Salvajes PAL 100Hz YES NO
- Zorton Brothers v1.00 PAL 50Hz YES NO
- Zorton Brothers v1.01 PAL 50Hz YES NO
- Zorton Brothers v1.01 PAL 100Hz NO NO
+ Zorton Brothers v1.00 PAL 50Hz YES YES (but not added yet)
+ Zorton Brothers v1.01 PAL 50Hz YES YES (but not added yet)
+ Zorton Brothers v1.01 PAL 100Hz NO YES (but not added yet)
**************************************************************************************/
@@ -953,9 +953,9 @@ GAME( 1995, fastdraw_130, fastdraw, alg_r2, alg_2p, alg_state, init_palr6,
// NOVA games on ALG hardware with own address scramble
GAME( 1995, aplatoon, alg_bios, alg_r2, alg, alg_state, init_aplatoon, ROT0, "Nova?", "Platoon V.3.1 US", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-// Web Picmatic games NTSC or PAL (50 or 100Hz) TV standard, own ROM board
-GAME( 1993, zortonbr_100, zortonbr, picmatic, alg, alg_state, init_pal, ROT0, "Web Picmatic", "Zorton Brothers v1.00 (Los Justicieros)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, zortonbr, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Web Picmatic", "Zorton Brothers v1.01 (Los Justicieros)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, marvice, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Web Picmatic", "Marbella Vice", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, marvice100hz, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Web Picmatic", "Marbella Vice (100Hz display)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, tierras100hz, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Web Picmatic", "Tierras Salvajes (100Hz display)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+// Picmatic games NTSC or PAL (50 or 100Hz) TV standard, own ROM board
+GAME( 1993, zortonbr_100, zortonbr, picmatic, alg, alg_state, init_pal, ROT0, "Picmatic", "Zorton Brothers v1.00 (Los Justicieros)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1994, zortonbr, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Picmatic", "Zorton Brothers v1.01 (Los Justicieros)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1994, marvice, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Picmatic", "Marbella Vice", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1994, marvice100hz, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Picmatic", "Marbella Vice (100Hz display)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, tierras100hz, alg_bios, picmatic, alg, alg_state, init_pal, ROT0, "Picmatic", "Tierras Salvajes (100Hz display)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp
index 61323201803..947a031b1b1 100644
--- a/src/mame/drivers/aliens.cpp
+++ b/src/mame/drivers/aliens.cpp
@@ -15,7 +15,7 @@ Preliminary driver by:
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/alpha68k_n.cpp b/src/mame/drivers/alpha68k_n.cpp
index 4d000571333..49931423cd0 100644
--- a/src/mame/drivers/alpha68k_n.cpp
+++ b/src/mame/drivers/alpha68k_n.cpp
@@ -431,10 +431,10 @@ void alpha68k_N_state::sound_iomap(address_map &map)
{
map.global_mask(0xff);
map(0x10, 0x11).w("ym1", FUNC(ym2203_device::write));
- map(0x80, 0x80).w("ym2", FUNC(ym2203_device::write_port_w));
- map(0x81, 0x81).w("ym2", FUNC(ym2203_device::control_port_w));
- map(0x90, 0x90).w("ym3", FUNC(ym2203_device::write_port_w));
- map(0x91, 0x91).w("ym3", FUNC(ym2203_device::control_port_w));
+ map(0x80, 0x80).w("ym2", FUNC(ym2203_device::data_w));
+ map(0x81, 0x81).w("ym2", FUNC(ym2203_device::address_w));
+ map(0x90, 0x90).w("ym3", FUNC(ym2203_device::data_w));
+ map(0x91, 0x91).w("ym3", FUNC(ym2203_device::address_w));
}
void jongbou_state::sound_map(address_map &map)
diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp
index 7b9b46cb264..a0fc1c8e898 100644
--- a/src/mame/drivers/amaticmg.cpp
+++ b/src/mame/drivers/amaticmg.cpp
@@ -414,7 +414,7 @@
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "machine/ds1994.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/mc6845.h"
//#include "sound/dac.h"
#include "emupal.h"
diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp
index b8f92ad4b46..aa776599011 100644
--- a/src/mame/drivers/amstr_pc.cpp
+++ b/src/mame/drivers/amstr_pc.cpp
@@ -856,7 +856,7 @@ ROM_START( pc5086 ) // dies with error message 010
ROM_LOAD( "40178.ic801", 0x000, 0x800, CRC(f72f1c2e) SHA1(34897e78b3d10f96b36d81778e97c4a9a1b8618b) )
ROM_END
-}
+} // Anonymous namespace
/***************************************************************************
diff --git a/src/mame/drivers/anes.cpp b/src/mame/drivers/anes.cpp
index 8f606a8ed84..38f5ec0f035 100644
--- a/src/mame/drivers/anes.cpp
+++ b/src/mame/drivers/anes.cpp
@@ -27,7 +27,7 @@ Sanma - 3nin-uchi Mahjong is another ANES game confirmed running on the same har
#include "screen.h"
#include "speaker.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
class anes_state : public driver_device
{
diff --git a/src/mame/drivers/angelkds.cpp b/src/mame/drivers/angelkds.cpp
index cd11bb7e64d..e7cba15d536 100644
--- a/src/mame/drivers/angelkds.cpp
+++ b/src/mame/drivers/angelkds.cpp
@@ -131,7 +131,7 @@ Dumped by Chackn
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "machine/segacrp2_device.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index b275a9b8c7c..a3866e85930 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -646,15 +646,19 @@ u8 apple2_state::flags_r(offs_t offset)
return (m_gameio->sw2_r() ? 0x80 : 0) | (read_floatingbus() & 0x7f);
case 4: // joy 1 X axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x1_time) ? 0x80 : 0) | uFloatingBus7;
case 5: // joy 1 Y axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y1_time) ? 0x80 : 0) | uFloatingBus7;
case 6: // joy 2 X axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x2_time) ? 0x80 : 0) | uFloatingBus7;
case 7: // joy 2 Y axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y2_time) ? 0x80 : 0) | uFloatingBus7;
}
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index d2f6a86cd13..52826b35be4 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -1999,18 +1999,22 @@ u8 apple2e_state::c000_r(offs_t offset)
case 0x64: // joy 1 X axis
case 0x6c:
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x1_time) ? 0x80 : 0) | uFloatingBus7;
case 0x65: // joy 1 Y axis
case 0x6d:
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y1_time) ? 0x80 : 0) | uFloatingBus7;
case 0x66: // joy 2 X axis
case 0x6e:
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x2_time) ? 0x80 : 0) | uFloatingBus7;
case 0x67: // joy 2 Y axis
case 0x6f:
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y2_time) ? 0x80 : 0) | uFloatingBus7;
case 0x7e: // read IOUDIS
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index 490d5ee65be..61edd2ce1b0 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -2567,15 +2567,19 @@ u8 apple2gs_state::c000_r(offs_t offset)
return ((m_gameio->sw2_r() || (m_kbspecial->read() & 0x06)) ? 0x80 : 0) | uFloatingBus7;
case 0x64: // joy 1 X axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x1_time) ? 0x80 : 0) | uFloatingBus7;
case 0x65: // joy 1 Y axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y1_time) ? 0x80 : 0) | uFloatingBus7;
case 0x66: // joy 2 X axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_x2_time) ? 0x80 : 0) | uFloatingBus7;
case 0x67: // joy 2 Y axis
+ if (!m_gameio->is_device_connected()) return 0x80 | uFloatingBus7;
return ((machine().time().as_double() < m_joystick_y2_time) ? 0x80 : 0) | uFloatingBus7;
case 0x68: // STATEREG, synthesizes all the IIe state regs
@@ -4772,7 +4776,7 @@ static void apple2_cards(device_slot_interface &device)
device.option_add("sider1", A2BUS_SIDER1); /* Advanced Tech Systems / First Class Peripherals Sider 1 SASI card */
device.option_add("uniprint", A2BUS_UNIPRINT); /* Videx Uniprint parallel printer card */
device.option_add("ccs7710", A2BUS_CCS7710); /* California Computer Systems Model 7710 Asynchronous Serial Interface */
- device.option_add("booti", A2BUS_BOOTI); /* Booti Card */
+ device.option_add("booti", A2BUS_BOOTI); /* Booti Card */
}
void apple2gs_state::apple2gs(machine_config &config)
@@ -4985,15 +4989,6 @@ ROM_START(apple2gs)
ROM_REGION(0x1000, "adbmicro", 0)
ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) )
- // i8048 microcontroller inside the IIgs ADB Standard Keyboard
- ROM_REGION(0x400, "kmcu", 0)
- // from early-production ROM 00 Woz Limited Edition IIgs. keyboard "Part Number 658-4081 825-1301-A"
- // ROM is marked "NEC Japan 8626XD 341-0232A 543" so 26th week of 1986
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- // from later non-Woz ROM 01. keyboard "Model A9M0330"
- // ROM is marked "NEC Japan 8806HD 8048HC610 341-0124-A (c) APPLE 87" so 6th week of 1988
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */
@@ -5013,10 +5008,6 @@ ROM_START(apple2gsr3p)
ROM_REGION(0x1000, "adbmicro", 0)
ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) )
- ROM_REGION(0x400, "kmcu", 0)
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */
@@ -5033,10 +5024,6 @@ ROM_START(apple2gsr1)
ROM_REGION(0xc00, "adbmicro", 0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
- ROM_REGION(0x400, "kmcu", 0)
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)) /* need label/part number */
@@ -5052,10 +5039,6 @@ ROM_START(apple2gsr0)
ROM_REGION(0xc00, "adbmicro", 0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
- ROM_REGION(0x400, "kmcu", 0)
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89))
@@ -5071,10 +5054,6 @@ ROM_START(apple2gsr0p) // 6/19/1986 Cortland prototype
ROM_REGION(0xc00, "adbmicro", 0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
- ROM_REGION(0x400, "kmcu", 0)
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89))
@@ -5090,10 +5069,6 @@ ROM_START(apple2gsr0p2) // 3/10/1986 Cortland prototype, boots as "Apple //'ing
ROM_REGION(0xc00, "adbmicro", 0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
- ROM_REGION(0x400, "kmcu", 0)
- ROM_LOAD( "341-0232a.bin", 0x000000, 0x000400, CRC(6a158b9f) SHA1(e8744180075182849d431fd8023a52a062a6da76) )
- ROM_LOAD( "341-0124a.bin", 0x000000, 0x000400, CRC(2a3576bf) SHA1(58fbf770d3801a02d0944039829f9241b5279013) )
-
ROM_REGION(0x1000,"gfx1",0)
ROM_LOAD ( "apple2gs.chr", 0x0000, 0x1000, CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89))
diff --git a/src/mame/drivers/aquarium.cpp b/src/mame/drivers/aquarium.cpp
index 35f3981c31c..0433ffcd5b5 100644
--- a/src/mame/drivers/aquarium.cpp
+++ b/src/mame/drivers/aquarium.cpp
@@ -55,7 +55,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/aquarius.cpp b/src/mame/drivers/aquarius.cpp
index cb6ab415540..b2b52a1960a 100644
--- a/src/mame/drivers/aquarius.cpp
+++ b/src/mame/drivers/aquarius.cpp
@@ -7,6 +7,7 @@
TODO:
+ - proper video timings, seems to be some contention involved
- floppy support (I/O 0xe6-0xe7 = drive 1, 0xea-0xeb = drive 2)
- modem
@@ -76,7 +77,7 @@ void aquarius_state::cassette_w(uint8_t data)
*/
uint8_t aquarius_state::vsync_r()
{
- return m_screen->vblank() ? 0 : 1;
+ return (m_screen->vpos() < 16 || m_screen->vpos() > 215) ? 0 : 1;
}
@@ -87,7 +88,7 @@ uint8_t aquarius_state::vsync_r()
*/
void aquarius_state::mapper_w(uint8_t data)
{
- m_mapper->set_bank(BIT(data, 0));
+ m_mapper.select(BIT(data, 0));
}
@@ -178,7 +179,7 @@ void aquarius_state::machine_start()
void aquarius_state::machine_reset()
{
/* reset memory mapper after power up */
- m_mapper->set_bank(0);
+ m_mapper.select(0);
}
@@ -188,25 +189,21 @@ void aquarius_state::machine_reset()
void aquarius_state::aquarius_mem(address_map &map)
{
- map(0x0000, 0xffff).m(m_mapper, FUNC(address_map_bank_device::amap8));
-}
-
-void aquarius_state::aquarius_map(address_map &map)
-{
+ map(0x0000, 0xffff).view(m_mapper);
/* Normal mode */
- map(0x00000, 0x02fff).rom().region("maincpu", 0);
- map(0x03000, 0x033ff).ram().w(FUNC(aquarius_state::aquarius_videoram_w)).share("videoram");
- map(0x03400, 0x037ff).ram().w(FUNC(aquarius_state::aquarius_colorram_w)).share("colorram");
- map(0x03800, 0x03fff).ram();
- map(0x04000, 0x0bfff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_w(offset, data ^ m_scrambler); }));
- map(0x0c000, 0x0ffff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_ce_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_ce_w(offset, data ^ m_scrambler); }));
+ m_mapper[0](0x0000, 0x2fff).rom().region("maincpu", 0);
+ m_mapper[0](0x3000, 0x33ff).ram().w(FUNC(aquarius_state::videoram_w)).share("videoram");
+ m_mapper[0](0x3400, 0x37ff).ram().w(FUNC(aquarius_state::colorram_w)).share("colorram");
+ m_mapper[0](0x3800, 0x3fff).ram();
+ m_mapper[0](0x4000, 0xbfff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_w(offset, data ^ m_scrambler); }));
+ m_mapper[0](0xc000, 0xffff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_ce_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_ce_w(offset, data ^ m_scrambler); }));
/* CP/M mode */
- map(0x10000, 0x13fff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_ce_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_ce_w(offset, data ^ m_scrambler); }));
- map(0x14000, 0x1bfff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_w(offset, data ^ m_scrambler); }));
- map(0x1c000, 0x1efff).rom().region("maincpu", 0);
- map(0x1f000, 0x1f3ff).ram().w(FUNC(aquarius_state::aquarius_videoram_w)).share("videoram");
- map(0x1f400, 0x1f7ff).ram().w(FUNC(aquarius_state::aquarius_colorram_w)).share("colorram");
- map(0x1f800, 0x1ffff).ram();
+ m_mapper[1](0x0000, 0x3fff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_ce_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_ce_w(offset, data ^ m_scrambler); }));
+ m_mapper[1](0x4000, 0xbfff).lrw8(NAME([this](offs_t offset) { return m_exp->mreq_r(offset) ^ m_scrambler; }), NAME([this](offs_t offset, u8 data) { m_exp->mreq_w(offset, data ^ m_scrambler); }));
+ m_mapper[1](0xc000, 0xefff).rom().region("maincpu", 0);
+ m_mapper[1](0xf000, 0xf3ff).ram().w(FUNC(aquarius_state::videoram_w)).share("videoram");
+ m_mapper[1](0xf400, 0xf7ff).ram().w(FUNC(aquarius_state::colorram_w)).share("colorram");
+ m_mapper[1](0xf800, 0xffff).ram();
}
void aquarius_state::aquarius_io(address_map &map)
@@ -357,15 +354,14 @@ void aquarius_state::aquarius(machine_config &config)
Z80(config, m_maincpu, 7.15909_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &aquarius_state::aquarius_mem);
m_maincpu->set_addrmap(AS_IO, &aquarius_state::aquarius_io);
- m_maincpu->set_vblank_int("screen", FUNC(aquarius_state::irq0_line_hold));
-
- ADDRESS_MAP_BANK(config, m_mapper).set_map(&aquarius_state::aquarius_map).set_options(ENDIANNESS_LITTLE, 8, 17, 0x10000);
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(7.15909_MHz_XTAL, 456, 0, 320, 262, 0, 200);
+ m_screen->set_raw(7.15909_MHz_XTAL, 458, 0, 352, 262, 0, 232);
m_screen->set_screen_update(FUNC(aquarius_state::screen_update_aquarius));
+ m_screen->set_video_attributes(VIDEO_UPDATE_SCANLINE);
m_screen->set_palette(m_palette);
+ m_screen->scanline().set([this](int scanline) { m_maincpu->adjust_icount(-4); }); // TODO: this tries to compensate for contention, needs a better understanding of video timings
GFXDECODE(config, m_gfxdecode, m_palette, gfx_aquarius);
TEA1002(config, m_tea1002, 7.15909_MHz_XTAL);
@@ -401,7 +397,7 @@ void aquarius_state::aquariusp(machine_config &config)
{
aquarius(config);
- m_screen->set_raw(7.15909_MHz_XTAL, 456, 0, 320, 312, 0, 200);
+ m_screen->set_raw(7.15909_MHz_XTAL, 458, 0, 352, 312, 0, 232);
m_tea1002->set_unscaled_clock(8.867238_MHz_XTAL);
}
diff --git a/src/mame/drivers/argus.cpp b/src/mame/drivers/argus.cpp
index 2ac67b0fdfc..9f66868d113 100644
--- a/src/mame/drivers/argus.cpp
+++ b/src/mame/drivers/argus.cpp
@@ -140,7 +140,7 @@ Known issues :
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index 2b494d679b2..dd21af451e8 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -321,8 +321,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "cpu/mcs51/mcs51.h"
#include "sound/dac.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
#define LEGION_HACK 0
diff --git a/src/mame/drivers/ashnojoe.cpp b/src/mame/drivers/ashnojoe.cpp
index c59206b2b5c..229b927fca2 100644
--- a/src/mame/drivers/ashnojoe.cpp
+++ b/src/mame/drivers/ashnojoe.cpp
@@ -79,7 +79,7 @@ Coin B is not used
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/asterix.cpp b/src/mame/drivers/asterix.cpp
index d49d5dc9620..50efb9afe59 100644
--- a/src/mame/drivers/asterix.cpp
+++ b/src/mame/drivers/asterix.cpp
@@ -20,7 +20,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "sound/k053260.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -200,7 +200,7 @@ void asterix_state::sound_map(address_map &map)
map(0xf801, 0xf801).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w));
map(0xfa00, 0xfa2f).rw("k053260", FUNC(k053260_device::read), FUNC(k053260_device::write));
map(0xfc00, 0xfc00).w(FUNC(asterix_state::sound_arm_nmi_w));
- map(0xfe00, 0xfe00).w("ymsnd", FUNC(ym2151_device::register_w));
+ map(0xfe00, 0xfe00).w("ymsnd", FUNC(ym2151_device::address_w));
}
diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp
index 3e572b16d0a..435b1932c16 100644
--- a/src/mame/drivers/asuka.cpp
+++ b/src/mame/drivers/asuka.cpp
@@ -225,8 +225,8 @@ DIP locations verified for:
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
-#include "sound/ym2610.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
@@ -1578,6 +1578,32 @@ ROM_START( cadashg )
ROM_LOAD( "pal20l8b-c21-12.ic47", 0x0600, 0x0144, CRC(bbc2cc97) SHA1(d4a68f28e0d3f5a3b39ecc25640bc9197ad0260b) )
ROM_END
+ROM_START( cadashgo )
+ ROM_REGION( 0x80000, "maincpu", 0 ) // 512k for 68000 code
+ ROM_LOAD16_BYTE( "c21_23.ic11", 0x00000, 0x20000, CRC(fad37785) SHA1(f61bccb29d354a57cebaa0c773f212bffbba19d5) )
+ ROM_LOAD16_BYTE( "c21_25.ic15", 0x00001, 0x20000, CRC(594dda9f) SHA1(ab9fcd44fb316b64cbb8a5265563dcade417895d) )
+ ROM_LOAD16_BYTE( "c21_22.ic10", 0x40000, 0x20000, CRC(7610a9b4) SHA1(25c858f25efdbd4c25cbd1cc64fc68c9aba762ea) )
+ ROM_LOAD16_BYTE( "c21_24.ic14", 0x40001, 0x20000, CRC(551d947e) SHA1(237397dfe1e4dcd76acc37536304dd526d2d6f41) )
+
+ ROM_REGION( 0x80000, "tc0100scn", 0 )
+ ROM_LOAD16_WORD_SWAP( "c21-02.9", 0x00000, 0x80000, CRC(205883b9) SHA1(5aafee8cab3f949a7db91bcc26912f331041b51e) ) // SCR tiles (8 x 8)
+
+ ROM_REGION( 0x80000, "pc090oj", 0 )
+ ROM_LOAD16_WORD_SWAP( "c21-01.1", 0x00000, 0x80000, CRC(1ff6f39c) SHA1(742f296efc8073fafa73da2c8d7d26ca9514b6bf) ) // Sprites (16 x 16)
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "c21-08.38", 0x00000, 0x10000, CRC(dca495a0) SHA1(4e0f401f1b967da75f33fd7294860ad0b4bf2dce) ) // banked
+
+ ROM_REGION( 0x08000, "subcpu", 0 ) // HD64180RP8 code (link)
+ ROM_LOAD( "c21-07.57", 0x00000, 0x08000, CRC(f02292bd) SHA1(0a5c06a048ad67f90e0d766b504582e9eef035f7) )
+
+ ROM_REGION( 0x0800, "plds", 0 )
+ ROM_LOAD( "pal16l8b-c21-09.ic34", 0x0000, 0x0104, CRC(4b296700) SHA1(79d6c8fb13e30795d9c1f49885ada658f9722b68) )
+ ROM_LOAD( "pal16l8b-c21-10.ic45", 0x0200, 0x0104, CRC(35642f00) SHA1(a04403536b0ef7e8e7251dfc47274a6c8772fd2d) )
+ ROM_LOAD( "pal16l8b-c21-11-1.ic46", 0x0400, 0x0104, CRC(f4791e24) SHA1(7e3bbffec7b8f9171e6e09706e5622fef3c99ca0) )
+ ROM_LOAD( "pal20l8b-c21-12.ic47", 0x0600, 0x0144, CRC(bbc2cc97) SHA1(d4a68f28e0d3f5a3b39ecc25640bc9197ad0260b) )
+ROM_END
+
ROM_START( cadashs ) // no labels on the program ROMs
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512k for 68000 code */
ROM_LOAD16_BYTE( "ic11", 0x00000, 0x20000, CRC(6c11743e) SHA1(847266a04090b34e20985d65f4d1f7e7776efa02) )
@@ -1681,6 +1707,33 @@ ROM_START( earthjkra )
ROM_LOAD( "b68-05.ic43", 0x00000, 0x104, CRC(d6524ccc) SHA1(f3b56253692aebb63278d47832fc27b8b212b59c) )
ROM_END
+ROM_START( earthjkrb ) /* Taito PCB: K1100726A / J1100169B */
+ ROM_REGION( 0x100000, "maincpu", 0 ) /* 1024k for 68000 code */
+ /* Very close to earthjkra set. Labels are numbered in the same way as earthjkrp, but 3 and 4 ones are swapped (Maybe a typo in earthjkrp ?). In this case 4 is placed at ic24 position and 3 is placed at ic8 position */
+ ROM_LOAD16_BYTE( "4.ic23", 0x00000, 0x20000, CRC(250f09f8) SHA1(124f65a499414b4ec06cf6c370850cdc962dd2ee) ) /* 4.ic23 vs ejok_ic23 99.967957% similar (42 changed bytes) */
+ ROM_LOAD16_BYTE( "3.ic8", 0x00001, 0x20000, CRC(88fc1c5d) SHA1(83d4177603c5671ece906810f01284a477388bf7) ) /* 3.ic8 vs ejok_ic8 99.967957% similar (42 changed bytes) */
+ /* 0x40000 - 0x7ffff is intentionally empty */
+ ROM_LOAD16_WORD( "ic30e.ic30", 0x80000, 0x80000, CRC(49d1f77f) SHA1(f6c9b2fc88b77cc9baa5be48da5c3eb72310e471) ) /* Fix ROM */
+
+ ROM_REGION( 0x80000, "tc0100scn", 0 )
+ ROM_LOAD16_WORD_SWAP( "ej_chr-0.ic3", 0x00000, 0x80000, CRC(ac675297) SHA1(2a34e1eae3a4be84dbf709053f5e8a781b1073fc) ) /* SCR tiles (8 x 8) - mask ROM */
+
+ ROM_REGION( 0xa0000, "pc090oj", 0 )
+ ROM_LOAD16_WORD_SWAP( "ej_obj-0.ic6", 0x00000, 0x80000, CRC(5f21ac47) SHA1(45c94ffb53ee9b822b0676f6fb151fed4ce6d967) ) /* Sprites (16 x 16) - mask ROM */
+ ROM_LOAD16_BYTE ( "1.ic5", 0x80001, 0x10000, CRC(cb4891db) SHA1(af1112608cdd897ef6028ef617f5ca69d7964861) )
+ ROM_LOAD16_BYTE ( "0.ic4", 0x80000, 0x10000, CRC(b612086f) SHA1(625748fcb698ec57b7b3ce46019cf85de99aaaa1) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */
+ ROM_LOAD( "2.ic27", 0x00000, 0x10000, CRC(42ba2566) SHA1(c437388684b565c7504d6bad6accd73aa000faca) ) /* banked */
+
+ ROM_REGION( 0x10000, "msm", ROMREGION_ERASEFF ) /* ADPCM samples */
+ /* Empty socket on U.N. Defense Force: Earth Joker - but sound chips present */
+
+ ROM_REGION( 0x144, "pals", 0 )
+ ROM_LOAD( "b68-04.ic32", 0x00000, 0x144, CRC(9be618d1) SHA1(61ee33c3db448a05ff8f455e77fe17d51106baec) )
+ ROM_LOAD( "b68-05.ic43", 0x00000, 0x104, CRC(d6524ccc) SHA1(f3b56253692aebb63278d47832fc27b8b212b59c) )
+ROM_END
+
// Known to exist (not dumped) a Japanese version with ROMs 3 & 4 also stamped "A" same as above or different version??
// Also known to exist (not dumped) a US version of Earth Joker, title screen shows "DISTRIBUTED BY ROMSTAR, INC." ROMs were numbered
// from 0 through 4 and the fix ROM at IC30 is labeled 1 even though IC5 is also labled as 1 similar to the below set:
@@ -1762,13 +1815,15 @@ GAME( 1989, cadashu1, cadash, cadash, cadashu, asuka_state, init_cadash,
GAME( 1989, cadashi, cadash, cadash, cadash, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN )
GAME( 1989, cadashf, cadash, cadash, cadash, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (France)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN )
GAME( 1989, cadashg, cadash, cadash, cadash, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (Germany, version 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN )
+GAME( 1989, cadashgo, cadash, cadash, cadash, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (Germany)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN )
GAME( 1989, cadashp, cadash, cadash, cadashj, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (World, prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN)
GAME( 1989, cadashs, cadash, cadash, cadash, asuka_state, init_cadash, ROT0, "Taito Corporation Japan", "Cadash (Spain, version 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN )
GAME( 1992, galmedes, 0, asuka, galmedes, asuka_state, empty_init, ROT270, "Visco", "Galmedes (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, earthjkr, 0, asuka, earthjkr, asuka_state, init_earthjkr, ROT270, "Visco", "U.N. Defense Force: Earth Joker (US / Japan, set 1)", MACHINE_SUPPORTS_SAVE ) // sets 1 + 2 have ROMSTAR (US?) license and no region disclaimer if you change the dipswitch
+GAME( 1993, earthjkr, 0, asuka, earthjkr, asuka_state, init_earthjkr, ROT270, "Visco", "U.N. Defense Force: Earth Joker (US / Japan, set 1)", MACHINE_SUPPORTS_SAVE ) // sets 1 + 2 + 3 have ROMSTAR (US?) license and no region disclaimer if you change the dipswitch
GAME( 1993, earthjkra, earthjkr, asuka, earthjkr, asuka_state, empty_init, ROT270, "Visco", "U.N. Defense Force: Earth Joker (US / Japan, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, earthjkrb, earthjkr, asuka, earthjkr, asuka_state, empty_init, ROT270, "Visco", "U.N. Defense Force: Earth Joker (US / Japan, set 3)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, earthjkrp, earthjkr, asuka, earthjkrp,asuka_state, empty_init, ROT270, "Visco", "U.N. Defense Force: Earth Joker (Japan, prototype?)", MACHINE_SUPPORTS_SAVE )
GAME( 1994, eto, 0, eto, eto, asuka_state, empty_init, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp
index a639d87b618..2dfab65b858 100644
--- a/src/mame/drivers/atari_s1.cpp
+++ b/src/mame/drivers/atari_s1.cpp
@@ -69,6 +69,7 @@ class atari_s1_state : public genpin_class
public:
atari_s1_state(const machine_config &mconfig, device_type type, const char *tag)
: genpin_class(mconfig, type, tag)
+ , m_p_prom(*this, "proms")
, m_maincpu(*this, "maincpu")
, m_p_ram(*this, "ram")
, m_dac(*this, "dac")
@@ -114,7 +115,7 @@ private:
uint8_t m_bit6;
uint8_t m_out_offs;
uint8_t m_t_c;
- uint8_t *m_p_prom;
+ required_region_ptr<uint8_t> m_p_prom;
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_ram;
required_device<dac_4bit_r2r_device> m_dac;
@@ -446,7 +447,6 @@ void atari_s1_state::audiores_w(uint8_t data)
void atari_s1_state::machine_reset()
{
- m_p_prom = memregion("proms")->base();
m_vol = 0;
m_dac->set_output_gain(0, 0);
m_t_c = 0;
@@ -497,7 +497,7 @@ ROM_START(atarians)
ROM_LOAD("atarian.e0", 0x7800, 0x0800, CRC(45cb0427) SHA1(e286930ca36bdd0f79acefd142d2a5431fa8005b))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("07028-01.bin", 0x0000, 0x0200, CRC(e8034b5b) SHA1(6959912c530efcc4a0c690800867fb0d1f33627f))
ROM_END
/*-------------------------------------------------------------------
@@ -509,7 +509,7 @@ ROM_START(time2000)
ROM_LOAD("time.e0", 0x7800, 0x0800, CRC(1e79c133) SHA1(54ce5d59a00334fcec8b12c077d70e3629549af0))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("07028-01.bin", 0x0000, 0x0200, CRC(e8034b5b) SHA1(6959912c530efcc4a0c690800867fb0d1f33627f))
ROM_END
/*-------------------------------------------------------------------
@@ -521,7 +521,7 @@ ROM_START(aavenger)
ROM_LOAD("airborne.e0", 0x7800, 0x0800, CRC(44e67c54) SHA1(7f94189c12e322c41908d651cf6a3b6061426959))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("20252-01.bin", 0x0000, 0x0200, CRC(3d44551d) SHA1(926100f8169ab20230ad2168f94e6ad65fb1a7dc))
ROM_END
/*-------------------------------------------------------------------
@@ -554,7 +554,7 @@ ROM_START(spcrider)
ROM_LOAD("spacel.bin", 0x7800, 0x0800, CRC(66ffb04e) SHA1(42d8b7fb7206b30478f631d0e947c0908dcf5419))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) // PinMAME note: nuatari lists 20967-01 (and claims that all the SR boards (5) he has feature that one), manual schematics and parts list 20252-01 though
ROM_END
} // Anonymous namespace
diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp
index 381f360bd8b..9e87da6d3d8 100644
--- a/src/mame/drivers/atari_s2.cpp
+++ b/src/mame/drivers/atari_s2.cpp
@@ -33,11 +33,14 @@ ToDo:
#include "atari_s2.lh"
+namespace {
+
class atari_s2_state : public genpin_class
{
public:
atari_s2_state(const machine_config &mconfig, device_type type, const char *tag)
: genpin_class(mconfig, type, tag)
+ , m_p_prom(*this, "proms")
, m_maincpu(*this, "maincpu")
, m_dac(*this, "dac")
, m_dac1(*this, "dac1")
@@ -47,6 +50,10 @@ public:
void atari_s2(machine_config &config);
void atari_s3(machine_config &config);
+protected:
+ virtual void machine_reset() override;
+ virtual void machine_start() override { m_digits.resolve(); }
+
private:
void sound0_w(uint8_t data);
void sound1_w(uint8_t data);
@@ -68,9 +75,7 @@ private:
uint8_t m_vol;
uint8_t m_t_c;
uint8_t m_segment[7];
- uint8_t *m_p_prom;
- virtual void machine_reset() override;
- virtual void machine_start() override { m_digits.resolve(); }
+ required_region_ptr<uint8_t> m_p_prom;
required_device<cpu_device> m_maincpu;
required_device<dac_4bit_binary_weighted_device> m_dac;
required_device<dac_3bit_binary_weighted_device> m_dac1;
@@ -469,7 +474,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( atari_s2_state::irq )
void atari_s2_state::machine_reset()
{
- m_p_prom = memregion("proms")->base();
m_vol = 0;
m_dac->set_output_gain(0,0);
m_dac1->set_output_gain(0,0);
@@ -517,7 +521,7 @@ ROM_START(supermap)
ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
ROM_END
/*-------------------------------------------------------------------
@@ -530,7 +534,7 @@ ROM_START(hercules)
ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
ROM_END
/*-------------------------------------------------------------------
@@ -543,7 +547,7 @@ ROM_START(roadrunr)
ROM_LOAD("3800.716", 0x3800, 0x0800, CRC(77262408) SHA1(3045a732c39c96002f495f64ed752279f7d43ee7))
ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_LOAD("20967-01.j3", 0x0000, 0x0200, BAD_DUMP CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) // PinMAME note: unknown so far if using the 20967-01 is correct for Road Runner, but sounds good
ROM_END
/*-------------------------------------------------------------------
@@ -556,10 +560,13 @@ ROM_START(fourx4)
ROM_LOAD("c000a70c.bin", 0xc000, 0x2000, CRC(c31ca8d3) SHA1(53f20eff0084771dc61d19db7ddae52e4423e75e)) \
ROM_RELOAD(0xe000, 0x2000)
- ROM_REGION(0x0200, "proms", 0)
- ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b))
+ ROM_REGION(0x0200, "proms", ROMREGION_ERASE00)
+ // doesn't have PROMs according to PinMAME
ROM_END
+} // Anonymous namespace
+
+
GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Superman (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Hercules", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
GAME( 1979, roadrunr, 0, atari_s3, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Road Runner", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index cd0c4767945..ae88b58b93a 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -200,7 +200,7 @@ RoadBlasters (aka Future Vette):005*
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "sound/pokey.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/atarimo.h"
#include "speaker.h"
diff --git a/src/mame/drivers/battlane.cpp b/src/mame/drivers/battlane.cpp
index 74f31a42670..ef559594320 100644
--- a/src/mame/drivers/battlane.cpp
+++ b/src/mame/drivers/battlane.cpp
@@ -16,7 +16,7 @@
#include "includes/battlane.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/battlera.cpp b/src/mame/drivers/battlera.cpp
index 0e5f5bb2f7e..c365791f9a5 100644
--- a/src/mame/drivers/battlera.cpp
+++ b/src/mame/drivers/battlera.cpp
@@ -94,7 +94,7 @@ Notes:
#include "emu.h"
#include "includes/battlera.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/battlnts.cpp b/src/mame/drivers/battlnts.cpp
index 70c68f3507d..6c9e6523158 100644
--- a/src/mame/drivers/battlnts.cpp
+++ b/src/mame/drivers/battlnts.cpp
@@ -20,7 +20,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp
index d3d655de8f9..73cd52b7fe3 100644
--- a/src/mame/drivers/bbusters.cpp
+++ b/src/mame/drivers/bbusters.cpp
@@ -108,7 +108,7 @@
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/upd7004.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "video/bufsprite.h"
// src/emu
#include "emupal.h"
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index f7c6e85880f..b618a4b1b38 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -15,7 +15,7 @@
/* Components */
#include "video/clgd542x.h"
#include "bus/lpci/cirrus.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "machine/mc146818.h"
#include "machine/pckeybrd.h"
#include "bus/lpci/mpc105.h"
diff --git a/src/mame/drivers/bfcobra.cpp b/src/mame/drivers/bfcobra.cpp
index 23cf5758cd5..647b2d68310 100644
--- a/src/mame/drivers/bfcobra.cpp
+++ b/src/mame/drivers/bfcobra.cpp
@@ -115,7 +115,7 @@
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
diff --git a/src/mame/drivers/bfm_sc2.cpp b/src/mame/drivers/bfm_sc2.cpp
index d2563e10624..1573cde6a55 100644
--- a/src/mame/drivers/bfm_sc2.cpp
+++ b/src/mame/drivers/bfm_sc2.cpp
@@ -151,7 +151,7 @@ Adder hardware:
#include "video/bfm_adr2.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
/* fruit machines only */
#include "video/awpvid.h"
diff --git a/src/mame/drivers/bigkarnk_ms.cpp b/src/mame/drivers/bigkarnk_ms.cpp
index 25f8558b4fb..b375d442f61 100644
--- a/src/mame/drivers/bigkarnk_ms.cpp
+++ b/src/mame/drivers/bigkarnk_ms.cpp
@@ -289,7 +289,7 @@ Sound Board 9/2
#include "speaker.h"
#include "tilemap.h"
#include "sound/msm5205.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "machine/gen_latch.h"
#include "machine/bankdev.h"
diff --git a/src/mame/drivers/bingoc.cpp b/src/mame/drivers/bingoc.cpp
index 8f4661c4322..4c3cde5740d 100644
--- a/src/mame/drivers/bingoc.cpp
+++ b/src/mame/drivers/bingoc.cpp
@@ -43,11 +43,12 @@ SOUND : 2 x ASSP 5C68A
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/315_5338a.h"
+#include "machine/bingoct.h"
#include "machine/gen_latch.h"
#include "machine/i8251.h"
#include "sound/rf5c68.h"
#include "sound/upd7759.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -85,26 +86,6 @@ private:
void sound_map(address_map &map);
};
-class bingoct_state : public driver_device
-{
-public:
- bingoct_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_soundcpu(*this, "soundcpu") { }
-
-
- void bingoct(machine_config &config);
-
-private:
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
-
- required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_soundcpu;
- void main_map(address_map &map);
- void sound_map(address_map &map);
-};
-
#define SOUND_TEST 0
void bingoc_state::video_start()
@@ -116,11 +97,6 @@ uint32_t bingoc_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
return 0;
}
-uint32_t bingoct_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- return 0;
-}
-
#if SOUND_TEST
/*dirty code to test z80 + bgm/sfx*/
/*
@@ -173,6 +149,7 @@ void bingoc_state::main_map(address_map &map)
map(0x100028, 0x10002b).rw("uart6", FUNC(i8251_device::read), FUNC(i8251_device::write)).umask16(0x00ff);
map(0x100030, 0x100033).rw("uart7", FUNC(i8251_device::read), FUNC(i8251_device::write)).umask16(0x00ff);
map(0x100038, 0x10003b).rw("uart8", FUNC(i8251_device::read), FUNC(i8251_device::write)).umask16(0x00ff);
+ map(0x100070, 0x100071).noprw();
map(0x180000, 0x18001f).rw("io", FUNC(sega_315_5338a_device::read), FUNC(sega_315_5338a_device::write)).umask16(0x00ff); //lamps?
#if 0 // !SOUND_TEST
map(0x180010, 0x180011).w(FUNC(bingoc_state::main_sound_latch_w)); //WRONG there...
@@ -199,13 +176,6 @@ void bingoc_state::sound_io(address_map &map)
#endif
}
-void bingoct_state::main_map(address_map &map)
-{
-}
-
-void bingoct_state::sound_map(address_map &map)
-{
-}
static INPUT_PORTS_START( bingoc )
INPUT_PORTS_END
@@ -257,42 +227,21 @@ void bingoc_state::bingoc(machine_config &config)
UPD7759(config, m_upd7759);
m_upd7759->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
m_upd7759->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-}
-
-void bingoct_state::bingoct(machine_config &config)
-{
- Z80(config, m_maincpu, 32000000 / 4); // divider unknown
- m_maincpu->set_addrmap(AS_PROGRAM, &bingoct_state::main_map);
-
- Z80(config, m_soundcpu, 32000000 / 4); // divider unknown
- m_soundcpu->set_addrmap(AS_PROGRAM, &bingoct_state::sound_map);
-
- // video hardware
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea_full();
- screen.set_screen_update(FUNC(bingoct_state::screen_update));
- screen.set_palette("palette");
-
- PALETTE(config, "palette").set_entries(0x100);
-
-
- SPEAKER(config, "lspeaker").front_left(); // might just be mono...
- SPEAKER(config, "rspeaker").front_right();
-
- GENERIC_LATCH_8(config, "soundlatch");
-
- rf5c68_device &rf5c68_1(RF5C68(config, "5c68_1", 32000000 / 4));
- rf5c68_1.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- rf5c68_1.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- rf5c68_device &rf5c68_2(RF5C68(config, "5c68_2", 32000000 / 4));
- rf5c68_2.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- rf5c68_2.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
+ // terminals
+ BINGOCT(config, "term1");
+#if 0
+ BINGOCT(config, "term2");
+ BINGOCT(config, "term3");
+ BINGOCT(config, "term4");
+ BINGOCT(config, "term5");
+ BINGOCT(config, "term6");
+ BINGOCT(config, "term7");
+ BINGOCT(config, "term8");
+#endif
}
+
ROM_START( bingoc )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "12636a.epr", 0x00000, 0x20000, CRC(ef8dccff) SHA1(9eb6e55e2000b252647fc748cbbeedf4f119aed7) )
@@ -308,19 +257,7 @@ ROM_START( bingoc )
ROM_END
-// PCB stickered 837-7151 - 2 x Z80 + 2 x ASSP (RF)5C68A for sound + NEC D71051 + NEC D71054 + various Sega customs (315-5246, 315-5330, 315-5333, ..)
-// TODO: move to different file?
-ROM_START( bingoct )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "epr-12646.ic20", 0x00000, 0x20000, CRC(c52e31a2) SHA1(901e84f3c9b65f207f7614d64e685e762b23987e) )
-
- ROM_REGION( 0x40000, "soundcpu", 0 )
- ROM_LOAD( "epr-12647.ic24", 0x00000, 0x20000, CRC(33198811) SHA1(6fb9db294a7f40303f22f68c3822e67cbd3560fa) )
- ROM_LOAD( "epr-12648.ic25", 0x20000, 0x20000, CRC(a34737e5) SHA1(76feec0091afb92af8ced99af61495f28f981120) )
-ROM_END
-
} // Anonymous namespace
GAME( 1989, bingoc, 0, bingoc, bingoc, bingoc_state, empty_init, ROT0, "Sega", "Bingo Circus (Rev. A 891001)", MACHINE_NOT_WORKING )
-GAME( 1989, bingoct, 0, bingoct, bingoc, bingoct_state, empty_init, ROT0, "Sega", "Bingo Circus (terminal)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/bingowav.cpp b/src/mame/drivers/bingowav.cpp
index f2fe37da511..ef8ebd0b3e2 100644
--- a/src/mame/drivers/bingowav.cpp
+++ b/src/mame/drivers/bingowav.cpp
@@ -44,7 +44,7 @@
#include "cpu/z80/z80.h"
#include "machine/te7750.h"
#include "machine/tmp68301.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "audio/taitosnd.h"
class bingowav_state : public driver_device
diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp
index cf2fac1ef51..4bc60fa14ab 100644
--- a/src/mame/drivers/bionicc.cpp
+++ b/src/mame/drivers/bionicc.cpp
@@ -87,7 +87,7 @@
#include "machine/timer.h"
#include "video/bufsprite.h"
#include "video/tigeroad_spr.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -401,6 +401,13 @@ void bionicc_state::video_start()
m_fg_tilemap->set_transmask(0, 0xffff, 0x8000); /* split type 0 is completely transparent in front half */
m_fg_tilemap->set_transmask(1, 0xffc1, 0x803e); /* split type 1 has pens 1-5 opaque in front half */
m_bg_tilemap->set_transparent_pen(15);
+
+ m_tx_tilemap->set_scrolldx(128, 128);
+ m_tx_tilemap->set_scrolldy( 6, 6);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
}
@@ -649,8 +656,7 @@ void bionicc_state::bionicc(machine_config &config)
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- /* FIXME: should be 257 visible horizontal pixels, first visible pixel should be repeated, back porch/front porch should be separated */
- screen.set_raw(24_MHz_XTAL / 4, 386, 0, 256, 260, 16, 240);
+ screen.set_raw(24_MHz_XTAL / 4, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(bionicc_state::screen_update));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/bladestl.cpp b/src/mame/drivers/bladestl.cpp
index 612bdb84111..daef1fac97e 100644
--- a/src/mame/drivers/bladestl.cpp
+++ b/src/mame/drivers/bladestl.cpp
@@ -35,7 +35,7 @@
#include "cpu/m6809/m6809.h"
#include "cpu/m6809/hd6309.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/blktiger.cpp b/src/mame/drivers/blktiger.cpp
index 91c2849e719..528f444a448 100644
--- a/src/mame/drivers/blktiger.cpp
+++ b/src/mame/drivers/blktiger.cpp
@@ -21,7 +21,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
@@ -310,10 +310,7 @@ void blktiger_state::blktiger(machine_config &config)
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(24_MHz_XTAL / 4, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(blktiger_state::screen_update_blktiger));
screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/blktiger_ms.cpp b/src/mame/drivers/blktiger_ms.cpp
index e4b3faee0f5..b0ee2b5aba2 100644
--- a/src/mame/drivers/blktiger_ms.cpp
+++ b/src/mame/drivers/blktiger_ms.cpp
@@ -31,7 +31,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/blockhl.cpp b/src/mame/drivers/blockhl.cpp
index f0449f06305..061a4b20ffb 100644
--- a/src/mame/drivers/blockhl.cpp
+++ b/src/mame/drivers/blockhl.cpp
@@ -25,7 +25,7 @@
#include "machine/bankdev.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/k052109.h"
#include "video/k051960.h"
diff --git a/src/mame/drivers/blockout.cpp b/src/mame/drivers/blockout.cpp
index 6c2069fbd53..52a042b8b54 100644
--- a/src/mame/drivers/blockout.cpp
+++ b/src/mame/drivers/blockout.cpp
@@ -72,7 +72,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/bloodbro_ms.cpp b/src/mame/drivers/bloodbro_ms.cpp
index 415d4ec886f..7d05fe4453e 100644
--- a/src/mame/drivers/bloodbro_ms.cpp
+++ b/src/mame/drivers/bloodbro_ms.cpp
@@ -27,7 +27,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/bmcbowl.cpp b/src/mame/drivers/bmcbowl.cpp
index b39561cde6e..598b7baf8a9 100644
--- a/src/mame/drivers/bmcbowl.cpp
+++ b/src/mame/drivers/bmcbowl.cpp
@@ -107,7 +107,7 @@ Main board:
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/bmcpokr.cpp b/src/mame/drivers/bmcpokr.cpp
index 08f293bb2f2..0425d52b319 100644
--- a/src/mame/drivers/bmcpokr.cpp
+++ b/src/mame/drivers/bmcpokr.cpp
@@ -19,7 +19,7 @@ Other: BMC B816140 (CPLD)
#include "cpu/m68000/m68000.h"
#include "video/ramdac.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/nvram.h"
#include "machine/ticket.h"
#include "machine/timer.h"
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 08c7e7b0065..d584d2542f8 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -10,8 +10,6 @@
- implement sound as a bml3bus slot device
- account for hardware differences between MB-6890, MB-6891 and MB-6892
(e.g. custom font support on the MB-6892)
- - both floppy disk controllers exhibit instability and can cause random
- problems.
**************************************************************************************/
@@ -24,7 +22,7 @@
#include "machine/clock.h"
#include "machine/timer.h"
#include "sound/spkrdev.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/mc6845.h"
#include "emupal.h"
@@ -66,7 +64,7 @@
// D80_CLOCK / 105.0 // 153600 Hz
// Frequencies for cassette mode:
-// / 13440 //1200
+// / 13440 // 1200
// / 6720 // 2400
// / 3360 // 4800
// / 1680 // 9600
@@ -91,6 +89,7 @@ public:
, m_banke(*this, "banke")
, m_bankf(*this, "bankf")
, m_bankg(*this, "bankg")
+ , m_io_keyboard(*this, "X%u", 0U)
{ }
void bml3mk2(machine_config &config);
@@ -127,7 +126,6 @@ private:
MC6845_UPDATE_ROW(crtc_update_row);
- // INTERRUPT_GEN_MEMBER(irq);
INTERRUPT_GEN_MEMBER(timer_firq);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
TIMER_DEVICE_CALLBACK_MEMBER(kansas_w);
@@ -140,11 +138,12 @@ private:
u8 m_psg_latch;
u8 m_attr_latch;
u8 m_vres_reg;
- bool m_keyb_interrupt_disabled;
+ bool m_keyb_interrupt_enabled;
bool m_keyb_nmi_disabled; // not used yet
bool m_keyb_counter_operation_disabled;
u8 m_keyb_empty_scan;
u8 m_keyb_scancode;
+ u16 m_kbt = 0;
bool m_keyb_capslock_led_on;
bool m_keyb_hiragana_led_on;
bool m_keyb_katakana_led_on;
@@ -175,6 +174,7 @@ private:
required_memory_bank m_banke;
required_memory_bank m_bankf;
required_memory_bank m_bankg;
+ required_ioport_array<4> m_io_keyboard;
};
u8 bml3_state::mc6845_r(offs_t offset)
@@ -201,6 +201,7 @@ void bml3_state::mc6845_w(offs_t offset, u8 data)
u8 bml3_state::keyboard_r()
{
+ m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
u8 ret = m_keyb_scancode;
if (!machine().side_effects_disabled())
m_keyb_scancode &= 0x7f;
@@ -213,7 +214,7 @@ void bml3_state::keyboard_w(u8 data)
m_keyb_hiragana_led_on = BIT(data, 1);
m_keyb_capslock_led_on = BIT(data, 2);
m_keyb_counter_operation_disabled = BIT(data, 3);
- m_keyb_interrupt_disabled = !BIT(data, 6);
+ m_keyb_interrupt_enabled = BIT(data, 6);
m_keyb_nmi_disabled = !BIT(data, 7);
}
@@ -472,7 +473,7 @@ static INPUT_PORTS_START( bml3 )
PORT_DIPSETTING( 0x0002, "60 kiB (32 kiB + 28 kiB)" )
*/
- PORT_START("key1") //0x00-0x1f
+ PORT_START("X0") //0x00-0x1f
PORT_BIT(0x00000001,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
PORT_BIT(0x00000002,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
PORT_BIT(0x00000004,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("? PAD")
@@ -506,7 +507,7 @@ static INPUT_PORTS_START( bml3 )
PORT_BIT(0x40000000,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Delete PAD") //backspace
PORT_BIT(0x80000000,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\xC2\xA5") PORT_CODE(KEYCODE_TAB) // yen sign
- PORT_START("key2") //0x20-0x3f
+ PORT_START("X1") //0x20-0x3f
PORT_BIT(0x00000001,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_CHAR('u')
PORT_BIT(0x00000002,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_CHAR('r')
PORT_BIT(0x00000004,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_CHAR('y')
@@ -540,7 +541,7 @@ static INPUT_PORTS_START( bml3 )
PORT_BIT(0x40000000,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6 PAD") PORT_CODE(KEYCODE_6_PAD)
PORT_BIT(0x80000000,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("- PAD") PORT_CODE(KEYCODE_MINUS_PAD)
- PORT_START("key3") //0x40-0x5f
+ PORT_START("X2") //0x40-0x5f
PORT_BIT(0x00000001,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_CHAR('m')
PORT_BIT(0x00000002,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_CHAR('v')
PORT_BIT(0x00000004,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_CHAR('n')
@@ -564,7 +565,7 @@ static INPUT_PORTS_START( bml3 )
PORT_BIT(0x00100000,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PF5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10))
PORT_BIT(0xffe00000,IP_ACTIVE_HIGH,IPT_UNKNOWN)
- PORT_START("key4")
+ PORT_START("X3")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Break") PORT_CODE(KEYCODE_END) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_CHANGED_MEMBER(DEVICE_SELF, bml3_state, nmi_button, 0)
INPUT_PORTS_END
@@ -661,8 +662,6 @@ MC6845_UPDATE_ROW( bml3_state::crtc_update_row )
TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
{
- static const char *const portnames[3] = { "key1","key2","key3" };
- int i,port_i;
bool trigger = false;
if(!BIT(m_keyb_scancode, 7))
@@ -685,9 +684,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
}
else if (m_keyb_scancode < 32*3)
{
- port_i = m_keyb_scancode / 32;
- i = m_keyb_scancode % 32;
- if((ioport(portnames[port_i])->read()>>i) & 1)
+ u8 port_i = m_keyb_scancode / 32;
+ u8 i = m_keyb_scancode % 32;
+ if(BIT(m_io_keyboard[port_i]->read(),i))
{
m_keyb_empty_scan = 2;
trigger = true;
@@ -695,16 +694,18 @@ TIMER_DEVICE_CALLBACK_MEMBER(bml3_state::keyboard_callback)
}
if (trigger)
{
+ m_kbt = 0xfff;
m_keyb_scancode |= 0x80;
- if (!m_keyb_interrupt_disabled)
+ if (m_keyb_interrupt_enabled)
m_maincpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE);
}
- /* Don't need this apparently...
- else
- {
- m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
- }
- */
+ }
+ else
+ {
+ if (m_kbt > 0)
+ m_kbt--;
+ if (m_kbt == 1)
+ m_keyb_scancode &= 0x7f;
}
}
@@ -754,7 +755,7 @@ void bml3_state::machine_start()
save_item(NAME(m_psg_latch));
save_item(NAME(m_attr_latch));
save_item(NAME(m_vres_reg));
- save_item(NAME(m_keyb_interrupt_disabled));
+ save_item(NAME(m_keyb_interrupt_enabled));
save_item(NAME(m_keyb_nmi_disabled));
save_item(NAME(m_keyb_counter_operation_disabled));
save_item(NAME(m_keyb_empty_scan));
@@ -762,6 +763,7 @@ void bml3_state::machine_start()
save_item(NAME(m_keyb_capslock_led_on));
save_item(NAME(m_keyb_hiragana_led_on));
save_item(NAME(m_keyb_katakana_led_on));
+ save_item(NAME(m_kbt));
save_item(NAME(m_cassbit));
save_item(NAME(m_cassold));
save_item(NAME(m_cass_data));
@@ -797,7 +799,7 @@ void bml3_state::machine_reset()
m_psg_latch = 0;
m_attr_latch = 0;
m_vres_reg = 0;
- m_keyb_interrupt_disabled = 0;
+ m_keyb_interrupt_enabled = 0;
m_keyb_nmi_disabled = 0;
m_keyb_counter_operation_disabled = 0;
m_keyb_empty_scan = 0;
@@ -810,6 +812,7 @@ void bml3_state::machine_reset()
m_cassbit = 0;
m_cassold = 0;
m_nmi = 0;
+ m_kbt = 0;
}
void bml3_state::piaA_w(uint8_t data)
@@ -933,11 +936,12 @@ void bml3_state::bml3_common(machine_config &config)
m_bml3bus->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
m_bml3bus->irq_callback().set_inputline(m_maincpu, M6809_IRQ_LINE);
m_bml3bus->firq_callback().set_inputline(m_maincpu, M6809_FIRQ_LINE);
- /* Default to MP-1805 disk (3" or 5.25" SS/SD), as our MB-6892 ROM dump includes the MP-1805 ROM.
- User may want to switch this to MP-1802 (5.25" DS/DD).
+ /* Default to nothing, to stop machine hanging at start.
+ Can use MP-1805 disk (3" or 5.25" SS/SD), as our MB-6892 ROM dump includes the MP-1805 ROM.
+ Or use MP-1802 (5.25" DS/DD).
Note it isn't feasible to use both, as they each place boot ROM at F800.
*/
- BML3BUS_SLOT(config, "sl1", m_bml3bus, bml3_cards, "bml3mp1805");
+ BML3BUS_SLOT(config, "sl1", m_bml3bus, bml3_cards, nullptr);
BML3BUS_SLOT(config, "sl2", m_bml3bus, bml3_cards, "bml3rtc");
BML3BUS_SLOT(config, "sl3", m_bml3bus, bml3_cards, nullptr);
BML3BUS_SLOT(config, "sl4", m_bml3bus, bml3_cards, nullptr);
diff --git a/src/mame/drivers/boogwing.cpp b/src/mame/drivers/boogwing.cpp
index 27e00a53d11..aa60e09560b 100644
--- a/src/mame/drivers/boogwing.cpp
+++ b/src/mame/drivers/boogwing.cpp
@@ -90,7 +90,7 @@
#include "machine/decocrpt.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#define MAIN_XTAL XTAL(28'000'000)
diff --git a/src/mame/drivers/brkthru.cpp b/src/mame/drivers/brkthru.cpp
index 7e5fea93f03..110d709b4a7 100644
--- a/src/mame/drivers/brkthru.cpp
+++ b/src/mame/drivers/brkthru.cpp
@@ -145,8 +145,8 @@ buttons down after the game has started then pressing F3 to reset the game.
#include "includes/brkthru.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/bublbobl.cpp b/src/mame/drivers/bublbobl.cpp
index d6107629daa..f3e7caca020 100644
--- a/src/mame/drivers/bublbobl.cpp
+++ b/src/mame/drivers/bublbobl.cpp
@@ -270,11 +270,10 @@ TODO:
#include "emu.h"
#include "includes/bublbobl.h"
-#include "cpu/m6800/m6801.h"
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
@@ -355,15 +354,8 @@ void bublbobl_state::sound_map(address_map &map)
void bublbobl_state::mcu_map(address_map &map)
{
- map(0x0000, 0x0000).rw(FUNC(bublbobl_state::bublbobl_mcu_ddr1_r), FUNC(bublbobl_state::bublbobl_mcu_ddr1_w));
- map(0x0001, 0x0001).rw(FUNC(bublbobl_state::bublbobl_mcu_ddr2_r), FUNC(bublbobl_state::bublbobl_mcu_ddr2_w));
- map(0x0002, 0x0002).rw(FUNC(bublbobl_state::bublbobl_mcu_port1_r), FUNC(bublbobl_state::bublbobl_mcu_port1_w));
- map(0x0003, 0x0003).rw(FUNC(bublbobl_state::bublbobl_mcu_port2_r), FUNC(bublbobl_state::bublbobl_mcu_port2_w));
- map(0x0004, 0x0004).rw(FUNC(bublbobl_state::bublbobl_mcu_ddr3_r), FUNC(bublbobl_state::bublbobl_mcu_ddr3_w));
- map(0x0005, 0x0005).rw(FUNC(bublbobl_state::bublbobl_mcu_ddr4_r), FUNC(bublbobl_state::bublbobl_mcu_ddr4_w));
- map(0x0006, 0x0006).rw(FUNC(bublbobl_state::bublbobl_mcu_port3_r), FUNC(bublbobl_state::bublbobl_mcu_port3_w));
- map(0x0007, 0x0007).rw(FUNC(bublbobl_state::bublbobl_mcu_port4_r), FUNC(bublbobl_state::bublbobl_mcu_port4_w));
- map(0x0040, 0x00ff).ram();
+ map(0x0000, 0x0007).m(m_mcu, FUNC(m6801_cpu_device::m6801_io));
+ map(0x0040, 0x00ff).ram(); // internal
map(0xf000, 0xffff).rom();
}
@@ -921,14 +913,7 @@ MACHINE_START_MEMBER(bublbobl_state,bublbobl)
{
MACHINE_START_CALL_MEMBER(common);
- save_item(NAME(m_ddr1));
- save_item(NAME(m_ddr2));
- save_item(NAME(m_ddr3));
- save_item(NAME(m_ddr4));
- save_item(NAME(m_port1_in));
- save_item(NAME(m_port2_in));
save_item(NAME(m_port3_in));
- save_item(NAME(m_port4_in));
save_item(NAME(m_port1_out));
save_item(NAME(m_port2_out));
save_item(NAME(m_port3_out));
@@ -940,14 +925,7 @@ MACHINE_RESET_MEMBER(bublbobl_state,bublbobl)
MACHINE_RESET_CALL_MEMBER(common);
bublbobl_bankswitch_w(0x00); // force a bankswitch write of all zeroes, as /RESET clears the latch
- m_ddr1 = 0;
- m_ddr2 = 0;
- m_ddr3 = 0;
- m_ddr4 = 0;
- m_port1_in = 0;
- m_port2_in = 0;
m_port3_in = 0;
- m_port4_in = 0;
m_port1_out = 0;
m_port2_out = 0;
m_port3_out = 0;
@@ -1006,8 +984,14 @@ void bublbobl_state::bublbobl(machine_config &config)
bublbobl_nomcu(config);
m_maincpu->set_irq_acknowledge_callback(FUNC(bublbobl_state::mcram_vect_r));
- M6801(config, m_mcu, XTAL(4'000'000)); // actually 6801U4 - xtal is 4MHz, divided by 4 internally
- m_mcu->set_addrmap(AS_PROGRAM, &bublbobl_state::mcu_map);
+ auto &mcu(M6801(config, "mcu", XTAL(4'000'000))); // actually 6801U4 - xtal is 4MHz, divided by 4 internally
+ mcu.set_addrmap(AS_PROGRAM, &bublbobl_state::mcu_map);
+ mcu.in_p1_cb().set_ioport("IN0");
+ mcu.out_p1_cb().set(FUNC(bublbobl_state::bublbobl_mcu_port1_w));
+ mcu.out_p2_cb().set(FUNC(bublbobl_state::bublbobl_mcu_port2_w));
+ mcu.out_p3_cb().set(FUNC(bublbobl_state::bublbobl_mcu_port3_w));
+ mcu.in_p3_cb().set(FUNC(bublbobl_state::bublbobl_mcu_port3_r));
+ mcu.out_p4_cb().set(FUNC(bublbobl_state::bublbobl_mcu_port4_w));
m_screen->screen_vblank().set_inputline(m_mcu, M6801_IRQ_LINE); // same clock latches the INT pin on the second Z80
}
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index df55732b70d..99eb9920b5b 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -662,7 +662,7 @@ ROM_END
/* System Drivers */
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-COMP( 1984, bw12, 0, 0, bw12, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell 12", MACHINE_SUPPORTS_SAVE )
-COMP( 1984, bw14, bw12, 0, bw14, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell 14", MACHINE_SUPPORTS_SAVE )
-COMP( 1984, bw14d, 0, 0, bw14, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell Portable Computer Model 14 (German keyboard)", MACHINE_SUPPORTS_SAVE )
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+COMP( 1984, bw12, 0, 0, bw12, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell 12", MACHINE_SUPPORTS_SAVE )
+COMP( 1984, bw14, bw12, 0, bw14, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell 14", MACHINE_SUPPORTS_SAVE )
+COMP( 1984, bw14d, bw12, 0, bw14, bw12, bw12_state, empty_init, "Bondwell Holding", "Bondwell Portable Computer Model 14 (German keyboard)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index 7cc45914b04..a1e6580b15d 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -169,7 +169,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/upd4701.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cabaret.cpp b/src/mame/drivers/cabaret.cpp
index d78aeb07817..853d8ccbe5e 100644
--- a/src/mame/drivers/cabaret.cpp
+++ b/src/mame/drivers/cabaret.cpp
@@ -26,7 +26,7 @@ are the same of IGS. AMT may be previous IGS name.
#include "emu.h"
#include "cpu/z180/z180.h"
#include "machine/i8255.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp
index 68514f5b391..bf6a4193808 100644
--- a/src/mame/drivers/calomega.cpp
+++ b/src/mame/drivers/calomega.cpp
@@ -7,7 +7,7 @@
| CAL OMEGA / CEI / UCMC |
| SYSTEMS 903 / 904 / 905 / 906-III |
| |
- | Driver by Roberto Fresca. |
+ | Driver by Roberto Fresca & Grull Osgo |
| |
'-----------------------------------------'
@@ -148,7 +148,7 @@
* 12.7 | Keno | 903/4? | JUL/82 | KCG | 6300060 | POKCLR | 6600020 | Amusement | Yes | OK | Yes
* 12.8 | Arcade Game (Draw Poker) | 903 | JUL/82 | PKCG | 6300010 | POKCLR | 6600020 | Amusement | Yes | OK | Yes
13.4 | Nudge Bingo | 903 | SEP/82 | NBCG | 6300040 | BCLR | 6600040 | Amusement | Yes | OK | Yes
- 14.5 | Pixels | 903 | DEC/82 | PIXCG | 6300070 | PIXCLR | 6600050 | Amusement | Yes | OK | Yes
+ 14.5 | Pixels | 903 | DEC/82 | PIXCG | 6300070 | PIXCLR | 6600050 | Amusement | Yes | BD | Yes
14.7 | Nudge Bingo | 903 | | NBCG | 6300040 | BCLR | 6600040 | Amusement | No | | No
15.0 | Punchboard | 903 | | PBCG | 6300190 | PBCLR | 6600130 | Gaming Wash | No | | No
15.7 | Double-Draw Poker | 903 | JAN/83 | CPKCG | 6300010 | POKCLR | 6600020 | Amusement | Yes | OK | Yes
@@ -447,7 +447,20 @@
[2021-05]
- General improvements...
+ Major improvements...
+ - Worked the analogic color system, adding the three R-G-B presets.
+ - Added the PORT_ADJUST for RGB in all games, defining the default values.
+ - Redumped the Cal Omega - Game 20.8 (Winner's Choice). Reworked proper inputs.
+ - Inputs from the scratch for all the Pixels, Keno and Hotline games. Promoted to WORKING.
+ - Specific inputs for games 12.8, 15.7, 15.9, 17.2, and 20.4. Promoted to WORKING.
+ - Fixed Pixels games colors.
+ - Connected System 903/904 PIA #0 IRQB line to CPU IRQ.
+ - Set a handler for System 903/904 PIA #0 CB1 line, as IRQ ack.
+ - Added external keyboard controller (i8035 + i8251) for Keno Games, system 903.
+ - Added virtual clickable keyboard layout to keno games, critical to get them working.
+ - Added hopper support to Cal Omega - Game 7.4 (Gaming Poker, W.Export).
+ - Added the following System 903 counters: coin in, coin out, and optional (per game).
+ - Fixed inputs on Cal Omega - Game 8.0 (Arcade Black Jack).
- Fixed inputs on Cal Omega - Game 12.5 (Bingo).
- Inputs for Cal Omega - Game 13.4 (Nudge). Promoted to WORKING.
- Inputs for Cal Omega - Game 17.6 (Nudge). Promoted to WORKING.
@@ -712,6 +725,8 @@
#include "emu.h"
#include "includes/calomega.h"
+#include "kenokb.lh"
+
#define MASTER_CLOCK XTAL(10'000'000)
#define CPU_CLOCK (MASTER_CLOCK/16)
#define UART_CLOCK (MASTER_CLOCK/16)
@@ -744,25 +759,24 @@ uint8_t calomega_state::s903_mux_port_r()
void calomega_state::s903_mux_w(uint8_t data)
{
- // bit 7 - bit 6 -bit 5 -bit 4 -> Mux. Scan Lines
+ // bit 7 - bit 6 -bit 5 -bit 4 -> Mux. Scan Lines
m_s903_mux_data = data ^ 0xf0; // inverted
- // bit 0 - bit 1 -> Hopper
+ // bit 0 - bit 1 -> Hopper
m_hopper->motor_w(BIT(~data, 0) && BIT(~data, 1));
- // bit2 - bit3 -> No connected
+ // bit2 - bit3 -> No connected
}
uint8_t calomega_state::s905_mux_port_r()
{
- switch( m_s905_mux_data & 0x0f ) // bits 0-3
+ switch( m_s905_mux_data & 0x0f ) // bits 0-3
{
case 0x01: return m_in0_0->read();
case 0x02: return m_in0_1->read();
case 0x04: return m_in0_2->read();
case 0x08: return m_in0_3->read();
}
-
return 0xff;
}
@@ -786,27 +800,25 @@ void calomega_state::s905_mux_w(uint8_t data)
uint8_t calomega_state::pia0_bin_r()
{
- //logerror("PIA0: Port B in\n");
+ //logerror("PIA0: Port B in\n");
return 0xff;
}
void calomega_state::pia0_aout_w(uint8_t data)
{
- //logerror("PIA0: Port A out: %02X\n", data);
+ //logerror("PIA0: Port A out: %02X\n", data);
}
void calomega_state::pia0_bout_w(uint8_t data)
{
- // Meters???...M1-M5
+ // Meters???...M1-M5
m_diverter = BIT(data, 3);
m_lockout = BIT(data, 5);
m_hopper->motor_w(BIT(~data, 6) && BIT(~data, 7));
- // if(m_hopper) popmessage("HOPPER : %x", data);
}
uint8_t calomega_state::pia1_ain_r()
{
- //popmessage("hopper out: %x", m_in0_1->read() & 0x80);
switch( m_s905_mux_data & 0x03 ) // bits 0-3
{
case 0x00: return m_in0_0->read();
@@ -820,14 +832,13 @@ uint8_t calomega_state::pia1_ain_r()
uint8_t calomega_state::pia1_bin_r()
{
- // logerror("PIA1: Port B in\n");
+ // logerror("PIA1: Port B in\n");
return 0xff;
}
void calomega_state::pia1_aout_w(uint8_t data)
{
m_s905_mux_data = data >> 6;
- // logerror("PIA1: Port A out (906-III mux): %02X\n", m_s905_mux_data);
}
void calomega_state::pia1_bout_w(uint8_t data)
@@ -854,22 +865,21 @@ void calomega_state::pia1_bout_w(uint8_t data)
m_lamps[6] = BIT(~data, 6); // L7 (unknown)
m_lamps[7] = BIT(~data, 7); // L8 (unknown)
- // logerror("PIA1: Port B out: %02X\n", data);
+ // logerror("PIA1: Port B out: %02X\n", data);
}
TIMER_DEVICE_CALLBACK_MEMBER( calomega_state::timer_0 )
{
m_timer = !m_timer;
m_pia[0]->ca1_w(m_timer);
- m_pia[0]->read(1); //CRA
- // logerror("Timer_0 event : state=%d\n", m_timer);
+ // logerror("Timer_0 event : state=%d\n", m_timer);
}
TIMER_DEVICE_CALLBACK_MEMBER( calomega_state::timer_1 )
{
m_timer = !m_timer;
m_pia[1]->cb1_w(m_timer);
- // logerror("Timer_1 event (TIMER) : state=%d\n", m_timer);
+ // logerror("Timer_1 event (TIMER) : state=%d\n", m_timer);
}
TIMER_DEVICE_CALLBACK_MEMBER( calomega_state::timer_2 )
@@ -877,12 +887,12 @@ TIMER_DEVICE_CALLBACK_MEMBER( calomega_state::timer_2 )
m_timer =! m_timer;
m_pia[1]->ca1_w(m_timer);
m_pia[1]->read(1); // CRA
- // logerror("Timer_2 event : state=%d\n", m_timer);
+ // logerror("Timer_2 event : state=%d\n", m_timer);
}
READ_LINE_MEMBER(calomega_state::timer_r)
{
- // logerror("timer_1 read : state=%d\n", m_timer);
+ // logerror("timer_1 read : state=%d\n", m_timer);
return m_timer;
}
@@ -892,8 +902,8 @@ WRITE_LINE_MEMBER(calomega_state::vblank0_w)
m_pia[0]->read(0);
m_pia[0]->read(0);
m_pia[1]->cb1_w(state);
- // m_pia[1]->read(3); // CRB
- // logerror("V_BLANK_0 event : state=%d\n", m_vblank);
+ // m_pia[1]->read(3); // CRB
+ // logerror("V_BLANK_0 event : state=%d\n", m_vblank);
}
WRITE_LINE_MEMBER(calomega_state::vblank1_w)
@@ -901,29 +911,30 @@ WRITE_LINE_MEMBER(calomega_state::vblank1_w)
m_vblank = state;
m_pia[0]->read(2);
m_pia[0]->cb1_w(state);
- // logerror("V_BLANK_1 event (sale ): state=%d\n", m_vblank);
+ // logerror("V_BLANK_1 event (sale ): state=%d\n", m_vblank);
}
WRITE_LINE_MEMBER(calomega_state::vblank2_w)
{
m_vblank = state;
- m_pia[1]->read(0);
+ m_pia[1]->read(0);
m_pia[1]->read(0);
m_pia[1]->cb1_w(state);
- // logerror("V_BLANK_2 event : state=%d\n", m_vblank);
+
+ // logerror("V_BLANK_2 event : state=%d\n", m_vblank);
}
READ_LINE_MEMBER(calomega_state::vblank_r)
{
- // logerror("V_BLANK read : state=%d\n", m_vblank);
+ // logerror("V_BLANK read : state=%d\n", m_vblank);
return m_vblank;
}
WRITE_LINE_MEMBER(calomega_state::pia1_cb2_w)
{
- // Output to L9
+ // Output to L9
m_lamps[8] = ~state; // L9 (Door?)
- // logerror("PIA1: CB2: %02X\n", state);
+ // logerror("PIA1: CB2: %02X\n", state);
}
// Dummy callbacks
@@ -969,17 +980,20 @@ WRITE_LINE_MEMBER(calomega_state::dummy_pia_line_w)
*/
void calomega_state::lamps_903a_w(uint8_t data)
{
- // First 5 bits of PIA0 port B
+ // Whole 8 bits of PIA0 port B
m_lamps[0] = BIT(~data, 0); // L1 (Hold 1)
m_lamps[1] = BIT(~data, 1); // L2 (Hold 2)
m_lamps[2] = BIT(~data, 2); // L3 (Hold 3)
m_lamps[3] = BIT(~data, 3); // L4 (Hold 4)
m_lamps[4] = BIT(~data, 4); // L5 (Hold 5)
+ machine().bookkeeping().coin_counter_w(0, BIT(~data, 5)); // M1 - Coins in.
+ machine().bookkeeping().coin_counter_w(1, BIT(~data, 6)); // M2 - Coins Out( 1 x 10 coins).
+ machine().bookkeeping().coin_counter_w(2, BIT(~data, 7)); // M3 - Optional (Per game).
}
void calomega_state::lamps_903b_w(uint8_t data)
{
- // First 4 bits of PIA1 port A
+ // First 4 bits of PIA1 port A
m_lamps[5] = BIT(~data, 0); // L6 (Cancel)
m_lamps[6] = BIT(~data, 1); // L7 (Bet)
m_lamps[7] = BIT(~data, 2); // L8 (Take)
@@ -988,7 +1002,7 @@ void calomega_state::lamps_903b_w(uint8_t data)
void calomega_state::lamps_905_w(uint8_t data)
{
- // Whole 8 bits of PIA0 port B
+ // Whole 8 bits of PIA0 port B
m_lamps[0] = BIT(~data, 0); // L1 (Hold 1)
m_lamps[1] = BIT(~data, 1); // L2 (Hold 2)
m_lamps[2] = BIT(~data, 2); // L3 (Hold 3)
@@ -999,6 +1013,14 @@ void calomega_state::lamps_905_w(uint8_t data)
m_lamps[7] = BIT(~data, 7); // L8 (unknown)
}
+uint8_t calomega_state::keyb_903_r()
+{
+ if(m_kbscan == 0x0d ) m_uart->write_cts(0);
+ if(m_kbscan == 0x0e ) m_uart->write_cts(1);
+ m_pia[1]->read(2); // TODO: Troubleshooting with vblank irq flag stuck
+ return m_key_row[m_kbscan]->read();
+}
+
/*************************************************
* Memory map information *
@@ -1013,7 +1035,7 @@ void calomega_state::sys903_map(address_map &map)
map(0x0881, 0x0881).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
map(0x08c4, 0x08c7).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x08c8, 0x08cb).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0x08d0, 0x08d1).rw(m_acia6850_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0x08d0, 0x08d1).rw("acia6850_0", FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0x1000, 0x13ff).ram().w(FUNC(calomega_state::calomega_videoram_w)).share("videoram");
map(0x1400, 0x17ff).ram().w(FUNC(calomega_state::calomega_colorram_w)).share("colorram");
map(0x1800, 0x3fff).rom();
@@ -1051,7 +1073,7 @@ void calomega_state::sys906_map(address_map &map)
{
map(0x0000, 0x1fff).ram().share("nvram");
map(0x280c, 0x280f).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0x2810, 0x2811).rw(m_acia6850_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0x2810, 0x2811).rw("acia6850_0", FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0x2824, 0x2827).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x2c04, 0x2c04).w("crtc", FUNC(mc6845_device::address_w));
map(0x2c05, 0x2c05).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
@@ -1061,6 +1083,16 @@ void calomega_state::sys906_map(address_map &map)
map(0x6000, 0xffff).rom();
}
+void calomega_state::kstec_mem_map(address_map &map)
+{
+ map(0x0000, 0x07ff).rom();
+}
+
+void calomega_state::kstec_io_map(address_map &map)
+{
+ map(0x00, 0x00).rw(m_uart, FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
+ map(0x01, 0x01).rw(m_uart, FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
+}
/*************************************************
* Input ports *
@@ -1195,48 +1227,60 @@ static INPUT_PORTS_START( stand903 )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
-#ifdef UNREFERENCED_CODE
-static INPUT_PORTS_START( stand904 )
+
+static INPUT_PORTS_START( keno_903 )
PORT_START("IN0-0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-1") PORT_CODE(KEYCODE_1)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-2") PORT_CODE(KEYCODE_2)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-3") PORT_CODE(KEYCODE_3)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-4") PORT_CODE(KEYCODE_4)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-5") PORT_CODE(KEYCODE_5)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-6") PORT_CODE(KEYCODE_6)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // "5"
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-1") PORT_CODE(KEYCODE_Q)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-2") PORT_CODE(KEYCODE_W)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-3") PORT_CODE(KEYCODE_E)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-4") PORT_CODE(KEYCODE_R)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-5") PORT_CODE(KEYCODE_T)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-6") PORT_CODE(KEYCODE_Y)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // "F2"
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-1") PORT_CODE(KEYCODE_A)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-2") PORT_CODE(KEYCODE_S)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-3") PORT_CODE(KEYCODE_D)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-4") PORT_CODE(KEYCODE_F)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-5") PORT_CODE(KEYCODE_G)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-6") PORT_CODE(KEYCODE_H)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-1") PORT_CODE(KEYCODE_Z)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-2") PORT_CODE(KEYCODE_X)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-3") PORT_CODE(KEYCODE_C)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-4") PORT_CODE(KEYCODE_V)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-5") PORT_CODE(KEYCODE_B)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-6") PORT_CODE(KEYCODE_N)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_8) // "8"
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
/* SW1-5 should be wired to PIA0 portA, bit 6.
@@ -1261,7 +1305,7 @@ static INPUT_PORTS_START( stand904 )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("SW2") // baud (serial 6850-4024), SW1 in schematics
+ PORT_START("SW2") // baud (serial 6850-4024), SW1 in schematics...
PORT_DIPNAME( 0x3f, 0x08, "Baud Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4,5,6")
PORT_DIPSETTING( 0x01, "300" )
PORT_DIPSETTING( 0x02, "600" )
@@ -1276,7 +1320,33 @@ static INPUT_PORTS_START( stand904 )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("FRQ") // settings (PIA0)
+ PORT_START("SW3") // unknown (ay8912), SW3 in schematics
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("FRQ") // settings (PIA0)
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1301,8 +1371,172 @@ static INPUT_PORTS_START( stand904 )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// Keyboard matrix
+
+ PORT_START("KB_0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // #81 0X51 BET "M"
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) // #82 0X52 START "2"
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_NAME("30")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_NAME("40")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_NAME("39")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("20")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("19")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("29")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("28")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("38")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("10")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("09")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("18")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("17")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("27")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("37")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("08")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("07")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("06")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("16")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("26")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("36")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_4")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("03")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("04")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("05")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("15")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("25")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("35")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_5")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("02")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("13")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("14")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("24")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("34")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_6")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("01")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("12")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("22")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("23")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("33")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_7")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("11")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("21")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("31")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("32")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_8")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("72")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("73")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("74")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("75")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("65")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("55")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("45")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_9")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("71")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("61")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("62")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("63")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("64")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("54")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("44")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_10")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("51")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("41")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("52")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("53")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("42")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("43")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_11")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Exit") PORT_CODE(KEYCODE_X) // #84 0x54 TEST EXIT
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // #83 0x53 CANCEL "N"
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("60")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("50")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("49")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_12")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("70")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("69")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("59")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("58")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("48")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_13")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("80")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("79")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("68")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("67")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("57")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("47")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("KB_14")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("78")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("77")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("76")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("66")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("56")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("46")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
-#endif
+
static INPUT_PORTS_START( stand905 )
PORT_START("IN0-0")
@@ -1348,58 +1582,45 @@ static INPUT_PORTS_START( stand905 )
// For System 905, SW1 uses the whole PIA1 portA.
PORT_START("SW1") // settings (PIA1)
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("FRQ") // settings (PIA0)
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
- PORT_DIPSETTING( 0x40, "60Hz." )
- PORT_DIPSETTING( 0x00, "50Hz." )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( gdrwpkrd )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
@@ -1412,23 +1633,22 @@ static INPUT_PORTS_START( gdrwpkrd )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-1")
- //PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Open")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // in some games you need to open the door first
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hand Pay") PORT_CODE(KEYCODE_W)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Dispute") PORT_CODE(KEYCODE_0) // in some games you need to open the door first
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // in some games you need to open the door first
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hand Pay") PORT_CODE(KEYCODE_W)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Dispute") PORT_CODE(KEYCODE_0) // in some games you need to open the door first
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1436,8 +1656,8 @@ static INPUT_PORTS_START( gdrwpkrd )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("WT.Switch") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("WT.Switch") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1528,8 +1748,21 @@ static INPUT_PORTS_START( gdrwpkrd )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( gdrwpkrh )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
@@ -1545,19 +1778,19 @@ static INPUT_PORTS_START( gdrwpkrh )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Open")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // in some games you need to open the door first
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // in some games you need to open the door first
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hand Pay") PORT_CODE(KEYCODE_W)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Dispute") PORT_CODE(KEYCODE_0) // in some games you need to open the door first
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1565,8 +1798,8 @@ static INPUT_PORTS_START( gdrwpkrh )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("WT.Switch") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("WT.Switch") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1657,11 +1890,105 @@ static INPUT_PORTS_START( gdrwpkrh )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( comg208 )
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Learn") PORT_CODE(KEYCODE_7)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service/Clear") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Data / Audit") PORT_CODE(KEYCODE_9)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Draw")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel Discards")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt (Clr.Credits)") PORT_CODE(KEYCODE_T)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ // For System 905, SW1 uses the whole PIA1 portA.
+
+ PORT_START("SW1") // settings (PIA1)
+ PORT_DIPNAME( 0x01, 0x01, "Black Jack" ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "Craps" ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "Red Dog" ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, "Dup" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x30, 0x30, "Pay Table / Win Pair / BJ Wins" ) PORT_DIPLOCATION("SW1:5,6")
+ PORT_DIPSETTING( 0x00, "250-50-20-8-6-4-3-2-1 / Jacks / Dealer Keeps Tier" )
+ PORT_DIPSETTING( 0x10, "250-50-25-10-8-5-3-2-1 / Aces" )
+ PORT_DIPSETTING( 0x20, "200-40-10-8-5-4-3-2-1 / Queens/ 2 to 1" )
+ PORT_DIPSETTING( 0x30, "200-40-10-8-5-4-3-2-1 / Kings / 3 to 1" )
+ PORT_DIPNAME( 0xc0, 0xc0, "Lockout" ) PORT_DIPLOCATION("SW1:7,8")
+ PORT_DIPSETTING( 0xc0, "No Lockout" )
+ PORT_DIPSETTING( 0x80, "No Lockout" )
+ PORT_DIPSETTING( 0x40, "1 Coin Lockout" )
+ PORT_DIPSETTING( 0x00, "2 Coin Lockout" )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 25, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 25, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 25, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( arcadebj )
PORT_START("IN0-0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1671,12 +1998,12 @@ static INPUT_PORTS_START( arcadebj )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1691,7 +2018,7 @@ static INPUT_PORTS_START( arcadebj )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service/Clear") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service/Clear") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -1787,8 +2114,21 @@ static INPUT_PORTS_START( arcadebj )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( comg074 )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
@@ -1796,37 +2136,37 @@ static INPUT_PORTS_START( comg074 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Draw")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel Discards")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN0-0-6")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hand Pay") PORT_CODE(KEYCODE_W)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1-2") PORT_CODE(KEYCODE_2_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Open")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") // in some games you need to open the door first
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN0-1-5")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN0-1-6")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN0-3-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN0-3-5")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN0-3-6")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -1917,11 +2257,24 @@ static INPUT_PORTS_START( comg074 )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( comg076 )
PORT_START("IN0-0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Draw")
@@ -1941,21 +2294,21 @@ static INPUT_PORTS_START( comg076 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN0-3")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -2045,9 +2398,166 @@ static INPUT_PORTS_START( comg076 )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( biggame )
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // 5 credits by coin.
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // 10 credits by coin.
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play/Bet")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START ) PORT_NAME("Start")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Select 1") PORT_CODE(KEYCODE_Z)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Select 2") PORT_CODE(KEYCODE_X)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Select 3") PORT_CODE(KEYCODE_C)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+/* SW1-5 should be wired to PIA0 portA, bit 6.
+ SW1-6 should be wired to H-POL.
+ SW1-7 should be wired to V-POL.
+*/
+ PORT_START("SW1") // settings (PIA1), SW2 in schematics
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L6
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L7
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L8
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L9
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x00, "Coin A: 1; Coin B: 10" )
+ PORT_DIPSETTING( 0x80, "Coin A: 5; Coin B: 10" )
+
+ PORT_START("SW2") // baud (serial 6850-4024), SW1 in schematics...
+ PORT_DIPNAME( 0x3f, 0x08, "Baud Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4,5,6")
+ PORT_DIPSETTING( 0x01, "300" )
+ PORT_DIPSETTING( 0x02, "600" )
+ PORT_DIPSETTING( 0x04, "1200" )
+ PORT_DIPSETTING( 0x08, "2400" )
+ PORT_DIPSETTING( 0x10, "4800" )
+ PORT_DIPSETTING( 0x20, "9600" )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW3") // unknown (ay8912), SW3 in schematics
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("FRQ") // settings (PIA0)
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
+ PORT_DIPSETTING( 0x80, "60Hz." )
+ PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 50, "BLUE Preset" )
+
INPUT_PORTS_END
-static INPUT_PORTS_START( nudgensw ) // nudge bingo
+
+static INPUT_PORTS_START( nudgensw ) // nudge bingo
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Nudge 1 Up") PORT_CODE(KEYCODE_A)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Nudge 2 Up") PORT_CODE(KEYCODE_S)
@@ -2176,14 +2686,27 @@ static INPUT_PORTS_START( nudgensw ) // nudge bingo
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 0, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( nudgesw )
PORT_INCLUDE( nudgensw )
PORT_MODIFY("SW1") // settings (PIA1), SW2 in schematics
- PORT_DIPNAME( 0xc0, 0xc0, "Bet Options" ) PORT_DIPLOCATION("SW2:3,4")
+ PORT_DIPNAME( 0xc0, 0xc0, "Bet Options" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "Play 1" )
PORT_DIPSETTING( 0x40, "Play 1 to 3" )
PORT_DIPSETTING( 0x80, "Play 1 to 4" )
@@ -2191,6 +2714,150 @@ static INPUT_PORTS_START( nudgesw )
INPUT_PORTS_END
+static INPUT_PORTS_START( hotline ) // nudge bingo
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Up 1") PORT_CODE(KEYCODE_A)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Up 2") PORT_CODE(KEYCODE_S)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Up 3") PORT_CODE(KEYCODE_D)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Up 4") PORT_CODE(KEYCODE_F)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Up 5") PORT_CODE(KEYCODE_G)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Credits") PORT_IMPULSE(2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Learn") PORT_CODE(KEYCODE_0)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Data") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Audit") PORT_CODE(KEYCODE_9)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Down 1") PORT_CODE(KEYCODE_Z)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Down 2") PORT_CODE(KEYCODE_X)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Down 3") PORT_CODE(KEYCODE_C)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Down 4") PORT_CODE(KEYCODE_V)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Move Down 5") PORT_CODE(KEYCODE_B)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // connected to SW2-5
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+/* SW1-5 should be wired to PIA0 portA, bit 6.
+ SW1-6 should be wired to H-POL.
+ SW1-7 should be wired to V-POL.
+*/
+ PORT_START("SW1") // settings (PIA1), SW2 in schematics
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L6
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L7
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L8
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L9
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW2") // baud (serial 6850-4024), SW1 in schematics...
+ PORT_DIPNAME( 0x3f, 0x08, "Baud Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4,5,6")
+ PORT_DIPSETTING( 0x01, "300" )
+ PORT_DIPSETTING( 0x02, "600" )
+ PORT_DIPSETTING( 0x04, "1200" )
+ PORT_DIPSETTING( 0x08, "2400" )
+ PORT_DIPSETTING( 0x10, "4800" )
+ PORT_DIPSETTING( 0x20, "9600" )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW3") // unknown (ay8912), SW3 in schematics
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("FRQ") // settings (PIA0)
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
+ PORT_DIPSETTING( 0x80, "60Hz." )
+ PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 0, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
static INPUT_PORTS_START( comg128 )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
@@ -2319,8 +2986,21 @@ static INPUT_PORTS_START( comg128 )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( comg157 )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin-In A")
@@ -2422,8 +3102,21 @@ static INPUT_PORTS_START( comg157 )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( comg159 )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
@@ -2490,8 +3183,21 @@ static INPUT_PORTS_START( comg159 )
PORT_DIPSETTING( 0x80, "Queens" )
PORT_DIPSETTING( 0xc0, "Kings" )
PORT_DIPSETTING( 0x40, "Aces" )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( comg172 )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
@@ -2558,6 +3264,18 @@ static INPUT_PORTS_START( comg172 )
PORT_DIPSETTING( 0x40, "No Lockout" )
PORT_DIPSETTING( 0x80, "1-Coin Lockout" )
PORT_DIPSETTING( 0x00, "2-Coin Lockout" )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
@@ -2653,8 +3371,21 @@ static INPUT_PORTS_START( elgrande )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 0, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( jjpoker )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
@@ -2747,8 +3478,21 @@ static INPUT_PORTS_START( jjpoker )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 0, "BLUE Preset" )
+
INPUT_PORTS_END
+
static INPUT_PORTS_START( ssipkr )
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
@@ -2841,6 +3585,100 @@ static INPUT_PORTS_START( ssipkr )
PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
PORT_DIPSETTING( 0x80, "60Hz." )
PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 0, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( comg204 )
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Draw")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hit (Pedir)") PORT_CODE(KEYCODE_V)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) PORT_NAME("Stand")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Learn") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clr Data") PORT_CODE(KEYCODE_0)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Audit") PORT_CODE(KEYCODE_9)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin-In A") PORT_IMPULSE(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin-In B") PORT_IMPULSE(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ // For System 905, SW1 uses the whole PIA1 portA.
+
+ PORT_START("SW1") // settings (PIA1)
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
@@ -2938,6 +3776,18 @@ static INPUT_PORTS_START( stand906 )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
@@ -3034,6 +3884,18 @@ static INPUT_PORTS_START( cas21iwc )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
INPUT_PORTS_END
@@ -3130,9 +3992,275 @@ static INPUT_PORTS_START( pokeriwc )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 0, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 0, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 75, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( pixels ) // sys905
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Bounce 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Bounce 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Bounce 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Bounce 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Bounce 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play/Bet")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Go/Start")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Learn") PORT_CODE(KEYCODE_0)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Clear Data") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Audit") PORT_CODE(KEYCODE_9)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Return") PORT_CODE(KEYCODE_R)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Stay") PORT_CODE(KEYCODE_S)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt") PORT_CODE(KEYCODE_T)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Female") PORT_CODE(KEYCODE_F)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Male") PORT_CODE(KEYCODE_G)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ // For System 905, SW1 uses the whole PIA1 portA.
+
+ PORT_START("SW1") // settings (PIA1)
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW3") // unknown (ay8912), SW3 in schematics
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 100, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 50, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 50, "BLUE Preset" )
+
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( pix903 ) // Pixels, sys903
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // credits
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Go/Start")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Return/Cancel")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Bounce 1")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Bounce 2")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Bounce 3")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Bounce 4")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Bounce 5")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Tilt/Clear") PORT_CODE(KEYCODE_8)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play/Bet")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Female") PORT_CODE(KEYCODE_F)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Male") PORT_CODE(KEYCODE_G)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+/* SW1-5 should be wired to PIA0 portA, bit 6.
+ SW1-6 should be wired to H-POL.
+ SW1-7 should be wired to V-POL.
+*/
+ PORT_START("SW1") // settings (PIA1), SW2 in schematics
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L6
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L7
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L8
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // L9
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW2") // baud (serial 6850-4024), SW1 in schematics...
+ PORT_DIPNAME( 0x3f, 0x08, "Baud Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4,5,6")
+ PORT_DIPSETTING( 0x01, "300" )
+ PORT_DIPSETTING( 0x02, "600" )
+ PORT_DIPSETTING( 0x04, "1200" )
+ PORT_DIPSETTING( 0x08, "2400" )
+ PORT_DIPSETTING( 0x10, "4800" )
+ PORT_DIPSETTING( 0x20, "9600" )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW3") // unknown (ay8912), SW3 in schematics
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("FRQ") // settings (PIA0)
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "Frequency" ) PORT_DIPLOCATION("FRQ:1")
+ PORT_DIPSETTING( 0x80, "60Hz." )
+ PORT_DIPSETTING( 0x00, "50Hz." )
+
+// RGB analogic pots (defaults are in %)
+
+ PORT_START("POT1_RED")
+ PORT_ADJUSTER( 100, "RED Preset" )
+
+ PORT_START("POT2_GREEN")
+ PORT_ADJUSTER( 50, "GREEN Preset" )
+
+ PORT_START("POT3_BLUE")
+ PORT_ADJUSTER( 50, "BLUE Preset" )
+
INPUT_PORTS_END
+
/*************************************************
* Graphics Layouts *
*************************************************/
@@ -3372,20 +4500,22 @@ GFXDECODE_END
* ACIA Interface *
*************************************************/
-WRITE_LINE_MEMBER(calomega_state::write_acia_tx)
+WRITE_LINE_MEMBER(calomega_state::write_acia_clock)
{
- m_tx_line = state;
+ m_acia6850[0]->write_txc(state);
+ m_acia6850[0]->write_rxc(state);
+ update_aciabaud_scale(0);
}
-WRITE_LINE_MEMBER(calomega_state::write_acia_clock)
+WRITE_LINE_MEMBER(calomega_state::w_903kb_acia_clock)
{
- m_acia6850_0->write_txc(state);
- m_acia6850_0->write_rxc(state);
-
+ m_acia6850[0]->write_txc(state);
+ m_acia6850[0]->write_rxc(state);
+ m_uart->write_txc(state);
+ m_uart->write_rxc(state);
update_aciabaud_scale(0);
}
-
/*************************************************
* Machine Drivers *
*************************************************/
@@ -3404,15 +4534,17 @@ void calomega_state::sys903(machine_config &config)
m_pia[0]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Debug: to assign lamps/counters/solenids/hopper????
m_pia[0]->writepb_handler().set(FUNC(calomega_state::lamps_903a_w));
m_pia[0]->readca1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA)
+ m_pia[0]->readcb1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA)
m_pia[0]->irqa_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU)
+ m_pia[0]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU)
PIA6821(config, m_pia[1], 0);
m_pia[1]->readpa_handler().set_ioport("SW1");
- m_pia[1]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: so much need to read????? :)
+ m_pia[1]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: unknown reads.
m_pia[1]->writepa_handler().set(FUNC(calomega_state::lamps_903b_w));
m_pia[1]->writepb_handler().set(FUNC(calomega_state::s903_mux_w)); // Mux. Scan Lines.(Upper nibble) - Hopper b0-b1 (Lower Nibble).
- m_pia[1]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); //
- m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); //
+ m_pia[1]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M4 pulsed out
+ m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M5 pulsed out
m_pia[1]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA)
m_pia[1]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // V_BLANK Interrupt Event. (PIA -> CPU)
@@ -3440,9 +4572,9 @@ void calomega_state::sys903(machine_config &config)
ay8912.port_a_read_callback().set_ioport("SW3"); // from schematics
ay8912.add_route(ALL_OUTPUTS, "mono", 0.75);
- // acia
- ACIA6850(config, m_acia6850_0, 0);
- m_acia6850_0->txd_handler().set(FUNC(calomega_state::write_acia_tx));
+ // acia 0
+ ACIA6850(config, m_acia6850[0], 0);
+ m_acia6850[0]->irq_handler().set_inputline("maincpu", M6502_IRQ_LINE);
clock_device &aciabaud(CLOCK(config, "aciabaud", UART_CLOCK));
aciabaud.signal_handler().set(FUNC(calomega_state::write_acia_clock));
@@ -3453,12 +4585,89 @@ void calomega_state::sys903(machine_config &config)
}
+void calomega_state::sys903kb(machine_config &config)
+{
+ // basic machine hardware
+ M6502(config, m_maincpu, CPU_CLOCK); // confirmed
+ m_maincpu->set_addrmap(AS_PROGRAM, &calomega_state::sys903_map);
+
+ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+
+ I8035(config, m_kstec, XTAL(5'185'000)); // from schematics
+ m_kstec->set_addrmap(AS_PROGRAM, &calomega_state::kstec_mem_map);
+ m_kstec->set_addrmap(AS_IO, &calomega_state::kstec_io_map);
+ m_kstec->p2_out_cb().set([this] (int data) { calomega_state::m_kbscan = (data & 0xf0) >> 4; }); // set keyboard scan lines
+ m_kstec->p1_in_cb().set(FUNC(calomega_state::keyb_903_r)); // get keyboard input lines
+ m_kstec->t0_in_cb().set("uart", FUNC(i8251_device::txrdy_r)); // uart tx handshake
+ m_kstec->t1_in_cb().set([this] () { return calomega_state::m_rxrdy; }); // uart rx handshake
+
+ PIA6821(config, m_pia[0], 0);
+ m_pia[0]->readpa_handler().set(FUNC(calomega_state::s903_mux_port_r));
+ m_pia[0]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: some dipsw maybe???
+ m_pia[0]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Debug: to assign lamps/counters/solenids/hopper????
+ m_pia[0]->writepb_handler().set(FUNC(calomega_state::lamps_903a_w));
+ m_pia[0]->readca1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA)
+ m_pia[0]->readcb1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA)
+ m_pia[0]->irqa_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU)
+ m_pia[0]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU)
+
+ PIA6821(config, m_pia[1], 0);
+ m_pia[1]->readpa_handler().set_ioport("SW1");
+ m_pia[1]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: unknown reads.
+ m_pia[1]->writepa_handler().set(FUNC(calomega_state::lamps_903b_w));
+ m_pia[1]->writepb_handler().set(FUNC(calomega_state::s903_mux_w)); // Mux. Scan Lines.(Upper nibble) - Hopper b0-b1 (Lower Nibble).
+ m_pia[1]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M4 pulsed out
+ m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M5 pulsed out
+ m_pia[1]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA)
+ m_pia[1]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // V_BLANK Interrupt Event. (PIA -> CPU)
+
+ // video hardware
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(100));
+ screen.set_size((39+1)*8, (31+1)*8); // Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1).
+ screen.set_visarea(0*8, 32*8-1, 0*8, 31*8-1); // Taken from MC6845 init, registers 01 & 06.
+ screen.set_screen_update(FUNC(calomega_state::screen_update_calomega));
+
+ screen.screen_vblank().set(FUNC(calomega_state::vblank0_w));
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_calomega);
+ PALETTE(config, m_palette, FUNC(calomega_state::calomega_palette), 256);
+
+ mc6845_device &crtc(MC6845(config, "crtc", CPU_CLOCK)); // 6845 @ CPU clock
+ crtc.set_screen("screen");
+ crtc.set_show_border_area(false);
+ crtc.set_char_width(8);
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center();
+ ay8912_device &ay8912(AY8912(config, "ay8912", SND_CLOCK)); // confirmed
+ ay8912.port_a_read_callback().set_ioport("SW3"); // from schematics
+ ay8912.add_route(ALL_OUTPUTS, "mono", 0.75);
+
+ // acia 0
+ ACIA6850(config, m_acia6850[0], 0);
+ m_acia6850[0]->txd_handler().set("uart", FUNC(i8251_device::write_rxd));
+ m_acia6850[0]->irq_handler().set_inputline("maincpu", M6502_IRQ_LINE);
+
+ I8251(config, m_uart, 5'185'000);
+ m_uart->txd_handler().set("acia6850_0", FUNC(acia6850_device::write_rxd));
+ m_uart->rxrdy_handler().set([this] (int state) { calomega_state::m_rxrdy = state;});
+
+ clock_device &aciabaud(CLOCK(config, "aciabaud", UART_CLOCK));
+ aciabaud.signal_handler().set(FUNC(calomega_state::w_903kb_acia_clock));
+
+ TIMER(config, "timer_0").configure_periodic(FUNC(calomega_state::timer_0), attotime::from_hz(550*2)); // (time*2) - Each timer pulse -> half period
+
+ HOPPER(config, m_hopper, attotime::from_msec(50), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH );
+}
+
+
void calomega_state::s903mod(machine_config &config)
{
sys903(config);
// basic machine hardware
-
m_maincpu->set_addrmap(AS_PROGRAM, &calomega_state::s903mod_map);
// sound hardware
@@ -3474,7 +4683,6 @@ void calomega_state::sys905(machine_config &config)
sys903(config);
// basic machine hardware
-
m_maincpu->set_addrmap(AS_PROGRAM, &calomega_state::sys905_map);
// video hardware
@@ -3488,20 +4696,13 @@ void calomega_state::sys905(machine_config &config)
screen.screen_vblank().set(FUNC(calomega_state::vblank1_w));
PIA6821(config.replace(), m_pia[0], 0);
- m_pia[0]->readpa_handler().set(FUNC(calomega_state::s905_mux_port_r)); // Mux. Button read.
- m_pia[0]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Bit 7 & 6 as output. (Watchdog & Bat. Test control) - Ignored
+ m_pia[0]->readpa_handler().set(FUNC(calomega_state::s905_mux_port_r)); // Muxed inputs read.
m_pia[0]->writepb_handler().set(FUNC(calomega_state::lamps_905_w)); // Full Lamps - OK.
- m_pia[0]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA)
- m_pia[0]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // No connected (from schematics).
m_pia[0]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // V_BLANK Interrupt Event. (PIA -> CPU)
PIA6821(config.replace(), m_pia[1], 0);
m_pia[1]->readpa_handler().set_ioport("SW1"); // Full port.
- //m_pia[1]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: so much need to read????? :)
- //m_pia[1]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Debug: to assign lamps/counters/solenids/hopper????
m_pia[1]->writepb_handler().set(FUNC(calomega_state::s905_mux_w)); // Mux. Scan Lines.(Lower Nibble). Hopper & Coin Lockout (Upper nibble).
- m_pia[1]->readcb1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA)
- m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // No connected (from schematics).
m_pia[1]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU)
// sound hardware
@@ -3513,6 +4714,7 @@ void calomega_state::sys905(machine_config &config)
config.device_remove("aciabaud");
}
+
void calomega_state::sys906(machine_config &config)
{
sys903(config);
@@ -3531,7 +4733,6 @@ void calomega_state::sys906(machine_config &config)
screen.screen_vblank().set(FUNC(calomega_state::vblank2_w));
PIA6821(config.replace(), m_pia[0], 0);
m_pia[0]->readpa_handler().set_ioport("SW1"); // Bit 7 - CGBANK ???? input?-output?
- //m_pia[0]->readpb_handler().set(FUNC(calomega_state::pia0_bin_r)); // No inputs on port_B
m_pia[0]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // Ignored
m_pia[0]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // Diverter
m_pia[0]->writepa_handler().set(FUNC(calomega_state::pia0_aout_w)); // Bit 7 - CGBANK ???? input?-output?
@@ -3586,8 +4787,8 @@ ROM_START( comg074 ) // Cal Omega v7.4 (Gaming Poker)
ROM_LOAD( "poker_cg2b.u69", 0x0800, 0x0800, CRC(6bbb1e2d) SHA1(51ee282219bf84218886ad11a24bc6a8e7337527) )
ROM_LOAD( "poker_cg2a.u68", 0x1000, 0x0800, CRC(6e3e9b1d) SHA1(14eb8d14ce16719a6ad7d13db01e47c8f05955f0) )
- ROM_REGION( 0x100, "proms", 0 ) // from other set
- ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, BAD_DUMP CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+ ROM_REGION( 0x100, "proms", 0 )
+ ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
ROM_END
ROM_START( comg076 ) // Cal Omega v7.6 (Arcade Poker)
@@ -3612,7 +4813,7 @@ ROM_END
ROM_START( comg079 ) // Cal Omega v7.9 (Arcade Poker)
/* The original code jumps to $2e64 where there's an inexistent mnemonic 0x32! (kill).
- Also writes to $axxx (inexistent) and $08fx-$09xx (supposed to be $0880-$0881).
+ Also writes to $axxx (inexistent) and $08fx-$09xx (supposed to be $0880-$0881).
Found damaged bits on this program ROM. Fix details on init().
*/
ROM_REGION( 0x10000, "maincpu", 0 )
@@ -3673,6 +4874,9 @@ ROM_START( comg094 ) // Cal Omega v9.4 (Keno)
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
ROM_START( comg107 ) // Cal Omega v10.7c (Big Game)
@@ -3691,11 +4895,8 @@ ROM_START( comg107 ) // Cal Omega v10.7c (Big Game)
ROM_LOAD( "lotcgb.u69", 0x1000, 0x1000, CRC(5bda0f42) SHA1(d4b3340e9c8ca49483fa846103f0bd81d57a5ab3) )
ROM_LOAD( "lotcga.u68", 0x2000, 0x1000, CRC(0975e360) SHA1(7b9dbbae50c43ad99ee11798ada0a44e71c611f9) )
- ROM_REGION( 0x0800, "user1", 0 ) // keyboard interfase ROM
- ROM_LOAD( "lotkbd.sub", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
-
ROM_REGION( 0x100, "proms", 0 )
- ROM_LOAD( "bclr.u28", 0x0000, 0x0100, CRC(0ec45d01) SHA1(da73ae7e1c74913921dc378a97795c6da47dcbfb) )
+ ROM_LOAD( "bgclr.u28", 0x0000, 0x0100, CRC(6c2d44c5) SHA1(01412dbb9e8e30f01cc24fbf900c02eaf8956622) )
ROM_END
ROM_START( comg123 ) // Cal Omega v12.3 (Ticket Poker)
@@ -3756,6 +4957,9 @@ ROM_START( comg127 ) // Cal Omega v12.7 (Keno)
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
ROM_START( comg128 ) // Cal Omega v12.8 (Arcade Game)
@@ -3799,12 +5003,12 @@ ROM_START( comg134 ) // Cal Omega 13.4 (Nudge Keno)
ROM_END
ROM_START( comg145 ) // Cal Omega v14.5 (Pixels)
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "14-51.u5", 0x1800, 0x0800, CRC(b173af4b) SHA1(2fd7d391c765e8e5bf148d92223ffc2a2619dcfd) )
- ROM_LOAD( "14-52.u6", 0x2000, 0x0800, CRC(f12434c5) SHA1(f957831867cc8c98fb479cd2d859790d19883d26) )
- ROM_LOAD( "14-53.u7", 0x2800, 0x0800, CRC(3b22802b) SHA1(8cc563e79fd90873132e358f2ce5942ddbd65144) )
- ROM_LOAD( "14-54.u8", 0x3000, 0x0800, CRC(8a230410) SHA1(4ff31869a7389af20f6557d9306f19a5d3ba5766) )
- ROM_LOAD( "14-55.u9", 0x3800, 0x0800, CRC(0e6e7413) SHA1(6e2b37f6cbb49ce3e0111777a3b197f5b2012ed0) )
+ ROM_REGION( 0x10000, "maincpu", 0 ) // the set doesn't pass the checksum, so needs a redump.
+ ROM_LOAD( "14-51.u5", 0x1800, 0x0800, BAD_DUMP CRC(b173af4b) SHA1(2fd7d391c765e8e5bf148d92223ffc2a2619dcfd) )
+ ROM_LOAD( "14-52.u6", 0x2000, 0x0800, BAD_DUMP CRC(f12434c5) SHA1(f957831867cc8c98fb479cd2d859790d19883d26) )
+ ROM_LOAD( "14-53.u7", 0x2800, 0x0800, BAD_DUMP CRC(3b22802b) SHA1(8cc563e79fd90873132e358f2ce5942ddbd65144) )
+ ROM_LOAD( "14-54.u8", 0x3000, 0x0800, BAD_DUMP CRC(8a230410) SHA1(4ff31869a7389af20f6557d9306f19a5d3ba5766) )
+ ROM_LOAD( "14-55.u9", 0x3800, 0x0800, BAD_DUMP CRC(0e6e7413) SHA1(6e2b37f6cbb49ce3e0111777a3b197f5b2012ed0) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "pxcg0.u67", 0x0000, 0x0800, CRC(4b487d88) SHA1(ae8bf1c84c475a70ea98eb8419a920389bac1761) )
@@ -3876,6 +5080,9 @@ ROM_START( comg164 ) // Cal Omega v16.4 (Keno)
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
ROM_START( comg168 ) // Cal Omega v16.8 (Keno)
@@ -3896,6 +5103,9 @@ ROM_START( comg168 ) // Cal Omega v16.8 (Keno)
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
ROM_START( comg172 ) // Cal Omega v17.2 (Double Double Poker)
@@ -3998,6 +5208,26 @@ ROM_START( comg183 ) // Cal Omega v18.3 (Pixels)
ROM_LOAD( "pixclr.u28", 0x0000, 0x0100, CRC(67d23e76) SHA1(826cf77ca5a4d492d66e45ee96a7780a94fbe634) )
ROM_END
+ROM_START( comg184 ) // Cal Omega v18.4 (Pixels)
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_FILL( 0x3000, 0x1000, 0xff ) // empty socket
+ ROM_LOAD( "18-42.u6", 0x4000, 0x1000, CRC(b80f6912) SHA1(8675ebb57aa9f7d9dfa38920e31bc9d0824eeaac) )
+ ROM_LOAD( "18-43.u7", 0x5000, 0x1000, CRC(bb68fabc) SHA1(35b4bd0b1a9aa432fe1e341c63d839c3834b8684) )
+ ROM_LOAD( "18-44.u8", 0x6000, 0x1000, CRC(5ef0b953) SHA1(6da595404505fe50bf52bcb720ec46ca020dec97) )
+ ROM_LOAD( "18-45.u9", 0x7000, 0x1000, CRC(bc56398d) SHA1(9c6e328f2c81b57d797e9db4b083d1974fa1d159) )
+
+ ROM_REGION( 0x1000, "gfx1", 0 )
+ ROM_LOAD( "pxcg0.u67", 0x0000, 0x0800, CRC(4b487d88) SHA1(ae8bf1c84c475a70ea98eb8419a920389bac1761) )
+
+ ROM_REGION( 0x3000, "gfx2", 0 )
+ ROM_LOAD( "pxcgc.u70", 0x0000, 0x1000, CRC(9750eea2) SHA1(4f8b04a161501840ad2576379f23e8be2d46a488) )
+ ROM_LOAD( "pxcgb.u69", 0x1000, 0x1000, CRC(a3bed6b1) SHA1(078cface4af9720bee3288f5f0236725c8bfb575) )
+ ROM_LOAD( "pxcga.u68", 0x2000, 0x1000, CRC(d80f064a) SHA1(1b22ca3e446ed3c6fb49a90c463394dec96bc4ec) )
+
+ ROM_REGION( 0x100, "proms", 0 )
+ ROM_LOAD( "pixclr.u28", 0x0000, 0x0100, CRC(67d23e76) SHA1(826cf77ca5a4d492d66e45ee96a7780a94fbe634) )
+ROM_END
+
ROM_START( comg185 ) // Cal Omega v18.5 (Pixels)
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_FILL( 0x3000, 0x1000, 0xff ) // empty socket
@@ -4080,7 +5310,7 @@ ROM_END
ROM_START( comg208 ) // Cal Omega v20.8 (Winner's Choice)
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "20-81.u5", 0x3000, 0x1000, CRC(938be03a) SHA1(606252b5160a7af340faa3d4ed6af9dff849c9ac) )
+ ROM_LOAD( "20-81.u5", 0x3000, 0x1000, CRC(b042de4d) SHA1(6de8e5ca45fe8159d30da2754fab818e84bbcc0c) )
ROM_LOAD( "20-82.u6", 0x4000, 0x1000, CRC(7d42257c) SHA1(f1487bcc2475d1bcdfbc9bf866adcb0d510acef5) )
ROM_LOAD( "20-83.u7", 0x5000, 0x1000, CRC(b3b25958) SHA1(096f010db3164579ba81851a3f1062df0f46fc0f) )
ROM_LOAD( "20-84.u8", 0x6000, 0x1000, CRC(0bfb9f9d) SHA1(4a3c1e88faa90a9f4a483b053beb2c8af688d52d) )
@@ -4095,14 +5325,14 @@ ROM_START( comg208 ) // Cal Omega v20.8 (Winner's Choice)
ROM_LOAD( "mlt2cga.u68", 0x2000, 0x1000, CRC(b7397d3a) SHA1(f35607a4cd60e4467e27474e8063b7a7a4a65d9f) )
ROM_REGION( 0x100, "proms", 0 )
- ROM_LOAD( "mltclr.u28", 0x0000, 0x0100, CRC(fefb0fa8) SHA1(66d86aa19d9d37ffd2840d6653fcec667bc716d4) )
+ ROM_LOAD( "mltclr.u28", 0x0000, 0x0100, CRC(ab8960a6) SHA1(2414b445739860a0c3e533f2992291ff8a471d76) )
ROM_END
ROM_START( comg227 ) // Cal Omega v22.7 (Amusement Poker (Double Double))
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_FILL( 0x3000, 0x1000, 0xff ) // empty socket
ROM_FILL( 0x4000, 0x1000, 0xff ) // empty socket
- ROM_LOAD( "22-73.u7", 0x5000, 0x1000, CRC(152d1ff9) SHA1(8bbfea1bae9e4fe2a2ac52507dc8dd0e33fbbd06) )
+ ROM_LOAD( "22-73.u7", 0x5000, 0x1000, BAD_DUMP CRC(152d1ff9) SHA1(8bbfea1bae9e4fe2a2ac52507dc8dd0e33fbbd06) )
ROM_LOAD( "22-74.u8", 0x6000, 0x1000, CRC(3af0f69d) SHA1(c34a0eab3ad4e4db310727805ba1ddc73533bfa6) )
ROM_LOAD( "22-75.u9", 0x7000, 0x1000, CRC(d1f3fe24) SHA1(8b43b521fb1be8ef4286b4bfee99b654c49cf9de) )
@@ -4269,6 +5499,9 @@ ROM_START( comg272a ) // Cal Omega v27.2 (Keno (amusement))
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
ROM_START( comg272b ) // Cal Omega v27.2 (Keno (gaming))
@@ -4289,6 +5522,9 @@ ROM_START( comg272b ) // Cal Omega v27.2 (Keno (gaming))
ROM_REGION( 0x100, "proms", 0 )
ROM_LOAD( "pokclr.u28", 0x0000, 0x0100, CRC(a8191ef7) SHA1(d6f777980179ab091e2713ee815d46bf9c0ac486) )
+
+ ROM_REGION(0x1000, "kstec", 0)
+ ROM_LOAD( "903kstec.0", 0x0000, 0x0800, CRC(c1636ab5) SHA1(5a3ad24918751ca6a6640807e421e80f6b4cc844) )
ROM_END
/*
@@ -4610,153 +5846,135 @@ ROM_END
* Driver Init *
*************************************************/
-void calomega_state::init_sys903()
-{
- save_item(NAME(m_tx_line));
- save_item(NAME(m_s903_mux_data));
-}
-
-void calomega_state::init_s903mod()
-{
- save_item(NAME(m_s903_mux_data));
-}
-
-void calomega_state::init_sys905()
-{
- save_item(NAME(m_s905_mux_data));
-}
-
void calomega_state::init_comg079()
{
uint8_t *PRGROM = memregion( "maincpu" )->base();
PRGROM[0x2ad2] = 0x00; // checksum flag (0xe0)
- PRGROM[0x2CD1] = 0x33;
- PRGROM[0x2CD3] = 0x5A;
- PRGROM[0x2CD5] = 0x76;
- PRGROM[0x2CD9] = 0x13;
- PRGROM[0x2CDB] = 0x30;
- PRGROM[0x2CDD] = 0x06;
- PRGROM[0x2D01] = 0x10;
- PRGROM[0x2D06] = 0x36;
- PRGROM[0x2D07] = 0x20;
- PRGROM[0x2D08] = 0x7D;
- PRGROM[0x2D09] = 0x3D;
- PRGROM[0x2D0A] = 0x60;
- PRGROM[0x2D30] = 0x26;
- PRGROM[0x2D31] = 0x00;
- PRGROM[0x2D33] = 0x00;
- PRGROM[0x2D35] = 0x25;
- PRGROM[0x2D36] = 0x00;
- PRGROM[0x2D37] = 0x4C;
- PRGROM[0x2D39] = 0x34;
- PRGROM[0x2D3B] = 0x00;
- PRGROM[0x2D3C] = 0x38;
- PRGROM[0x2D3E] = 0x40;
- PRGROM[0x2D3F] = 0x48;
- PRGROM[0x2D41] = 0x01;
- PRGROM[0x2D44] = 0x48;
- PRGROM[0x2D46] = 0x02;
- PRGROM[0x2D48] = 0x0F;
- PRGROM[0x2D4A] = 0x0B;
- PRGROM[0x2D4C] = 0x02;
- PRGROM[0x2D4F] = 0x01;
- PRGROM[0x2D50] = 0x68;
- PRGROM[0x2D52] = 0x00;
- PRGROM[0x2D53] = 0x4C;
- PRGROM[0x2D54] = 0x3A;
- PRGROM[0x2D55] = 0x2D;
- PRGROM[0x2D56] = 0x68;
- PRGROM[0x2D57] = 0x68;
- PRGROM[0x2D58] = 0x60;
- PRGROM[0x2D5A] = 0x00;
- PRGROM[0x2D5C] = 0x06;
- PRGROM[0x2D5E] = 0x01;
- PRGROM[0x2D60] = 0x02;
- PRGROM[0x2D62] = 0x02;
- PRGROM[0x2D63] = 0x20;
- PRGROM[0x2D64] = 0x3A;
- PRGROM[0x2D65] = 0x2D;
- PRGROM[0x2D66] = 0x60;
- PRGROM[0x2D68] = 0x00;
- PRGROM[0x2D6A] = 0x08;
- PRGROM[0x2D6C] = 0x01;
- PRGROM[0x2D6E] = 0x02;
- PRGROM[0x2D79] = 0x0A;
- PRGROM[0x2D7B] = 0x06;
- PRGROM[0x2D80] = 0x78;
- PRGROM[0x2D81] = 0x2D;
- PRGROM[0x2D82] = 0x09;
- PRGROM[0x2D84] = 0x60;
- PRGROM[0x2D86] = 0x00;
- PRGROM[0x2D87] = 0xBE;
- PRGROM[0x2D88] = 0x97;
- PRGROM[0x2D89] = 0x2D;
- PRGROM[0x2D8C] = 0x97;
- PRGROM[0x2D8F] = 0x9D;
- PRGROM[0x2D90] = 0x00;
- PRGROM[0x2D98] = 0x04;
- PRGROM[0x2D9C] = 0x00;
- PRGROM[0x2DAC] = 0x04;
- PRGROM[0x2DB0] = 0x04;
- PRGROM[0x2DB4] = 0x00;
- PRGROM[0x2DB6] = 0x0F;
- PRGROM[0x2DB8] = 0x04;
- PRGROM[0x2DBC] = 0x04;
- PRGROM[0x2DD1] = 0x20;
- PRGROM[0x2DD3] = 0x00;
- PRGROM[0x2DD5] = 0x00;
- PRGROM[0x2DD6] = 0x10;
- PRGROM[0x2DD7] = 0x99;
- PRGROM[0x2DD9] = 0x11;
- PRGROM[0x2DDB] = 0x00;
- PRGROM[0x2DDD] = 0x99;
- PRGROM[0x2DDE] = 0x00;
- PRGROM[0x2DE3] = 0x8A;
- PRGROM[0x2DE5] = 0x00;
- PRGROM[0x2DE6] = 0x99;
- PRGROM[0x2DE7] = 0x00;
- PRGROM[0x2DE8] = 0x14;
- PRGROM[0x2DE9] = 0x99;
- PRGROM[0x2DEA] = 0x00;
- PRGROM[0x2DEB] = 0x15;
- PRGROM[0x2DED] = 0x00;
- PRGROM[0x2DEE] = 0x16;
- PRGROM[0x2DEF] = 0x99;
- PRGROM[0x2E01] = 0x90;
- PRGROM[0x2E03] = 0x45;
- PRGROM[0x2E05] = 0x49;
- PRGROM[0x2E06] = 0x01;
- PRGROM[0x2E07] = 0x4A;
- PRGROM[0x2E09] = 0x90;
- PRGROM[0x2E0B] = 0x91;
- PRGROM[0x2E0D] = 0x92;
- PRGROM[0x2E0F] = 0x93;
- PRGROM[0x2E30] = 0xE0;
- PRGROM[0x2E31] = 0x12;
- PRGROM[0x2E32] = 0x90;
- PRGROM[0x2E34] = 0xAD;
- PRGROM[0x2E35] = 0xC4;
- PRGROM[0x2E36] = 0x08;
- PRGROM[0x2E37] = 0x29;
- PRGROM[0x2E38] = 0x80;
- PRGROM[0x2E39] = 0xD0;
- PRGROM[0x2E3A] = 0x13;
- PRGROM[0x2E3B] = 0xA0;
- PRGROM[0x2E3C] = 0x00;
- PRGROM[0x2E3E] = 0x04;
- PRGROM[0x2E67] = 0x2E;
- PRGROM[0x2E68] = 0x8D;
- PRGROM[0x2E69] = 0x08;
- PRGROM[0x2E6A] = 0x00;
- PRGROM[0x2E6E] = 0x8D;
- PRGROM[0x2E6F] = 0x09;
+ PRGROM[0x2CD1] = 0x33;
+ PRGROM[0x2CD3] = 0x5A;
+ PRGROM[0x2CD5] = 0x76;
+ PRGROM[0x2CD9] = 0x13;
+ PRGROM[0x2CDB] = 0x30;
+ PRGROM[0x2CDD] = 0x06;
+ PRGROM[0x2D01] = 0x10;
+ PRGROM[0x2D06] = 0x36;
+ PRGROM[0x2D07] = 0x20;
+ PRGROM[0x2D08] = 0x7D;
+ PRGROM[0x2D09] = 0x3D;
+ PRGROM[0x2D0A] = 0x60;
+ PRGROM[0x2D30] = 0x26;
+ PRGROM[0x2D31] = 0x00;
+ PRGROM[0x2D33] = 0x00;
+ PRGROM[0x2D35] = 0x25;
+ PRGROM[0x2D36] = 0x00;
+ PRGROM[0x2D37] = 0x4C;
+ PRGROM[0x2D39] = 0x34;
+ PRGROM[0x2D3B] = 0x00;
+ PRGROM[0x2D3C] = 0x38;
+ PRGROM[0x2D3E] = 0x40;
+ PRGROM[0x2D3F] = 0x48;
+ PRGROM[0x2D41] = 0x01;
+ PRGROM[0x2D44] = 0x48;
+ PRGROM[0x2D46] = 0x02;
+ PRGROM[0x2D48] = 0x0F;
+ PRGROM[0x2D4A] = 0x0B;
+ PRGROM[0x2D4C] = 0x02;
+ PRGROM[0x2D4F] = 0x01;
+ PRGROM[0x2D50] = 0x68;
+ PRGROM[0x2D52] = 0x00;
+ PRGROM[0x2D53] = 0x4C;
+ PRGROM[0x2D54] = 0x3A;
+ PRGROM[0x2D55] = 0x2D;
+ PRGROM[0x2D56] = 0x68;
+ PRGROM[0x2D57] = 0x68;
+ PRGROM[0x2D58] = 0x60;
+ PRGROM[0x2D5A] = 0x00;
+ PRGROM[0x2D5C] = 0x06;
+ PRGROM[0x2D5E] = 0x01;
+ PRGROM[0x2D60] = 0x02;
+ PRGROM[0x2D62] = 0x02;
+ PRGROM[0x2D63] = 0x20;
+ PRGROM[0x2D64] = 0x3A;
+ PRGROM[0x2D65] = 0x2D;
+ PRGROM[0x2D66] = 0x60;
+ PRGROM[0x2D68] = 0x00;
+ PRGROM[0x2D6A] = 0x08;
+ PRGROM[0x2D6C] = 0x01;
+ PRGROM[0x2D6E] = 0x02;
+ PRGROM[0x2D79] = 0x0A;
+ PRGROM[0x2D7B] = 0x06;
+ PRGROM[0x2D80] = 0x78;
+ PRGROM[0x2D81] = 0x2D;
+ PRGROM[0x2D82] = 0x09;
+ PRGROM[0x2D84] = 0x60;
+ PRGROM[0x2D86] = 0x00;
+ PRGROM[0x2D87] = 0xBE;
+ PRGROM[0x2D88] = 0x97;
+ PRGROM[0x2D89] = 0x2D;
+ PRGROM[0x2D8C] = 0x97;
+ PRGROM[0x2D8F] = 0x9D;
+ PRGROM[0x2D90] = 0x00;
+ PRGROM[0x2D98] = 0x04;
+ PRGROM[0x2D9C] = 0x00;
+ PRGROM[0x2DAC] = 0x04;
+ PRGROM[0x2DB0] = 0x04;
+ PRGROM[0x2DB4] = 0x00;
+ PRGROM[0x2DB6] = 0x0F;
+ PRGROM[0x2DB8] = 0x04;
+ PRGROM[0x2DBC] = 0x04;
+ PRGROM[0x2DD1] = 0x20;
+ PRGROM[0x2DD3] = 0x00;
+ PRGROM[0x2DD5] = 0x00;
+ PRGROM[0x2DD6] = 0x10;
+ PRGROM[0x2DD7] = 0x99;
+ PRGROM[0x2DD9] = 0x11;
+ PRGROM[0x2DDB] = 0x00;
+ PRGROM[0x2DDD] = 0x99;
+ PRGROM[0x2DDE] = 0x00;
+ PRGROM[0x2DE3] = 0x8A;
+ PRGROM[0x2DE5] = 0x00;
+ PRGROM[0x2DE6] = 0x99;
+ PRGROM[0x2DE7] = 0x00;
+ PRGROM[0x2DE8] = 0x14;
+ PRGROM[0x2DE9] = 0x99;
+ PRGROM[0x2DEA] = 0x00;
+ PRGROM[0x2DEB] = 0x15;
+ PRGROM[0x2DED] = 0x00;
+ PRGROM[0x2DEE] = 0x16;
+ PRGROM[0x2DEF] = 0x99;
+ PRGROM[0x2E01] = 0x90;
+ PRGROM[0x2E03] = 0x45;
+ PRGROM[0x2E05] = 0x49;
+ PRGROM[0x2E06] = 0x01;
+ PRGROM[0x2E07] = 0x4A;
+ PRGROM[0x2E09] = 0x90;
+ PRGROM[0x2E0B] = 0x91;
+ PRGROM[0x2E0D] = 0x92;
+ PRGROM[0x2E0F] = 0x93;
+ PRGROM[0x2E30] = 0xE0;
+ PRGROM[0x2E31] = 0x12;
+ PRGROM[0x2E32] = 0x90;
+ PRGROM[0x2E34] = 0xAD;
+ PRGROM[0x2E35] = 0xC4;
+ PRGROM[0x2E36] = 0x08;
+ PRGROM[0x2E37] = 0x29;
+ PRGROM[0x2E38] = 0x80;
+ PRGROM[0x2E39] = 0xD0;
+ PRGROM[0x2E3A] = 0x13;
+ PRGROM[0x2E3B] = 0xA0;
+ PRGROM[0x2E3C] = 0x00;
+ PRGROM[0x2E3E] = 0x04;
+ PRGROM[0x2E67] = 0x2E;
+ PRGROM[0x2E68] = 0x8D;
+ PRGROM[0x2E69] = 0x08;
+ PRGROM[0x2E6A] = 0x00;
+ PRGROM[0x2E6E] = 0x8D;
+ PRGROM[0x2E6F] = 0x09;
}
void calomega_state::init_comg080()
{
- init_sys903();
-
/* Injecting missing Start and NMI vectors...
Start = $2042; NMI = $26f8;
Also a fake vector at $3ff8-$3ff9. The code checks these values to continue.
@@ -4772,6 +5990,14 @@ void calomega_state::init_comg080()
PRGROM[0x3fff] = 0x26;
}
+void calomega_state::init_comg145()
+{
+ uint8_t *PRGROM = memregion( "maincpu" )->base();
+
+ PRGROM[0x3ff8] = 0x0a; // patching the checksum error.
+ PRGROM[0x3ff9] = 0xc1; // patching the checksum error.
+}
+
void calomega_state::init_comg176()
{
uint8_t *PRGROM = memregion( "maincpu" )->base();
@@ -4784,66 +6010,67 @@ void calomega_state::init_any()
{
uint8_t *PRGROM = memregion( "maincpu" )->base();
PRGROM[0x0000] = 0x00;
-}
+}
/*************************************************
* Game Drivers *
*************************************************/
-// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1981, comg074, 0, sys903, comg074, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.4 (Gaming Poker, W.Export)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, comg076, 0, sys903, comg076, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.6 (Arcade Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, comg079, 0, sys903, comg076, calomega_state, init_comg079, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.9 (Arcade Poker)", MACHINE_SUPPORTS_SAVE ) // bad dump
-GAME( 1981, comg080, 0, sys903, arcadebj, calomega_state, init_comg080, ROT0, "Cal Omega Inc.", "Cal Omega - Game 8.0 (Arcade Black Jack)", MACHINE_SUPPORTS_SAVE ) // bad dump
-GAME( 1981, comg094, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 9.4 (Keno)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg107, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 10.7c (Big Game)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg123, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.3 (Ticket Poker)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
-GAME( 1982, comg125, 0, sys903, nudgesw, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.5 (Bingo)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg127, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.7 (Keno)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg128, 0, sys903, comg128, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.8 (Arcade Game)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg134, 0, sys903, nudgensw, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 13.4 (Nudge)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg145, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 14.5 (Pixels)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg157, 0, sys903, comg157, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.7 (Double-Draw Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg159, 0, sys905, comg159, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.9 (Wild Double-Up)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg164, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.4 (Keno)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // incomplete dump
-GAME( 1983, comg168, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.8 (Keno)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg172, 0, sys905, comg172, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.2 (Double Double Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, comg175, 0, sys903, gdrwpkrd, calomega_state, init_sys903, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 17.51 (Gaming Draw Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg176, 0, sys903, nudgensw, calomega_state, init_comg176, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.6 (Nudge)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, comg181, 0, sys903, nudgesw, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.1 (Nudge)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg183, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.3 (Pixels)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg185, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.5 (Pixels)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg186, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.6 (Pixels)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, comg187, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.7 (Amusement Poker)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
-GAME( 1984, comg204, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.4 (Super Blackjack)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1984, comg208, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.8 (Winner's Choice)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1984, comg227, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 22.7 (Amusement Poker, d/d)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1984, comg230, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.0 (FC Bingo (4-card))", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
-GAME( 1984, comg236, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.6 (Hotline)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, comg239, 0, sys903, gdrwpkrd, calomega_state, init_sys903, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 23.9 (Gaming Draw Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, comg240, 0, sys903, gdrwpkrh, calomega_state, init_sys903, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 24.0 (Gaming Draw Poker, hold)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, comg246, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - Game 24.6 (Hotline)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, comg272a, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, amusement)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, comg272b, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, gaming)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUTS */
+GAME( 1981, comg074, 0, sys903, comg074, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.4 (Gaming Poker, W.Export)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, comg076, 0, sys903, comg076, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.6 (Arcade Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, comg079, 0, sys903, comg076, calomega_state, init_comg079, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.9 (Arcade Poker)", MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1981, comg080, 0, sys903, arcadebj, calomega_state, init_comg080, ROT0, "Cal Omega Inc.", "Cal Omega - Game 8.0 (Arcade Black Jack)", MACHINE_SUPPORTS_SAVE ) // bad dump
+GAMEL( 1981, comg094, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 9.4 (Keno)", MACHINE_SUPPORTS_SAVE, layout_kenokb )
+GAME( 1982, comg107, 0, sys903, biggame, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 10.7c (Big Game)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, comg123, 0, sys903, stand903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.3 (Ticket Poker)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1982, comg125, 0, sys903, nudgesw, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.5 (Bingo)", MACHINE_SUPPORTS_SAVE )
+GAMEL( 1982, comg127, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.7 (Keno)", MACHINE_SUPPORTS_SAVE, layout_kenokb )
+GAME( 1982, comg128, 0, sys903, comg128, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.8 (Arcade Game)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, comg134, 0, sys903, nudgensw, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 13.4 (Nudge)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, comg145, 0, sys903, pix903, calomega_state, init_comg145, ROT0, "Cal Omega Inc.", "Cal Omega - Game 14.5 (Pixels)", MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1983, comg157, 0, sys903, comg157, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.7 (Double-Draw Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg159, 0, sys905, comg159, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.9 (Wild Double-Up)", MACHINE_SUPPORTS_SAVE )
+GAMEL( 1983, comg164, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.4 (Keno)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_kenokb ) // incomplete dump
+GAMEL( 1983, comg168, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.8 (Keno)", MACHINE_SUPPORTS_SAVE, layout_kenokb )
+GAME( 1983, comg172, 0, sys905, comg172, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.2 (Double Double Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, comg175, 0, sys903, gdrwpkrd, calomega_state, empty_init, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 17.51 (Gaming Draw Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, comg176, 0, sys903, nudgensw, calomega_state, init_comg176, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.6 (Nudge)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, comg181, 0, sys903, nudgesw, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.1 (Nudge)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg183, 0, sys905, pixels, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.3 (Pixels)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg184, 0, sys905, pixels, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.4 (Pixels)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg185, 0, sys905, pixels, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.5 (Pixels)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg186, 0, sys905, pixels, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.6 (Pixels)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, comg187, 0, sys905, stand905, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.7 (Amusement Poker)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1984, comg204, 0, sys905, comg204, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.4 (Super Blackjack)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, comg208, 0, sys905, comg208 , calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.8 (Winner's Choice)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, comg227, 0, sys905, stand905, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 22.7 (Amusement Poker, d/d)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1984, comg230, 0, sys905, stand905, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.0 (FC Bingo (4-card))", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump
+GAME( 1984, comg236, 0, sys905, hotline, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.6 (Hotline)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, comg239, 0, sys903, gdrwpkrd, calomega_state, empty_init, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 23.9 (Gaming Draw Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, comg240, 0, sys903, gdrwpkrh, calomega_state, empty_init, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 24.0 (Gaming Draw Poker, hold)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, comg246, 0, sys905, hotline, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 24.6 (Hotline)", MACHINE_SUPPORTS_SAVE )
+GAMEL( 1985, comg272a, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, amusement)", MACHINE_SUPPORTS_SAVE, layout_kenokb )
+GAMEL( 1985, comg272b, 0, sys903kb, keno_903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, gaming)", MACHINE_SUPPORTS_SAVE, layout_kenokb )
//************ Diagnostic Sets ************
-GAME( 198?, comg903d, 0, sys903, stand903, calomega_state, init_sys903, ROT0, "Cal Omega Inc.", "Cal Omega - System 903 Diag.PROM", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 198?, comg905d, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - System 905 Diag.PROM", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 198?, comg903d, 0, sys903, stand903, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - System 903 Diag.PROM", MACHINE_SUPPORTS_SAVE )
+GAME( 198?, comg905d, 0, sys905, stand905, calomega_state, empty_init, ROT0, "Cal Omega Inc.", "Cal Omega - System 905 Diag.PROM", MACHINE_SUPPORTS_SAVE )
//************* 906-III games **************
-GAME( 1988, comg5107, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.07 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, comg5108, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.08 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, comg5107, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.07 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, comg5108, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.08 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE )
//****** Unofficial 903/904/905 3rd part games *******
-GAME( 1982, elgrande, 0, s903mod, elgrande, calomega_state, init_s903mod, ROT0, "Enter-Tech, Ltd. / Tuni Electro Service", "El Grande - 5 Card Draw (New)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, jjpoker, 0, s903mod, jjpoker, calomega_state, init_s903mod, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, jjpokerb, jjpoker, s903mod, jjpoker, calomega_state, init_s903mod, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, ssipkr24, 0, s903mod, ssipkr, calomega_state, init_s903mod, ROT0, "SSI", "SSI Poker (v2.4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, ssipkr30, ssipkr24, s903mod, ssipkr, calomega_state, init_s903mod, ROT0, "SSI", "SSI Poker (v3.0)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, ssipkr40, ssipkr24, s903mod, ssipkr, calomega_state, init_s903mod, ROT0, "SSI", "SSI Poker (v4.0)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, elgrande, 0, s903mod, elgrande, calomega_state, empty_init, ROT0, "Enter-Tech, Ltd. / Tuni Electro Service", "El Grande - 5 Card Draw (New)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, jjpoker, 0, s903mod, jjpoker, calomega_state, empty_init, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, jjpokerb, jjpoker, s903mod, jjpoker, calomega_state, empty_init, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, ssipkr24, 0, s903mod, ssipkr, calomega_state, empty_init, ROT0, "SSI", "SSI Poker (v2.4)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, ssipkr30, ssipkr24, s903mod, ssipkr, calomega_state, empty_init, ROT0, "SSI", "SSI Poker (v3.0)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, ssipkr40, ssipkr24, s903mod, ssipkr, calomega_state, empty_init, ROT0, "SSI", "SSI Poker (v4.0)", MACHINE_SUPPORTS_SAVE )
//****** Unofficial 906-III family 3rd part games *******
-GAME( 1990, cas21iwc, 0, sys906, cas21iwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Casino 21 UCMC/IWC (ver 30.08)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, pokeriwc, 0, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, pokiwc162, pokeriwc, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03 20-6-91)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, cas21iwc, 0, sys906, cas21iwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Casino 21 UCMC/IWC (ver 30.08)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, pokeriwc, 0, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, pokiwc162, pokeriwc, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03 20-6-91)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/canon_s80.cpp b/src/mame/drivers/canon_s80.cpp
index 7799077fb53..5a5000df2b9 100644
--- a/src/mame/drivers/canon_s80.cpp
+++ b/src/mame/drivers/canon_s80.cpp
@@ -1,19 +1,152 @@
// license:GPL-2.0+
// copyright-holders:FelipeSanches
/*
- * canon_s80.c
+ * canon_s80.cpp
*
- * CANON S-80 electronic typewriter
+ * CANON S-80 (electronic typewriter, not the S80 digital camera)
+ * CANON Typestar 3
*
* skeleton driver by:
* Felipe Correa da Silva Sanches <juca@members.fsf.org>
*
* known issues:
* - memory-map is uncertain
- * - maincpu clock is guessed
+ * - maincpu clock was only verified for canonts3, but it's probably the same for canons80
* - still lacks description of the keyboard inputs
* - as well as a "paper" device to plot the output of the dot matrix print head
- */
+
+*************************************************************************************
+Canon Typestar 3 Electronic Typewriter, Canon 1989/1990.
+Hardware info by Guru
+Last updated: 21st May 2021
+---------------------------
+
+This is an electronic typewriter made by Canon.
+It uses a thermal printing process with ribbon cartridges containing a coil
+of plastic tape coated with black 'ink' that is fused onto the paper via
+heat from the thermal print-head.
+The LCD has an alpha-numeric 15 character display with full editing capability and
+some other areas that show fixed functions and operation modes.
+It appears to be functionally identical to the Canon S80 Electronic Typewriter.
+
+PCB Layout
+----------
+
+CANON NH1-0275-04
+|------------------------------------------|
+|CN1 CN2 CN6 |
+| PIEZO VR2 FUSE(3A) DC|
+| T1719A |
+| CN3 CN4 M5233 M54523P SW1|
+| CN5 |
+| LC3518 |
+| MB64H192 HD63A01X0P NH4-0268.IC6 VR1|
+| 6MHz |
+|------------------------------------------|
+Notes:
+ CN1 - Head left-travel end-of-stroke switch connector (2 wires)
+ On power-up the head moves left to touch this switch then moves right about 1 inch then stops.
+ CN2 - Multi-pin flat cable for carriage power and data
+ CN3 - Multi-pin flat cable for LCD
+ CN4/CN5 - Multi-pin flat cables for keyboard
+ CN6 - Connector for battery power input (6V via 4x 1.5V D-Cells). There are 3 wires so
+ the CPU can detect when the battery is low and give the user a warning about it.
+ VR1 - Print darkness adjustment pot
+ VR2 - Piezo volume adjustment pot
+ PIEZO - Piezo speaker/beeper
+ LC3518 - Sanyo LC3518BL-15 2kb x8-bit SRAM, equivalent to 6116
+NH4-0268.IC6 - Toshiba TC53257P 32kb x8-bit mask ROM marked 'NH4-0268' at location IC6
+ The ROM supports all characters in English, German, French, Spanish and Italian languages.
+ HD63A01X0P - Hitachi HD63A01X0P micro-controller with 4kb x8-bit internal mask ROM. Clock input 6MHz.
+ HD63A01 has an on-chip divide-by-4 clock divider so the MCU runs at 1.5MHz internally.
+ MCU is marked with a Canon part number 'NH4-0021' at location IC5.
+ The internal ROM was trojan-dumped using the undocumented test mode.
+ T1719A - Toshiba T1719A. Datasheet not available. This is most likely the keyboard and LCD
+ controller and probably made exclusively for Canon.
+ MB64H192 - Fujitsu MB64H192. Datasheet not available. This is most likely the carriage
+ motor controller and probably made exclusively for Canon.
+ M5233 - Mitsubishi M5233 Dual Comparitor, equivalent to LM4558
+ M54523P - Mitsubishi M54523P 7-Unit 500mA Darlington Transistor Array with clamp diode
+ DC - 6V DC power input 5.5mm barrel jack
+ SW1 - Power on/off switch
+
+Keyboard Layout
+---------------
+
+Keyboard is made by Matsushita
+Part#: NS5-0594
+|--------------------------------------------------------------------------------|
+|MARGIN KB |---------------------| L/MARGIN R/MARGIN|
+|RELEASE | LCD | VR |
+| MODE | | TABSET TABCLR |
+| |---------------------| |
+| ! @ # $ % Yen & * ( ) _ + <- -> |
+|+- 1 2 3 4 5 6 7 8 9 0 - = |
+| 1/4 |
+| TAB Q W E R T Y U I O P 1/2 BS |
+| |
+| : "[ |
+| LOCK A S D F G H J K L ; '] |
+| RETURN|
+| ?3 |
+| SHIFT Z X C V B N M , . /2 SHIFT |
+| |
+| REPEAT SPACE RELOC CODE|
+|--------------------------------------------------------------------------------|
+Notes:
+ In the diagram above not all characters are shown due to being special or
+ international characters that are not available on US keyboards, however every
+ character used in the languages included in the ROM are available from this keyboard.
+
+ There are several keys with up to 4 different characters on them. They are
+ accessed by holding the key modifier SHIFT and KB keys.
+ KB is used to select the characters on the left side of a key or the right side
+ of a key. On the LCD fixed lower display, it will show I or II denoting either
+ the left (I) or right (II) side of the key is active. When typing a key the lower
+ character is normally active and the upper character is accessed by holding SHIFT.
+
+ VR2 - LCD brightness adjustment pot
+
+ MODE KEY FUNCTIONS (* = power-on default)
+ ---------|---------------------------------------------------
+ * MODE + | +- Sets line spacing mode to 1
+ MODE + | 1 Sets line spacing mode to 1 1/2
+ MODE + | 2 Sets line spacing mode to 2
+ MODE + | 3 Sets typing mode to C (character by character printing like a mechanical typewriter, characters do not appear on the LCD)
+ * MODE + | 4 Sets typing mode to L (line printing, characters show on LCD and can be edited, then printed as one line by pressing RETURN)
+ * MODE + | 5 Sets printing mode to normal print
+ MODE + | 6 Sets printing mode to double-width print
+ MODE + | 7 Sets printing mode to underlined print
+ MODE + | 9 Sets manual carriage return mode
+ * MODE + | 0 Sets automatic carriage return mode
+ MODE + | = Sets justified text mode
+ MODE + | Q Moves the carriage while using the display for manual carriage positioning (for example typing in columns etc)
+ * MODE + | <- Sets typestyle mode to A (COURIER 10)
+ MODE + | -> Sets typestyle mode to B (CUBIC PS)
+ MODE + | Z Sets/cancels shading print mode. A 2nd menu will appear showing 4 shading modes that are selected by pressing numbers 1 - 4
+ ---------|---------------------------------------------------
+
+
+ CODE KEY FUNCTIONS
+ ---------|---------------------------------------------------
+ CODE + | 1 Sets centering between margins
+ CODE + | 2 Sets centering between tabs
+ CODE + | 4 Executes right margin alignment
+ CODE + | 5 Sets/clears indent position
+ CODE + | 6 Executes decimal tab
+ CODE + | 0 Executes automatic paper feed (i.e. loads paper to a fixed start position automatically)
+ CODE + | TABSET Sets decimal tab
+ CODE + | TAB Confirms decimal tab position
+ CODE + |TAB+TABCLR Clears specific decimal tab
+ CODE + | TABCLR Clears all tabs and decimal tabs
+ CODE + | = Executes permanent hyphen
+ CODE + | B Executes permanent space
+ CODE + | SPACE Executes controlled carriage movement
+ CODE + | RETURN Returns carriage without line feed
+ CODE + | D Prints a demo on the paper
+ ---------|---------------------------------------------------
+
+*************************************************************************************/
#include "emu.h"
#include "cpu/m6800/m6801.h"
@@ -21,44 +154,166 @@
#include "emupal.h"
#include "screen.h"
+
+namespace {
+
class canons80_state : public driver_device
{
public:
canons80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
+ , m_keyboard(*this, "KEY%X", 0U)
+ , m_keyscan(0)
{ }
void canons80(machine_config &config);
- void init_canons80();
+
+protected:
+ virtual void machine_start() override;
private:
+ u8 keyboard_r();
+ void keyscan_w(u8 data);
+
HD44780_PIXEL_UPDATE(pixel_update);
void canons80_map(address_map &map);
+
+ optional_ioport_array<16> m_keyboard;
+ u8 m_keyscan;
};
+void canons80_state::machine_start()
+{
+ save_item(NAME(m_keyscan));
+}
+
HD44780_PIXEL_UPDATE(canons80_state::pixel_update)
{
- if (pos < 16)
- bitmap.pix(line * 8 + y, pos * 6 + x) = state;
+ if (pos < 8)
+ bitmap.pix((line & 2) * 4 + y, (line & 1) * 48 + pos * 6 + x) = state;
+}
+
+u8 canons80_state::keyboard_r()
+{
+ return m_keyboard[m_keyscan & 0x0f].read_safe(0xff);
+}
+
+void canons80_state::keyscan_w(u8 data)
+{
+ m_keyscan = data;
}
void canons80_state::canons80_map(address_map &map)
{
- map(0x0000, 0x001f).m("maincpu", FUNC(hd6301x0_cpu_device::m6801_io));
+ map(0x0000, 0x001f).m("maincpu", FUNC(hd6301x0_cpu_device::hd6301x_io));
map(0x0040, 0x00ff).ram();
map(0x0100, 0x07ff).ram();
+ map(0x1000, 0x1000).w(FUNC(canons80_state::keyscan_w));
map(0x2000, 0x2001).rw("lcdc", FUNC(hd44780_device::read), FUNC(hd44780_device::write));
map(0x4000, 0x7fff).rom().region("external", 0x4000);
+ map(0x8000, 0xbfff).rom().region("external", 0);
map(0xf000, 0xffff).rom().region("maincpu", 0);
}
+static INPUT_PORTS_START(canons80)
+ PORT_START("KEY8")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('e') PORT_CHAR('E') PORT_CODE(KEYCODE_E)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('w') PORT_CHAR('W') PORT_CODE(KEYCODE_W)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('3') PORT_CHAR('#') PORT_CODE(KEYCODE_3)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('2') PORT_CHAR('@') PORT_CODE(KEYCODE_2)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('d') PORT_CHAR('D') PORT_CODE(KEYCODE_D)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('f') PORT_CHAR('F') PORT_CODE(KEYCODE_F)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('c') PORT_CHAR('C') PORT_CODE(KEYCODE_C)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('v') PORT_CHAR('V') PORT_CODE(KEYCODE_V)
+
+ PORT_START("KEY9")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Mode") PORT_CODE(KEYCODE_ESC)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('a') PORT_CHAR('A') PORT_CODE(KEYCODE_A)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('1') PORT_CHAR('!') PORT_CODE(KEYCODE_1)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('q') PORT_CHAR('Q') PORT_CODE(KEYCODE_Q)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab") PORT_CHAR(0x09) PORT_CODE(KEYCODE_TAB)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('s') PORT_CHAR('S') PORT_CODE(KEYCODE_S)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('z') PORT_CHAR('Z') PORT_CODE(KEYCODE_Z)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('x') PORT_CHAR('X') PORT_CODE(KEYCODE_X)
+
+ PORT_START("KEYA")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('t') PORT_CHAR('T') PORT_CODE(KEYCODE_T)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('r') PORT_CHAR('R') PORT_CODE(KEYCODE_R)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('5') PORT_CHAR('%') PORT_CODE(KEYCODE_5)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('4') PORT_CHAR('$') PORT_CODE(KEYCODE_4)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('g') PORT_CHAR('G') PORT_CODE(KEYCODE_G)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('h') PORT_CHAR('H') PORT_CODE(KEYCODE_H)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('b') PORT_CHAR('B') PORT_CODE(KEYCODE_B)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('n') PORT_CHAR('N') PORT_CODE(KEYCODE_N)
+
+ PORT_START("KEYB")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('_') PORT_CHAR(0x2192) PORT_CODE(KEYCODE_TILDE)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 33") PORT_CODE(KEYCODE_F5)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 38") PORT_CODE(KEYCODE_F9)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Repeat") PORT_CODE(KEYCODE_LALT)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(' ') PORT_CODE(KEYCODE_SPACE)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 35") PORT_CODE(KEYCODE_F6)
+
+ PORT_START("KEYC")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('o') PORT_CHAR('O') PORT_CODE(KEYCODE_O)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('i') PORT_CHAR('I') PORT_CODE(KEYCODE_I)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('9') PORT_CHAR('(') PORT_CODE(KEYCODE_9)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('8') PORT_CHAR('*') PORT_CODE(KEYCODE_8)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('l') PORT_CHAR('L') PORT_CODE(KEYCODE_L)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(';') PORT_CHAR(':') PORT_CODE(KEYCODE_COLON)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('.') PORT_CODE(KEYCODE_STOP)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('/') PORT_CHAR('?') PORT_CODE(KEYCODE_SLASH)
+
+ PORT_START("KEYD")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('u') PORT_CHAR('U') PORT_CODE(KEYCODE_U)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('y') PORT_CHAR('Y') PORT_CODE(KEYCODE_Y)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('7') PORT_CHAR('&') PORT_CODE(KEYCODE_7)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('6') PORT_CHAR('^') PORT_CODE(KEYCODE_6)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('j') PORT_CHAR('J') PORT_CODE(KEYCODE_J)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('k') PORT_CHAR('K') PORT_CODE(KEYCODE_K)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('m') PORT_CHAR('M') PORT_CODE(KEYCODE_M)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(',') PORT_CODE(KEYCODE_COMMA)
+
+ PORT_START("KEYE")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('\'') PORT_CHAR('"') PORT_CODE(KEYCODE_QUOTE)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(0x23a1) PORT_CHAR(0x23a6) PORT_CODE(KEYCODE_OPENBRACE)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('p') PORT_CHAR('P') PORT_CODE(KEYCODE_P)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('0') PORT_CHAR(')') PORT_CODE(KEYCODE_0)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('-') PORT_CHAR(0x2014) PORT_CODE(KEYCODE_MINUS)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) PORT_CODE(KEYCODE_LEFT)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 36") PORT_CODE(KEYCODE_F7)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 31") PORT_CODE(KEYCODE_F3)
+
+ PORT_START("KEYF")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CODE(KEYCODE_RIGHT)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Backspace") PORT_CHAR(0x08) PORT_CODE(KEYCODE_BACKSLASH)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 2D") PORT_CODE(KEYCODE_F2)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 3B") PORT_CODE(KEYCODE_F10)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 37") PORT_CODE(KEYCODE_F8)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Key 32") PORT_CODE(KEYCODE_F4)
+
+ PORT_START("P2")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNKNOWN)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNKNOWN)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNKNOWN)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CHAR(UCHAR_SHIFT_1) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Lock") PORT_CODE(KEYCODE_CAPSLOCK)
+ PORT_BIT(0x34, IP_ACTIVE_HIGH, IPT_UNUSED)
+INPUT_PORTS_END
+
void canons80_state::canons80(machine_config &config)
{
- /* basic machine hardware */
- hd6301x0_cpu_device &maincpu(HD6301X0(config, "maincpu", 5000000)); /* hd63a01xop 5 MHz guessed: TODO: check on PCB */
+ // basic machine hardware
+ hd6301x0_cpu_device &maincpu(HD6301X0(config, "maincpu", 6_MHz_XTAL)); // hd63a01xop
maincpu.set_addrmap(AS_PROGRAM, &canons80_state::canons80_map);
+ maincpu.in_p2_cb().set_ioport("P2");
+ maincpu.in_p5_cb().set(FUNC(canons80_state::keyboard_r));
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
@@ -74,19 +329,35 @@ void canons80_state::canons80(machine_config &config)
PALETTE(config, "palette").set_entries(2);
}
-void canons80_state::init_canons80()
-{
-}
ROM_START( canons80 )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "hd63a1x0p.bin", 0x0000, 0x1000, NO_DUMP )
- ROM_FILL( 0xffe, 1, 0x40 )
- ROM_FILL( 0xfff, 1, 0x00 )
+ ROM_FILL( 0xfec, 1, 0xbf )
+ ROM_FILL( 0xfed, 1, 0xf2 )
+ ROM_FILL( 0xff4, 1, 0xbf )
+ ROM_FILL( 0xff5, 1, 0xf5 )
+ ROM_FILL( 0xffa, 1, 0xbf )
+ ROM_FILL( 0xffb, 1, 0xf8 )
+ ROM_FILL( 0xffe, 1, 0xbf )
+ ROM_FILL( 0xfff, 1, 0xfb )
ROM_REGION( 0x8000, "external", 0 )
ROM_LOAD( "canon_8735kx_nh4-0029_064.ic6", 0x0000, 0x8000, CRC(b6cd2ff7) SHA1(e47a136300c826e480fac1be7fc090523078a2a6) )
ROM_END
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-COMP( 1988, canons80, 0, 0, canons80, 0, canons80_state, init_canons80, "Canon", "Canon S-80 electronic typewriter", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+ROM_START( canonts3 )
+ ROM_REGION( 0x1000, "maincpu", 0 )
+ // every 0x100 range was read via trojan 7 times, but reads weren't totally consistent. This was reconstructed by taking the most consistent reads for each byte.
+ ROM_LOAD( "nh4-0021.ic5", 0x0000, 0x1000, BAD_DUMP CRC(b859b7d4) SHA1(3a5a80b1b8040fe0b13c0fb52b93f738a06eff16) )
+
+ ROM_REGION( 0x8000, "external", 0 )
+ ROM_LOAD( "nh4-0268.ic6", 0x0000, 0x8000, CRC(bbdd9f74) SHA1(347fa0d37f4df0c175ff1d7feb634f681739804f) )
+ROM_END
+
+} // Anonymous namespace
+
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 1988, canons80, 0, 0, canons80, canons80, canons80_state, empty_init, "Canon", "S-80 (Canon) (electronic typewriter)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 1988, canonts3, 0, 0, canons80, canons80, canons80_state, empty_init, "Canon", "Typestar 3", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp
index 1a819526de0..53b7b583211 100644
--- a/src/mame/drivers/capbowl.cpp
+++ b/src/mame/drivers/capbowl.cpp
@@ -94,7 +94,7 @@
#include "machine/ticket.h"
#include "cpu/m6809/m6809.h"
#include "sound/dac.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
#define MASTER_CLOCK XTAL(8'000'000)
diff --git a/src/mame/drivers/capr1.cpp b/src/mame/drivers/capr1.cpp
index 7ac135e3596..3834c2afe1c 100644
--- a/src/mame/drivers/capr1.cpp
+++ b/src/mame/drivers/capr1.cpp
@@ -35,7 +35,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "machine/te7750.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index 15049995141..810396d2300 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -92,8 +92,8 @@ Versions known to exist but not dumped:
#include "machine/nmk112.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "sound/ymz280b.h"
#include "speaker.h"
#include <algorithm>
diff --git a/src/mame/drivers/cbasebal.cpp b/src/mame/drivers/cbasebal.cpp
index be6dbed1db0..423dc7a5de3 100644
--- a/src/mame/drivers/cbasebal.cpp
+++ b/src/mame/drivers/cbasebal.cpp
@@ -21,7 +21,7 @@
#include "machine/kabuki.h" // needed for decoding functions only
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cbuster.cpp b/src/mame/drivers/cbuster.cpp
index 50558f0c902..e6a04f6e389 100644
--- a/src/mame/drivers/cbuster.cpp
+++ b/src/mame/drivers/cbuster.cpp
@@ -43,8 +43,8 @@
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index 582b405c60a..b728d654aec 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -2157,8 +2157,8 @@ ROM_START( rpatrol )
ROM_CONTINUE( 0x003000, 0x000800 )
ROM_REGION( 0x1000, "gfx2", 0 )
- ROM_LOAD( "9.2t", 0x000000, 0x000800, CRC(065651a5) SHA1(5c2f9b44d8819d2f792525c06b5c341fe07329c0) )
- ROM_LOAD( "8.2s", 0x000800, 0x000800, CRC(59747c31) SHA1(92acf07489f3e17f0c1769a0df15b6ddb117830f) )
+ ROM_LOAD( "8.2s", 0x000000, 0x000800, CRC(59747c31) SHA1(92acf07489f3e17f0c1769a0df15b6ddb117830f) )
+ ROM_LOAD( "9.2t", 0x000800, 0x000800, CRC(065651a5) SHA1(5c2f9b44d8819d2f792525c06b5c341fe07329c0) )
ROM_REGION( 0x0060, "proms", 0 )
ROM_LOAD( "mb7051.1b", 0x0000, 0x0020, CRC(f9a2383b) SHA1(4d88c177740efdb27708474c9ee0fcdca5a78c36) ) /* or compatible like 82S123 - Had a RED stipe across chip */
@@ -2181,8 +2181,8 @@ ROM_START( rpatroln )
ROM_CONTINUE( 0x003000, 0x000800 )
ROM_REGION( 0x1000, "gfx2", 0 ) /* located on an original ORCA OVG-50B PCB */
- ROM_LOAD( "9.2t", 0x000000, 0x000800, CRC(065651a5) SHA1(5c2f9b44d8819d2f792525c06b5c341fe07329c0) )
- ROM_LOAD( "8.2s", 0x000800, 0x000800, CRC(59747c31) SHA1(92acf07489f3e17f0c1769a0df15b6ddb117830f) )
+ ROM_LOAD( "8.2s", 0x000000, 0x000800, CRC(59747c31) SHA1(92acf07489f3e17f0c1769a0df15b6ddb117830f) )
+ ROM_LOAD( "9.2t", 0x000800, 0x000800, CRC(065651a5) SHA1(5c2f9b44d8819d2f792525c06b5c341fe07329c0) )
ROM_REGION( 0x0060, "proms", 0 ) /* located on an original ORCA OVG-50B PCB */
ROM_LOAD( "mb7051.1b", 0x0000, 0x0020, CRC(f9a2383b) SHA1(4d88c177740efdb27708474c9ee0fcdca5a78c36) ) /* or compatible like 82S123 - Had a RED stipe across chip */
@@ -2209,7 +2209,7 @@ ROM_START( rpatrolb )
ROM_LOAD( "rp9.6h", 0x3000, 0x0800, CRC(ea5aafca) SHA1(d8f8fe270680ae261d63bd4702107961cd904699) )
/* 0x3800-0x3fff - empty */
- ROM_REGION( 0x1000, "gfx2", 0 )
+ ROM_REGION( 0x1000, "gfx2", 0 ) // roms swapped around
ROM_LOAD( "rp11.6c", 0x0000, 0x0800, CRC(065651a5) SHA1(5c2f9b44d8819d2f792525c06b5c341fe07329c0) )
ROM_LOAD( "rp10.6a", 0x0800, 0x0800, CRC(59747c31) SHA1(92acf07489f3e17f0c1769a0df15b6ddb117830f) )
@@ -2770,7 +2770,7 @@ GAME( 1982, bagmanf, bagman, bagmanf, bagmanf, cclimber_state, empty_i
GAME( 1981, rpatrol, 0, rpatrol, rpatrol, cclimber_state, init_rpatrol, ROT0, "Orca", "River Patrol (Japan)", MACHINE_SUPPORTS_SAVE)
GAME( 1981, rpatroln, rpatrol, rpatrol, rpatrol, cclimber_state, empty_init, ROT0, "Orca", "River Patrol (Japan, unprotected)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, rpatrolb, rpatrol, rpatrol, rpatrol, cclimber_state, empty_init, ROT0, "bootleg", "River Patrol (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, rpatrolb, rpatrol, rpatrol, rpatrol, cclimber_state, empty_init, ROT0, "bootleg", "River Patrol (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, silvland, rpatrol, rpatrol, rpatrol, cclimber_state, empty_init, ROT0, "Falcon", "Silver Land", MACHINE_SUPPORTS_SAVE )
// see pacman.cpp for parent
diff --git a/src/mame/drivers/cgang.cpp b/src/mame/drivers/cgang.cpp
index 851f021bf4e..fd3f42c719c 100644
--- a/src/mame/drivers/cgang.cpp
+++ b/src/mame/drivers/cgang.cpp
@@ -64,7 +64,7 @@ Overall, the hardware has similarities with Wacky Gator, see wacky_gator.cpp.
#include "machine/timer.h"
#include "machine/watchdog.h"
#include "sound/upd7759.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/pwm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/chanbara.cpp b/src/mame/drivers/chanbara.cpp
index 579b4d38b8d..c93140c904a 100644
--- a/src/mame/drivers/chanbara.cpp
+++ b/src/mame/drivers/chanbara.cpp
@@ -52,7 +52,7 @@ ToDo:
#include "emu.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/changyu.cpp b/src/mame/drivers/changyu.cpp
index 54f1d4a7549..114267d0558 100644
--- a/src/mame/drivers/changyu.cpp
+++ b/src/mame/drivers/changyu.cpp
@@ -49,7 +49,7 @@ main PCB (marked 9101):
#include "cpu/mcs51/mcs51.h"
#include "sound/ay8910.h"
#include "sound/hc55516.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/mc6845.h"
class changyu_state : public driver_device
diff --git a/src/mame/drivers/chessmate.cpp b/src/mame/drivers/chessmate.cpp
index 8abc005eb4d..de918ad7d28 100644
--- a/src/mame/drivers/chessmate.cpp
+++ b/src/mame/drivers/chessmate.cpp
@@ -97,18 +97,13 @@ private:
void digit_w(u8 data);
u8 input_r();
- u8 m_inp_mux;
- u8 m_7seg_data;
- u8 m_led_data;
+ u8 m_inp_mux = 0;
+ u8 m_7seg_data = 0;
+ u8 m_led_data = 0;
};
void chmate_state::machine_start()
{
- // zerofill
- m_inp_mux = 0;
- m_7seg_data = 0;
- m_led_data = 0;
-
// register for savestates
save_item(NAME(m_inp_mux));
save_item(NAME(m_7seg_data));
@@ -334,5 +329,6 @@ ROM_END
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1978, chmate, 0, 0, chmate, chmate, chmate_state, empty_init, "Commodore", "Chessmate", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+
CONS( 1979, ccmk2, chmate, 0, mk2, mk2, chmate_state, empty_init, "Novag", "Chess Champion: MK II (ver. 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // 1st version (jukebox model), aka version B
CONS( 1979, ccmk2a, chmate, 0, mk2a, mk2a, chmate_state, empty_init, "Novag", "Chess Champion: MK II (ver. 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/chexx.cpp b/src/mame/drivers/chexx.cpp
index 8b837c1d0c1..ab185f04337 100644
--- a/src/mame/drivers/chexx.cpp
+++ b/src/mame/drivers/chexx.cpp
@@ -13,6 +13,64 @@ Electro-mechanical bubble hockey games:
(Some sources indicate these may have been copied from a earlier Sega game called Face-Off)
+Olimpic Hockey (UNDUMPED Spanish clone from Inor, probably unlicensed) runs on an almost
+exact clone of the 1st generation ICE Chexx hardware (https://www.recreativas.org/olimpic-hockey-1110-inor):
+
+ Inor Olympic Hockey PCB
+ ________________________________________
+ | |
+ | : <- Conn P4 ____________ |
+ | |/B8342 SJLC| |
+ | |___________| |
+ | ____________ |
+ | |/B8342 SJLC| |
+ | |___________| |
+ | ____________ |
+ | |/B8342 SJLC| |
+ | |___________| |
+ | ____________ |
+ |/o\ <- Conn p5 |/B8342 SJLC| |
+ ||o| |___________| |
+ ||o| ____________ |
+ | |/B8342 SJLC| |
+ | |___________| |
+ | : <- Conn P7 ____________ |
+ | : |/B8342 SJLC| |
+ | |___________| |
+ | ____ ____________ |
+ | LM358N |EMPTY | |
+ | |___________| |
+ | ____________ |
+ | _________ |EMPTY | |
+ | 74LS138B1 |___________| |
+ | ______________________ |
+ | | 54104 DIGITALKER | |
+ | |_____________________| |
+ | _________ : |
+ | _________ |________| : |
+ | |74LS74B1| Conn P2 -> : |
+ | ______________________ |
+ | | UM6522A | |
+ | _________ |_____________________| |
+ | |________| |
+ | ____________ |
+ | : | EF68B10P | |
+ | : <- Conn P1 |___________| |
+ | : o <- Conn P8 |
+ | o : <- Conn P6 |
+ | 0 : |
+ | : ______________________ |
+ | : <- Conn P3 | UM6502A | |
+ | |_____________________| |
+ | _________ |
+ | _________ ____________ PC74HCT74P |
+ | |74LS04_| | EPROM | |
+ | |___________| |
+ | Xtal |
+ | 4.000 MHz DSW _________ DSW |
+ | x2 T74LS365B1 x2 |
+ |___________ COST _____________ TIME ___|
+
***************************************************************************/
#include "emu.h"
diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp
index bdfc5879dc1..aeb32d990e2 100644
--- a/src/mame/drivers/chinagat.cpp
+++ b/src/mame/drivers/chinagat.cpp
@@ -252,8 +252,8 @@ M2H - /% \_____/ duty 1:1, 1.5MHz
#include "cpu/z80/z80.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/chinsan.cpp b/src/mame/drivers/chinsan.cpp
index b20e2a78211..3b4c00a6d28 100644
--- a/src/mame/drivers/chinsan.cpp
+++ b/src/mame/drivers/chinsan.cpp
@@ -25,7 +25,7 @@
#include "machine/nvram.h"
#include "machine/i8255.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/chqflag.cpp b/src/mame/drivers/chqflag.cpp
index f4683ef97db..8162f74acf8 100644
--- a/src/mame/drivers/chqflag.cpp
+++ b/src/mame/drivers/chqflag.cpp
@@ -27,7 +27,7 @@
#include "cpu/m6809/konami.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "chqflag.lh"
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 950868c160b..9a850458f64 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -189,7 +189,7 @@ Cisco Heat.
#include "machine/jalcrpt.h"
#include "machine/nvram.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "cischeat.lh"
diff --git a/src/mame/drivers/citycon.cpp b/src/mame/drivers/citycon.cpp
index 9a6be78e094..5960bab1b49 100644
--- a/src/mame/drivers/citycon.cpp
+++ b/src/mame/drivers/citycon.cpp
@@ -15,7 +15,7 @@ Dip locations added from dip listing at crazykong.com
#include "cpu/m6809/m6809.h"
#include "machine/gen_latch.h"
#include "sound/ay8910.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp
index ef1ad01b8b6..b8f02f18b68 100644
--- a/src/mame/drivers/cninja.cpp
+++ b/src/mame/drivers/cninja.cpp
@@ -49,8 +49,8 @@ Note about version levels using Mutant Fighter as the example:
#include "cpu/m68000/m68000.h"
#include "machine/decocrpt.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
/**********************************************************************************/
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index eddfac92f4f..951800a5690 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -433,6 +433,7 @@ void coco_state::coco_sound(machine_config &config)
void coco_state::coco_floating_map(address_map &map)
{
map(0x0000, 0xFFFF).r(FUNC(coco_state::floating_bus_r));
+ map(0x0000, 0xFFFF).nopw(); /* suppress log warnings */
}
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index b62d2525fa3..026080ae9c5 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -18,7 +18,6 @@
#include "cpu/m6809/hd6309.h"
#include "formats/coco_cas.h"
#include "softlist.h"
-#include "coco3.lh"
@@ -201,11 +200,11 @@ INPUT_PORTS_END
static INPUT_PORTS_START( coco_lightgun )
PORT_START(DIECOM_LIGHTGUN_RX_TAG)
- PORT_BIT( 0x1ff, 266, IPT_LIGHTGUN_X ) PORT_NAME("Lightgun X (Right Port)") PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(116,416) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x03)
+ PORT_BIT( 0xfff, 266, IPT_LIGHTGUN_X ) PORT_NAME("Lightgun X (Right Port)") PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(105,420) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x03)
PORT_START(DIECOM_LIGHTGUN_RY_TAG)
PORT_BIT( 0xff, 121, IPT_LIGHTGUN_Y ) PORT_NAME("Lightgun Y (Right Port)") PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0,242) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x03)
PORT_START(DIECOM_LIGHTGUN_LX_TAG)
- PORT_BIT( 0x1ff, 266, IPT_LIGHTGUN_X ) PORT_NAME("Lightgun X (Left Port)") PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(116,416) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
+ PORT_BIT( 0xfff, 266, IPT_LIGHTGUN_X ) PORT_NAME("Lightgun X (Left Port)") PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(105,420) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
PORT_START(DIECOM_LIGHTGUN_LY_TAG)
PORT_BIT( 0xff, 121, IPT_LIGHTGUN_Y ) PORT_NAME("Lightgun Y (Left Port)") PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0,242) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
PORT_START(DIECOM_LIGHTGUN_BUTTONS_TAG)
@@ -219,6 +218,13 @@ INPUT_PORTS_END
// INPUT_PORTS( coco3 )
//-------------------------------------------------
+static INPUT_PORTS_START( screen_config )
+ PORT_START("screen_config")
+ PORT_CONFNAME( 0x01, 0x00, "Monitor Type" )
+ PORT_CONFSETTING( 0x00, "Composite" )
+ PORT_CONFSETTING( 0x01, "RGB" )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( coco3 )
PORT_INCLUDE( coco3_keyboard )
PORT_INCLUDE( coco3_joystick )
@@ -227,6 +233,7 @@ static INPUT_PORTS_START( coco3 )
PORT_INCLUDE( coco_lightgun )
PORT_INCLUDE( coco_rtc )
PORT_INCLUDE( coco_beckerport )
+ PORT_INCLUDE( screen_config )
INPUT_PORTS_END
static INPUT_PORTS_START( coco3dw )
@@ -237,6 +244,7 @@ static INPUT_PORTS_START( coco3dw )
PORT_INCLUDE( coco_lightgun )
PORT_INCLUDE( coco_rtc )
PORT_INCLUDE( coco_beckerport_dw )
+ PORT_INCLUDE( screen_config )
INPUT_PORTS_END
static DEVICE_INPUT_DEFAULTS_START( rs_printer )
@@ -306,31 +314,18 @@ void coco3_state::coco3(machine_config &config)
COCO_VHD(config, m_vhd_1, 0, m_maincpu);
// video hardware
- config.set_default_layout(layout_coco3);
-
GIME_NTSC(config, m_gime, XTAL(28'636'363), MAINCPU_TAG, RAM_TAG, CARTRIDGE_TAG, MAINCPU_TAG);
- m_gime->set_screen(COMPOSITE_SCREEN_TAG);
+ m_gime->set_screen("screen");
m_gime->hsync_wr_callback().set(PIA0_TAG, FUNC(pia6821_device::ca1_w));
m_gime->fsync_wr_callback().set(PIA0_TAG, FUNC(pia6821_device::cb1_w));
m_gime->irq_wr_callback().set(m_irqs, FUNC(input_merger_device::in_w<2>));
m_gime->firq_wr_callback().set(m_firqs, FUNC(input_merger_device::in_w<2>));
m_gime->floating_bus_rd_callback().set(FUNC(coco3_state::floating_bus_r));
- // composite monitor
- screen_device &composite_screen(SCREEN(config, COMPOSITE_SCREEN_TAG, SCREEN_TYPE_RASTER));
- composite_screen.set_refresh_hz(60);
- composite_screen.set_screen_update(FUNC(coco3_state::screen_update));
- composite_screen.set_size(640, 243);
- composite_screen.set_visarea(0, 640-1, 1, 241-1);
- composite_screen.set_vblank_time(0);
-
- // RGB monitor
- screen_device &rgb_screen(SCREEN(config, RGB_SCREEN_TAG, SCREEN_TYPE_RASTER));
- rgb_screen.set_refresh_hz(60);
- rgb_screen.set_screen_update(FUNC(coco3_state::screen_update));
- rgb_screen.set_size(640, 243);
- rgb_screen.set_visarea(0, 640-1, 1, 241-1);
- rgb_screen.set_vblank_time(0);
+ // monitor
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(28.636363_MHz_XTAL/2, 912, 0, 640-1, 263, 1, 241-1);
+ m_screen->set_screen_update(FUNC(coco3_state::screen_update));
// internal ram
RAM(config, RAM_TAG).set_default_size("512K").set_extra_options("128K,2M,8M");
@@ -351,7 +346,7 @@ void coco3_state::coco3p(machine_config &config)
// An additional 4.433618 MHz XTAL is required for PAL color encoding
GIME_PAL(config.replace(), m_gime, XTAL(28'475'000), MAINCPU_TAG, RAM_TAG, CARTRIDGE_TAG, MAINCPU_TAG);
- m_gime->set_screen(COMPOSITE_SCREEN_TAG);
+ m_gime->set_screen("screen");
m_gime->hsync_wr_callback().set(PIA0_TAG, FUNC(pia6821_device::ca1_w));
m_gime->fsync_wr_callback().set(PIA0_TAG, FUNC(pia6821_device::cb1_w));
m_gime->irq_wr_callback().set(m_irqs, FUNC(input_merger_device::in_w<2>));
diff --git a/src/mame/drivers/cointek.cpp b/src/mame/drivers/cointek.cpp
index 789dace8513..eb18f3b6fb5 100644
--- a/src/mame/drivers/cointek.cpp
+++ b/src/mame/drivers/cointek.cpp
@@ -29,7 +29,7 @@ The daughter board is connected to the main board via 40 pin socket
#include "speaker.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
namespace {
diff --git a/src/mame/drivers/combatsc.cpp b/src/mame/drivers/combatsc.cpp
index c8d8f07fbfb..e117e5bb410 100644
--- a/src/mame/drivers/combatsc.cpp
+++ b/src/mame/drivers/combatsc.cpp
@@ -75,14 +75,14 @@ a800 OKIM5205?
fffc-ffff ???
- Notes about the sound systsem of the bootleg:
+ Notes about the sound system of the bootleg:
---------------------------------------------
The positions 0x87f0-0x87ff are very important, it
does work similar to a semaphore (same as a lot of
vblank bits). For example in the init code, it writes
- zero to 0x87fa, then it waits to it 'll be different
+ zero to 0x87fa, then it waits until it'll be different
to zero, but it isn't written by this cpu. (shareram?)
- I have tried put here a K007232 chip, but it didn't
+ I have tried to put here a K007232 chip, but it didn't
work.
Sound chips: OKI M5205 & YM2203
@@ -126,7 +126,7 @@ Dip location and recommended settings verified with the US manual
#include "cpu/m6809/hd6309.h"
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -136,7 +136,7 @@ Dip location and recommended settings verified with the US manual
*
*************************************/
-void combatsc_state::combatsc_vreg_w(uint8_t data)
+void combatsc_base_state::vreg_w(uint8_t data)
{
if (data != m_vreg)
{
@@ -149,76 +149,61 @@ void combatsc_state::combatsc_vreg_w(uint8_t data)
}
}
-uint8_t combatsc_state::combatscb_io_r(offs_t offset)
-{
- static const char *const portnames[] = { "IN0", "IN1", "DSW1", "DSW2" };
-
- return ioport(portnames[offset])->read();
-}
-
-void combatsc_state::combatscb_priority_w(uint8_t data)
+void combatscb_state::priority_w(uint8_t data)
{
if (data & 0x40)
{
m_video_circuit = 1;
- m_videoram = m_page[1];
- m_scrollram = m_scrollram1;
+ m_video_view.select(1);
}
else
{
m_video_circuit = 0;
- m_videoram = m_page[0];
- m_scrollram = m_scrollram0;
+ m_video_view.select(0);
}
m_priority = data & 0x20;
}
-void combatsc_state::combatsc_bankselect_w(uint8_t data)
+void combatsc_state::bankselect_w(uint8_t data)
{
m_priority = data & 0x20;
if (data & 0x40)
{
m_video_circuit = 1;
- m_videoram = m_page[1];
- m_scrollram = m_scrollram1;
+ m_video_view.select(1);
+ m_scroll_view.select(1);
}
else
{
m_video_circuit = 0;
- m_videoram = m_page[0];
- m_scrollram = m_scrollram0;
+ m_video_view.select(0);
+ m_scroll_view.select(0);
}
if (data & 0x10)
- membank("bank1")->set_entry((data & 0x0e) >> 1);
+ m_mainbank->set_entry((data & 0x0e) >> 1);
else
- membank("bank1")->set_entry(8 + (data & 1));
+ m_mainbank->set_entry(8 + (data & 1));
}
-void combatsc_state::combatscb_io_w(offs_t offset, uint8_t data)
+void combatscb_state::io_w(offs_t offset, uint8_t data)
{
- switch (offset)
- {
- case 0x400: combatscb_priority_w(data); break;
- case 0x800: m_soundlatch->write(data); break;
- case 0xc00: combatsc_vreg_w(data); break;
- default: m_io_ram[offset] = data; break;
- }
+ m_io_ram[offset] = data;
}
-void combatsc_state::combatscb_bankselect_w(address_space &space, uint8_t data)
+void combatscb_state::bankselect_w(uint8_t data)
{
if (data & 0x40)
{
m_video_circuit = 1;
- m_videoram = m_page[1];
+ m_video_view.select(1);
}
else
{
m_video_circuit = 0;
- m_videoram = m_page[0];
+ m_video_view.select(0);
}
data = data & 0x1f;
@@ -228,31 +213,27 @@ void combatsc_state::combatscb_bankselect_w(address_space &space, uint8_t data)
m_bank_select = data;
if (data & 0x10)
- membank("bank1")->set_entry((data & 0x0e) >> 1);
+ m_mainbank->set_entry((data & 0x0e) >> 1);
else
- membank("bank1")->set_entry(8 + (data & 1));
+ m_mainbank->set_entry(8 + (data & 1));
if (data == 0x1f)
{
- membank("bank1")->set_entry(8 + (data & 1));
- space.install_write_handler(0x4000, 0x7fff, write8sm_delegate(*this, FUNC(combatsc_state::combatscb_io_w)));
- space.install_read_handler(0x4400, 0x4403, read8sm_delegate(*this, FUNC(combatsc_state::combatscb_io_r))); // IO RAM & Video Registers
+ m_mainbank->set_entry(8 + (data & 1));
+ m_bank_io_view.select(0);
}
else
- {
- space.install_read_bank(0x4000, 0x7fff, membank("bank1")); /* banked ROM */
- space.unmap_write(0x4000, 0x7fff); /* banked ROM */
- }
+ m_bank_io_view.disable();
}
}
/****************************************************************************/
-void combatsc_state::combatsc_coin_counter_w(uint8_t data)
+void combatsc_state::coin_counter_w(uint8_t data)
{
- /* b7-b3: unused? */
- /* b1: coin counter 2 */
- /* b0: coin counter 1 */
+ // b7-b3: unused?
+ // b1: coin counter 2
+ // b0: coin counter 1
machine().bookkeeping().coin_counter_w(0, data & 0x01);
machine().bookkeeping().coin_counter_w(1, data & 0x02);
@@ -266,16 +247,14 @@ uint8_t combatsc_state::trackball_r(offs_t offset)
for (i = 0; i < 4; i++)
{
- uint8_t curr;
-
- curr = m_track_ports[i].read_safe(0xff);
+ uint8_t curr = m_track_ports[i].read_safe(0xff);
dir[i] = curr - m_pos[i];
m_sign[i] = dir[i] & 0x80;
m_pos[i] = curr;
}
- /* fix sign for orthogonal movements */
+ // fix sign for orthogonal movements
if (dir[0] || dir[1])
{
if (!dir[0]) m_sign[0] = m_sign[1] ^ 0x80;
@@ -294,29 +273,29 @@ uint8_t combatsc_state::trackball_r(offs_t offset)
/****************************************************************************/
-void combatsc_state::combatsc_sh_irqtrigger_w(uint8_t data)
+void combatsc_state::sh_irqtrigger_w(uint8_t data)
{
m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80
}
-uint8_t combatsc_state::combatsc_busy_r()
+uint8_t combatsc_state::busy_r()
{
return m_upd7759->busy_r() ? 1 : 0;
}
-void combatsc_state::combatsc_play_w(uint8_t data)
+void combatsc_state::play_w(uint8_t data)
{
m_upd7759->start_w(data & 2);
}
-void combatsc_state::combatsc_voice_reset_w(uint8_t data)
+void combatsc_state::voice_reset_w(uint8_t data)
{
m_upd7759->reset_w(data & 1);
}
-void combatsc_state::combatsc_portA_w(uint8_t data)
+void combatsc_state::portA_w(uint8_t data)
{
- /* unknown. always write 0 */
+ // unknown. always write 0
}
// causes scores to disappear during fire ranges, either sprite busy flag or screen frame number related
@@ -331,82 +310,97 @@ uint8_t combatsc_state::unk_r()
*
*************************************/
-void combatsc_state::combatsc_map(address_map &map)
+void combatsc_state::main_map(address_map &map)
{
- map(0x0000, 0x0007).w(FUNC(combatsc_state::combatsc_pf_control_w));
+ map(0x0000, 0x0007).w(FUNC(combatsc_state::pf_control_w));
map(0x001f, 0x001f).r(FUNC(combatsc_state::unk_r));
- map(0x0020, 0x005f).rw(FUNC(combatsc_state::combatsc_scrollram_r), FUNC(combatsc_state::combatsc_scrollram_w));
-// map(0x0060, 0x00ff).writeonly(); /* RAM */
+ map(0x0020, 0x005f).view(m_scroll_view);
+ m_scroll_view[0](0x0020, 0x005f).ram().share(m_scrollram[0]);
+ m_scroll_view[1](0x0020, 0x005f).ram().share(m_scrollram[1]);
+// map(0x0060, 0x00ff).writeonly(); // RAM
map(0x0200, 0x0207).rw("k007452", FUNC(k007452_device::read), FUNC(k007452_device::write));
map(0x0400, 0x0400).portr("IN0");
- map(0x0401, 0x0401).portr("DSW3"); /* DSW #3 */
- map(0x0402, 0x0402).portr("DSW1"); /* DSW #1 */
- map(0x0403, 0x0403).portr("DSW2"); /* DSW #2 */
- map(0x0404, 0x0407).r(FUNC(combatsc_state::trackball_r)); /* 1P & 2P controls / trackball */
- map(0x0408, 0x0408).w(FUNC(combatsc_state::combatsc_coin_counter_w)); /* coin counters */
- map(0x040c, 0x040c).w(FUNC(combatsc_state::combatsc_vreg_w));
- map(0x0410, 0x0410).nopr().w(FUNC(combatsc_state::combatsc_bankselect_w)); // read is clr a (discarded)
+ map(0x0401, 0x0401).portr("DSW3");
+ map(0x0402, 0x0402).portr("DSW1");
+ map(0x0403, 0x0403).portr("DSW2");
+ map(0x0404, 0x0407).r(FUNC(combatsc_state::trackball_r)); // 1P & 2P controls / trackball
+ map(0x0408, 0x0408).w(FUNC(combatsc_state::coin_counter_w));
+ map(0x040c, 0x040c).w(FUNC(combatsc_state::vreg_w));
+ map(0x0410, 0x0410).nopr().w(FUNC(combatsc_state::bankselect_w)); // read is clr a (discarded)
map(0x0414, 0x0414).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0x0418, 0x0418).w(FUNC(combatsc_state::combatsc_sh_irqtrigger_w));
- map(0x041c, 0x041c).w("watchdog", FUNC(watchdog_timer_device::reset_w)); /* watchdog reset? */
+ map(0x0418, 0x0418).w(FUNC(combatsc_state::sh_irqtrigger_w));
+ map(0x041c, 0x041c).w("watchdog", FUNC(watchdog_timer_device::reset_w)); // watchdog reset?
map(0x0600, 0x06ff).ram().w(m_palette, FUNC(palette_device::write_indirect)).share("palette");
- map(0x0800, 0x1fff).ram(); /* RAM */
- map(0x2000, 0x3fff).rw(FUNC(combatsc_state::combatsc_video_r), FUNC(combatsc_state::combatsc_video_w));
- map(0x4000, 0x7fff).bankr("bank1"); /* banked ROM area */
- map(0x8000, 0xffff).rom(); /* ROM */
+ map(0x0800, 0x1fff).ram();
+ map(0x2000, 0x3fff).view(m_video_view);
+ m_video_view[0](0x2000, 0x3fff).ram().share(m_videoram[0]).w(FUNC(combatsc_state::videoview0_w));
+ m_video_view[1](0x2000, 0x3fff).ram().share(m_videoram[1]).w(FUNC(combatsc_state::videoview1_w));
+ map(0x4000, 0x7fff).bankr(m_mainbank);
+ map(0x8000, 0xffff).rom().region("maincpu", 0x28000);
}
-void combatsc_state::combatscb_map(address_map &map)
+void combatscb_state::main_map(address_map &map)
{
map(0x0000, 0x04ff).ram();
- map(0x0500, 0x0500).w(FUNC(combatsc_state::combatscb_bankselect_w));
+ map(0x0500, 0x0500).w(FUNC(combatscb_state::bankselect_w));
map(0x0600, 0x06ff).ram().w(m_palette, FUNC(palette_device::write_indirect)).share("palette");
map(0x0800, 0x1fff).ram();
- map(0x2000, 0x3fff).rw(FUNC(combatsc_state::combatsc_video_r), FUNC(combatsc_state::combatsc_video_w));
- map(0x4000, 0x7fff).bankr("bank1"); /* banked ROM/RAM area */
- map(0x8000, 0xffff).rom(); /* ROM */
+ map(0x2000, 0x3fff).view(m_video_view);
+ m_video_view[0](0x2000, 0x3fff).ram().share(m_videoram[0]).w(FUNC(combatscb_state::videoview0_w));
+ m_video_view[1](0x2000, 0x3fff).ram().share(m_videoram[1]).w(FUNC(combatscb_state::videoview1_w));
+ map(0x4000, 0x7fff).bankr(m_mainbank);
+ map(0x4000, 0x7fff).view(m_bank_io_view);
+ m_bank_io_view[0](0x4000, 0x7fff).w(FUNC(combatscb_state::io_w));
+ m_bank_io_view[0](0x4400, 0x4400).w(FUNC(combatscb_state::priority_w));
+ m_bank_io_view[0](0x4800, 0x4800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ m_bank_io_view[0](0x4c00, 0x4c00).w(FUNC(combatscb_state::vreg_w));
+ m_bank_io_view[0](0x4400, 0x4400).portr("IN0");
+ m_bank_io_view[0](0x4401, 0x4401).portr("IN1");
+ m_bank_io_view[0](0x4402, 0x4402).portr("DSW1");
+ m_bank_io_view[0](0x4403, 0x4403).portr("DSW2");
+ map(0x8000, 0xffff).rom().region("maincpu", 0x28000);
}
-void combatsc_state::combatsc_sound_map(address_map &map)
+void combatsc_state::sound_map(address_map &map)
{
- map(0x0000, 0x7fff).rom(); /* ROM */
- map(0x8000, 0x87ff).ram(); /* RAM */
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
- map(0x9000, 0x9000).w(FUNC(combatsc_state::combatsc_play_w)); /* upd7759 play voice */
- map(0xa000, 0xa000).w(m_upd7759, FUNC(upd7759_device::port_w)); /* upd7759 voice select */
- map(0xb000, 0xb000).r(FUNC(combatsc_state::combatsc_busy_r)); /* upd7759 busy? */
- map(0xc000, 0xc000).w(FUNC(combatsc_state::combatsc_voice_reset_w)); /* upd7759 reset? */
+ map(0x9000, 0x9000).w(FUNC(combatsc_state::play_w)); // upd7759 play voice
+ map(0xa000, 0xa000).w(m_upd7759, FUNC(upd7759_device::port_w)); // upd7759 voice select
+ map(0xb000, 0xb000).r(FUNC(combatsc_state::busy_r)); // upd7759 busy?
+ map(0xc000, 0xc000).w(FUNC(combatsc_state::voice_reset_w)); // upd7759 reset?
- map(0xd000, 0xd000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); /* soundlatch read? */
- map(0xe000, 0xe001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); /* YM 2203 intercepted */
+ map(0xd000, 0xd000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); // soundlatch read?
+ map(0xe000, 0xe001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); // YM 2203 intercepted
}
-void combatsc_state::combatscb_msm_w(uint8_t data)
+void combatscb_state::msm_w(uint8_t data)
{
- membank("bl_abank")->set_entry(BIT(data, 7));
+ m_soundbank->set_entry(BIT(data, 7));
m_msm->reset_w(BIT(data, 4));
m_msm->data_w(data & 0x0f);
}
-void combatsc_state::combatscb_sound_irq_ack(uint8_t data)
+void combatscb_state::sound_irq_ack(uint8_t data)
{
m_audiocpu->set_input_line(0, CLEAR_LINE);
}
-void combatsc_state::combatscb_sound_map(address_map &map)
+void combatscb_state::sound_map(address_map &map)
{
- map(0x0000, 0x7fff).rom(); /* ROM */
- map(0x8000, 0x87ff).ram(); /* RAM */
- map(0x9000, 0x9001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); /* YM 2203 */
- map(0x9008, 0x9009).r("ymsnd", FUNC(ym2203_device::read)); /* ??? */
- map(0x9800, 0x9800).w(FUNC(combatsc_state::combatscb_msm_w));
- map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); /* soundlatch read? */
- map(0xa800, 0xa800).w(FUNC(combatsc_state::combatscb_sound_irq_ack));
- map(0xc000, 0xffff).bankr("bl_abank");
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+ map(0x9000, 0x9001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
+ map(0x9008, 0x9009).r("ymsnd", FUNC(ym2203_device::read)); // ???
+ map(0x9800, 0x9800).w(FUNC(combatscb_state::msm_w));
+ map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); // soundlatch read?
+ map(0xa800, 0xa800).w(FUNC(combatscb_state::sound_irq_ack));
+ map(0xc000, 0xffff).bankr(m_soundbank);
}
/*************************************
@@ -434,9 +428,9 @@ static INPUT_PORTS_START( common_inputs )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "SW3:2" ) /* Not Used according to the manual */
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "SW3:2" ) // Not Used according to the manual
PORT_SERVICE_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW3:3" )
- PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW3:4" ) /* Not Used according to the manual */
+ PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW3:4" ) // Not Used according to the manual
INPUT_PORTS_END
static INPUT_PORTS_START( dips )
@@ -475,16 +469,16 @@ static INPUT_PORTS_START( dips )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- /* None = coin slot B disabled */
+ // None = coin slot B disabled
PORT_START("DSW2")
- PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:1" ) /* Not Used according to the manual */
- PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:2" ) /* Not Used according to the manual */
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:1" ) // Not Used according to the manual
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:2" ) // Not Used according to the manual
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Not Used according to the manual */
- PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Not Used according to the manual */
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:4" ) // Not Used according to the manual
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:5" ) // Not Used according to the manual
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
@@ -516,14 +510,14 @@ static INPUT_PORTS_START( combatsct )
PORT_INCLUDE( common_inputs )
- /* trackball 1P */
+ // trackball 1P
PORT_START("TRACK0_Y")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)
PORT_START("TRACK0_X")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(10) PORT_PLAYER(1)
- /* trackball 2P (not implemented yet) */
+ // trackball 2P (not implemented yet)
PORT_START("TRACK1_Y")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2)
@@ -583,9 +577,9 @@ static const gfx_layout gfxlayout =
static const gfx_layout tile_layout =
{
8,8,
- 0x2000, /* number of tiles */
- 4, /* bitplanes */
- { 0*0x10000*8, 1*0x10000*8, 2*0x10000*8, 3*0x10000*8 }, /* plane offsets */
+ 0x2000, // number of tiles
+ 4, // bitplanes
+ { 0*0x10000*8, 1*0x10000*8, 2*0x10000*8, 3*0x10000*8 }, // plane offsets
{ 0,1,2,3,4,5,6,7 },
{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
8*8
@@ -594,9 +588,9 @@ static const gfx_layout tile_layout =
static const gfx_layout sprite_layout =
{
16,16,
- 0x800, /* number of sprites */
- 4, /* bitplanes */
- { 3*0x10000*8, 2*0x10000*8, 1*0x10000*8, 0*0x10000*8 }, /* plane offsets */
+ 0x800, // number of sprites
+ 4, // bitplanes
+ { 3*0x10000*8, 2*0x10000*8, 1*0x10000*8, 0*0x10000*8 }, // plane offsets
{
0,1,2,3,4,5,6,7,
16*8+0,16*8+1,16*8+2,16*8+3,16*8+4,16*8+5,16*8+6,16*8+7
@@ -627,46 +621,40 @@ GFXDECODE_END
*
*************************************/
-MACHINE_START_MEMBER(combatsc_state,combatsc)
+void combatsc_base_state::machine_start()
{
- uint8_t *MEM = memregion("maincpu")->base() + 0x38000;
-
- m_io_ram = MEM + 0x0000;
- m_page[0] = MEM + 0x4000;
- m_page[1] = MEM + 0x6000;
-
- m_interleave_timer = machine().scheduler().timer_alloc(timer_expired_delegate());
-
- membank("bank1")->configure_entries(0, 10, memregion("maincpu")->base() + 0x10000, 0x4000);
+ m_mainbank->configure_entries(0, 10, memregion("maincpu")->base(), 0x4000);
save_item(NAME(m_priority));
save_item(NAME(m_vreg));
- save_item(NAME(m_bank_select));
save_item(NAME(m_video_circuit));
- save_item(NAME(m_boost));
+}
+
+void combatsc_state::machine_start()
+{
+ combatsc_base_state::machine_start();
+
save_item(NAME(m_pos));
save_item(NAME(m_sign));
- save_pointer(NAME(m_page[0]),0x2000);
- save_pointer(NAME(m_page[1]),0x2000);
- save_pointer(NAME(m_scrollram0), 0x40);
- save_pointer(NAME(m_scrollram1), 0x40);
}
-MACHINE_START_MEMBER(combatsc_state,combatscb)
+void combatscb_state::machine_start()
+{
+ combatsc_base_state::machine_start();
+
+ m_soundbank->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000);
+
+ save_item(NAME(m_bank_select));
+}
+
+void combatsc_base_state::machine_reset()
{
- MACHINE_START_CALL_MEMBER( combatsc );
- membank("bl_abank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000);
+ m_vreg = -1;
}
void combatsc_state::machine_reset()
{
- memset(m_io_ram, 0x00, 0x4000);
- memset(m_page[0], 0x00, 0x2000);
- memset(m_page[1], 0x00, 0x2000);
-
- m_vreg = -1;
- m_boost = 1;
- m_bank_select = -1;
+ combatsc_base_state::machine_reset();
for (int i = 0; i < 4; i++)
{
@@ -674,94 +662,96 @@ void combatsc_state::machine_reset()
m_sign[i] = 0;
}
- combatsc_bankselect_w(0);
+ bankselect_w(0);
+}
+
+void combatscb_state::machine_reset()
+{
+ combatsc_base_state::machine_reset();
+
+ m_bank_select = -1;
+
+ bankselect_w(0);
}
-/* combat school (original) */
+
+// Combat School (original)
void combatsc_state::combatsc(machine_config &config)
{
- /* basic machine hardware */
- HD6309(config, m_maincpu, 3000000*4); /* 3 MHz? */
- m_maincpu->set_addrmap(AS_PROGRAM, &combatsc_state::combatsc_map);
+ // basic machine hardware
+ HD6309(config, m_maincpu, 3000000*4); // 3 MHz?
+ m_maincpu->set_addrmap(AS_PROGRAM, &combatsc_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(combatsc_state::irq0_line_hold));
- Z80(config, m_audiocpu, 3579545); /* 3.579545 MHz */
- m_audiocpu->set_addrmap(AS_PROGRAM, &combatsc_state::combatsc_sound_map);
+ Z80(config, m_audiocpu, 3579545); // 3.579545 MHz
+ m_audiocpu->set_addrmap(AS_PROGRAM, &combatsc_state::sound_map);
config.set_maximum_quantum(attotime::from_hz(1200));
- MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc)
-
WATCHDOG_TIMER(config, "watchdog");
KONAMI_007452_MATH(config, "k007452");
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(60);
-// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
// m_screen->set_size(32*8, 32*8);
// m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
m_screen->set_raw(XTAL(24'000'000)/3, 528, 0, 256, 256, 16, 240); // not accurate, assuming same to other Konami games (59.17)
- m_screen->set_screen_update(FUNC(combatsc_state::screen_update_combatsc));
+ m_screen->set_screen_update(FUNC(combatsc_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_combatsc);
- PALETTE(config, m_palette, FUNC(combatsc_state::combatsc_palette));
+ PALETTE(config, m_palette, FUNC(combatsc_state::palette));
m_palette->set_format(palette_device::xBGR_555, 8 * 16 * 16, 128);
m_palette->set_endianness(ENDIANNESS_LITTLE);
- MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatsc)
-
- K007121(config, m_k007121_1, 0);
- m_k007121_1->set_palette_tag(m_palette);
- K007121(config, m_k007121_2, 0);
- m_k007121_2->set_palette_tag(m_palette);
+ K007121(config, m_k007121[0], 0);
+ m_k007121[0]->set_palette_tag(m_palette);
+ K007121(config, m_k007121[1], 0);
+ m_k007121[1]->set_palette_tag(m_palette);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch);
ym2203_device &ymsnd(YM2203(config, "ymsnd", 3000000));
- ymsnd.port_a_write_callback().set(FUNC(combatsc_state::combatsc_portA_w));
+ ymsnd.port_a_write_callback().set(FUNC(combatsc_state::portA_w));
ymsnd.add_route(ALL_OUTPUTS, "mono", 0.20);
UPD7759(config, m_upd7759).add_route(ALL_OUTPUTS, "mono", 0.70);
}
-/* combat school (bootleg on different hardware) */
-void combatsc_state::combatscb(machine_config &config)
+// Combat School (bootleg on different hardware)
+void combatscb_state::combatscb(machine_config &config)
{
- /* basic machine hardware */
- HD6309(config, m_maincpu, 3000000*4); /* 3 MHz? */
- m_maincpu->set_addrmap(AS_PROGRAM, &combatsc_state::combatscb_map);
+ // basic machine hardware
+ HD6309(config, m_maincpu, 3000000*4); // 3 MHz?
+ m_maincpu->set_addrmap(AS_PROGRAM, &combatscb_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(combatsc_state::irq0_line_hold));
- Z80(config, m_audiocpu, 3579545); /* 3.579545 MHz */
- m_audiocpu->set_addrmap(AS_PROGRAM, &combatsc_state::combatscb_sound_map);
+ Z80(config, m_audiocpu, 3579545); // 3.579545 MHz
+ m_audiocpu->set_addrmap(AS_PROGRAM, &combatscb_state::sound_map);
config.set_maximum_quantum(attotime::from_hz(1200));
- MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatscb)
-
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
m_screen->set_size(32*8, 32*8);
m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
- m_screen->set_screen_update(FUNC(combatsc_state::screen_update_combatscb));
+ m_screen->set_screen_update(FUNC(combatscb_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_combatscb);
- PALETTE(config, m_palette, FUNC(combatsc_state::combatscb_palette));
+ PALETTE(config, m_palette, FUNC(combatscb_state::palette));
m_palette->set_format(palette_device::xBGR_555, 8 * 16 * 16, 128);
m_palette->set_endianness(ENDIANNESS_LITTLE);
- MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatscb)
-
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch);
@@ -784,13 +774,11 @@ void combatsc_state::combatscb(machine_config &config)
*************************************/
ROM_START( combatsc )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6309 code */
- ROM_LOAD( "611g01.rom", 0x30000, 0x08000, CRC(857ffffe) SHA1(de7566d58314df4b7fdc07eb31a3f9bdd12d1a73) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "611g02.rom", 0x10000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
- /* extra 0x8000 for banked RAM */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6309 code
+ ROM_LOAD( "611g02.rom", 0x00000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
+ ROM_LOAD( "611g01.rom", 0x20000, 0x10000, CRC(857ffffe) SHA1(de7566d58314df4b7fdc07eb31a3f9bdd12d1a73) )
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "611g03.rom", 0x00000, 0x08000, CRC(2a544db5) SHA1(94a97c3c54bf13ccc665aa5057ac6b1d700fae2d) )
ROM_REGION( 0x80000, "gfx1", 0 )
@@ -802,28 +790,26 @@ ROM_START( combatsc )
ROM_LOAD16_BYTE( "611g12.rom", 0x00001, 0x40000, CRC(9c6bf898) SHA1(eafc227b4e7df0c652ec7d78784c039c35965fdc) )
ROM_REGION( 0x0400, "proms", 0 )
- ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
- ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
+ ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
+ ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
- ROM_REGION( 0x20000, "upd", 0 ) /* uPD7759 data */
+ ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "611g04.rom", 0x00000, 0x20000, CRC(2987e158) SHA1(87c5129161d3be29a339083349807e60b625c3f7) )
ROM_REGION( 0x0600, "plds", 0 )
ROM_LOAD( "ampal16l8.e7", 0x0000, 0x0104, CRC(300a9936) SHA1(a4a87e93f41392fc7d7d8601d7187d87b9f9ab01) )
- ROM_LOAD( "pal16r6.16d", 0x0200, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20l8.8h", 0x0400, 0x0144, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16r6.16d", 0x0200, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20l8.8h", 0x0400, 0x0144, NO_DUMP ) // PAL is read protected
ROM_END
ROM_START( combatsct )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6309 code */
- ROM_LOAD( "g01.rom", 0x30000, 0x08000, CRC(489c132f) SHA1(c717195f89add4be4a21ecc1ddd58361b0ab4a74) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "611g02.rom", 0x10000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
- /* extra 0x8000 for banked RAM */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6309 code
+ ROM_LOAD( "611g02.rom", 0x00000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
+ ROM_LOAD( "g01.rom", 0x20000, 0x10000, CRC(489c132f) SHA1(c717195f89add4be4a21ecc1ddd58361b0ab4a74) )
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "611g03.rom", 0x00000, 0x08000, CRC(2a544db5) SHA1(94a97c3c54bf13ccc665aa5057ac6b1d700fae2d) )
ROM_REGION( 0x80000, "gfx1", 0 )
@@ -835,23 +821,21 @@ ROM_START( combatsct )
ROM_LOAD16_BYTE( "611g12.rom", 0x00001, 0x40000, CRC(9c6bf898) SHA1(eafc227b4e7df0c652ec7d78784c039c35965fdc) )
ROM_REGION( 0x0400, "proms", 0 )
- ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
- ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
+ ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
+ ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
- ROM_REGION( 0x20000, "upd", 0 ) /* uPD7759 data */
+ ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "611g04.rom", 0x00000, 0x20000, CRC(2987e158) SHA1(87c5129161d3be29a339083349807e60b625c3f7) )
ROM_END
ROM_START( combatscj )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6309 code */
- ROM_LOAD( "611p01.a14", 0x30000, 0x08000, CRC(d748268e) SHA1(91588b6a0d3af47065204b980a56544a9f29b6d9) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "611g02.rom", 0x10000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
- /* extra 0x8000 for banked RAM */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6309 code
+ ROM_LOAD( "611g02.rom", 0x00000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
+ ROM_LOAD( "611p01.a14", 0x20000, 0x10000, CRC(d748268e) SHA1(91588b6a0d3af47065204b980a56544a9f29b6d9) )
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "611g03.rom", 0x00000, 0x08000, CRC(2a544db5) SHA1(94a97c3c54bf13ccc665aa5057ac6b1d700fae2d) )
ROM_REGION( 0x80000, "gfx1", 0 )
@@ -863,23 +847,21 @@ ROM_START( combatscj )
ROM_LOAD16_BYTE( "611g12.rom", 0x00001, 0x40000, CRC(9c6bf898) SHA1(eafc227b4e7df0c652ec7d78784c039c35965fdc) )
ROM_REGION( 0x0400, "proms", 0 )
- ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
- ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
+ ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
+ ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
- ROM_REGION( 0x20000, "upd", 0 ) /* uPD7759 data */
+ ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "611g04.rom", 0x00000, 0x20000, CRC(2987e158) SHA1(87c5129161d3be29a339083349807e60b625c3f7) )
ROM_END
ROM_START( bootcamp )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6309 code */
- ROM_LOAD( "xxx-v01.12a", 0x30000, 0x08000, CRC(c10dca64) SHA1(f34de26e998b1501e430d46e96cdc58ebc68481e) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "611g02.rom", 0x10000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
- /* extra 0x8000 for banked RAM */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6309 code
+ ROM_LOAD( "611g02.rom", 0x00000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
+ ROM_LOAD( "xxx-v01.12a", 0x20000, 0x10000, CRC(c10dca64) SHA1(f34de26e998b1501e430d46e96cdc58ebc68481e) )
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "611g03.rom", 0x00000, 0x08000, CRC(2a544db5) SHA1(94a97c3c54bf13ccc665aa5057ac6b1d700fae2d) )
ROM_REGION( 0x80000, "gfx1", 0 )
@@ -891,23 +873,21 @@ ROM_START( bootcamp )
ROM_LOAD16_BYTE( "611g12.rom", 0x00001, 0x40000, CRC(9c6bf898) SHA1(eafc227b4e7df0c652ec7d78784c039c35965fdc) )
ROM_REGION( 0x0400, "proms", 0 )
- ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
- ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
+ ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
+ ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
- ROM_REGION( 0x20000, "upd", 0 ) /* uPD7759 data */
+ ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "611g04.rom", 0x00000, 0x20000, CRC(2987e158) SHA1(87c5129161d3be29a339083349807e60b625c3f7) )
ROM_END
ROM_START( bootcampa )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6309 code */
- ROM_LOAD( "611x01.a-14", 0x30000, 0x08000, CRC(98ffc6ed) SHA1(ab02532333272683d889f209d3fc01235871d909) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "611g02.rom", 0x10000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
- /* extra 0x8000 for banked RAM */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6309 code
+ ROM_LOAD( "611g02.rom", 0x00000, 0x20000, CRC(9ba05327) SHA1(ea03845fb49d18ac4fca97cfffce81db66b9967b) )
+ ROM_LOAD( "611x01.a-14", 0x20000, 0x10000, CRC(98ffc6ed) SHA1(ab02532333272683d889f209d3fc01235871d909) )
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "611g03.rom", 0x00000, 0x08000, CRC(2a544db5) SHA1(94a97c3c54bf13ccc665aa5057ac6b1d700fae2d) )
ROM_REGION( 0x80000, "gfx1", 0 )
@@ -919,49 +899,47 @@ ROM_START( bootcampa )
ROM_LOAD16_BYTE( "611g12.rom", 0x00001, 0x40000, CRC(9c6bf898) SHA1(eafc227b4e7df0c652ec7d78784c039c35965fdc) )
ROM_REGION( 0x0400, "proms", 0 )
- ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
- ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) /* sprites lookup table */
- ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) /* chars lookup table */
+ ROM_LOAD( "611g06.h14", 0x0000, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g05.h15", 0x0100, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
+ ROM_LOAD( "611g10.h6", 0x0200, 0x0100, CRC(f916129a) SHA1(d5e4a8a3baab8fcdac86ef5182858cede1abf040) ) // sprites lookup table
+ ROM_LOAD( "611g09.h7", 0x0300, 0x0100, CRC(207a7b07) SHA1(f4e638e7f182e5228a062b243406d0ceaaa5bfdc) ) // chars lookup table
- ROM_REGION( 0x20000, "upd", 0 ) /* uPD7759 data */
+ ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "611g04.rom", 0x00000, 0x20000, CRC(2987e158) SHA1(87c5129161d3be29a339083349807e60b625c3f7) )
ROM_END
ROM_START( combatscb )
- ROM_REGION( 0x40000, "maincpu", 0 ) /* 6809 code */
- ROM_LOAD( "combat.002", 0x30000, 0x08000, CRC(0996755d) SHA1(bb6bbbf7ab3b5fab5e1c6cebc7b3f0d720493c3b) )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_LOAD( "combat.003", 0x10000, 0x10000, CRC(229c93b2) SHA1(ac3fd3df1bb5f6a461d0d1423c50568348ef69df) )
- ROM_LOAD( "combat.004", 0x20000, 0x10000, CRC(a069cb84) SHA1(f49f70afb17df46b16f5801ef42edb0706730723) )
- /* extra 0x8000 for banked RAM */
-
- ROM_REGION( 0x10000 , "audiocpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x30000, "maincpu", 0 ) // 6809 code
+ ROM_LOAD( "combat.003", 0x00000, 0x10000, CRC(229c93b2) SHA1(ac3fd3df1bb5f6a461d0d1423c50568348ef69df) )
+ ROM_LOAD( "combat.004", 0x10000, 0x10000, CRC(a069cb84) SHA1(f49f70afb17df46b16f5801ef42edb0706730723) )
+ ROM_LOAD( "combat.002", 0x20000, 0x10000, CRC(0996755d) SHA1(bb6bbbf7ab3b5fab5e1c6cebc7b3f0d720493c3b) )
+
+ ROM_REGION( 0x10000 , "audiocpu", 0 )
ROM_LOAD( "combat.001", 0x00000, 0x10000, CRC(61456b3b) SHA1(320db628283dd1bec465e95020d1a1158e6d6ae4) )
ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "combat.006", 0x00000, 0x10000, CRC(8dc29a1f) SHA1(564dd7c6acff34db93b8e300dda563f5f38ba159) ) /* tiles, bank 0 */
+ ROM_LOAD( "combat.006", 0x00000, 0x10000, CRC(8dc29a1f) SHA1(564dd7c6acff34db93b8e300dda563f5f38ba159) ) // tiles, bank 0
ROM_LOAD( "combat.008", 0x10000, 0x10000, CRC(61599f46) SHA1(cfd79a88bb496773daf207552c67f595ee696bc4) )
ROM_LOAD( "combat.010", 0x20000, 0x10000, CRC(d5cda7cd) SHA1(140db6270c3f358aa27013db3bb819a48ceb5142) )
ROM_LOAD( "combat.012", 0x30000, 0x10000, CRC(ca0a9f57) SHA1(d6b3daf7c34345bb2f64068d480bd51d7bb36e4d) )
- ROM_LOAD( "combat.005", 0x40000, 0x10000, CRC(0803a223) SHA1(67d4162385dd56d5396e181070bfa6760521eb45) ) /* tiles, bank 1 */
+ ROM_LOAD( "combat.005", 0x40000, 0x10000, CRC(0803a223) SHA1(67d4162385dd56d5396e181070bfa6760521eb45) ) // tiles, bank 1
ROM_LOAD( "combat.007", 0x50000, 0x10000, CRC(23caad0c) SHA1(0544cde479c6d4192da5bb4b6f0e2e75d09663c3) )
ROM_LOAD( "combat.009", 0x60000, 0x10000, CRC(5ac80383) SHA1(1e89c371a92afc000d593daebda4156952a15244) )
ROM_LOAD( "combat.011", 0x70000, 0x10000, CRC(cda83114) SHA1(12d2a9f694287edb3bb0ee7a8ba0e0724dad8e1f) )
ROM_REGION( 0x80000, "gfx2", ROMREGION_INVERT )
- ROM_LOAD( "combat.013", 0x00000, 0x10000, CRC(4bed2293) SHA1(3369de47d4ba041d9f17a18dcca2af7ac9f8bc0c) ) /* sprites, bank 0 */
+ ROM_LOAD( "combat.013", 0x00000, 0x10000, CRC(4bed2293) SHA1(3369de47d4ba041d9f17a18dcca2af7ac9f8bc0c) ) // sprites, bank 0
ROM_LOAD( "combat.015", 0x10000, 0x10000, CRC(26c41f31) SHA1(f8eb7d0729a21a0dd92ce99c9cda0cde9526b861) )
ROM_LOAD( "combat.017", 0x20000, 0x10000, CRC(6071e6da) SHA1(ba5f8e83b07faaffc564d3568630e17efdb5a09f) )
ROM_LOAD( "combat.019", 0x30000, 0x10000, CRC(3b1cf1b8) SHA1(ff4de37c051bcb374c44d1b99006ff6ff5e1f927) )
- ROM_LOAD( "combat.014", 0x40000, 0x10000, CRC(82ea9555) SHA1(59bf7836938ce9e3242d1cca754de8dbe85bbfb7) ) /* sprites, bank 1 */
+ ROM_LOAD( "combat.014", 0x40000, 0x10000, CRC(82ea9555) SHA1(59bf7836938ce9e3242d1cca754de8dbe85bbfb7) ) // sprites, bank 1
ROM_LOAD( "combat.016", 0x50000, 0x10000, CRC(2e39bb70) SHA1(a6c4acd93cc803e987de6e18fbdc5ce4634b14a8) )
ROM_LOAD( "combat.018", 0x60000, 0x10000, CRC(575db729) SHA1(6b1676da4f24fc90c77262789b6cc116184ab912) )
ROM_LOAD( "combat.020", 0x70000, 0x10000, CRC(8d748a1a) SHA1(4386e14e19b91e053033dde2a13019bc6d8e1d5a) )
ROM_REGION( 0x0200, "proms", 0 )
- ROM_LOAD( "prom.d10", 0x0000, 0x0100, CRC(265f4c97) SHA1(76f1b75a593d3d77ef6173a1948f842d5b27d418) ) /* sprites lookup table */
- ROM_LOAD( "prom.c11", 0x0100, 0x0100, CRC(a7a5c0b4) SHA1(48bfc3af40b869599a988ebb3ed758141bcfd4fc) ) /* priority? */
+ ROM_LOAD( "prom.d10", 0x0000, 0x0100, CRC(265f4c97) SHA1(76f1b75a593d3d77ef6173a1948f842d5b27d418) ) // sprites lookup table
+ ROM_LOAD( "prom.c11", 0x0100, 0x0100, CRC(a7a5c0b4) SHA1(48bfc3af40b869599a988ebb3ed758141bcfd4fc) ) // priority?
ROM_END
@@ -973,7 +951,7 @@ ROM_END
void combatsc_state::init_combatsc()
{
- /* joystick instead of trackball */
+ // joystick instead of trackball
m_maincpu->space(AS_PROGRAM).install_read_port(0x0404, 0x0404, "IN1");
}
@@ -984,9 +962,9 @@ void combatsc_state::init_combatsc()
*
*************************************/
-GAME( 1988, combatsc, 0, combatsc, combatsc, combatsc_state, init_combatsc, ROT0, "Konami", "Combat School (joystick)", 0 )
-GAME( 1987, combatsct, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Combat School (trackball)", MACHINE_NOT_WORKING )
-GAME( 1987, combatscj, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Combat School (Japan trackball)", MACHINE_NOT_WORKING )
-GAME( 1987, bootcamp, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Boot Camp (set 1)", MACHINE_NOT_WORKING )
-GAME( 1987, bootcampa, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Boot Camp (set 2)", MACHINE_NOT_WORKING )
-GAME( 1988, combatscb, combatsc, combatscb, combatscb, combatsc_state, empty_init, ROT0, "bootleg", "Combat School (bootleg)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND )
+GAME( 1988, combatsc, 0, combatsc, combatsc, combatsc_state, init_combatsc, ROT0, "Konami", "Combat School (joystick)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, combatsct, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Combat School (trackball)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1987, combatscj, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Combat School (Japan trackball)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1987, bootcamp, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Boot Camp (set 1)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1987, bootcampa, combatsc, combatsc, combatsct, combatsc_state, empty_init, ROT0, "Konami", "Boot Camp (set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1988, combatscb, combatsc, combatscb, combatscb, combatscb_state, empty_init, ROT0, "bootleg (Datsu)", "Combat School (bootleg)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/commando.cpp b/src/mame/drivers/commando.cpp
index e3e82e59c7e..3818d6c7a37 100644
--- a/src/mame/drivers/commando.cpp
+++ b/src/mame/drivers/commando.cpp
@@ -46,7 +46,7 @@ Note : there is an ingame typo bug that doesn't display the bonus life values
// Notes by Jose Tejada (jotego):
// The main CPU frequency is 3 MHz, after a two-stage FF clock divider.
-// The CPU clock is gated by bus arbitrion logic. The CPU clock is halted until
+// The CPU clock is gated by bus arbitration logic. The CPU clock is halted until
// video hardware has an opening in memory access, then the CPU is allowed to
// access common memory. This slows down the CPU but doesn't alter its basic 3MHz frequency.
//
@@ -59,7 +59,7 @@ Note : there is an ingame typo bug that doesn't display the bonus life values
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
@@ -278,10 +278,7 @@ void commando_state::commando(machine_config &config)
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(XTAL / 2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(commando_state::screen_update_commando));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.screen_vblank().append(FUNC(commando_state::vblank_irq));
diff --git a/src/mame/drivers/compgolf.cpp b/src/mame/drivers/compgolf.cpp
index 45b60c39d5b..0c40d28ccbb 100644
--- a/src/mame/drivers/compgolf.cpp
+++ b/src/mame/drivers/compgolf.cpp
@@ -14,7 +14,7 @@
#include "emu.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp
index 6214f6392f6..0fe6131ff58 100644
--- a/src/mame/drivers/contra.cpp
+++ b/src/mame/drivers/contra.cpp
@@ -26,7 +26,7 @@ Dip locations and factory settings verified with manual
#include "cpu/m6809/m6809.h"
#include "machine/gen_latch.h"
#include "machine/k007452.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp
index b56be48d5c8..61fdbc388f7 100644
--- a/src/mame/drivers/cop01.cpp
+++ b/src/mame/drivers/cop01.cpp
@@ -2,18 +2,17 @@
// copyright-holders:Carlos A. Lozano
/***************************************************************************
-Cops 01 (c) 1985 Nichibutsu
+Cop 01 (c) 1985 Nichibutsu
Mighty Guy (c) 1986 Nichibutsu
driver by Carlos A. Lozano <calb@gsyc.inf.uc3m.es>
TODO:
-----
- Fix priority kludge (see video/cop01.c)
-mightguy:
-- missing emulation of the 1412M2 protection chip, used by the sound CPU.
+- Inaccurate 1412M2 protection chip emulation in mightguy, used by the sound CPU.
This is probably an extra CPU (program rom is the ic2 one), presumably
with data / address line scrambling
+- Some sound problems remaining, not just 1412M2, but see also MT7949
Mighty Guy board layout:
@@ -59,7 +58,7 @@ Mighty Guy board layout:
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
#include "sound/dac.h"
@@ -449,16 +448,15 @@ void cop01_state::machine_reset()
void cop01_state::cop01(machine_config &config)
{
/* basic machine hardware */
- Z80(config, m_maincpu, MAINCPU_CLOCK/2); /* unknown clock / divider */
+ Z80(config, m_maincpu, MAINCPU_CLOCK/2); // unknown clock / divider
m_maincpu->set_addrmap(AS_PROGRAM, &cop01_state::cop01_map);
m_maincpu->set_addrmap(AS_IO, &cop01_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(cop01_state::irq0_line_assert));
- Z80(config, m_audiocpu, XTAL(3'000'000)); /* unknown clock / divider, hand-tuned to match audio reference */
+ Z80(config, m_audiocpu, XTAL(3'000'000)); // unknown clock / divider, hand-tuned to match audio reference
m_audiocpu->set_addrmap(AS_PROGRAM, &cop01_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &cop01_state::audio_io_map);
-
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
@@ -476,22 +474,20 @@ void cop01_state::cop01(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
- AY8910(config, "ay1", 1250000).add_route(ALL_OUTPUTS, "mono", 0.50); /* unknown clock / divider, hand-tuned to match audio reference */
-
- AY8910(config, "ay2", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); /* unknown clock / divider, hand-tuned to match audio reference */
-
- AY8910(config, "ay3", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); /* unknown clock / divider, hand-tuned to match audio reference */
+ AY8910(config, "ay1", 1250000).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock / divider, hand-tuned to match audio reference
+ AY8910(config, "ay2", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // "
+ AY8910(config, "ay3", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // "
}
void mightguy_state::mightguy(machine_config &config)
{
/* basic machine hardware */
- Z80(config, m_maincpu, MAINCPU_CLOCK/2); /* unknown divider */
+ Z80(config, m_maincpu, MAINCPU_CLOCK/2); // unknown divider
m_maincpu->set_addrmap(AS_PROGRAM, &mightguy_state::cop01_map);
m_maincpu->set_addrmap(AS_IO, &mightguy_state::mightguy_io_map);
m_maincpu->set_vblank_int("screen", FUNC(cop01_state::irq0_line_assert));
- Z80(config, m_audiocpu, AUDIOCPU_CLOCK/2); /* unknown divider */
+ Z80(config, m_audiocpu, AUDIOCPU_CLOCK/2); // unknown divider
m_audiocpu->set_addrmap(AS_PROGRAM, &mightguy_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &mightguy_state::mightguy_audio_io_map);
@@ -515,7 +511,7 @@ void mightguy_state::mightguy(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
- YM3526(config, "ymsnd", AUDIOCPU_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 1.0); /* unknown divider */
+ YM3526(config, "ymsnd", AUDIOCPU_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 1.0); // unknown divider
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.5); // unknown DAC
}
@@ -663,6 +659,6 @@ void cop01_state::init_mightguy()
*
*************************************/
-GAME( 1985, cop01, 0, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, cop01a, cop01, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, cop01, 0, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1985, cop01a, cop01, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1986, mightguy, 0, mightguy, mightguy, mightguy_state, init_mightguy, ROT270, "Nichibutsu", "Mighty Guy", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 1ec60d8adeb..7394606ce50 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -249,7 +249,7 @@ Stephh's log (2006.09.20) :
#include "machine/upd4701.h"
#include "sound/okim6295.h"
#include "sound/qsound.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "machine/kabuki.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cps1bl_5205.cpp b/src/mame/drivers/cps1bl_5205.cpp
index 2481d16c9be..afb93db05b8 100644
--- a/src/mame/drivers/cps1bl_5205.cpp
+++ b/src/mame/drivers/cps1bl_5205.cpp
@@ -35,7 +35,7 @@ knightsb3: OK.
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cpzodiac.cpp b/src/mame/drivers/cpzodiac.cpp
index 4bc69ae6e33..8824f9863e7 100644
--- a/src/mame/drivers/cpzodiac.cpp
+++ b/src/mame/drivers/cpzodiac.cpp
@@ -33,7 +33,7 @@ TODO:
#include "audio/taitosnd.h"
#include "machine/te7750.h"
#include "machine/z80ctc.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -96,7 +96,7 @@ void cpzodiac_state::sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0xc000, 0xdfff).ram();
- map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610b_device::read), FUNC(ym2610b_device::write));
map(0xe200, 0xe200).w("syt", FUNC(tc0140syt_device::slave_port_w));
map(0xe201, 0xe201).rw("syt", FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w));
map(0xea00, 0xea00).nopr();
@@ -191,7 +191,7 @@ void cpzodiac_state::cpzodiac(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- ym2610_device &ymsnd(YM2610B(config, "ymsnd", 16_MHz_XTAL/2));
+ ym2610b_device &ymsnd(YM2610B(config, "ymsnd", 16_MHz_XTAL/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
diff --git a/src/mame/drivers/crei680.cpp b/src/mame/drivers/crei680.cpp
new file mode 100644
index 00000000000..b6ff30be9ff
--- /dev/null
+++ b/src/mame/drivers/crei680.cpp
@@ -0,0 +1,339 @@
+// license:BSD-3-Clause
+// copyright-holders:Robbbert
+/********************************************************************************
+
+CREI680 trainer.
+
+This has 2 boards, the CPU board with the buttons, LEDs etc,
+and the video board.
+
+Like many machines of this era, the cassette circuit is grossly overcomplicated,
+using a 3301 op-amp, a 75140 line receiver and a bunch of CMOS logic ICs. Since
+the first of these (a 14040B) divides the E clock down to 300 * 16 to generate
+the ACIA's TXC input, the format can be assumed to be Kansas City.
+
+The schematic is missing some information, so we've guessed a few things.
+We don't have any instructions, user manual or anything - just the schematic.
+
+TODO:
+- Cassette to test when we find out how to use it.
+- Single-step circuit
+- Add paste facility, although it will be difficult with having to set each
+ individual bit of each byte. If the byte already is non-zero, it won't
+ know what to do.
+
+
+**********************************************************************************/
+
+
+#include "emu.h"
+#include "cpu/m6800/m6800.h"
+#include "imagedev/cassette.h"
+#include "machine/6821pia.h"
+#include "machine/6850acia.h"
+#include "machine/clock.h"
+#include "machine/timer.h"
+#include "video/mc6845.h"
+#include "sound/beep.h"
+#include "emupal.h"
+#include "screen.h"
+#include "speaker.h"
+#include "crei680.lh"
+
+
+class crei680_state : public driver_device
+{
+public:
+ crei680_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_cass(*this, "cassette")
+ , m_pia0(*this, "pia0")
+ , m_pia1(*this, "pia1")
+ , m_uart(*this, "uart")
+ , m_crtc(*this, "crtc")
+ , m_vram(*this, "videoram")
+ , m_cgen(*this, "chargen")
+ , m_palette(*this, "palette")
+ , m_beep(*this, "beeper")
+ , m_leds(*this, "led%u", 0U)
+ { }
+
+
+ void crei680(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(reset_button);
+
+private:
+ TIMER_DEVICE_CALLBACK_MEMBER(kansas_w);
+ TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
+ MC6845_UPDATE_ROW(crtc_update_row);
+
+ void mem_map(address_map &map);
+
+ void pia0b_w(u8);
+ void pia1b_w(u8);
+ void piaset_w(offs_t, u8);
+ bool m_cassbit = 0;
+ bool m_cassold = 0;
+ u8 m_cass_data[4] = { 0, };
+ void machine_start() override;
+ void machine_reset() override;
+ required_device<cpu_device> m_maincpu;
+ required_device<cassette_image_device> m_cass;
+ required_device<pia6821_device> m_pia0;
+ required_device<pia6821_device> m_pia1;
+ required_device<acia6850_device> m_uart;
+ required_device<mc6845_device> m_crtc;
+ required_shared_ptr<u8> m_vram;
+ required_region_ptr<u8> m_cgen;
+ required_device<palette_device> m_palette;
+ required_device<beep_device> m_beep;
+ output_finder<8> m_leds;
+};
+
+
+/* Memory Maps */
+
+void crei680_state::mem_map(address_map &map)
+{
+ map(0x0080, 0x017f).ram(); // mc6810
+ map(0x3000, 0x3fff).ram(); // 8x 2114
+ map(0xc004, 0xc007).rw(m_pia0, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc008, 0xc009).rw(m_uart, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xc010, 0xc010).rw(m_crtc, FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
+ map(0xc011, 0xc011).rw(m_crtc, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0xc020, 0xc023).rw(m_pia1, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc024, 0xc027).w(FUNC(crei680_state::piaset_w));
+ map(0xd000, 0xd3ff).ram().share("videoram"); // 6x 2102
+ map(0xe000, 0xefff).rom().region("basic", 0); // 68A332
+ map(0xf000, 0xffff).rom().region("maincpu", 0); // 68A332
+}
+
+/* Input Ports */
+
+static INPUT_PORTS_START( crei680 )
+ PORT_START("X0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_NAME("bit0") // toggle bit0 of data
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_NAME("bit1") // ...etc...
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("bit2")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_NAME("bit3")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_NAME("bit4")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_NAME("bit5")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_NAME("bit6")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_NAME("bit7")
+
+ PORT_START("X1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("REG") // Examine or set register
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_NAME("LAD") // Set low byte of address
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("HAD") // Set high byte of address
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("RUN") // Execute
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("DEC") // Previous address or register
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_UP) PORT_NAME("INC") // Next address or register
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("DATA") // Switch between address and data modes
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("RESET")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RST") PORT_CODE(KEYCODE_LALT) PORT_CHANGED_MEMBER(DEVICE_SELF, crei680_state, reset_button, 0)
+INPUT_PORTS_END
+
+INPUT_CHANGED_MEMBER(crei680_state::reset_button)
+{
+ if (newval)
+ {
+ m_pia0->reset();
+ m_pia1->reset();
+ }
+ m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE);
+}
+
+/* Video */
+/* F4 Character Displayer */
+static const gfx_layout charlayout =
+{
+ 8, 8, /* 8 x 8 characters */
+ 128, /* 64 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 /* every char takes 16 bytes */
+};
+
+static GFXDECODE_START( gfx_crei680 )
+ GFXDECODE_ENTRY( "chargen", 0x0000, charlayout, 0, 1 )
+GFXDECODE_END
+
+MC6845_UPDATE_ROW( crei680_state::crtc_update_row )
+{
+ rgb_t const *const palette = m_palette->palette()->entry_list_raw();
+ u32 *p = &bitmap.pix(y);
+
+ for (u16 x = 0; x < x_count; x++)
+ {
+ u16 mem = (ma + x) & 0x3ff;
+ u8 chr = m_vram[mem] & 0x3f; // video ram is 6 bit.
+ if (chr < 0x20)
+ chr |= 0x40;
+ u8 gfx = (ra < 8) ? m_cgen[(chr<<3) | ra] : 0;
+
+ /* Display a scanline of a character (6 pixels) */
+ *p++ = palette[BIT(gfx, 5)];
+ *p++ = palette[BIT(gfx, 4)];
+ *p++ = palette[BIT(gfx, 3)];
+ *p++ = palette[BIT(gfx, 2)];
+ *p++ = palette[BIT(gfx, 1)];
+ *p++ = palette[BIT(gfx, 0)];
+ }
+}
+
+TIMER_DEVICE_CALLBACK_MEMBER(crei680_state::kansas_w)
+{
+ m_cass_data[3]++;
+
+ if (m_cassbit != m_cassold)
+ {
+ m_cass_data[3] = 0;
+ m_cassold = m_cassbit;
+ }
+
+ if (m_cassbit)
+ m_cass->output(BIT(m_cass_data[3], 0) ? -1.0 : +1.0); // 2400Hz
+ else
+ m_cass->output(BIT(m_cass_data[3], 1) ? -1.0 : +1.0); // 1200Hz
+}
+
+TIMER_DEVICE_CALLBACK_MEMBER(crei680_state::kansas_r)
+{
+ /* cassette - turn 1200/2400Hz to a bit */
+ m_cass_data[1]++;
+ u8 cass_ws = (m_cass->input() > +0.03) ? 1 : 0;
+
+ if (cass_ws != m_cass_data[0])
+ {
+ m_cass_data[0] = cass_ws;
+ m_uart->write_rxd((m_cass_data[1] < 12) ? 1 : 0);
+ m_cass_data[1] = 0;
+ }
+}
+
+void crei680_state::pia0b_w(u8 data)
+{
+ /* d0/1 = both low for beep
+ d4 = cassette relay
+ others are mystery circuits */
+ m_beep->set_state(BIT(data, 0, 2) ? 0 : 1);
+ m_cass->change_state((BIT(data,4)) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
+}
+
+void crei680_state::pia1b_w(u8 data)
+{
+ for (u8 i = 0; i < 8; i++)
+ m_leds[i] = !BIT(data, i);
+}
+
+// The various devices in the cxxx range are selected by an address line. This means things clash
+// if 2 or more are selected at the same time. Normally this could be ignored, except that the
+// bootup sequence writes to the 2 PIAs at the same time in one particular instruction.
+void crei680_state::piaset_w(offs_t offset, u8 data)
+{
+ m_pia0->write(offset, data);
+ m_pia1->write(offset, data);
+}
+
+/* Machine Initialization */
+
+void crei680_state::machine_start()
+{
+ m_leds.resolve();
+ save_item(NAME(m_cassold));
+ save_item(NAME(m_cass_data));
+ save_item(NAME(m_cassbit));
+}
+
+void crei680_state::machine_reset()
+{
+ m_beep->set_state(0);
+ m_cass_data[0] = 0;
+ m_cass_data[1] = 0;
+ m_cass_data[3] = 0;
+}
+
+/* Machine Drivers */
+
+void crei680_state::crei680(machine_config &config)
+{
+ /* basic machine hardware */
+ M6802(config, m_maincpu, 2.4576_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &crei680_state::mem_map);
+
+ /* video hardware */
+ config.set_default_layout(layout_crei680);
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ PALETTE(config, m_palette, palette_device::MONOCHROME);
+ GFXDECODE(config, "gfxdecode", m_palette, gfx_crei680);
+
+ MC6845(config, m_crtc, 5281920/6);
+ m_crtc->set_screen("screen");
+ m_crtc->set_show_border_area(false);
+ m_crtc->set_char_width(6);
+ m_crtc->set_update_row_callback(FUNC(crei680_state::crtc_update_row));
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+ BEEP(config, "beeper", 900).add_route(ALL_OUTPUTS, "mono", 0.50);
+
+ /* devices */
+ PIA6821(config, m_pia0, 0);
+ m_pia0->readpa_handler().set_ioport("X1");
+ m_pia0->writepb_handler().set(FUNC(crei680_state::pia0b_w));
+ //m_pia0->cb2_handler().set(FUNC(crei680_state::screen_w));
+ m_pia0->irqa_handler().set_inputline("maincpu", M6800_IRQ_LINE);
+ m_pia0->irqb_handler().set_inputline("maincpu", M6800_IRQ_LINE);
+
+ PIA6821(config, m_pia1, 0);
+ m_pia1->readpa_handler().set_ioport("X0");
+ m_pia1->writepb_handler().set(FUNC(crei680_state::pia1b_w));
+ //m_pia1->cb2_handler().set(FUNC(crei680_state::screen_w));
+ m_pia1->irqa_handler().set_inputline("maincpu", M6800_IRQ_LINE);
+ m_pia1->irqb_handler().set_inputline("maincpu", M6800_IRQ_LINE);
+
+ CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cass->add_route(ALL_OUTPUTS, "mono", 0.05);
+
+ ACIA6850(config, m_uart, 0);
+ m_uart->txd_handler().set([this] (bool state) { m_cassbit = state; });
+ //m_uart->rts_handler().set(FUNC(crei680_state::acia_rts_w));
+ m_uart->irq_handler().set_inputline("maincpu", M6800_IRQ_LINE);
+
+ clock_device &acia_clock(CLOCK(config, "acia_clock", 2.4576_MHz_XTAL / 4 / 128));
+ acia_clock.signal_handler().set("uart", FUNC(acia6850_device::write_txc)); // connected directly
+ acia_clock.signal_handler().append("uart", FUNC(acia6850_device::write_rxc)); // FIXME: modulated by RXD
+
+ TIMER(config, "kansas_w").configure_periodic(FUNC(crei680_state::kansas_w), attotime::from_hz(4800));
+ TIMER(config, "kansas_r").configure_periodic(FUNC(crei680_state::kansas_r), attotime::from_hz(40000));
+}
+
+/* ROMs */
+
+ROM_START( crei680 )
+ ROM_REGION( 0x1000, "maincpu", 0 )
+ ROM_LOAD( "monitor.u19", 0x0000, 0x1000, CRC(0f95918e) SHA1(8cd675cc3a7b38ccd0975ef44f3e954d21711e0a) ) // cpu board
+
+ ROM_REGION( 0x1000, "basic", 0 )
+ ROM_LOAD( "basic.u13", 0x0000, 0x1000, CRC(339d5557) SHA1(74763e6416a124dda5c18e6cfa71c4c6848c0ac9) ) // video board
+
+ ROM_REGION( 0x0400, "chargen", 0 )
+ ROM_LOAD( "mcm6674p.u9", 0x0000, 0x0400, CRC(1c22088a) SHA1(b5f0bd0cfdec0cd5c1cb764506bef3c17d6af0eb) ) // video board
+ROM_END
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 19??, crei680, 0, 0, crei680, crei680, crei680_state, empty_init, "Capital Radio Engineering Institute", "CREI 680", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crimfght.cpp b/src/mame/drivers/crimfght.cpp
index a9aca2d5354..7b051f3f471 100644
--- a/src/mame/drivers/crimfght.cpp
+++ b/src/mame/drivers/crimfght.cpp
@@ -19,7 +19,7 @@
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/crospang.cpp b/src/mame/drivers/crospang.cpp
index 167ad509d3b..9f3c124e01c 100644
--- a/src/mame/drivers/crospang.cpp
+++ b/src/mame/drivers/crospang.cpp
@@ -32,7 +32,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/crshrace.cpp b/src/mame/drivers/crshrace.cpp
index 4db90176e5d..df0cd00f910 100644
--- a/src/mame/drivers/crshrace.cpp
+++ b/src/mame/drivers/crshrace.cpp
@@ -132,7 +132,7 @@ Dip locations verified with Service Mode.
#include "includes/crshrace.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/cybertnk.cpp b/src/mame/drivers/cybertnk.cpp
index ebc26c9ed9e..38e1c88c101 100644
--- a/src/mame/drivers/cybertnk.cpp
+++ b/src/mame/drivers/cybertnk.cpp
@@ -173,7 +173,7 @@ lev 7 : 0x7c : 0000 07e0 - input device clear?
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/y8950.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "layout/generic.h"
#include "screen.h"
diff --git a/src/mame/drivers/cyclemb.cpp b/src/mame/drivers/cyclemb.cpp
index 0d1a8fdec4d..45e8019d795 100644
--- a/src/mame/drivers/cyclemb.cpp
+++ b/src/mame/drivers/cyclemb.cpp
@@ -10,10 +10,9 @@ appears to be in the exact middle between the gsword / josvolly HW and the ppkin
driver by Angelo Salese
TODO:
-- separate driver into 2 classes
-- reduce tagmap lookups
-- sound (controlled by three i8741);
-- coinage (controlled by i8741, like Gladiator / Ougon no Shiro);
+- separate driver into 2 classes;
+- reduce tagmap lookups;
+- low-level emulation of inputs/soundlatch (controlled by several i8741, like Gladiator / Ougon no Shiro);
- color prom resistor network is guessed, cyclemb yellows are more reddish on pcb video and photos;
BTANB verified on pcb: cyclemb standing cones are reddish-yellow/black instead of red/white
@@ -75,7 +74,7 @@ Dumped by Chack'n
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -1160,5 +1159,5 @@ void cyclemb_state::init_skydest()
// year name parent machine input class init rot company fullname flags
-GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, init_cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, skydest, 0, skydest, skydest, cyclemb_state, init_skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, init_cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, skydest, 0, skydest, skydest, cyclemb_state, init_skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/d9final.cpp b/src/mame/drivers/d9final.cpp
index 496753f237b..a4c7f9b80bf 100644
--- a/src/mame/drivers/d9final.cpp
+++ b/src/mame/drivers/d9final.cpp
@@ -28,7 +28,7 @@
#include "machine/msm6242.h"
#include "machine/nvram.h"
#include "sound/es8712.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dacholer.cpp b/src/mame/drivers/dacholer.cpp
index 93fc14317af..455484c29fb 100644
--- a/src/mame/drivers/dacholer.cpp
+++ b/src/mame/drivers/dacholer.cpp
@@ -29,6 +29,7 @@
based on driver from drivers/dacholer.c by Pierpaolo Prazzoli
note:
Sound test does not work.
+
******************************************************************************/
#include "emu.h"
@@ -523,7 +524,7 @@ static INPUT_PORTS_START( itaten )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSWB")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
diff --git a/src/mame/drivers/dai3wksi.cpp b/src/mame/drivers/dai3wksi.cpp
index d7f6d54be3c..a8da534d0ea 100644
--- a/src/mame/drivers/dai3wksi.cpp
+++ b/src/mame/drivers/dai3wksi.cpp
@@ -3,6 +3,11 @@
/*
--------------------------
+Galaxy Force
+PCB: SIV-01-A
+Run Away
+PCB: SIV-01-B
+--------------------------
Dai 3 Wakusei
(c)1979 Sun Electronics
@@ -12,7 +17,15 @@ TVG_14.7 [d48cbabe]
TVG_15.8 [cf44bd60]
TVG_16.9 [ae723f56]
--------------------------
+Warp 1
+(c)1979 Sun Electronics
+PCB: SIV-01-C
+TVG_23.6 [c956b3a8]
+TVG_24.7 [6cca323d]
+TVG_25.8 [5aa6eb1e]
+TVG_26.9 [840c1a75]
+--------------------------
Warp 1
PCB: SIV-01-C, Taito logo
@@ -22,14 +35,12 @@ Z80 @ 2.5MHz
5*SN76477, dai3wksi has 6
--------------------------
-Galaxy Force?
-Run Away?
---------------------------
-
TODO:
- Get rid of those big lookup tables, I see no proms on the PCB so it's hardcoded
- logic somehow? it's 3bpp colors, not b&w + color overlay
- Note: warp1 colors match the ones of dai3wksi according to flyer and game photos
+ logic somehow? it's 3bpp colors, not b&w + color overlay.
+ Note: warp1 colors match the ones of dai3wksi according to flyer and game photos.
+ DIP switch for changing cyan to white does not make sense.
+ PCB video of warp1 does not red-blink the 'fuel low' message.
- Two player games are automatically displayed in cocktail mode.
Is this by design (a cocktail only romset)?
- Discrete audio needs adding to replace hardcoded samples
@@ -399,28 +410,28 @@ void dai3wksi_state::main_map(address_map &map)
static INPUT_PORTS_START( dai3wksi )
PORT_START("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // hold down at boot for service mode
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_DIPNAME( 0x10, 0x00, "DIPSW #7" ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x00, "DIPSW #8" ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_START("IN2")
PORT_DIPNAME( 0x01, 0x00, "DIPSW #1" ) PORT_DIPLOCATION("SW1:1")
@@ -443,10 +454,10 @@ static INPUT_PORTS_START( warp1 )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_MODIFY("IN1") // active-low
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_MODIFY("IN2")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@@ -456,18 +467,18 @@ static INPUT_PORTS_START( warp1bl ) // the bootleg seems to expect active low
PORT_INCLUDE( warp1 )
PORT_MODIFY("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_MODIFY("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
INPUT_PORTS_END
@@ -631,6 +642,14 @@ ROM_END
ROM_START( warp1 )
ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "tvg_23.6", 0x0000, 0x0800, CRC(c956b3a8) SHA1(1e90d3480ac8ebb26eed5800a453b2b9484a8b05) )
+ ROM_LOAD( "tvg_24.7", 0x0800, 0x0800, CRC(6cca323d) SHA1(e5dc4f09990c3f9e408e25e189a9355d7c021128) )
+ ROM_LOAD( "tvg_25.8", 0x1000, 0x0800, CRC(5aa6eb1e) SHA1(ccf18d9618635c38747a57dad2214e6ca14c835d) )
+ ROM_LOAD( "tvg_26.9", 0x1800, 0x0400, CRC(840c1a75) SHA1(63853e560c0fba5600a8ad0408cc9e7a55db6d93) )
+ROM_END
+
+ROM_START( warp1t )
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "tvg_23.6", 0x0000, 0x0800, CRC(2025a316) SHA1(704798ec1d0039cb977396330801a625c8b02cff) )
ROM_LOAD( "tvg_24.7", 0x0800, 0x0800, CRC(6cca323d) SHA1(e5dc4f09990c3f9e408e25e189a9355d7c021128) )
ROM_LOAD( "tvg_25.8", 0x1000, 0x0800, CRC(5aa6eb1e) SHA1(ccf18d9618635c38747a57dad2214e6ca14c835d) )
@@ -659,5 +678,6 @@ ROM_END
GAME( 1979, dai3wksi, 0, dai3wksi, dai3wksi, dai3wksi_state, empty_init, ROT270, "Sun Electronics", "Dai 3 Wakusei (Japan)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1979, warp1, 0, dai3wksi, warp1, dai3wksi_state, empty_init, ROT90, "Sun Electronics (Taito license)", "Warp-1", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1979, warp1, 0, dai3wksi, warp1, dai3wksi_state, empty_init, ROT270, "Sun Electronics", "Warp-1 (Japan)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1979, warp1t, warp1, dai3wksi, warp1, dai3wksi_state, empty_init, ROT90, "Sun Electronics (Taito license)", "Warp-1 (Japan, Taito license)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAMEL(1979, warp1bl, warp1, warp1bl, warp1bl, dai3wksi_state, empty_init, ROT270, "bootleg (Igleck)", "Warp-1 (Japan, bootleg)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE, layout_warp1bl )
diff --git a/src/mame/drivers/dangbar.cpp b/src/mame/drivers/dangbar.cpp
new file mode 100644
index 00000000000..e9f5d89064c
--- /dev/null
+++ b/src/mame/drivers/dangbar.cpp
@@ -0,0 +1,128 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+Dangerous Bar by Namco (1994)
+https://www.youtube.com/watch?v=XwZoXtkZ9qo
+
+Hardware notes:
+Main PCB named Hi-Pric P41 B 8813960102 (8813970102)
+- MC68HC11K1 (main CPU)
+- HD68B09P (audio CPU)
+- CY7C132 DPRAM
+- C140 (custom Namco audio chip)
+- C121 (custom Namco YM2151 compatible)
+- OSC1 49.1520MHz
+- 1 4-dip bank
+
+Led display PCB named Namco ST-M4
+Pic too blurry to read the chip markings
+*/
+
+#include "emu.h"
+#include "cpu/m6809/m6809.h"
+#include "cpu/mc68hc11/mc68hc11.h"
+#include "sound/c140.h"
+#include "sound/ymopm.h"
+#include "speaker.h"
+
+
+namespace {
+
+class dangbar_state : public driver_device
+{
+public:
+ dangbar_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void dangbar(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ required_device<mc68hc11_cpu_device> m_maincpu;
+
+ void main_map(address_map &map);
+ void audio_map(address_map &map);
+};
+
+
+void dangbar_state::machine_start()
+{
+}
+
+
+void dangbar_state::main_map(address_map &map)
+{
+ map(0x8000, 0xffff).rom().region("maincpu", 0x8000);
+}
+
+void dangbar_state::audio_map(address_map &map) // TODO: audio section seems similar to namcos2.cpp / namcos21.cpp
+{
+ map(0xd000, 0xffff).rom().region("audiocpu", 0x01000);
+}
+
+
+static INPUT_PORTS_START( dangbar )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW")
+ PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW:1")
+ PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW:2")
+ PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW:3")
+ PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW:4")
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) // only 4 dips
+INPUT_PORTS_END
+
+
+void dangbar_state::dangbar(machine_config &config)
+{
+ // basic machine hardware
+ MC68HC11K1(config, m_maincpu, 49.152_MHz_XTAL / 4); // divider guessed
+ m_maincpu->set_addrmap(AS_PROGRAM, &dangbar_state::main_map);
+
+ mc6809_device &audiocpu(MC6809(config, "audiocpu", 49.152_MHz_XTAL / 24)); // HD68B09P, divider guessed from other Namco drivers
+ audiocpu.set_addrmap(AS_PROGRAM, &dangbar_state::audio_map);
+
+ // video hardware
+ // TODO: LED screen
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center(); // TODO: verify if stereo
+
+ C140(config, "c140", 49.152_MHz_XTAL / 384 / 6).add_route(ALL_OUTPUTS, "mono", 0.75); // 21.333kHz, copied from other Namco drivers
+
+ YM2151(config, "ymsnd", 49.152_MHz_XTAL / 24).add_route(ALL_OUTPUTS, "mono", 0.75); // actually Namco C121, divider guessed
+}
+
+
+ROM_START( dangbar )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "drb1_mprod_mpr.2c", 0x00000, 0x10000, CRC(0f197b71) SHA1(acd7ae6a843fd963d9c0aedfe18183b77c797da3) ) // 1st half is 0xff filled
+
+ ROM_REGION( 0x20000, "audiocpu", 0 )
+ ROM_LOAD( "drb1_snd0_snd.8a", 0x00000, 0x20000, CRC(8d424d04) SHA1(12dfd7b8bed22460634c34e57c18c31e38e30b4d) ) // mostly 0xff filled
+
+ ROM_REGION16_BE( 0x200000, "c140", 0 )
+ ROM_LOAD16_BYTE( "drb1_voi1.13a", 0x000000, 0x080000, CRC(3891186e) SHA1(459e68a2549b946788e8070c7ff4eeb92ad6f5c8) )
+ ROM_LOAD16_BYTE( "drb1_voi2.14a", 0x100000, 0x080000, CRC(ba704115) SHA1(0d027bf7cd9cf0b9d0b5dff7b8ae88ad6b82e45f) )
+
+ ROM_REGION( 0x20000, "ledcpu", 0 )
+ ROM_LOAD( "drb1_dot0.bin", 0x00000, 0x20000, BAD_DUMP CRC(e77b9919) SHA1(2479fbdff9b570061dbdc2906c2d4fc0152998f7) ) // FIXED BITS (xxxx1xxx)
+ROM_END
+
+} // Anonymous namespace
+
+
+GAME( 1994, dangbar, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Dangerous Bar", MACHINE_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/darius.cpp b/src/mame/drivers/darius.cpp
index c0b22f96191..7eb974bf925 100644
--- a/src/mame/drivers/darius.cpp
+++ b/src/mame/drivers/darius.cpp
@@ -138,7 +138,7 @@ sounds.
#include "machine/watchdog.h"
#include "sound/flt_vol.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/darkseal.cpp b/src/mame/drivers/darkseal.cpp
index 91b08b44db4..bd935020dcf 100644
--- a/src/mame/drivers/darkseal.cpp
+++ b/src/mame/drivers/darkseal.cpp
@@ -23,8 +23,8 @@
#include "cpu/m68000/m68000.h"
#include "cpu/h6280/h6280.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp
index 165de2fc792..a9202bcf403 100644
--- a/src/mame/drivers/dassault.cpp
+++ b/src/mame/drivers/dassault.cpp
@@ -214,8 +214,8 @@ TODO:
#include "cpu/m68000/m68000.h"
#include "machine/mb8421.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp
index 5e086058158..acb62fce76f 100644
--- a/src/mame/drivers/dblewing.cpp
+++ b/src/mame/drivers/dblewing.cpp
@@ -76,7 +76,7 @@ Notes:
#include "machine/gen_latch.h"
#include "machine/input_merger.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/deco16ic.h"
#include "video/decospr.h"
#include "emupal.h"
diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp
index 6f56bd03b94..b41dabaf041 100644
--- a/src/mame/drivers/dbz.cpp
+++ b/src/mame/drivers/dbz.cpp
@@ -59,7 +59,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp
index 32248a76e34..225ab1eddcc 100644
--- a/src/mame/drivers/dcon.cpp
+++ b/src/mame/drivers/dcon.cpp
@@ -20,8 +20,8 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "video/seibu_crtc.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ddealer.cpp b/src/mame/drivers/ddealer.cpp
index 28f1684d6ad..c83554a1ff6 100644
--- a/src/mame/drivers/ddealer.cpp
+++ b/src/mame/drivers/ddealer.cpp
@@ -116,7 +116,7 @@
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "machine/timer.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index 51981206859..a5364b49d17 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -124,7 +124,7 @@ Notes:
#include "cpu/z80/tmpz84c015.h"
#include "cpu/z80/kl5c80a12.h"
#include "sound/ay8910.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/74259.h"
#include "machine/gen_latch.h"
#include "machine/msm6242.h"
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index 7acc08f7baa..b8ccaa38ff5 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -60,8 +60,8 @@ Dip locations verified with manual for ddragon & ddragon2
#include "cpu/m6809/m6809.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index d02d937bad6..1831612443b 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -187,7 +187,7 @@ ROMs (All ROMs are 27C010 EPROM. - means not populated)
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ddribble.cpp b/src/mame/drivers/ddribble.cpp
index 12323c474a0..9ab5c574b66 100644
--- a/src/mame/drivers/ddribble.cpp
+++ b/src/mame/drivers/ddribble.cpp
@@ -9,6 +9,8 @@
2008-08
Dip locations and suggested settings verified with US manual.
+ TODO: using a debug build, the cmd prompt is filled with sound_assert: u32(start) < samples()
+
***************************************************************************/
#include "emu.h"
@@ -17,135 +19,115 @@
#include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
WRITE_LINE_MEMBER(ddribble_state::vblank_irq)
{
- if (state && m_int_enable_0)
+ if (state && m_int_enable[0])
m_maincpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
- if (state && m_int_enable_1)
- m_cpu1->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
-}
-
-
-void ddribble_state::ddribble_bankswitch_w(uint8_t data)
-{
- membank("bank1")->set_entry(data & 0x07);
-}
-
-
-uint8_t ddribble_state::ddribble_sharedram_r(offs_t offset)
-{
- return m_sharedram[offset];
+ if (state && m_int_enable[1])
+ m_subcpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
}
-void ddribble_state::ddribble_sharedram_w(offs_t offset, uint8_t data)
-{
- m_sharedram[offset] = data;
-}
-uint8_t ddribble_state::ddribble_snd_sharedram_r(offs_t offset)
+void ddribble_state::bankswitch_w(uint8_t data)
{
- return m_snd_sharedram[offset];
+ m_mainbank->set_entry(data & 0x07);
}
-void ddribble_state::ddribble_snd_sharedram_w(offs_t offset, uint8_t data)
-{
- m_snd_sharedram[offset] = data;
-}
-void ddribble_state::ddribble_coin_counter_w(uint8_t data)
+void ddribble_state::coin_counter_w(uint8_t data)
{
- /* b4-b7: unused */
- /* b2-b3: unknown */
- /* b1: coin counter 2 */
- /* b0: coin counter 1 */
- machine().bookkeeping().coin_counter_w(0,(data) & 0x01);
- machine().bookkeeping().coin_counter_w(1,(data >> 1) & 0x01);
+ // b4-b7: unused
+ // b2-b3: unknown
+ // b1: coin counter 2
+ // b0: coin counter 1
+ machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
+ machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
}
-uint8_t ddribble_state::ddribble_vlm5030_busy_r()
+uint8_t ddribble_state::vlm5030_busy_r()
{
- return machine().rand(); /* patch */
- /* FIXME: remove ? */
+ return machine().rand(); // patch
+ // FIXME: remove ?
#if 0
if (m_vlm->bsy()) return 1;
else return 0;
#endif
}
-void ddribble_state::ddribble_vlm5030_ctrl_w(uint8_t data)
+void ddribble_state::vlm5030_ctrl_w(uint8_t data)
{
- /* b7 : vlm data bus OE */
+ // b7 : vlm data bus OE
- /* b6 : VLM5030-RST */
- m_vlm->rst(data & 0x40 ? 1 : 0);
+ // b6 : VLM5030-RST
+ m_vlm->rst(BIT(data, 6));
- /* b5 : VLM5030-ST */
- m_vlm->st(data & 0x20 ? 1 : 0);
+ // b5 : VLM5030-ST
+ m_vlm->st(BIT(data, 5));
- /* b4 : VLM5300-VCU */
- m_vlm->vcu(data & 0x10 ? 1 : 0);
+ // b4 : VLM5300-VCU
+ m_vlm->vcu(BIT(data, 4));
- /* b3 : ROM bank select */
- membank("vlmbank")->set_entry(data & 0x08 ? 1 : 0);
+ // b3 : ROM bank select
+ m_vlmbank->set_entry(BIT(data, 3));
- /* b2 : SSG-C rc filter enable */
- m_filter3->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, data & 0x04 ? CAP_N(150) : 0); /* YM2203-SSG-C */
+ // b2 : SSG-C rc filter enable
+ m_filter[2]->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, BIT(data, 2) ? CAP_N(150) : 0); // YM2203-SSG-C
- /* b1 : SSG-B rc filter enable */
- m_filter2->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, data & 0x02 ? CAP_N(150) : 0); /* YM2203-SSG-B */
+ // b1 : SSG-B rc filter enable
+ m_filter[1]->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, BIT(data, 1) ? CAP_N(150) : 0); // YM2203-SSG-B
- /* b0 : SSG-A rc filter enable */
- m_filter1->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, data & 0x01 ? CAP_N(150) : 0); /* YM2203-SSG-A */
+ // b0 : SSG-A rc filter enable
+ m_filter[0]->filter_rc_set_RC(filter_rc_device::LOWPASS, 1000, 2200, 1000, BIT(data, 0) ? CAP_N(150) : 0); // YM2203-SSG-A
}
-void ddribble_state::cpu0_map(address_map &map)
+void ddribble_state::maincpu_map(address_map &map)
{
- map(0x0000, 0x0004).w(FUNC(ddribble_state::K005885_0_w)); /* video registers (005885 #1) */
- map(0x0800, 0x0804).w(FUNC(ddribble_state::K005885_1_w)); /* video registers (005885 #2) */
- map(0x1800, 0x187f).ram().w("palette", FUNC(palette_device::write_indirect)).share("palette"); /* palette */
- map(0x2000, 0x2fff).ram().w(FUNC(ddribble_state::ddribble_fg_videoram_w)).share("fg_videoram"); /* Video RAM 1 */
- map(0x3000, 0x3fff).ram().share("spriteram_1"); /* Object RAM 1 */
- map(0x4000, 0x5fff).ram().share("sharedram"); /* shared RAM with CPU #1 */
- map(0x6000, 0x6fff).ram().w(FUNC(ddribble_state::ddribble_bg_videoram_w)).share("bg_videoram"); /* Video RAM 2 */
- map(0x7000, 0x7fff).ram().share("spriteram_2"); /* Object RAM 2 */
- map(0x8000, 0x8000).w(FUNC(ddribble_state::ddribble_bankswitch_w)); /* bankswitch control */
- map(0x8000, 0x9fff).bankr("bank1"); /* banked ROM */
- map(0xa000, 0xffff).rom(); /* ROM */
+ map(0x0000, 0x0004).w(FUNC(ddribble_state::K005885_0_w)); // video registers (005885 #1)
+ map(0x0800, 0x0804).w(FUNC(ddribble_state::K005885_1_w)); // video registers (005885 #2)
+ map(0x1800, 0x187f).ram().w("palette", FUNC(palette_device::write_indirect)).share("palette");
+ map(0x2000, 0x2fff).ram().w(FUNC(ddribble_state::fg_videoram_w)).share(m_fg_videoram); // Video RAM 1
+ map(0x3000, 0x3fff).ram().share(m_spriteram[0]); // Object RAM 1
+ map(0x4000, 0x5fff).ram().share("sharedram"); // shared RAM with CPU #1
+ map(0x6000, 0x6fff).ram().w(FUNC(ddribble_state::bg_videoram_w)).share(m_bg_videoram); // Video RAM 2
+ map(0x7000, 0x7fff).ram().share(m_spriteram[1]); // Object RAM 2
+ map(0x8000, 0x8000).w(FUNC(ddribble_state::bankswitch_w));
+ map(0x8000, 0x9fff).bankr(m_mainbank);
+ map(0xa000, 0xffff).rom().region("maincpu", 0xa000);
}
-void ddribble_state::cpu1_map(address_map &map)
+void ddribble_state::subcpu_map(address_map &map)
{
- map(0x0000, 0x1fff).rw(FUNC(ddribble_state::ddribble_sharedram_r), FUNC(ddribble_state::ddribble_sharedram_w)); /* shared RAM with CPU #0 */
- map(0x2000, 0x27ff).rw(FUNC(ddribble_state::ddribble_snd_sharedram_r), FUNC(ddribble_state::ddribble_snd_sharedram_w)); /* shared RAM with CPU #2 */
+ map(0x0000, 0x1fff).ram().share("sharedram"); // shared RAM with CPU #0
+ map(0x2000, 0x27ff).ram().share("snd_sharedram"); // shared RAM with CPU #2
map(0x2800, 0x2800).portr("DSW1");
map(0x2801, 0x2801).portr("P1");
map(0x2802, 0x2802).portr("P2");
- map(0x2803, 0x2803).portr("SYSTEM"); /* coinsw & start */
+ map(0x2803, 0x2803).portr("SYSTEM"); // coinsw & start
map(0x2c00, 0x2c00).portr("DSW2");
map(0x3000, 0x3000).portr("DSW3");
- map(0x3400, 0x3400).w(FUNC(ddribble_state::ddribble_coin_counter_w)); /* coin counters */
- map(0x3c00, 0x3c00).w("watchdog", FUNC(watchdog_timer_device::reset_w)); /* watchdog reset */
- map(0x8000, 0xffff).rom(); /* ROM */
+ map(0x3400, 0x3400).w(FUNC(ddribble_state::coin_counter_w));
+ map(0x3c00, 0x3c00).w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0x8000, 0xffff).rom().region("subcpu", 0);
}
-void ddribble_state::cpu2_map(address_map &map)
+void ddribble_state::audiocpu_map(address_map &map)
{
- map(0x0000, 0x07ff).ram().share("snd_sharedram"); /* shared RAM with CPU #1 */
- map(0x1000, 0x1001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); /* YM2203 */
- map(0x3000, 0x3000).w(m_vlm, FUNC(vlm5030_device::data_w)); /* Speech data */
- map(0x8000, 0xffff).rom(); /* ROM */
+ map(0x0000, 0x07ff).ram().share("snd_sharedram"); // shared RAM with CPU #1
+ map(0x1000, 0x1001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
+ map(0x3000, 0x3000).w(m_vlm, FUNC(vlm5030_device::data_w));
+ map(0x8000, 0xffff).rom().region("audiocpu", 0);
}
void ddribble_state::vlm_map(address_map &map)
{
- map(0x0000, 0xffff).bankr("vlmbank");
+ map(0x0000, 0xffff).bankr(m_vlmbank);
}
static INPUT_PORTS_START( ddribble )
@@ -164,13 +146,13 @@ static INPUT_PORTS_START( ddribble )
KONAMI_COINAGE_ALT_LOC(SW1)
PORT_START("DSW2")
- PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW2:1" ) /* Manual says it's Unused */
- PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x00, "SW2:2" ) /* Manual says it's Unused */
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW2:1" ) // Manual says it's Unused
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x00, "SW2:2" ) // Manual says it's Unused
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:4" ) /* Manual says it's Unused */
- PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x00, "SW2:5" ) /* Manual says it's Unused */
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:4" ) // Manual says it's Unused
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x00, "SW2:5" ) // Manual says it's Unused
PORT_DIPNAME( 0x60, 0x20, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
@@ -184,7 +166,7 @@ static INPUT_PORTS_START( ddribble )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x00, "SW3:2" ) /* Manual says it's Unused */
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x00, "SW3:2" ) // Manual says it's Unused
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPNAME( 0x08, 0x08, "Allow vs match with 1 Credit" ) PORT_DIPLOCATION("SW3:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
@@ -222,58 +204,54 @@ static const gfx_layout spritelayout =
};
static GFXDECODE_START( gfx_ddribble )
- GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 48, 1 ) /* colors 48-63 */
- GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout, 16, 1 ) /* colors 16-31 */
- GFXDECODE_ENTRY( "gfx1", 0x20000, spritelayout, 32, 1 ) /* colors 32-47 */
- GFXDECODE_ENTRY( "gfx2", 0x40000, spritelayout, 64, 16 ) /* colors 0-15 but using lookup table */
+ GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 48, 1 ) // colors 48-63
+ GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout, 16, 1 ) // colors 16-31
+ GFXDECODE_ENTRY( "gfx1", 0x20000, spritelayout, 32, 1 ) // colors 32-47
+ GFXDECODE_ENTRY( "gfx2", 0x40000, spritelayout, 64, 16 ) // colors 0-15 but using lookup table
GFXDECODE_END
void ddribble_state::machine_start()
{
- membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base(), 0x2000);
- membank("vlmbank")->configure_entries(0, 2, memregion("vlm")->base(), 0x10000);
+ m_mainbank->configure_entries(0, 8, memregion("maincpu")->base(), 0x2000);
+ m_vlmbank->configure_entries(0, 2, memregion("vlm")->base(), 0x10000);
- save_item(NAME(m_int_enable_0));
- save_item(NAME(m_int_enable_1));
- save_item(NAME(m_vregs[0]));
- save_item(NAME(m_vregs[1]));
+ save_item(NAME(m_int_enable));
+ save_item(NAME(m_vregs));
save_item(NAME(m_charbank));
}
void ddribble_state::machine_reset()
{
- int i;
-
- for (i = 0; i < 5; i++)
+ for (int i = 0; i < 5; i++)
{
m_vregs[0][i] = 0;
m_vregs[1][i] = 0;
}
- m_int_enable_0 = 0;
- m_int_enable_1 = 0;
+ m_int_enable[0] = 0;
+ m_int_enable[1] = 0;
m_charbank[0] = 0;
m_charbank[1] = 0;
}
void ddribble_state::ddribble(machine_config &config)
{
- /* basic machine hardware */
- MC6809E(config, m_maincpu, XTAL(18'432'000)/12); /* verified on pcb */
- m_maincpu->set_addrmap(AS_PROGRAM, &ddribble_state::cpu0_map);
+ // basic machine hardware
+ MC6809E(config, m_maincpu, XTAL(18'432'000)/12); // verified on pcb
+ m_maincpu->set_addrmap(AS_PROGRAM, &ddribble_state::maincpu_map);
- MC6809E(config, m_cpu1, XTAL(18'432'000)/12); /* verified on pcb */
- m_cpu1->set_addrmap(AS_PROGRAM, &ddribble_state::cpu1_map);
+ MC6809E(config, m_subcpu, XTAL(18'432'000)/12); // verified on pcb
+ m_subcpu->set_addrmap(AS_PROGRAM, &ddribble_state::subcpu_map);
- mc6809e_device &cpu2(MC6809E(config, "cpu2", XTAL(18'432'000)/12)); /* verified on pcb */
- cpu2.set_addrmap(AS_PROGRAM, &ddribble_state::cpu2_map);
+ mc6809e_device &audiocpu(MC6809E(config, "audiocpu", XTAL(18'432'000)/12)); // verified on pcb
+ audiocpu.set_addrmap(AS_PROGRAM, &ddribble_state::audiocpu_map);
- config.set_maximum_quantum(attotime::from_hz(6000)); /* we need heavy synch */
+ config.set_maximum_quantum(attotime::from_hz(6000)); // we need heavy synch
WATCHDOG_TIMER(config, "watchdog");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
@@ -281,60 +259,60 @@ void ddribble_state::ddribble(machine_config &config)
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
/* screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); */
- screen.set_screen_update(FUNC(ddribble_state::screen_update_ddribble));
+ screen.set_screen_update(FUNC(ddribble_state::screen_update));
screen.set_palette("palette");
screen.screen_vblank().set(FUNC(ddribble_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, "palette", gfx_ddribble);
- PALETTE(config, "palette", FUNC(ddribble_state::ddribble_palette)).set_format(palette_device::xBGR_555, 64 + 256, 64);
+ PALETTE(config, "palette", FUNC(ddribble_state::palette)).set_format(palette_device::xBGR_555, 64 + 256, 64);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
- ym2203_device &ymsnd(YM2203(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */
- ymsnd.port_b_read_callback().set(FUNC(ddribble_state::ddribble_vlm5030_busy_r));
- ymsnd.port_a_write_callback().set(FUNC(ddribble_state::ddribble_vlm5030_ctrl_w));
+ ym2203_device &ymsnd(YM2203(config, "ymsnd", XTAL(3'579'545))); // verified on pcb
+ ymsnd.port_b_read_callback().set(FUNC(ddribble_state::vlm5030_busy_r));
+ ymsnd.port_a_write_callback().set(FUNC(ddribble_state::vlm5030_ctrl_w));
ymsnd.add_route(0, "filter1", 0.25);
ymsnd.add_route(1, "filter2", 0.25);
ymsnd.add_route(2, "filter3", 0.25);
ymsnd.add_route(3, "mono", 0.25);
- VLM5030(config, m_vlm, XTAL(3'579'545)); /* verified on pcb */
+ VLM5030(config, m_vlm, XTAL(3'579'545)); // verified on pcb
m_vlm->add_route(ALL_OUTPUTS, "mono", 1.0);
m_vlm->set_addrmap(0, &ddribble_state::vlm_map);
- FILTER_RC(config, m_filter1).add_route(ALL_OUTPUTS, "mono", 1.0);
+ FILTER_RC(config, m_filter[0]).add_route(ALL_OUTPUTS, "mono", 1.0);
- FILTER_RC(config, m_filter2).add_route(ALL_OUTPUTS, "mono", 1.0);
+ FILTER_RC(config, m_filter[1]).add_route(ALL_OUTPUTS, "mono", 1.0);
- FILTER_RC(config, m_filter3).add_route(ALL_OUTPUTS, "mono", 1.0);
+ FILTER_RC(config, m_filter[2]).add_route(ALL_OUTPUTS, "mono", 1.0);
}
ROM_START( ddribble )
- ROM_REGION( 0x10000, "maincpu", 0 ) /* 64K for the CPU #0 */
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "690c03.bin", 0x00000, 0x10000, CRC(07975a58) SHA1(96fd1b2348bbdf560067d8ee3cd4c0514e263d7a) )
- ROM_REGION( 0x10000, "cpu1", 0 ) /* 64 for the CPU #1 */
- ROM_LOAD( "690c02.bin", 0x08000, 0x08000, CRC(f07c030a) SHA1(db96a10f8bb657bf285266db9e775fa6af82f38c) )
+ ROM_REGION( 0x8000, "subcpu", 0 )
+ ROM_LOAD( "690c02.bin", 0x0000, 0x8000, CRC(f07c030a) SHA1(db96a10f8bb657bf285266db9e775fa6af82f38c) )
- ROM_REGION( 0x10000, "cpu2", 0 ) /* 64k for the SOUND CPU */
- ROM_LOAD( "690b01.bin", 0x08000, 0x08000, CRC(806b8453) SHA1(3184772c5e5181438a17ac72129070bf164b2965) )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
+ ROM_LOAD( "690b01.bin", 0x0000, 0x8000, CRC(806b8453) SHA1(3184772c5e5181438a17ac72129070bf164b2965) )
ROM_REGION( 0x40000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "690a05.bin", 0x00000, 0x20000, CRC(6a816d0d) SHA1(73f2527d5f2b9d51b784be36e07e0d0c566a28d9) ) /* characters & objects */
+ ROM_LOAD16_BYTE( "690a05.bin", 0x00000, 0x20000, CRC(6a816d0d) SHA1(73f2527d5f2b9d51b784be36e07e0d0c566a28d9) ) // characters & objects
ROM_LOAD16_BYTE( "690a06.bin", 0x00001, 0x20000, CRC(46300cd0) SHA1(07197a546fff452a41575fcd481da64ac6bf601e) )
ROM_REGION( 0x80000, "gfx2", 0 )
- ROM_LOAD16_BYTE( "690a10.bin", 0x00000, 0x20000, CRC(61efa222) SHA1(bd7b993ad1c06d8f6ac29fbc07c4a987abe1ab42) ) /* characters */
+ ROM_LOAD16_BYTE( "690a10.bin", 0x00000, 0x20000, CRC(61efa222) SHA1(bd7b993ad1c06d8f6ac29fbc07c4a987abe1ab42) ) // characters
ROM_LOAD16_BYTE( "690a09.bin", 0x00001, 0x20000, CRC(ab682186) SHA1(a28982835042a07354557e1539b097cdf93fc466) )
- ROM_LOAD16_BYTE( "690a08.bin", 0x40000, 0x20000, CRC(9a889944) SHA1(ca96815aefb1e336bd2288841b00a5c21cacf90f) ) /* objects */
+ ROM_LOAD16_BYTE( "690a08.bin", 0x40000, 0x20000, CRC(9a889944) SHA1(ca96815aefb1e336bd2288841b00a5c21cacf90f) ) // objects
ROM_LOAD16_BYTE( "690a07.bin", 0x40001, 0x20000, CRC(faf81b3f) SHA1(0bd647b4cdd3f2209472e303fd22eedd5533d1b1) )
ROM_REGION( 0x0100, "proms", 0 )
- ROM_LOAD( "690a11.i15", 0x0000, 0x0100, CRC(f34617ad) SHA1(79ceba6fe204472a5a659641ac4f14bb1f0ee3f6) ) /* sprite lookup table */
+ ROM_LOAD( "690a11.i15", 0x0000, 0x0100, CRC(f34617ad) SHA1(79ceba6fe204472a5a659641ac4f14bb1f0ee3f6) ) // sprite lookup table
- ROM_REGION( 0x20000, "vlm", 0 ) /* 128k for the VLM5030 data */
+ ROM_REGION( 0x20000, "vlm", 0 ) // 128k for the VLM5030 data
ROM_LOAD( "690a04.bin", 0x00000, 0x20000, CRC(1bfeb763) SHA1(f3e9acb2a7a9b4c8dee6838c1344a7a65c27ff77) )
ROM_REGION( 0x0100, "plds", 0 )
@@ -342,35 +320,35 @@ ROM_START( ddribble )
ROM_END
ROM_START( ddribblep )
- ROM_REGION( 0x10000, "maincpu", 0 ) /* 64K for the CPU #0 */
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "ebs_11-19.c19", 0x00000, 0x10000, CRC(0a81c926) SHA1(1ecd30f0d352cf6c96d246bb443b5a6738624b9b) )
- ROM_REGION( 0x10000, "cpu1", 0 ) /* 64 for the CPU #1 */
- ROM_LOAD( "eb_11-19.c12", 0x08000, 0x08000, CRC(22130292) SHA1(a5f9bf3f63ff85d171f096867433513419458b0e) )
+ ROM_REGION( 0x8000, "subcpu", 0 )
+ ROM_LOAD( "eb_11-19.c12", 0x0000, 0x8000, CRC(22130292) SHA1(a5f9bf3f63ff85d171f096867433513419458b0e) )
- ROM_REGION( 0x10000, "cpu2", 0 ) /* 64k for the SOUND CPU */
- ROM_LOAD( "master_sound.a6", 0x08000, 0x08000, CRC(090e3a31) SHA1(4c645b55d52abb859354ea2ea401e4ab99f5d493) )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
+ ROM_LOAD( "master_sound.a6", 0x0000, 0x8000, CRC(090e3a31) SHA1(4c645b55d52abb859354ea2ea401e4ab99f5d493) )
- ROM_REGION( 0x40000, "gfx1", 0 ) /* same content as parent */
- ROM_LOAD16_BYTE( "v1a.e12", 0x00000, 0x10000, CRC(53724765) SHA1(55a45ab71f7bf55ed805d4dc2345cadc4171f323) ) /* characters & objects */
- ROM_LOAD16_BYTE( "01a.e11", 0x20000, 0x10000, CRC(1ae5d725) SHA1(d8dd41cc1872c6d218cc425d1cd03f8d8eefe3e3) ) /* characters & objects */
+ ROM_REGION( 0x40000, "gfx1", 0 ) // same content as parent
+ ROM_LOAD16_BYTE( "v1a.e12", 0x00000, 0x10000, CRC(53724765) SHA1(55a45ab71f7bf55ed805d4dc2345cadc4171f323) ) // characters & objects
+ ROM_LOAD16_BYTE( "01a.e11", 0x20000, 0x10000, CRC(1ae5d725) SHA1(d8dd41cc1872c6d218cc425d1cd03f8d8eefe3e3) ) // characters & objects
ROM_LOAD16_BYTE( "v1b.e13", 0x00001, 0x10000, CRC(d9dc6f1a) SHA1(f50169525c5109ba65acdccbb01dddb92926462a) )
ROM_LOAD16_BYTE( "01b.d14", 0x20001, 0x10000, CRC(054c5242) SHA1(411389e36d33fd27e13ffc6a7d4b295a42f08869) )
- ROM_REGION( 0x80000, "gfx2", 0 ) /* same content as parent */
- ROM_LOAD16_BYTE( "v2a00.i13", 0x00000, 0x10000, CRC(a33f7d6d) SHA1(c2b9a9a66e4712785250cad69a5e43338af60a82) ) /* characters */
- ROM_LOAD16_BYTE( "v2a10.h13", 0x20000, 0x10000, CRC(8fbc7454) SHA1(93782d148afe64b14fa46deb4d227ef167030c94) ) /* characters */
+ ROM_REGION( 0x80000, "gfx2", 0 ) // same content as parent
+ ROM_LOAD16_BYTE( "v2a00.i13", 0x00000, 0x10000, CRC(a33f7d6d) SHA1(c2b9a9a66e4712785250cad69a5e43338af60a82) ) // characters
+ ROM_LOAD16_BYTE( "v2a10.h13", 0x20000, 0x10000, CRC(8fbc7454) SHA1(93782d148afe64b14fa46deb4d227ef167030c94) ) // characters
ROM_LOAD16_BYTE( "v2b00.i12", 0x00001, 0x10000, CRC(e63759bb) SHA1(df7e94f40266aa8995509346cdfdce08a885de16) )
ROM_LOAD16_BYTE( "v2b10.h12", 0x20001, 0x10000, CRC(8a7d4062) SHA1(5b5eb4edc765f0e13e22f9de62ddae7380ba3790) )
- ROM_LOAD16_BYTE( "02a00.i11", 0x40000, 0x10000, CRC(6751a942) SHA1(a71c9cbbf1fba92664144d571d49cf2c15f45408) ) /* objects */
- ROM_LOAD16_BYTE( "02a10.h11", 0x60000, 0x10000, CRC(bc5ff11c) SHA1(b02296982298e1a659ce05606b291eda9a605cc8) ) /* objects */
+ ROM_LOAD16_BYTE( "02a00.i11", 0x40000, 0x10000, CRC(6751a942) SHA1(a71c9cbbf1fba92664144d571d49cf2c15f45408) ) // objects
+ ROM_LOAD16_BYTE( "02a10.h11", 0x60000, 0x10000, CRC(bc5ff11c) SHA1(b02296982298e1a659ce05606b291eda9a605cc8) ) // objects
ROM_LOAD16_BYTE( "02b00_11-4.i8.bin", 0x40001, 0x10000, CRC(460aa7b4) SHA1(9e928d6150e7a91d411c0510198e80d523a88272) )
ROM_LOAD16_BYTE( "02b10.h8", 0x60001, 0x10000, CRC(2cc7ee28) SHA1(c96890383dbef755953f851a43449cf563e2e1a5) )
ROM_REGION( 0x0100, "proms", 0 )
- ROM_LOAD( "6301-1.i15", 0x0000, 0x0100, CRC(f34617ad) SHA1(79ceba6fe204472a5a659641ac4f14bb1f0ee3f6) ) /* sprite lookup table */
+ ROM_LOAD( "6301-1.i15", 0x0000, 0x0100, CRC(f34617ad) SHA1(79ceba6fe204472a5a659641ac4f14bb1f0ee3f6) ) // sprite lookup table
- ROM_REGION( 0x20000, "vlm", 0 ) /* same content as parent */ /* 128k for the VLM5030 data */
+ ROM_REGION( 0x20000, "vlm", 0 ) // same content as parent, 128k for the VLM5030 data
ROM_LOAD( "voice_00.e7", 0x00000, 0x10000, CRC(8bd0fcf7) SHA1(d55644f8b33eff6f960725f00ba842e0253e3b36) )
ROM_LOAD( "voice_10.d7", 0x10000, 0x10000, CRC(b4c97494) SHA1(93f7c3c93f6f790c3f480e183da0105b5ac3593b) )
ROM_END
diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp
index b2fb0c226b8..4ba94dc7af6 100644
--- a/src/mame/drivers/de_2.cpp
+++ b/src/mame/drivers/de_2.cpp
@@ -17,7 +17,7 @@
#include "cpu/m6809/m6809.h"
#include "machine/6821pia.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "de2.lh"
diff --git a/src/mame/drivers/deadang.cpp b/src/mame/drivers/deadang.cpp
index d8ae034bf22..b56bcb18e4a 100644
--- a/src/mame/drivers/deadang.cpp
+++ b/src/mame/drivers/deadang.cpp
@@ -49,7 +49,7 @@ Dip locations and factory settings verified with US manual
#include "cpu/nec/nec.h"
#include "machine/watchdog.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index 142c3c1fcb4..1266df83a64 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -398,8 +398,8 @@ Notes:
#include "cpu/m6805/m68705.h"
#include "machine/upd4701.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index 8f93e9f5991..53b9530af3e 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -49,9 +49,8 @@ To do:
#include "cpu/m6809/m6809.h"
#include "machine/deco222.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/decmate2.cpp b/src/mame/drivers/decmate2.cpp
new file mode 100644
index 00000000000..40d52bd0357
--- /dev/null
+++ b/src/mame/drivers/decmate2.cpp
@@ -0,0 +1,1006 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/****************************************************************************
+
+ Preliminary driver for DECmate II & III business PCs.
+
+ The DECmate II & III are the last and in some ways least PDP-8-like
+ members of DEC's 12-bit computer line. Based on a Harris HD-6120 CMOS
+ LSI CPU with 64K words (advertised as 96 KB) of RAM, they were designed
+ mostly to run WPS on OS/278 and are not very compatible with older
+ software.
+
+ DECmate II (PC278) abandoned the system-in-a-terminal form factor of the
+ VT78 DECstation and VT278 DECmate, adopting the BA25 chassis also used
+ in the Rainbow 100. Instead of the custom RX01 or RX02 8-inch disk
+ drives (whose use is supported only through the optional PC27X-BA
+ adapter), the one or two internal 400 KB RX50 drives are basically
+ industry-standard 5.25-inch floppy disk drives, with a CPU interface
+ that simulates the old RX8-E using a 8051 MCU with 2 KB of buffer SRAM
+ and an off-the-shelf FDC. The CRT9007 CRT controller (which may be
+ configured for 80-column or 132-column modes) and LK201 keyboard are the
+ same as used in the VT220 display terminal, which the monochrome (white,
+ green or amber) VR201 monitor also physically resembles. (As with the
+ DECmate's VT100 keyboard, the LK201 may have its PF1 key is painted gold
+ to highlight its importance to DECmate software.) DECmate II also differs
+ from its CMOS-8 predecessors in using generic 8-bit EPROMs or mask ROMs
+ rather than specialized 12-bit ROMs for its "control panel" program.
+
+ DECmate II had three different types of expansion options: the
+ aforementioned storage adapter, which also supported a 10 MB hard disk
+ interface (RDC51-CA) with its own 8051; a graphics board supporting
+ monochrome or color graphics on a second monitor; and an Auxiliary
+ Processor Unit. The basic APU (PC27X-AA or -AB) ran CP/M on a Z80 with
+ 64K of its own RAM. The upgraded XPU (PC27X-AH or PC27X-AJ) could also
+ run MS-DOS 2.11 using an additional 8086 CPU with 256K or 512K of RAM.
+
+ DECmate III (PC238) was a repackaging of the DECmate II in a smaller but
+ taller box that provides space for only one internal RX50 floppy drive.
+ Much of the timing and support logic is compressed into two large PLCC
+ gate arrays (DC381 and DC382), with a PLL and PAL16R8 to assist the FDC.
+ (One consequence of this reduction is that the printer port is fixed to
+ the same baud rate as the keyboard.) The DECmate III's own APU and
+ graphics options share a single and unique expansion connector; the
+ PC23X-CA graphics card supported RGB color output on a VR241 monitor.
+ DEC also later released an enhanced version called DECmate III Plus
+ (PC24P), which included a 20 MB RD31 hard disk underneath a half-height
+ RX33 floppy drive.
+
+****************************************************************************/
+
+#include "emu.h"
+#include "bus/rs232/rs232.h"
+#include "cpu/pdp8/hd6120.h"
+#include "cpu/mcs51/mcs51.h"
+#include "imagedev/floppy.h"
+#include "machine/ay31015.h"
+#include "machine/clock.h"
+#include "machine/com8116.h"
+#include "machine/dec_lk201.h"
+#include "machine/wd_fdc.h"
+#include "machine/z80sio.h"
+#include "video/crt9007.h"
+#include "screen.h"
+
+class decmate2_state : public driver_device
+{
+public:
+ decmate2_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_rxcpu(*this, "rxcpu")
+ , m_fdc(*this, "fdc")
+ , m_floppy(*this, {"fdc:a0", "fdc:a1", "fdc:b0", "fdc:b1"})
+ , m_kbduart(*this, "kbduart")
+ , m_prtuart(*this, "prtuart")
+ , m_mpscc(*this, "mpscc")
+ , m_brg(*this, "brg%u", 0U)
+ , m_crtc(*this, "crtc")
+ , m_ram(*this, "ram")
+ , m_cprom(*this, "cprom")
+ , m_chargen(*this, "chargen")
+ , m_cprom_iview(*this, "cpromi")
+ , m_cprom_dview(*this, "cpromd")
+ , m_cpsel(false)
+ , m_vint(false)
+ , m_cpromsel(false)
+ , m_eadd0(false)
+ , m_com_control_read(false)
+ , m_kbd_rflg(false)
+ , m_kbd_tflg(false)
+ , m_prt_rflg(false)
+ , m_prt_tflg(false)
+ , m_crtc_addr(0)
+ , m_rxdata(0)
+ , m_rx_control(0)
+ , m_rx_status(0)
+ {
+ }
+
+ void pc278(machine_config &config);
+ void pc238(machine_config &config);
+ void init_pc278();
+ void init_pc238();
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+private:
+ u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ DECLARE_WRITE_LINE_MEMBER(vint_w);
+
+ void lxmar_w(offs_t offset, u16 data);
+ void lxpar_w(offs_t offset, u16 data);
+ void lxdar_w(offs_t offset, u16 data);
+ void wsr_w(u16 data);
+ u16 cprom_switch_r(offs_t offset);
+ DECLARE_WRITE_LINE_MEMBER(pc278_ioclr_w);
+ DECLARE_WRITE_LINE_MEMBER(pc238_ioclr_w);
+
+ DECLARE_WRITE_LINE_MEMBER(keyboard_dr_w);
+ DECLARE_WRITE_LINE_MEMBER(keyboard_dr_ff_w);
+ DECLARE_WRITE_LINE_MEMBER(keyboard_tbre_w);
+ DECLARE_WRITE_LINE_MEMBER(keyboard_tbre_ff_w);
+ DECLARE_WRITE_LINE_MEMBER(printer_dr_w);
+ DECLARE_WRITE_LINE_MEMBER(printer_dr_ff_w);
+ DECLARE_WRITE_LINE_MEMBER(printer_tbre_w);
+ DECLARE_WRITE_LINE_MEMBER(printer_tbre_ff_w);
+ u8 kbdrflg_devctl_r();
+ void kbdrflg_set_w(u16 data);
+ void kbdrflg_clear_w(u16 data);
+ u16 kbduart_r();
+ u8 kbdtflg_devctl_r();
+ void kbdtflg_set_w(u16 data);
+ void kbdtflg_clear_w(u16 data);
+ u8 prtrflg_devctl_r();
+ void prtrflg_set_w(u16 data);
+ void prtrflg_clear_w(u16 data);
+ u16 prtuart_r();
+ void prttflg_set_w(u16 data);
+ void prttflg_clear_w(u16 data);
+ u8 prttflg_devctl_r();
+ u8 apten_r();
+
+ u8 comreg_devctl_r();
+ u16 comreg_r();
+ void comreg_w(u16 data);
+ void cominit_w(u16 data);
+
+ u8 vint_devctl_r();
+ void lscreg_w(u16 data);
+ void wrcrtc_w(u16 data);
+ u16 rdcrtc_r();
+ void video_mod_w(u16 data);
+
+ void modem_w(u16 data);
+
+ void sel_w(u16 data);
+ void lcd_w(u16 data);
+ u16 xdr_r();
+ void xdr_w(u16 data);
+ u8 xdr_devctl_r();
+ u8 str_devctl_r();
+ u8 ser_devctl_r();
+ u8 sdn_devctl_r();
+ void intr_w(u16 data);
+ void rxinit_w(u16 data);
+
+ u8 rx_ldata_r();
+ void rx_ldata_w(u8 data);
+ u8 rx_hdata_r();
+ void rx_hdata_w(u8 data);
+ void rx_control_w(u8 data);
+ u8 rx_status_r();
+ u8 rx_intr_r();
+ void rx_sel_w(u8 data);
+ u8 rx_rdy_r();
+
+ void inst_map(address_map &map);
+ void data_map(address_map &map);
+ void pc278_io_map(address_map &map);
+ void pc238_io_map(address_map &map);
+ void devctl_map(address_map &map);
+ void rx_map(address_map &map);
+
+ required_device<hd6120_device> m_maincpu;
+ required_device<i8051_device> m_rxcpu;
+ required_device<fd1793_device> m_fdc;
+ optional_device_array<floppy_connector, 4> m_floppy;
+ required_device<ay31015_device> m_kbduart;
+ required_device<ay31015_device> m_prtuart;
+ required_device<upd7201_device> m_mpscc;
+ optional_device_array<com8116_device, 2> m_brg;
+ required_device<crt9007_device> m_crtc;
+ required_shared_ptr<u16> m_ram;
+ required_region_ptr<u16> m_cprom;
+ required_region_ptr<u8> m_chargen;
+ memory_view m_cprom_iview;
+ memory_view m_cprom_dview;
+
+ bool m_cpsel;
+ bool m_vint;
+ bool m_cpromsel;
+ bool m_eadd0;
+ bool m_com_control_read;
+
+ bool m_kbd_rflg;
+ bool m_kbd_tflg;
+ bool m_prt_rflg;
+ bool m_prt_tflg;
+
+ u8 m_crtc_addr;
+ u16 m_rxdata; // 74LS298, writable from both 6120 and 8051
+ u8 m_rx_control;
+ u8 m_rx_status;
+};
+
+void decmate2_state::init_pc278()
+{
+ for (u16 addr = 0; addr < 04000; addr++)
+ {
+ // Shift E113 and E114 ROMs into their proper places and separate even and odd bits of E115
+ m_cprom[addr | 04000] = (m_cprom[addr | 04000] & 0xff00) >> 4 | bitswap<4>(m_cprom[addr], 6, 4, 2, 0);
+ m_cprom[addr] = (m_cprom[addr] & 0xff00) >> 4 | bitswap<4>(m_cprom[addr], 7, 5, 3, 1);
+ }
+}
+
+void decmate2_state::init_pc238()
+{
+ for (u16 addr = 0; addr < 010000; addr++)
+ m_cprom[addr] &= 07777;
+}
+
+void decmate2_state::machine_start()
+{
+ if (m_brg[1].found())
+ {
+ m_brg[1]->str_w(12);
+ m_brg[1]->stt_w(0);
+ }
+
+ m_kbduart->write_np(1);
+ m_kbduart->write_nb2(1);
+ m_kbduart->write_nb1(1);
+ m_kbduart->write_eps(1);
+ m_kbduart->write_tsb(0);
+ m_kbduart->write_cs(1);
+ m_kbduart->write_swe(0);
+
+ m_prtuart->write_np(1);
+ m_prtuart->write_nb2(1);
+ m_prtuart->write_nb1(1);
+ m_prtuart->write_eps(1);
+ m_prtuart->write_tsb(0);
+ m_prtuart->write_cs(1);
+ m_prtuart->write_swe(0);
+
+ m_fdc->dden_w(0);
+
+ // 7201 modem signal inputs are either pulled up or grounded
+ m_mpscc->ctsa_w(0);
+ m_mpscc->dcda_w(0);
+ m_mpscc->dcdb_w(1);
+ m_mpscc->rxb_w(0);
+ m_mpscc->synca_w(1);
+ m_mpscc->syncb_w(1);
+
+ save_item(NAME(m_cpsel));
+ save_item(NAME(m_vint));
+ save_item(NAME(m_cpromsel));
+ save_item(NAME(m_eadd0));
+ save_item(NAME(m_com_control_read));
+ save_item(NAME(m_kbd_rflg));
+ save_item(NAME(m_kbd_tflg));
+ save_item(NAME(m_prt_rflg));
+ save_item(NAME(m_prt_tflg));
+ save_item(NAME(m_crtc_addr));
+ save_item(NAME(m_rxdata));
+ save_item(NAME(m_rx_control));
+ save_item(NAME(m_rx_status));
+}
+
+void decmate2_state::machine_reset()
+{
+ m_cprom_iview.select(0);
+ m_cprom_dview.select(0);
+ m_cpromsel = false;
+}
+
+u32 decmate2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ // TODO
+ return 0;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::vint_w)
+{
+ // TODO: synchronize
+ m_vint = state;
+}
+
+void decmate2_state::lxmar_w(offs_t offset, u16 data)
+{
+ if (offset == hd6120_device::IFETCH)
+ m_cpsel = false;
+}
+
+void decmate2_state::lxpar_w(offs_t offset, u16 data)
+{
+ if (offset == hd6120_device::IFETCH)
+ m_cpsel = true;
+}
+
+void decmate2_state::lxdar_w(offs_t offset, u16 data)
+{
+ m_eadd0 = BIT(data, 12); // latched from EMA2
+}
+
+void decmate2_state::wsr_w(u16 data)
+{
+ if (m_cpsel)
+ {
+ if (BIT(data, 0) != m_cpromsel) // DX11
+ {
+ m_cprom_iview.select(1);
+ m_cpromsel = BIT(data, 0);
+ }
+
+ if (BIT(data, 11)) // DX0
+ m_cprom_dview.disable();
+ else
+ m_cprom_dview.select(0);
+ }
+}
+
+// This is not a precise implementation of the actual RAMDIS control circuit, but is close enough to work just as well
+u16 decmate2_state::cprom_switch_r(offs_t offset)
+{
+ if (m_cpromsel)
+ {
+ if (!machine().side_effects_disabled())
+ m_cprom_iview.disable();
+ return m_cprom[offset & 07777];
+ }
+ else
+ {
+ if (!machine().side_effects_disabled())
+ m_cprom_iview.select(0);
+ return m_ram[offset];
+ }
+}
+
+WRITE_LINE_MEMBER(decmate2_state::pc278_ioclr_w)
+{
+ if (!state)
+ {
+ m_kbd_rflg = false;
+ m_kbd_tflg = false;
+ m_prt_rflg = false;
+ m_prt_tflg = false;
+ rxinit_w(0);
+ cominit_w(0);
+ }
+}
+
+WRITE_LINE_MEMBER(decmate2_state::pc238_ioclr_w)
+{
+ if (!state)
+ {
+ rxinit_w(0);
+ cominit_w(0);
+ }
+}
+
+WRITE_LINE_MEMBER(decmate2_state::keyboard_dr_w)
+{
+ m_kbd_rflg = state;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::keyboard_dr_ff_w)
+{
+ // TODO: edge trigger
+ if (state)
+ m_kbd_rflg = true;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::keyboard_tbre_w)
+{
+ m_kbd_tflg = state;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::keyboard_tbre_ff_w)
+{
+ // TODO: edge trigger
+ if (state)
+ m_kbd_tflg = true;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::printer_dr_w)
+{
+ m_prt_rflg = state;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::printer_dr_ff_w)
+{
+ // TODO: edge trigger
+ if (state)
+ m_prt_rflg = true;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::printer_tbre_w)
+{
+ m_prt_tflg = state;
+}
+
+WRITE_LINE_MEMBER(decmate2_state::printer_tbre_ff_w)
+{
+ // TODO: edge trigger
+ if (state)
+ m_prt_tflg = true;
+}
+
+u8 decmate2_state::kbdrflg_devctl_r()
+{
+ return m_kbd_rflg ? hd6120_device::SKIP : 0;
+}
+
+void decmate2_state::kbdrflg_set_w(u16 data)
+{
+ m_kbd_rflg = true;
+}
+
+void decmate2_state::kbdrflg_clear_w(u16 data)
+{
+ m_kbd_rflg = false;
+}
+
+u16 decmate2_state::kbduart_r()
+{
+ return m_kbduart->receive();
+}
+
+u8 decmate2_state::kbdtflg_devctl_r()
+{
+ return m_kbd_tflg ? hd6120_device::SKIP : 0;
+}
+
+void decmate2_state::kbdtflg_set_w(u16 data)
+{
+ m_kbd_tflg = true;
+}
+
+void decmate2_state::kbdtflg_clear_w(u16 data)
+{
+ m_kbd_tflg = false;
+}
+
+u8 decmate2_state::prtrflg_devctl_r()
+{
+ return m_prt_rflg ? hd6120_device::SKIP : 0;
+}
+
+void decmate2_state::prtrflg_set_w(u16 data)
+{
+ m_prt_rflg = true;
+}
+
+void decmate2_state::prtrflg_clear_w(u16 data)
+{
+ m_prt_rflg = false;
+}
+
+u16 decmate2_state::prtuart_r()
+{
+ return m_prtuart->receive();
+}
+
+u8 decmate2_state::prttflg_devctl_r()
+{
+ return m_prt_tflg ? hd6120_device::SKIP : 0;
+}
+
+void decmate2_state::prttflg_set_w(u16 data)
+{
+ m_prt_tflg = true;
+}
+
+void decmate2_state::prttflg_clear_w(u16 data)
+{
+ m_prt_tflg = false;
+}
+
+u8 decmate2_state::apten_r()
+{
+ // TODO: from pin 4 of printer connector J2
+ return 0;
+}
+
+u8 decmate2_state::comreg_devctl_r()
+{
+ if (m_com_control_read)
+ return hd6120_device::C1;
+ else
+ return 0;
+}
+
+u16 decmate2_state::comreg_r()
+{
+ if (m_eadd0)
+ return m_mpscc->cb_r();
+ else
+ return m_mpscc->ca_r();
+}
+
+void decmate2_state::comreg_w(u16 data)
+{
+ if (!m_com_control_read)
+ {
+ if (m_eadd0)
+ m_mpscc->cb_w(data & 0377);
+ else
+ m_mpscc->ca_w(data & 0377);
+ }
+ m_com_control_read = BIT(data, 11);
+}
+
+void decmate2_state::cominit_w(u16 data)
+{
+ m_mpscc->reset();
+ m_com_control_read = false;
+}
+
+u8 decmate2_state::vint_devctl_r()
+{
+ return m_vint ? hd6120_device::SKIP : 0;
+}
+
+void decmate2_state::lscreg_w(u16 data)
+{
+ m_crtc_addr = data & 077;
+}
+
+void decmate2_state::wrcrtc_w(u16 data)
+{
+ m_crtc->write(m_crtc_addr, data & 0377);
+}
+
+u16 decmate2_state::rdcrtc_r()
+{
+ return m_crtc->read(m_crtc_addr);
+}
+
+void decmate2_state::video_mod_w(u16 data)
+{
+ logerror("%s: Loading %04o into video mod register (loopback %s)\n", machine().describe_context(), data, BIT(data, 4) ? "enabled" : "disabled");
+}
+
+void decmate2_state::modem_w(u16 data)
+{
+ logerror("%s: Writing %04o to modem control register\n", machine().describe_context(), data);
+}
+
+void decmate2_state::sel_w(u16 data)
+{
+ logerror("%s: RX drive pair %c selected\n", machine().describe_context(), BIT(data, 0) ? 'B' : 'A');
+ if (BIT(data, 0))
+ m_rx_status |= 0x80;
+ else
+ m_rx_status &= 0x7f;
+}
+
+void decmate2_state::lcd_w(u16 data)
+{
+ logerror("%s: RX %d-bit command %d, drive %d\n", machine().describe_context(), BIT(data, 6) ? 8 : 12, BIT(data, 1, 3), BIT(data, 4));
+ m_rxdata = data;
+ m_rx_status &= 0xfc;
+ if (!BIT(data, 6))
+ m_rx_status |= 0x01;
+ m_rxcpu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE);
+}
+
+u16 decmate2_state::xdr_r()
+{
+ if (BIT(m_rx_status, 1))
+ {
+ if (!machine().side_effects_disabled())
+ logerror("%s: XDR received %04o from 8051\n", machine().describe_context(), m_rxdata);
+ return m_rxdata;
+ }
+ else
+ return 0;
+}
+
+void decmate2_state::xdr_w(u16 data)
+{
+ if (!BIT(m_rx_status, 1))
+ {
+ logerror("%s: XDR transmit %04o to 8051\n", machine().describe_context(), data);
+ m_rxdata = data;
+ }
+ m_rxcpu->set_input_line(MCS51_INT1_LINE, CLEAR_LINE);
+}
+
+u8 decmate2_state::xdr_devctl_r()
+{
+ if (BIT(m_rx_status, 1))
+ return hd6120_device::C1 | (BIT(m_rx_status, 0) ? hd6120_device::C0 : 0);
+ else
+ return 0;
+}
+
+u8 decmate2_state::str_devctl_r()
+{
+ if (BIT(m_rx_control, 3))
+ {
+ if (!machine().side_effects_disabled())
+ m_rx_control &= 0x07;
+ return hd6120_device::SKIP;
+ }
+ else
+ return 0;
+}
+
+u8 decmate2_state::ser_devctl_r()
+{
+ if (BIT(m_rx_control, 2))
+ {
+ if (!machine().side_effects_disabled())
+ m_rx_control &= 0x0b;
+ return hd6120_device::SKIP;
+ }
+ else
+ return 0;
+}
+
+u8 decmate2_state::sdn_devctl_r()
+{
+ if (BIT(m_rx_control, 0))
+ {
+ if (!machine().side_effects_disabled())
+ m_rx_control &= 0x0e;
+ return hd6120_device::SKIP;
+ }
+ else
+ return 0;
+}
+
+void decmate2_state::intr_w(u16 data)
+{
+ logerror("%s: RX interrupt enable %s\n", machine().describe_context(), BIT(data, 0) ? "set" : "cleared");
+}
+
+void decmate2_state::rxinit_w(u16 data)
+{
+ m_rx_control = 0;
+ m_rx_status = (m_rx_status & 0x02) | 0x01;
+ m_rxcpu->set_input_line(MCS51_INT0_LINE, ASSERT_LINE);
+}
+
+u8 decmate2_state::rx_ldata_r()
+{
+ return m_rxdata & 0xff;
+}
+
+void decmate2_state::rx_ldata_w(u8 data)
+{
+ m_rxdata = (m_rxdata & 07400) | data;
+}
+
+u8 decmate2_state::rx_hdata_r()
+{
+ return m_rxdata >> 8;
+}
+
+void decmate2_state::rx_hdata_w(u8 data)
+{
+ m_rxdata = (m_rxdata & 0377) | (data & 0x0f) << 8;
+}
+
+void decmate2_state::rx_control_w(u8 data)
+{
+ m_rx_control = data & 0x0d;
+ m_rx_status = (m_rx_status & 0xfd) | (data & 0x02);
+ m_rxcpu->set_input_line(MCS51_INT0_LINE, CLEAR_LINE);
+ m_rxcpu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
+}
+
+u8 decmate2_state::rx_status_r()
+{
+ return m_rx_status;
+}
+
+u8 decmate2_state::rx_intr_r()
+{
+ return m_fdc->intrq_r() << 5 | 0xdf;
+}
+
+void decmate2_state::rx_sel_w(u8 data)
+{
+ const int n = BIT(~data, 1, 2);
+ if (BIT(data, 3) && m_floppy[n].found())
+ {
+ floppy_image_device *const img = m_floppy[n]->get_device();
+ m_fdc->set_floppy(img);
+ if (img != nullptr)
+ img->ss_w(BIT(data, 0)); // or inverted?
+ }
+ else
+ m_fdc->set_floppy(nullptr);
+
+ for (int i = 0; i < 4 && m_floppy[i].found(); i++)
+ {
+ floppy_image_device *img = m_floppy[i]->get_device();
+ if (img != nullptr)
+ img->mon_w((i & 2) == (~data & 0x14) >> 1 ? 0 : 1);
+ }
+}
+
+u8 decmate2_state::rx_rdy_r()
+{
+ return m_fdc->drq_r() << 6 | 1 /*m_fdc->ready_r()*/ << 7 | 0x3f;
+}
+
+void decmate2_state::inst_map(address_map &map)
+{
+ map(0000000, 0177777).ram().share("ram");
+ map(0000000, 0177777).view(m_cprom_iview);
+ m_cprom_iview[0](0000000, 0007777).mirror(0170000).rom().region("cprom", 0);
+ m_cprom_iview[1](0000000, 0177777).r(FUNC(decmate2_state::cprom_switch_r));
+}
+
+void decmate2_state::data_map(address_map &map)
+{
+ map(0000000, 0177777).ram().share("ram");
+ map(0000000, 0177777).view(m_cprom_dview);
+ m_cprom_dview[0](0000000, 0007777).mirror(0170000).rom().region("cprom", 0);
+}
+
+// TODO: almost all I/O devices
+// 03/04/07: Control panel interrupt
+// 05: Keyboard input
+// 06: Video interrupt
+// 11: Keyboard output
+// 12: CRTC
+// 13: Clock
+// 14: APU option
+// 30: Communications receive
+// 31: Communications transmit
+// 32: Printer input
+// 33: Printer output and baud rate
+// 36: Modem control and baud rate
+// 75: RX Simulator
+
+void decmate2_state::pc278_io_map(address_map &map)
+{
+ map(0050, 0050).w(FUNC(decmate2_state::kbdtflg_set_w));
+ map(0051, 0051).w(FUNC(decmate2_state::kbdtflg_clear_w));
+ map(0054, 0054).mirror(2).w(m_kbduart, FUNC(ay31015_device::transmit)).umask16(0377);
+ map(0061, 0061).nopw();
+ map(0110, 0110).w(FUNC(decmate2_state::kbdrflg_set_w));
+ map(0111, 0111).w(FUNC(decmate2_state::kbdrflg_clear_w));
+ map(0112, 0112).nopw();
+ map(0114, 0114).mirror(2).r(FUNC(decmate2_state::kbduart_r)).nopw();
+ map(0121, 0121).nopw();
+ map(0122, 0122).w(FUNC(decmate2_state::lscreg_w));
+ map(0124, 0124).w(FUNC(decmate2_state::wrcrtc_w));
+ map(0126, 0126).w(FUNC(decmate2_state::video_mod_w));
+ map(0127, 0127).r(FUNC(decmate2_state::rdcrtc_r)).nopw();
+ map(0320, 0320).w(FUNC(decmate2_state::prtrflg_set_w));
+ map(0321, 0321).w(FUNC(decmate2_state::prtrflg_clear_w));
+ map(0322, 0322).nopw();
+ map(0324, 0324).mirror(2).r(FUNC(decmate2_state::prtuart_r)).nopw();
+ map(0330, 0330).w(FUNC(decmate2_state::prttflg_set_w));
+ map(0331, 0331).w(FUNC(decmate2_state::prttflg_clear_w));
+ map(0334, 0334).mirror(2).w(m_prtuart, FUNC(ay31015_device::transmit)).umask16(0377);
+ map(0362, 0362).w(FUNC(decmate2_state::modem_w));
+ map(0366, 0366).rw(FUNC(decmate2_state::comreg_r), FUNC(decmate2_state::comreg_w));
+ map(0367, 0367).w(FUNC(decmate2_state::cominit_w));
+ map(0750, 0750).w(FUNC(decmate2_state::sel_w));
+ map(0751, 0751).w(FUNC(decmate2_state::lcd_w));
+ map(0752, 0752).rw(FUNC(decmate2_state::xdr_r), FUNC(decmate2_state::xdr_w));
+ map(0753, 0755).nopw();
+ map(0756, 0756).w(FUNC(decmate2_state::intr_w));
+ map(0757, 0757).w(FUNC(decmate2_state::rxinit_w));
+}
+
+void decmate2_state::pc238_io_map(address_map &map)
+{
+ pc278_io_map(map);
+ map(0050, 0051).nopw();
+ map(0110, 0111).nopw();
+ map(0320, 0321).nopw();
+ map(0330, 0331).nopw();
+}
+
+void decmate2_state::devctl_map(address_map &map)
+{
+ map(0050, 0050).lr8(NAME([]() { return 0; }));
+ map(0051, 0051).r(FUNC(decmate2_state::kbdtflg_devctl_r));
+ map(0054, 0054).lr8(NAME([]() { return 0; }));
+ map(0056, 0056).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0061, 0061).r(FUNC(decmate2_state::vint_devctl_r));
+ map(0110, 0110).lr8(NAME([]() { return 0; }));
+ map(0111, 0111).r(FUNC(decmate2_state::kbdrflg_devctl_r));
+ map(0112, 0112).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0114, 0114).lr8(NAME([]() { return hd6120_device::C1; }));
+ map(0116, 0116).lr8(NAME([]() { return hd6120_device::C0 | hd6120_device::C1; }));
+ map(0121, 0121).r(FUNC(decmate2_state::apten_r));
+ map(0122, 0126).lr8(NAME([]() { return 0; }));
+ map(0127, 0127).lr8(NAME([]() { return hd6120_device::C1; }));
+ map(0302, 0302).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0304, 0304).lr8(NAME([]() { return hd6120_device::C1; }));
+ map(0306, 0306).lr8(NAME([]() { return hd6120_device::C0 | hd6120_device::C1; }));
+ map(0314, 0314).lr8(NAME([]() { return 0; }));
+ map(0316, 0316).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0320, 0320).lr8(NAME([]() { return 0; }));
+ map(0321, 0321).r(FUNC(decmate2_state::prtrflg_devctl_r));
+ map(0322, 0322).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0324, 0324).lr8(NAME([]() { return hd6120_device::C1; }));
+ map(0326, 0326).lr8(NAME([]() { return hd6120_device::C0 | hd6120_device::C1; }));
+ map(0330, 0330).lr8(NAME([]() { return 0; }));
+ map(0331, 0331).r(FUNC(decmate2_state::prttflg_devctl_r));
+ map(0334, 0334).lr8(NAME([]() { return 0; }));
+ map(0336, 0336).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0362, 0363).lr8(NAME([]() { return 0; }));
+ map(0366, 0366).r(FUNC(decmate2_state::comreg_devctl_r));
+ map(0367, 0367).lr8(NAME([]() { return 0; }));
+ map(0750, 0750).lr8(NAME([]() { return 0; }));
+ map(0751, 0751).lr8(NAME([]() { return hd6120_device::C0; }));
+ map(0752, 0752).r(FUNC(decmate2_state::xdr_devctl_r));
+ map(0753, 0753).r(FUNC(decmate2_state::str_devctl_r));
+ map(0754, 0754).r(FUNC(decmate2_state::ser_devctl_r));
+ map(0755, 0755).r(FUNC(decmate2_state::sdn_devctl_r));
+ map(0756, 0757).lr8(NAME([]() { return 0; }));
+}
+
+void decmate2_state::rx_map(address_map &map)
+{
+ map.global_mask(0x7ff);
+ map(0x000, 0x000).mirror(0x3f0).rw(FUNC(decmate2_state::rx_ldata_r), FUNC(decmate2_state::rx_ldata_w));
+ map(0x001, 0x001).mirror(0x3f0).rw(FUNC(decmate2_state::rx_hdata_r), FUNC(decmate2_state::rx_hdata_w));
+ map(0x002, 0x002).mirror(0x3f0).w(FUNC(decmate2_state::rx_control_w));
+ map(0x003, 0x003).mirror(0x3f0).r(FUNC(decmate2_state::rx_status_r));
+ map(0x008, 0x00b).mirror(0x3f4).rw(m_fdc, FUNC(fd1793_device::read), FUNC(fd1793_device::write));
+ map(0x400, 0x7ff).ram();
+}
+
+static INPUT_PORTS_START(decmate2)
+ PORT_START("LAS")
+ PORT_BIT(00010, IP_ACTIVE_LOW, IPT_UNKNOWN) // APU present
+ PORT_BIT(00004, IP_ACTIVE_LOW, IPT_UNKNOWN) // storage adapter present
+ PORT_BIT(00002, IP_ACTIVE_LOW, IPT_UNKNOWN) // graphics controller present
+ PORT_BIT(07761, IP_ACTIVE_LOW, IPT_UNUSED)
+INPUT_PORTS_END
+
+static void rx50_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD); // MFM, 2 sides, 80 tracks
+}
+
+// XTALs: 5.0688 MHz, 15.741 MHz, 22.896 MHz, 16.000 MHz
+void decmate2_state::pc278(machine_config &config)
+{
+ HD6120(config, m_maincpu, 16_MHz_XTAL / 2);
+ // TODO: CPU clock is throttled from 8 MHz to 4 MHz while accessing I/O devices or when CPROM is enabled
+ m_maincpu->set_addrmap(AS_PROGRAM, &decmate2_state::inst_map);
+ m_maincpu->set_addrmap(AS_DATA, &decmate2_state::data_map);
+ m_maincpu->set_addrmap(AS_IO, &decmate2_state::pc278_io_map);
+ m_maincpu->set_addrmap(hd6120_device::AS_DEVCTL, &decmate2_state::devctl_map);
+ m_maincpu->lxmar_callback().set(FUNC(decmate2_state::lxmar_w));
+ m_maincpu->lxpar_callback().set(FUNC(decmate2_state::lxpar_w));
+ m_maincpu->lxdar_callback().set(FUNC(decmate2_state::lxdar_w));
+ m_maincpu->rsr_callback().set_ioport("LAS");
+ m_maincpu->wsr_callback().set(FUNC(decmate2_state::wsr_w));
+ m_maincpu->ioclr_callback().set(FUNC(decmate2_state::pc278_ioclr_w));
+ m_maincpu->strtup_callback().set_constant(0);
+
+ I8051(config, m_rxcpu, 16_MHz_XTAL / 2);
+ m_rxcpu->set_addrmap(AS_IO, &decmate2_state::rx_map);
+ m_rxcpu->port_in_cb<1>().set(FUNC(decmate2_state::rx_intr_r));
+ m_rxcpu->port_out_cb<1>().set(FUNC(decmate2_state::rx_sel_w));
+ m_rxcpu->port_in_cb<2>().set(FUNC(decmate2_state::rx_rdy_r));
+
+ FD1793(config, m_fdc, 16_MHz_XTAL / 16);
+ m_fdc->set_force_ready(false);
+
+ FLOPPY_CONNECTOR(config, m_floppy[0], rx50_floppies, "525qd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, m_floppy[1], rx50_floppies, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, m_floppy[2], rx50_floppies, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, m_floppy[3], rx50_floppies, nullptr, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+
+ AY31015(config, m_kbduart); // 6402
+ m_kbduart->write_so_callback().set("keyboard", FUNC(lk201_device::rx_w));
+ m_kbduart->write_dav_callback().set(FUNC(decmate2_state::keyboard_dr_ff_w));
+ m_kbduart->write_tbmt_callback().set(FUNC(decmate2_state::keyboard_tbre_ff_w));
+ m_kbduart->set_auto_rdav(true);
+
+ AY31015(config, m_prtuart); // 6402
+ m_prtuart->write_so_callback().set("printer", FUNC(rs232_port_device::write_txd));
+ m_prtuart->write_fe_callback().set_nop(); // TODO: output on connector pin 9
+ m_prtuart->write_dav_callback().set(FUNC(decmate2_state::printer_dr_ff_w));
+ m_prtuart->write_tbmt_callback().set(FUNC(decmate2_state::printer_tbre_ff_w));
+ m_prtuart->set_auto_rdav(true);
+
+ UPD7201(config, m_mpscc, 16_MHz_XTAL / 8);
+ m_mpscc->out_txda_callback().set("com", FUNC(rs232_port_device::write_txd));
+
+ COM8116(config, m_brg[0], 5.0688_MHz_XTAL); // 5016T
+ m_brg[0]->fr_handler().set(m_prtuart, FUNC(ay31015_device::write_rcp));
+ m_brg[0]->fr_handler().append(m_prtuart, FUNC(ay31015_device::write_tcp));
+ m_brg[0]->ft_handler().set(m_mpscc, FUNC(upd7201_device::txca_w));
+ m_brg[0]->ft_handler().append(m_mpscc, FUNC(upd7201_device::rxca_w));
+
+ COM8116(config, m_brg[1], 5.0688_MHz_XTAL); // 5016T
+ m_brg[1]->fr_handler().set(m_kbduart, FUNC(ay31015_device::write_rcp));
+ m_brg[1]->fr_handler().append(m_kbduart, FUNC(ay31015_device::write_tcp));
+ // TODO: other output is divided down to 100 Hz
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(15.741_MHz_XTAL, 990, 0, 800, 265, 0, 240); // 24x80, 10x10 character cell
+ //screen.set_raw(22.896_MHz_XTAL, 1440, 0, 1188, 265, 0, 240); // 24x132, 9x10 character cell?
+ screen.set_screen_update(FUNC(decmate2_state::screen_update));
+
+ CRT9007(config, m_crtc, 15.741_MHz_XTAL / 10);
+ m_crtc->set_character_width(10); // 9 in 132-column mode
+ m_crtc->set_screen("screen");
+ m_crtc->int_callback().set(FUNC(decmate2_state::vint_w));
+
+ LK201(config, "keyboard").tx_handler().set(m_kbduart, FUNC(ay31015_device::write_si));
+
+ rs232_port_device &com(RS232_PORT(config, "com", default_rs232_devices, nullptr));
+ com.rxd_handler().set(m_mpscc, FUNC(upd7201_device::rxa_w));
+
+ rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
+ printer.rxd_handler().set(m_prtuart, FUNC(ay31015_device::write_si)); // TODO: loopback control
+}
+
+void decmate2_state::pc238(machine_config &config)
+{
+ pc278(config);
+ config.device_remove("brg0");
+ config.device_remove("brg1");
+ config.device_remove("fdc:b0");
+ config.device_remove("fdc:b1");
+
+ m_maincpu->set_addrmap(AS_IO, &decmate2_state::pc238_io_map);
+ m_maincpu->ioclr_callback().set(FUNC(decmate2_state::pc238_ioclr_w));
+
+ m_kbduart->write_dav_callback().set(FUNC(decmate2_state::keyboard_dr_w));
+ m_kbduart->write_tbmt_callback().set(FUNC(decmate2_state::keyboard_tbre_w));
+ m_prtuart->write_dav_callback().set(FUNC(decmate2_state::printer_dr_w));
+ m_prtuart->write_tbmt_callback().set(FUNC(decmate2_state::printer_tbre_w));
+
+ clock_device &pclk(CLOCK(config, "pclk", 16_MHz_XTAL / 208)); // Generated on pin 65 of DC382
+ pclk.signal_handler().set(m_kbduart, FUNC(ay31015_device::write_rcp));
+ pclk.signal_handler().append(m_kbduart, FUNC(ay31015_device::write_tcp));
+ pclk.signal_handler().append(m_prtuart, FUNC(ay31015_device::write_rcp));
+ pclk.signal_handler().append(m_prtuart, FUNC(ay31015_device::write_tcp));
+
+ // TODO: COMCLK (generated on pin 39 of DC382, rate presumably programmable)
+
+ // DECmate III has no 15.741 MHz XTAL
+ m_crtc->set_clock(22.896_MHz_XTAL / 15);
+ subdevice<screen_device>("screen")->set_raw(22.896_MHz_XTAL * 2 / 3, 960, 0, 800, 265, 0, 240);
+}
+
+ROM_START(decmate2)
+ ROM_REGION16_BE(0x2000, "cprom", 0)
+ //ROM_LOAD16_BYTE("23-399e2.e113", 0x0000, 0x0800, NO_DUMP) // 0000-3777, bits 0:7 (to be shifted)
+ //ROM_LOAD16_BYTE("23-400e2.e114", 0x1000, 0x0800, NO_DUMP) // 4000-7777, bits 0:7 (to be shifted)
+ //ROM_LOAD16_BYTE("23-401e2.e115", 0x0001, 0x0800, NO_DUMP) // 0000-3777 & 4000-7777, bits 8:11 (to be split up)
+ ROM_SYSTEM_BIOS(0, "19h", "19H (2310)")
+ ROMX_LOAD("23-390e2.e113", 0x0000, 0x0800, CRC(9b19451a) SHA1(ed26557f17f59ce05ca08b34a05a24a97388dfe0), ROM_BIOS(0) | ROM_SKIP(1))
+ ROMX_LOAD("23-391e2.e114", 0x1000, 0x0800, CRC(3a09ada1) SHA1(3093bd926d49c2fd62a773e8019e3755aa165ae9), ROM_BIOS(0) | ROM_SKIP(1))
+ ROMX_LOAD("23-392e2.e115", 0x0001, 0x0800, CRC(19901cb6) SHA1(82a642d2b5b56250611f69321d0251e27fa639fc), ROM_BIOS(0) | ROM_SKIP(1))
+ ROM_SYSTEM_BIOS(1, "31z", "31Z (3732)") // Regenerated from source code listing
+ ROMX_LOAD("23-358e2.e113", 0x0000, 0x0800, BAD_DUMP CRC(e6b9ab4d) SHA1(12533bab586b7bc753fae3ce1959bc5ced3905f5), ROM_BIOS(1) | ROM_SKIP(1))
+ ROMX_LOAD("23-359e2.e114", 0x1000, 0x0800, BAD_DUMP CRC(3d1825b7) SHA1(753af9657eef1a284801c9765f4899563d3d9a20), ROM_BIOS(1) | ROM_SKIP(1))
+ ROMX_LOAD("23-360e2.e115", 0x0001, 0x0800, BAD_DUMP CRC(ed8162e6) SHA1(4ab993c00a5afc6465153ca4f52faa76e02a0ef3), ROM_BIOS(1) | ROM_SKIP(1))
+
+ ROM_REGION(0x1000, "rxcpu", 0)
+ ROM_LOAD("23-008m1.e27", 0x0000, 0x1000, CRC(fae4026b) SHA1(388e093d952ce1f6fcf2dcdab5b5099a6aafad0f))
+
+ ROM_REGION(0x100, "precomp", 0) // 256x4 bipolar ROM (only one bit used)
+ ROM_LOAD("23-640a2.e13", 0x000, 0x100, NO_DUMP)
+
+ ROM_REGION(0x2000, "chargen", 0)
+ ROM_LOAD("23-114e4.e173", 0x0000, 0x2000, NO_DUMP)
+ROM_END
+
+ROM_START(decmate3)
+ ROM_REGION16_BE(0x2000, "cprom", 0)
+ ROM_LOAD16_BYTE("23-330e4.e33", 0x0000, 0x1000, CRC(4258e0d0) SHA1(09a2f5f25620b491aed87b3c6465fb0a4c4211ff))
+ ROM_CONTINUE(0x0001, 0x1000)
+
+ ROM_REGION(0x1000, "rxcpu", 0)
+ ROM_LOAD("23-008m1.e4", 0x0000, 0x1000, CRC(fae4026b) SHA1(388e093d952ce1f6fcf2dcdab5b5099a6aafad0f))
+
+ ROM_REGION(0x2000, "chargen", 0)
+ ROM_LOAD("23-331e4.e42", 0x0000, 0x2000, CRC(dca00fae) SHA1(5beff80611149cbae3e91c813d302f09a82fc3dd))
+
+ // TODO: add NO_DUMP entry for PAL (23-097K5)
+ROM_END
+
+COMP(1982, decmate2, 0, 0, pc278, decmate2, decmate2_state, init_pc278, "Digital Equipment Corporation", "DECmate II (PC278)", MACHINE_IS_SKELETON)
+COMP(1984, decmate3, 0, 0, pc238, decmate2, decmate2_state, init_pc238, "Digital Equipment Corporation", "DECmate III (PC238)", MACHINE_IS_SKELETON)
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index b514831ccbb..df36f5819ac 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -33,6 +33,10 @@
Tattoo Assassins uses DE Pinball soundboard 520-5077-00 R
+ How to calibrate guns in Locked 'n Loaded and Gun Hard:
+ - keep SERVICE1 pressed (default 9) and press the test mode switch (default F2)
+ - complete guns' calibration
+ - exit test mode
TODO:
@@ -3921,6 +3925,6 @@ GAME( 1994, tattassa, tattass, tattass, tattass, nslasher_state, init_tatt
GAME( 1993, dragngun, 0, dragngun, dragngun, dragngun_state, init_dragngun, ROT0, "Data East Corporation", "Dragon Gun (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // OKI3 Bankswitching aren't verified
GAME( 1993, dragngunj, dragngun, dragngun, dragngun, dragngun_state, init_dragngunj, ROT0, "Data East Corporation", "Dragon Gun (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ""
-GAME( 1994, lockload, 0, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gunhard, lockload, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Gun Hard (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, lockloadu, lockload, lockloadu, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (US, Dragon Gun conversion)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, lockload, 0, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // hangs during attract mode if let running for a while without coining up; shooting in the lower corners during calibration of player's 2 gun hangs the game
+GAME( 1994, gunhard, lockload, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Gun Hard (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // "
+GAME( 1994, lockloadu, lockload, lockloadu, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (US, Dragon Gun conversion)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // "
diff --git a/src/mame/drivers/decstation.cpp b/src/mame/drivers/decstation.cpp
index aa0ecc18f17..09a3794a253 100644
--- a/src/mame/drivers/decstation.cpp
+++ b/src/mame/drivers/decstation.cpp
@@ -59,11 +59,13 @@
#include "emu.h"
#include "cpu/mips/mips1.h"
#include "cpu/mips/mips3.h"
+#include "machine/ram.h"
#include "machine/timer.h"
#include "machine/decioga.h"
#include "machine/mc146818.h"
#include "machine/z80scc.h"
#include "machine/ncr5390.h"
+//#include "machine/dc7061.h"
#include "machine/nscsi_bus.h"
#include "bus/nscsi/cd.h"
#include "bus/nscsi/hd.h"
@@ -72,127 +74,234 @@
#include "machine/dc7085.h"
#include "bus/rs232/rs232.h"
#include "screen.h"
+#include "video/bt47x.h"
#include "video/bt459.h"
#include "video/decsfb.h"
-class decstation_state : public driver_device
+#include "kn01.lh"
+
+namespace {
+
+class kn01_state : public driver_device
{
public:
- decstation_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag) ,
- m_maincpu(*this, "maincpu"),
- m_screen(*this, "screen"),
- m_scantimer(*this, "scantimer"),
- m_sfb(*this, "sfb"),
- m_lk201(*this, "lk201"),
- m_ioga(*this, "ioga"),
- m_rtc(*this, "rtc"),
- m_scc0(*this, "scc0"),
- m_scc1(*this, "scc1"),
- m_asc(*this, "scsibus:7:asc"),
- m_vrom(*this, "gfx"),
- m_bt459(*this, "bt459"),
- m_lance(*this, "am79c90"),
- m_kn01vram(*this, "vram"),
- m_dz(*this, "dc7085")
- { }
-
- void kn01(machine_config &config);
- void kn02ba(machine_config &config);
-
- void init_decstation();
+ kn01_state(machine_config const &mconfig, device_type type, char const *tag)
+ : driver_device(mconfig, type, tag)
+ , m_cpu(*this, "cpu")
+ , m_mram(*this, "mram")
+ , m_esar(*this, "esar")
+ , m_rtc(*this, "rtc")
+ , m_dz(*this, "dc7085")
+ //, m_sii(*this, "scsi:6:sii")
+ , m_lance(*this, "am79c90")
+ , m_lk201(*this, "lk201")
+ , m_screen(*this, "screen")
+ , m_vdac(*this, "bt478")
+ , m_scantimer(*this, "scantimer")
+ , m_vram(*this, "vram")
+ , m_config(*this, "config")
+ , m_leds(*this, "led%u", 0U)
+ {
+ }
-protected:
- DECLARE_READ_LINE_MEMBER(brcond0_r) { return ASSERT_LINE; }
- DECLARE_WRITE_LINE_MEMBER(ioga_irq_w);
- DECLARE_WRITE_LINE_MEMBER(dz_irq_w);
+ void kn01(machine_config &config, u32 clock);
+ void pmax(machine_config &config) { kn01(config, (33.3_MHz_XTAL / 2).value()); }
+ void pmin(machine_config &config) { kn01(config, 12'000'000); }
- uint32_t cfb_r(offs_t offset);
- void cfb_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
+ void init();
+
+protected:
+ u16 status_r();
+ void control_w(u16 data);
- uint32_t kn01_status_r();
- void kn01_control_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint32_t bt478_palette_r(offs_t offset);
- void bt478_palette_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint32_t pcc_r(offs_t offset);
- void pcc_w(offs_t offset, uint32_t data);
- void planemask_w(uint32_t data);
- void vram_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
+ u16 pcc_r(offs_t offset);
+ void pcc_w(offs_t offset, u16 data);
- uint32_t dz_r();
+ void vram_w(offs_t offset, u32 data, u32 mem_mask);
+ void plane_mask_w(u8 data);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_timer);
- void ncr5394(device_t *device);
+private:
+ virtual void machine_start() override {}
+ virtual void machine_reset() override;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, rectangle const &cliprect);
+
+ required_device<mips1_device_base> m_cpu;
+ required_device<ram_device> m_mram;
+ required_region_ptr<u8> m_esar;
+
+ required_device<mc146818_device> m_rtc;
+ required_device<dc7085_device> m_dz;
+ //required_device<dc7061_device> m_sii;
+ required_device<am79c90_device> m_lance;
+
+ optional_device<lk201_device> m_lk201;
+
+ optional_device<screen_device> m_screen;
+ optional_device<bt478_device> m_vdac;
+ optional_device<timer_device> m_scantimer;
+ optional_shared_ptr<u32> m_vram;
+
+ required_ioport m_config;
+ output_finder<8> m_leds;
+
+ void map(address_map &map);
+
+ enum sys_csr_mask : u16
+ {
+ VRGTRB = 0x0001, // video dac voltage red > blue
+ VRGTRG = 0x0002, // video dac voltage red > green
+ VBGTRG = 0x0004, // video dac voltage blue > green
+ TXDIS = 0x0100, // disable serial transmit drivers
+ VINT = 0x0200, // pcc programmable area detect 2
+ MEMERR = 0x0400, // bus timeout on write
+ MONO = 0x0800, // monochrome framebuffer installed
+ CRSRTST = 0x1000, // pcc test output
+ PARDIS = 0x2000, // memory parity disable
+ STATUS = 0x4000, // self-test completed successfully
+ MNFMOD = 0x8000, // manufacturing self test jumper installed
+ };
+ u16 m_status;
+
+ u32 m_plane_mask;
+
+ enum pcc_regnum : unsigned
+ {
+ PCC_CMDR = 0,
+ PCC_XPOS = 1,
+ PCC_YPOS = 2,
+ PCC_XMIN1 = 3,
+ PCC_XMAX1 = 4,
+ PCC_YMIN1 = 5,
+ PCC_YMAX1 = 6,
+ PCC_XMIN2 = 11,
+ PCC_XMAX2 = 12,
+ PCC_YMIN2 = 13,
+ PCC_YMAX2 = 14,
+ PCC_MEMORY = 15,
+ };
+ u16 m_pcc_regs[16];
+
+ std::unique_ptr<u16[]> m_dram; // disk ram
+ std::unique_ptr<u16[]> m_nram; // network ram
+
+ enum msr_mask : u16
+ {
+ MSR_DSR3 = 0x0001,
+ MSR_DSR2 = 0x0200,
+ };
+ u16 m_msr;
+};
+
+class kn02ba_state : public driver_device
+{
+public:
+ kn02ba_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_cpu(*this, "cpu")
+ , m_screen(*this, "screen")
+ , m_scantimer(*this, "scantimer")
+ , m_sfb(*this, "sfb")
+ , m_lk201(*this, "lk201")
+ , m_ioga(*this, "ioga")
+ , m_rtc(*this, "rtc")
+ , m_scc(*this, "scc%u", 0U)
+ , m_asc(*this, "scsi:7:asc")
+ , m_vrom(*this, "gfx")
+ , m_bt459(*this, "bt459")
+ , m_lance(*this, "am79c90")
+ , m_dz(*this, "dc7085")
+ {
+ }
+
+ void kn02ba(machine_config &config, u32 clock);
+ void m120(machine_config &config) { kn02ba(config, 20'000'000); }
+ void m125(machine_config &config) { kn02ba(config, 25'000'000); }
+ void m133(machine_config &config) { kn02ba(config, 33'300'000); }
+
+ void init() {}
+
+protected:
+ uint32_t cfb_r(offs_t offset);
+ void cfb_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
- virtual void video_start() override;
- uint32_t kn01_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- required_device<mips1_device_base> m_maincpu;
+ required_device<mips1_device_base> m_cpu;
required_device<screen_device> m_screen;
optional_device<timer_device> m_scantimer;
optional_device<decsfb_device> m_sfb;
optional_device<lk201_device> m_lk201;
- optional_device<dec_ioga_device> m_ioga;
+ required_device<dec_ioga_device> m_ioga;
required_device<mc146818_device> m_rtc;
- optional_device<z80scc_device> m_scc0, m_scc1;
+ required_device_array<z80scc_device, 2> m_scc;
optional_device<ncr53c94_device> m_asc;
optional_memory_region m_vrom;
optional_device<bt459_device> m_bt459;
required_device<am79c90_device> m_lance;
- optional_shared_ptr<uint32_t> m_kn01vram;
optional_device<dc7085_device> m_dz;
- void kn01_map(address_map &map);
- void threemin_map(address_map &map);
+ void map(address_map &map);
u8 *m_vrom_ptr;
-
- u32 m_kn01_control, m_kn01_status;
- u32 m_palette[256], m_overlay[256];
- u8 m_r, m_g, m_b, m_entry, m_stage;
- u32 m_planemask;
-
- u16 m_pcc_regs[0x40/4];
};
/***************************************************************************
VIDEO HARDWARE
***************************************************************************/
-void decstation_state::video_start()
-{
-}
-
-uint32_t decstation_state::kn01_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+uint32_t kn01_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, rectangle const &cliprect)
{
- uint8_t const *const vram = (uint8_t *)m_kn01vram.target();
+ u32 *pixel_pointer = m_vram;
- for (int y = 0; y < 864; y++)
+ switch (m_config->read() & ~MNFMOD)
{
- uint32_t *scanline = &bitmap.pix(y);
- for (int x = 0; x < 1024; x++)
+ case 0x0000:
+ for (int y = screen.visible_area().min_y; y <= screen.visible_area().max_y; y++)
{
- uint8_t const pixels = vram[(y * 1024) + x];
- *scanline++ = m_palette[pixels];
+ for (int x = screen.visible_area().min_x; x <= screen.visible_area().max_x; x += 4)
+ {
+ u32 const pixel_data = *pixel_pointer++;
+
+ bitmap.pix(y, x + 3) = m_vdac->pen_color(u8(pixel_data >> 24));
+ bitmap.pix(y, x + 2) = m_vdac->pen_color(u8(pixel_data >> 16));
+ bitmap.pix(y, x + 1) = m_vdac->pen_color(u8(pixel_data >> 8));
+ bitmap.pix(y, x + 0) = m_vdac->pen_color(u8(pixel_data >> 0));
+ }
+ }
+ break;
+ case 0x0800:
+ for (int y = screen.visible_area().min_y; y <= screen.visible_area().max_y; y++)
+ {
+ for (int x = screen.visible_area().min_x; x <= screen.visible_area().max_x; x += 32)
+ {
+ u32 const pixel_data = *pixel_pointer++;
+
+ for (unsigned i = 0; i < 32; i++)
+ bitmap.pix(y, x + i) = m_vdac->pen_color(BIT(pixel_data, i) * 128);
+ }
+
+ pixel_pointer += 1024 / 32;
}
+ break;
}
return 0;
}
-uint32_t decstation_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+uint32_t kn02ba_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
m_bt459->screen_update(screen, bitmap, cliprect, (uint8_t *)m_sfb->get_vram());
return 0;
}
-uint32_t decstation_state::cfb_r(offs_t offset)
+uint32_t kn02ba_state::cfb_r(offs_t offset)
{
uint32_t addr = offset << 2;
@@ -214,7 +323,7 @@ uint32_t decstation_state::cfb_r(offs_t offset)
return 0xffffffff;
}
-void decstation_state::cfb_w(offs_t offset, uint32_t data, uint32_t mem_mask)
+void kn02ba_state::cfb_w(offs_t offset, uint32_t data, uint32_t mem_mask)
{
uint32_t addr = offset << 2;
@@ -234,289 +343,193 @@ void decstation_state::cfb_w(offs_t offset, uint32_t data, uint32_t mem_mask)
}
}
-enum
-{
- PCC_CMDR = 0,
- PCC_XPOS, // 04
- PCC_YPOS, // 08
- PCC_XMIN1, // 0c
- PCC_XMAX1, // 10
- PCC_YMIN1, // 14
- PCC_YMAX1, // 18
- PCC_UNK1, // 1c
- PCC_UNK2, // 20
- PCC_UNK3, // 24
- PCC_UNK4, // 28
- PCC_XMIN2, // 2c
- PCC_XMAX2, // 30
- PCC_YMIN2, // 34
- PCC_YMAX2, // 38
- PCC_MEMORY // 3c
-};
-uint32_t decstation_state::pcc_r(offs_t offset)
+u16 kn01_state::pcc_r(offs_t offset)
{
return m_pcc_regs[offset];
}
-void decstation_state::pcc_w(offs_t offset, uint32_t data)
-{
- m_pcc_regs[offset] = data & 0xffff;
-}
-
-void decstation_state::planemask_w(uint32_t data)
+void kn01_state::pcc_w(offs_t offset, u16 data)
{
- // value written is smeared across all 4 byte lanes
- data &= 0xff;
- m_planemask = (data) || (data << 8) || (data << 16) || (data << 24);
+ m_pcc_regs[offset] = data;
}
-void decstation_state::vram_w(offs_t offset, uint32_t data, uint32_t mem_mask)
+void kn01_state::plane_mask_w(u8 data)
{
- u32 *vram = (u32 *)m_kn01vram.target();
-// u32 effective_planemask = (m_planemask & mem_mask);
-// vram[offset] = (vram[offset] & ~effective_planemask) | (data & effective_planemask);
- COMBINE_DATA(&vram[offset]);
+ m_plane_mask = (u32(data) << 24) | (u32(data) << 16) | (u32(data) << 8) | (u32(data) << 0);
}
-TIMER_DEVICE_CALLBACK_MEMBER(decstation_state::scanline_timer)
+TIMER_DEVICE_CALLBACK_MEMBER(kn01_state::scanline_timer)
{
int scanline = m_screen->vpos();
- if ((scanline == m_pcc_regs[PCC_YMIN2]) && (m_pcc_regs[PCC_CMDR] & 0x0400))
+ if ((scanline == m_pcc_regs[PCC_YMIN2]) && (m_pcc_regs[PCC_CMDR] & 0x0400) && !(m_status & VINT))
{
- m_kn01_status |= 0x200;
+ m_status |= VINT;
+ m_cpu->set_input_line(INPUT_LINE_IRQ4, ASSERT_LINE);
}
if ((scanline == m_pcc_regs[PCC_YMIN1]) && (m_pcc_regs[PCC_CMDR] & 0x0100))
{
int x, y;
- u8 *vram = (u8 *)m_kn01vram.target();
- u32 rgba, r, g, b;
+ u8 *vram = (u8 *)m_vram.target();
x = m_pcc_regs[PCC_XMIN1] - 212;
y = m_pcc_regs[PCC_YMIN1] - 34;
//printf("sampling for VRGTRB and friends at X=%d Y=%d\n", x, y);
- m_kn01_status &= ~7;
+ m_status &= ~(VBGTRG | VRGTRG | VRGTRB);
if ((x >= 0) && (x <= 1023) && (y >= 0) && (y <= 863))
{
- rgba = m_palette[vram[(y * 1024) + x]];
- r = (rgba >> 16) & 0xff;
- g = (rgba >> 8) & 0xff;
- b = (rgba & 0xff);
+ rgb_t const rgb = m_vdac->pen_color(vram[(y * 1024) + x]);
//printf("R=%d, G=%d, B=%d\n", r, g, b);
- if (r > b) m_kn01_status |= 1;
- if (r > g) m_kn01_status |= 2;
- if (b > g) m_kn01_status |= 4;
+ if (rgb.r() > rgb.b()) m_status |= VRGTRB;
+ if (rgb.r() > rgb.g()) m_status |= VRGTRG;
+ if (rgb.b() > rgb.g()) m_status |= VBGTRG;
}
}
}
-uint32_t decstation_state::bt478_palette_r(offs_t offset)
+/***************************************************************************
+ MACHINE FUNCTIONS
+***************************************************************************/
+
+void kn01_state::init()
{
- u8 rv = 0;
+ m_dram = make_unique_clear<u16[]>(65536);
+ m_nram = make_unique_clear<u16[]>(32768);
- if (offset == 1)
- {
- switch (m_stage)
- {
- case 0:
- m_stage++;
- rv = (m_palette[m_entry] >> 16) & 0xff;
- break;
-
- case 1:
- m_stage++;
- rv = (m_palette[m_entry] >> 8) & 0xff;
- break;
-
- case 2:
- rv = m_palette[m_entry] & 0xff;
- m_entry++;
- m_entry &= 0xff;
- m_stage = 0;
- }
- }
- else if (offset == 5)
- {
- switch (m_stage)
- {
- case 0:
- m_stage++;
- rv = (m_overlay[m_entry] >> 16) & 0xff;
- break;
-
- case 1:
- m_stage++;
- rv = (m_overlay[m_entry] >> 8) & 0xff;
- break;
-
- case 2:
- rv = m_overlay[m_entry] & 0xff;
- m_entry++;
- m_entry &= 0xff;
- m_stage = 0;
- }
- }
+ m_leds.resolve();
- return rv;
-}
+ m_cpu->space(AS_PROGRAM).install_ram(0, m_mram->mask(), m_mram->pointer());
-void decstation_state::bt478_palette_w(offs_t offset, uint32_t data, uint32_t mem_mask)
-{
- //printf("VDAC_w: %08x at %08x (mask %08x)\n", data, offset, mem_mask);
+ m_cpu->space(AS_PROGRAM).install_readwrite_tap(0x1c000000, 0x1c00001b, "dz_delay",
+ [this](offs_t offset, u32 &data, u32 mem_mask) { m_cpu->eat_cycles(13); },
+ [this](offs_t offset, u32 &data, u32 mem_mask) { m_cpu->eat_cycles(18); });
- if ((offset == 0) || (offset == 3) || (offset == 4) || (offset == 7))
- {
- m_entry = data & 0xff;
- //printf("VDAC: entry %d\n", m_entry);
- m_stage = 0;
- m_r = m_g = m_b = 0;
- }
- else if (offset == 1)
- {
- switch (m_stage)
- {
- case 0:
- m_r = data & 0xff;
- m_stage++;
- break;
-
- case 1:
- m_g = data & 0xff;
- m_stage++;
- break;
-
- case 2:
- m_b = data & 0xff;
- m_palette[m_entry] = rgb_t(m_r, m_g, m_b);
- //printf("palette[%d] = RGB(%02x, %02x, %02x)\n", m_entry, m_r, m_g, m_b);
- m_entry++;
- m_entry &= 0xff;
- m_stage = 0;
- m_r = m_g = m_b = 0;
- break;
- }
- }
- else if (offset == 5)
+#if 0
+ m_cpu->space(AS_PROGRAM).install_readwrite_tap(0x1d000000, 0x1d0000ff, "rtc_delay",
+ [this](offs_t offset, u32 &data, u32 mem_mask) { m_cpu->eat_cycles(13); },
+ [this](offs_t offset, u32 &data, u32 mem_mask) { m_cpu->eat_cycles(16); });
+
+ switch (m_config->read() & ~MNFMOD)
{
- switch (m_stage)
- {
- case 0:
- m_r = data & 0xff;
- m_stage++;
- break;
-
- case 1:
- m_g = data & 0xff;
- m_stage++;
- break;
-
- case 2:
- m_b = data & 0xff;
- m_overlay[m_entry] = rgb_t(m_r, m_g, m_b);
- //printf("overlay[%d] = RGB(%02x, %02x, %02x)\n", m_entry, m_r, m_g, m_b);
- m_entry++;
- m_entry &= 0xff;
- m_stage = 0;
- m_r = m_g = m_b = 0;
- break;
- }
+ case 0x0800: // monochrome
+ m_cpu->space(AS_PROGRAM).unmap_readwrite(0x0fc20000, 0x0fcfffff);
+ break;
+
+ case 0x0801: // none
+ m_cpu->space(AS_PROGRAM).unmap_readwrite(0x0fc00000, 0x0fcfffff);
+ break;
}
+#endif
}
-/***************************************************************************
- MACHINE FUNCTIONS
-***************************************************************************/
-
-WRITE_LINE_MEMBER(decstation_state::ioga_irq_w)
+void kn01_state::machine_reset()
{
- // not sure this is correct
- m_maincpu->set_input_line(INPUT_LINE_IRQ3, state);
+ m_status = m_config->read() & (MNFMOD | MONO);
+
+ for (auto &l : m_leds)
+ l = 0;
+
+ m_plane_mask = 0;
}
-WRITE_LINE_MEMBER(decstation_state::dz_irq_w)
+void kn01_state::vram_w(offs_t offset, u32 data, u32 mem_mask)
{
- m_maincpu->set_input_line(INPUT_LINE_IRQ2, state);
+ mem_mask &= m_plane_mask;
+
+ COMBINE_DATA(&m_vram[offset]);
}
-void decstation_state::machine_start()
+void kn02ba_state::machine_start()
{
if (m_vrom)
m_vrom_ptr = m_vrom->base();
}
-void decstation_state::machine_reset()
+void kn02ba_state::machine_reset()
{
- if (m_ioga)
- {
- m_ioga->set_dma_space(&m_maincpu->space(AS_PROGRAM));
- }
-
- m_entry = 0;
- m_stage = 0;
- m_r = m_g = m_b = 0;
- m_kn01_status = 0;
+ m_ioga->set_dma_space(&m_cpu->space(AS_PROGRAM));
}
-uint32_t decstation_state::kn01_status_r()
+u16 kn01_state::status_r()
{
- //m_kn01_status ^= 0x200; // fake vint for now
- return m_kn01_status;
+ return m_status;
}
-void decstation_state::kn01_control_w(offs_t offset, uint32_t data, uint32_t mem_mask)
+void kn01_state::control_w(u16 data)
{
- COMBINE_DATA(&m_kn01_control);
+ // update leds
+ for (unsigned i = 0; i < 8; i++)
+ m_leds[i] = BIT(data, i);
- // clear VINT
- if ((m_kn01_control & 0x200) && (m_kn01_status & 0x200))
+ if (data & VINT)
{
- m_kn01_status &= ~0x200;
+ m_cpu->set_input_line(INPUT_LINE_IRQ4, CLEAR_LINE);
+ m_status &= ~VINT;
}
-}
-uint32_t decstation_state::dz_r()
-{
- return 0x8000;
+ if (data & MEMERR)
+ m_status &= ~MEMERR;
+
+ if (data & PARDIS)
+ {
+ // TODO: disable parity checking
+ }
+
+ if (data & STATUS)
+ {
+ // TODO: assert status output
+ }
+
+ m_status = (m_status & ~(TXDIS | PARDIS | STATUS)) | (data & (TXDIS | PARDIS | STATUS));
}
/***************************************************************************
ADDRESS MAPS
***************************************************************************/
-void decstation_state::kn01_map(address_map &map)
+void kn01_state::map(address_map &map)
{
- map(0x00000000, 0x017fffff).ram();
- map(0x0fc00000, 0x0fcfffff).ram().share("vram").w(FUNC(decstation_state::vram_w));
- map(0x10000000, 0x10000003).w(FUNC(decstation_state::planemask_w));
- map(0x11000000, 0x1100003f).rw(FUNC(decstation_state::pcc_r), FUNC(decstation_state::pcc_w));
- map(0x12000000, 0x1200001f).rw(FUNC(decstation_state::bt478_palette_r), FUNC(decstation_state::bt478_palette_w));
- //map(0x18000000, 0x18000007).rw(m_lance, FUNC(am79c90_device::regs_r), FUNC(am79c90_device::regs_w)).umask32(0x0000ffff);
+ map(0x0fc00000, 0x0fcfffff).ram().share("vram").w(FUNC(kn01_state::vram_w));
+
+ map(0x10000000, 0x10000000).w(FUNC(kn01_state::plane_mask_w));
+ map(0x11000000, 0x1100003f).rw(FUNC(kn01_state::pcc_r), FUNC(kn01_state::pcc_w)).umask32(0x0000ffff);
+ map(0x12000000, 0x1200001f).m(m_vdac, FUNC(bt478_device::map)).umask32(0x000000ff).mirror(0xe0);
+ map(0x18000000, 0x18000007).rw(m_lance, FUNC(am79c90_device::regs_r), FUNC(am79c90_device::regs_w)).umask32(0x0000ffff);
+ map(0x19000000, 0x1901ffff).lrw16(
+ [this](offs_t offset) { return m_nram[offset]; }, "nram_r",
+ [this](offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_nram[offset]); }, "nram_w").umask32(0xffff);
+ //map(0x1a000000, 0x1a000057).m(m_sii, FUNC(dc7061_device::map)).umask32(0xffff);
+ map(0x1b000000, 0x1b03ffff).lrw16(
+ [this](offs_t offset) { return m_dram[offset]; }, "dram_r",
+ [this](offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_dram[offset]); }, "dram_w").umask32(0xffff);
map(0x1c000000, 0x1c00001b).m(m_dz, FUNC(dc7085_device::map)).umask32(0xffff);
+ map(0x1c000018, 0x1c000019).lr16([this]() { return m_msr; }, "msr_r");
map(0x1d000000, 0x1d0000ff).rw(m_rtc, FUNC(mc146818_device::read_direct), FUNC(mc146818_device::write_direct)).umask32(0x000000ff);
- map(0x1e000000, 0x1effffff).rw(FUNC(decstation_state::kn01_status_r), FUNC(decstation_state::kn01_control_w));
- map(0x1fc00000, 0x1fc3ffff).rom().region("user1", 0);
+ map(0x1d000000, 0x1d00007f).lr8([this](offs_t offset) { return m_esar[offset]; }, "esar_r").umask32(0xff00);
+ map(0x1e000000, 0x1e000001).rw(FUNC(kn01_state::status_r), FUNC(kn01_state::control_w));
+ map(0x1fc00000, 0x1fc3ffff).rom().region("eprom", 0);
}
-void decstation_state::threemin_map(address_map &map)
+void kn02ba_state::map(address_map &map)
{
map(0x00000000, 0x07ffffff).ram(); // full 128 MB
- map(0x10000000, 0x1007ffff).rw(FUNC(decstation_state::cfb_r), FUNC(decstation_state::cfb_w));
+ map(0x10000000, 0x1007ffff).rw(FUNC(kn02ba_state::cfb_r), FUNC(kn02ba_state::cfb_w));
map(0x10100000, 0x101001ff).rw(m_sfb, FUNC(decsfb_device::read), FUNC(decsfb_device::write));
map(0x101c0000, 0x101c000f).m("bt459", FUNC(bt459_device::map)).umask32(0x000000ff);
map(0x10200000, 0x103fffff).rw(m_sfb, FUNC(decsfb_device::vram_r), FUNC(decsfb_device::vram_w));
map(0x1c000000, 0x1c07ffff).m(m_ioga, FUNC(dec_ioga_device::map));
map(0x1c0c0000, 0x1c0c0007).rw(m_lance, FUNC(am79c90_device::regs_r), FUNC(am79c90_device::regs_w)).umask32(0x0000ffff);
- map(0x1c100000, 0x1c100003).rw(m_scc0, FUNC(z80scc_device::ca_r), FUNC(z80scc_device::ca_w)).umask32(0x0000ff00);
- map(0x1c100004, 0x1c100007).rw(m_scc0, FUNC(z80scc_device::da_r), FUNC(z80scc_device::da_w)).umask32(0x0000ff00);
- map(0x1c100008, 0x1c10000b).rw(m_scc0, FUNC(z80scc_device::cb_r), FUNC(z80scc_device::cb_w)).umask32(0x0000ff00);
- map(0x1c10000c, 0x1c10000f).rw(m_scc0, FUNC(z80scc_device::db_r), FUNC(z80scc_device::db_w)).umask32(0x0000ff00);
- map(0x1c180000, 0x1c180003).rw(m_scc1, FUNC(z80scc_device::ca_r), FUNC(z80scc_device::ca_w)).umask32(0x0000ff00);
- map(0x1c180004, 0x1c180007).rw(m_scc1, FUNC(z80scc_device::da_r), FUNC(z80scc_device::da_w)).umask32(0x0000ff00);
- map(0x1c180008, 0x1c18000b).rw(m_scc1, FUNC(z80scc_device::cb_r), FUNC(z80scc_device::cb_w)).umask32(0x0000ff00);
- map(0x1c18000c, 0x1c18000f).rw(m_scc1, FUNC(z80scc_device::db_r), FUNC(z80scc_device::db_w)).umask32(0x0000ff00);
+ map(0x1c100000, 0x1c100003).rw(m_scc[0], FUNC(z80scc_device::ca_r), FUNC(z80scc_device::ca_w)).umask32(0x0000ff00);
+ map(0x1c100004, 0x1c100007).rw(m_scc[0], FUNC(z80scc_device::da_r), FUNC(z80scc_device::da_w)).umask32(0x0000ff00);
+ map(0x1c100008, 0x1c10000b).rw(m_scc[0], FUNC(z80scc_device::cb_r), FUNC(z80scc_device::cb_w)).umask32(0x0000ff00);
+ map(0x1c10000c, 0x1c10000f).rw(m_scc[0], FUNC(z80scc_device::db_r), FUNC(z80scc_device::db_w)).umask32(0x0000ff00);
+ map(0x1c180000, 0x1c180003).rw(m_scc[1], FUNC(z80scc_device::ca_r), FUNC(z80scc_device::ca_w)).umask32(0x0000ff00);
+ map(0x1c180004, 0x1c180007).rw(m_scc[1], FUNC(z80scc_device::da_r), FUNC(z80scc_device::da_w)).umask32(0x0000ff00);
+ map(0x1c180008, 0x1c18000b).rw(m_scc[1], FUNC(z80scc_device::cb_r), FUNC(z80scc_device::cb_w)).umask32(0x0000ff00);
+ map(0x1c18000c, 0x1c18000f).rw(m_scc[1], FUNC(z80scc_device::db_r), FUNC(z80scc_device::db_w)).umask32(0x0000ff00);
map(0x1c200000, 0x1c2000ff).rw(m_rtc, FUNC(mc146818_device::read_direct), FUNC(mc146818_device::write_direct)).umask32(0x000000ff);
map(0x1c300000, 0x1c30003f).m(m_asc, FUNC(ncr53c94_device::map)).umask32(0x000000ff);
map(0x1fc00000, 0x1fc3ffff).rom().region("user1", 0);
@@ -526,54 +539,116 @@ void decstation_state::threemin_map(address_map &map)
MACHINE DRIVERS
***************************************************************************/
-void decstation_state::ncr5394(device_t *device)
-{
- downcast<ncr53c94_device *>(device)->set_clock(10000000);
-}
-
static void dec_scsi_devices(device_slot_interface &device)
{
device.option_add("cdrom", NSCSI_CDROM);
device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("asc", NCR53C94);
}
-void decstation_state::kn01(machine_config &config)
+void kn01_state::kn01(machine_config &config, u32 clock)
{
- R2000(config, m_maincpu, 16.67_MHz_XTAL, 65536, 131072);
- m_maincpu->set_endianness(ENDIANNESS_LITTLE);
- m_maincpu->set_fpu(mips1_device_base::MIPS_R3010Av4);
- m_maincpu->in_brcond<0>().set(FUNC(decstation_state::brcond0_r));
- m_maincpu->set_addrmap(AS_PROGRAM, &decstation_state::kn01_map);
+ R2000(config, m_cpu, clock, 65536, 131072);
+ m_cpu->set_endianness(ENDIANNESS_LITTLE);
+ m_cpu->set_fpu(mips1_device_base::MIPS_R3010Av4, INPUT_LINE_IRQ5);
+ m_cpu->in_brcond<0>().set_constant(1);
+ m_cpu->set_addrmap(AS_PROGRAM, &kn01_state::map);
+
+ RAM(config, m_mram);
+ m_mram->set_default_size("24MiB");
+ m_mram->set_extra_options("4MiB,8MiB,12MiB,16MiB,20MiB");
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(69169800, 1280, 0, 1024, 901, 0, 864);
- m_screen->set_screen_update(FUNC(decstation_state::kn01_screen_update));
+ m_screen->set_raw(69169800, 1280, 212, 1024+212, 901, 34, 864+34);
+ m_screen->set_screen_update(FUNC(kn01_state::screen_update));
TIMER(config, m_scantimer, 0);
- m_scantimer->configure_scanline(FUNC(decstation_state::scanline_timer), "screen", 0, 1);
+ m_scantimer->configure_scanline(FUNC(kn01_state::scanline_timer), "screen", 0, 1);
- DC7085(config, m_dz, 0);
- m_dz->int_cb().set(FUNC(decstation_state::dz_irq_w));
- m_dz->ch1_tx_cb().set("dc7085:ch1", FUNC(dc7085_channel::rx_w));
+ BT478(config, m_vdac, 69169800);
AM79C90(config, m_lance, XTAL(12'500'000));
+ m_lance->intr_out().set_inputline(m_cpu, INPUT_LINE_IRQ1).invert();
+ m_lance->dma_in().set([this](offs_t offset) { return m_nram[(offset & 0xffff) >> 1]; });
+ m_lance->dma_out().set([this](offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_nram[(offset & 0xffff) >> 1]); });
- MC146818(config, m_rtc, XTAL(32'768));
+ DS1287(config, m_rtc, XTAL(32'768));
m_rtc->set_binary(true);
+ m_rtc->irq().set_inputline(m_cpu, INPUT_LINE_IRQ3);
+
+ /*
+ * 0: keyboard (rx/tx)
+ * 1: mouse (rx/tx)
+ * 2: modem (rx/tx, dtr/dsr)
+ * 3: printer/console (rx/tx)
+ */
+ DC7085(config, m_dz, 15.2064_MHz_XTAL);
+ m_dz->int_cb().set_inputline(m_cpu, INPUT_LINE_IRQ2);
+
+ LK201(config, m_lk201, 0);
+ m_dz->tx_cb<0>().set([this](int state) { if (!(m_status & TXDIS)) m_lk201->rx_w(state); });
+ m_lk201->tx_handler().set(m_dz, FUNC(dc7085_device::rx_w<0>));
+
+ // TODO: kn01 prom requires a "mouse terminator" (Tx to Rx loopback) when no mouse is connected
+ m_dz->tx_cb<1>().set([this](int state) { if (!(m_status & TXDIS)) m_dz->rx_w<1>(state); });
+
+ rs232_port_device &com(RS232_PORT(config, "com_port", default_rs232_devices, nullptr));
+ m_dz->tx_cb<2>().set([this, &com](int state) { if (!(m_status & TXDIS)) com.write_txd(state); });
+ m_dz->dtr_cb<2>().set(com, FUNC(rs232_port_device::write_dtr));
+ com.rxd_handler().set(m_dz, FUNC(dc7085_device::rx_w<2>));
+ com.dsr_handler().set(
+ [this](int state)
+ {
+ if (state)
+ m_msr |= MSR_DSR2;
+ else
+ m_msr &= ~MSR_DSR2;
+ });
+
+ rs232_port_device &prt(RS232_PORT(config, "prt_port", default_rs232_devices, nullptr));
+ m_dz->tx_cb<3>().set([this, &prt](int state) { if (!(m_status & TXDIS)) prt.write_txd(state); });
+ m_dz->dtr_cb<3>().set(prt, FUNC(rs232_port_device::write_dtr));
+ prt.rxd_handler().set(m_dz, FUNC(dc7085_device::rx_w<3>));
+ prt.dsr_handler().set(
+ [this](int state)
+ {
+ if (state)
+ m_msr |= MSR_DSR3;
+ else
+ m_msr &= ~MSR_DSR3;
+ });
+
+ NSCSI_BUS(config, "scsi");
+ NSCSI_CONNECTOR(config, "scsi:0", dec_scsi_devices, "harddisk");
+ NSCSI_CONNECTOR(config, "scsi:1", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", dec_scsi_devices, "cdrom");
+ NSCSI_CONNECTOR(config, "scsi:5", dec_scsi_devices, nullptr);
+#if 0
+ NSCSI_CONNECTOR(config, "scsi:6").option_set("sii", DC7061).clock(20_MHz_XTAL).machine_config(
+ [this](device_t *device)
+ {
+ dc7061_device &sii = downcast<dc7061_device &>(*device);
+
+ sii.irq_handler().set_inputline(m_cpu, INPUT_LINE_IRQ0);
+ });
+#endif
+ NSCSI_CONNECTOR(config, "scsi:7", dec_scsi_devices, nullptr);
+
+ config.set_default_layout(layout_kn01);
}
-void decstation_state::kn02ba(machine_config &config)
+void kn02ba_state::kn02ba(machine_config &config, u32 clock)
{
- R3000A(config, m_maincpu, 33.333_MHz_XTAL, 65536, 131072);
- m_maincpu->set_endianness(ENDIANNESS_LITTLE);
- m_maincpu->set_fpu(mips1_device_base::MIPS_R3010Av4);
- m_maincpu->in_brcond<0>().set(FUNC(decstation_state::brcond0_r));
- m_maincpu->set_addrmap(AS_PROGRAM, &decstation_state::threemin_map);
+ R3000A(config, m_cpu, clock, 65536, 131072);
+ m_cpu->set_endianness(ENDIANNESS_LITTLE);
+ m_cpu->set_fpu(mips1_device_base::MIPS_R3010Av4);
+ m_cpu->in_brcond<0>().set_constant(1);
+ m_cpu->set_addrmap(AS_PROGRAM, &kn02ba_state::map);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(130000000, 1704, 32, (1280+32), 1064, 3, (1024+3));
- m_screen->set_screen_update(FUNC(decstation_state::screen_update));
+ m_screen->set_screen_update(FUNC(kn02ba_state::screen_update));
DECSFB(config, m_sfb, 25'000'000); // clock based on white paper which quotes "40ns" gate array cycle times
// m_sfb->int_cb().set(FUNC(dec_ioga_device::slot0_irq_w));
@@ -586,54 +661,68 @@ void decstation_state::kn02ba(machine_config &config)
m_lance->dma_out().set("ioga", FUNC(dec_ioga_device::lance_dma_w));
DECSTATION_IOGA(config, m_ioga, XTAL(12'500'000));
- m_ioga->irq_out().set(FUNC(decstation_state::ioga_irq_w));
+ m_ioga->irq_out().set_inputline(m_cpu, INPUT_LINE_IRQ3);
MC146818(config, m_rtc, XTAL(32'768));
m_rtc->irq().set("ioga", FUNC(dec_ioga_device::rtc_irq_w));
m_rtc->set_binary(true);
- SCC85C30(config, m_scc0, XTAL(14'745'600)/2);
- m_scc0->out_int_callback().set("ioga", FUNC(dec_ioga_device::scc0_irq_w));
- m_scc0->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
- m_scc0->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd));
+ SCC85C30(config, m_scc[0], XTAL(14'745'600)/2);
+ m_scc[0]->out_int_callback().set("ioga", FUNC(dec_ioga_device::scc0_irq_w));
+ m_scc[0]->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
+ m_scc[0]->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd));
- SCC85C30(config, m_scc1, XTAL(14'745'600)/2);
- m_scc1->out_int_callback().set("ioga", FUNC(dec_ioga_device::scc1_irq_w));
- m_scc1->out_txdb_callback().set(m_lk201, FUNC(lk201_device::rx_w));
+ SCC85C30(config, m_scc[1], XTAL(14'745'600)/2);
+ m_scc[1]->out_int_callback().set("ioga", FUNC(dec_ioga_device::scc1_irq_w));
+ m_scc[1]->out_txdb_callback().set(m_lk201, FUNC(lk201_device::rx_w));
LK201(config, m_lk201, 0);
- m_lk201->tx_handler().set(m_scc1, FUNC(z80scc_device::rxb_w));
+ m_lk201->tx_handler().set(m_scc[1], FUNC(z80scc_device::rxb_w));
rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr));
- rs232a.rxd_handler().set(m_scc0, FUNC(z80scc_device::rxa_w));
- rs232a.dcd_handler().set(m_scc0, FUNC(z80scc_device::dcda_w));
- rs232a.cts_handler().set(m_scc0, FUNC(z80scc_device::ctsa_w));
+ rs232a.rxd_handler().set(m_scc[0], FUNC(z80scc_device::rxa_w));
+ rs232a.dcd_handler().set(m_scc[0], FUNC(z80scc_device::dcda_w));
+ rs232a.cts_handler().set(m_scc[0], FUNC(z80scc_device::ctsa_w));
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr));
- rs232b.rxd_handler().set(m_scc0, FUNC(z80scc_device::rxb_w));
- rs232b.dcd_handler().set(m_scc0, FUNC(z80scc_device::dcdb_w));
- rs232b.cts_handler().set(m_scc0, FUNC(z80scc_device::ctsb_w));
-
- NSCSI_BUS(config, "scsibus");
- NSCSI_CONNECTOR(config, "scsibus:0", dec_scsi_devices, "harddisk");
- NSCSI_CONNECTOR(config, "scsibus:1", dec_scsi_devices, "cdrom");
- NSCSI_CONNECTOR(config, "scsibus:2", dec_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:3", dec_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:4", dec_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:5", dec_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:6", dec_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:7", dec_scsi_devices, "asc", true).set_option_machine_config("asc", [this] (device_t *device) { ncr5394(device); });
+ rs232b.rxd_handler().set(m_scc[0], FUNC(z80scc_device::rxb_w));
+ rs232b.dcd_handler().set(m_scc[0], FUNC(z80scc_device::dcdb_w));
+ rs232b.cts_handler().set(m_scc[0], FUNC(z80scc_device::ctsb_w));
+
+ NSCSI_BUS(config, "scsi");
+ NSCSI_CONNECTOR(config, "scsi:0", dec_scsi_devices, "harddisk");
+ NSCSI_CONNECTOR(config, "scsi:1", dec_scsi_devices, "cdrom");
+ NSCSI_CONNECTOR(config, "scsi:2", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", dec_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("asc", NCR53C94).clock(10_MHz_XTAL).machine_config(
+ [this](device_t *device)
+ {
+ ncr53c94_device &asc = downcast<ncr53c94_device &>(*device);
+
+ asc.irq_handler_cb().set_inputline(m_cpu, INPUT_LINE_IRQ0);
+ });
}
-static INPUT_PORTS_START( decstation )
+static INPUT_PORTS_START(kn01)
+ PORT_START("config")
+ PORT_DIPNAME(0x0801, 0x0000, "Graphics Mode")
+ PORT_DIPSETTING( 0x0000, "Color")
+ PORT_DIPSETTING( 0x0800, "Monochrome")
+ PORT_DIPSETTING( 0x0801, "None")
+
+ PORT_DIPNAME(0x8000, 0x8000, "Manufacturing Mode")
+ PORT_DIPSETTING( 0x8000, DEF_STR(Off))
+ PORT_DIPSETTING( 0x0000, DEF_STR(On))
+INPUT_PORTS_END
+
+static INPUT_PORTS_START(kn02ba)
PORT_START("UNUSED") // unused IN0
PORT_BIT(0xffff, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
-void decstation_state::init_decstation()
-{
-}
-
/***************************************************************************
ROM definition(s)
@@ -641,10 +730,16 @@ void decstation_state::init_decstation()
***************************************************************************/
ROM_START( ds3100 )
- ROM_REGION32_LE( 0x40000, "user1", 0 )
+ ROM_REGION32_LE( 0x40000, "eprom", 0 )
ROM_LOAD( "kn01-aa.v7.01.img", 0x000000, 0x040000, CRC(e2478aa7) SHA1(e789387c52df3e0d83fde97cb48314627ea90b93) )
+
+ // hand-crafted following the documentation and logic of the "t e" diagnostic test
+ ROM_REGION(0x20, "esar", 0)
+ ROM_LOAD("esar.bin", 0x00, 0x20, CRC(ff083e3b) SHA1(1714338d8747ec434e77b72e7bd81f77aacf27d2))
ROM_END
+#define rom_ds2100 rom_ds3100
+
ROM_START( ds5k133 )
ROM_REGION32_LE( 0x40000, "user1", 0 )
// 5.7j sx
@@ -654,6 +749,9 @@ ROM_START( ds5k133 )
ROM_LOAD( "pmagb-ba-rom.img", 0x000000, 0x020000, CRC(91f40ab0) SHA1(a39ce6ed52697a513f0fb2300a1a6cf9e2eabe33) )
ROM_END
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1989, ds3100, 0, 0, kn01, decstation, decstation_state, init_decstation, "Digital Equipment Corporation", "DECstation 3100", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1992, ds5k133, 0, 0, kn02ba, decstation, decstation_state, init_decstation, "Digital Equipment Corporation", "DECstation 5000/133", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+} // anonymous namespace
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 1989, ds2100, 0, 0, pmin, kn01, kn01_state, init, "Digital Equipment Corporation", "DECstation 2100", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1989, ds3100, 0, 0, pmax, kn01, kn01_state, init, "Digital Equipment Corporation", "DECstation 3100", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1992, ds5k133, 0, 0, m133, kn02ba, kn02ba_state, init, "Digital Equipment Corporation", "DECstation 5000/133", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
diff --git a/src/mame/drivers/deniam.cpp b/src/mame/drivers/deniam.cpp
index c5a55395ec8..e775f218a68 100644
--- a/src/mame/drivers/deniam.cpp
+++ b/src/mame/drivers/deniam.cpp
@@ -49,7 +49,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dfruit.cpp b/src/mame/drivers/dfruit.cpp
index 4f0baab23d6..316e5c79b60 100644
--- a/src/mame/drivers/dfruit.cpp
+++ b/src/mame/drivers/dfruit.cpp
@@ -23,7 +23,7 @@
#include "machine/i8255.h"
#include "machine/tc009xlvc.h"
#include "machine/timer.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/diamondking.cpp b/src/mame/drivers/diamondking.cpp
index 80761ac9dea..230e4aba584 100644
--- a/src/mame/drivers/diamondking.cpp
+++ b/src/mame/drivers/diamondking.cpp
@@ -93,7 +93,7 @@ REEL1->|C| A |K6T0808C10 | ____________ |__||
| _________ |
| __________ |HCF4094BE _________ |
| |CI-2 unused |HCF4094BE |
- | __________ __________ |
+ | __________ __________ |
| |411GR-001| |411GR-001| |
|SEGASA-SONIC __________ O <- LED __________ __________ |
|1B-2006-283 |HCF4094BE| ___________ ___________ |_74LS14N_| |HCF4094BE| |
diff --git a/src/mame/drivers/dietgo.cpp b/src/mame/drivers/dietgo.cpp
index a6db9d04269..7fdc34b9965 100644
--- a/src/mame/drivers/dietgo.cpp
+++ b/src/mame/drivers/dietgo.cpp
@@ -25,7 +25,7 @@ PAL16R6A 11H
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "machine/decocrpt.h"
#include "machine/deco102.h"
#include "machine/gen_latch.h"
diff --git a/src/mame/drivers/discoboy.cpp b/src/mame/drivers/discoboy.cpp
index 376f9d23b0c..f86657609cd 100644
--- a/src/mame/drivers/discoboy.cpp
+++ b/src/mame/drivers/discoboy.cpp
@@ -47,7 +47,7 @@ Notes:
#include "machine/bankdev.h"
#include "machine/gen_latch.h"
#include "sound/msm5205.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp
index 559232d8f56..7d28280702b 100644
--- a/src/mame/drivers/djboy.cpp
+++ b/src/mame/drivers/djboy.cpp
@@ -143,7 +143,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index 06f220aa341..e9bb8721a63 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -83,8 +83,8 @@ are almost identical, except for much darker BG layer colors).
#include "machine/input_merger.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp
index 4e8a1f29148..2b73e06162b 100644
--- a/src/mame/drivers/dragon.cpp
+++ b/src/mame/drivers/dragon.cpp
@@ -25,6 +25,7 @@
#include "bus/coco/coco_gmc.h"
#include "bus/coco/coco_orch90.h"
+#include "bus/coco/coco_max.h"
#include "bus/coco/coco_midi.h"
#include "bus/coco/coco_pak.h"
#include "bus/coco/coco_psg.h"
@@ -214,6 +215,7 @@ void dragon_cart(device_slot_interface &device)
device.option_add("gmc", COCO_PAK_GMC);
device.option_add("jcbsnd", DRAGON_JCBSND);
device.option_add("jcbspch", DRAGON_JCBSPCH);
+ device.option_add("max", COCO_PAK_MAX);
device.option_add("midi", DRAGON_MIDI);
device.option_add("orch90", COCO_ORCH90);
device.option_add("pak", COCO_PAK);
diff --git a/src/mame/drivers/dragrace.cpp b/src/mame/drivers/dragrace.cpp
index 80b403fee17..86d42456e8a 100644
--- a/src/mame/drivers/dragrace.cpp
+++ b/src/mame/drivers/dragrace.cpp
@@ -17,13 +17,11 @@
#include "dragrace.lh"
-TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback)
+TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::frame_callback)
{
- static const char *const portnames[] = { "P1", "P2" };
-
for (int i = 0; i < 2; i++)
{
- switch (ioport(portnames[i])->read())
+ switch (m_p[i]->read())
{
case 0x01: m_gear[i] = 1; break;
case 0x02: m_gear[i] = 2; break;
@@ -32,11 +30,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback)
case 0x10: m_gear[i] = 0; break;
}
}
- output().set_value("P1gear", m_gear[0]);
- output().set_value("P2gear", m_gear[1]);
- /* watchdog is disabled during service mode */
- m_watchdog->watchdog_enable(ioport("IN0")->read() & 0x20);
+ m_gear_sel[0] = m_gear[0];
+ m_gear_sel[1] = m_gear[1];
+
+ // watchdog is disabled during service mode
+ m_watchdog->watchdog_enable(m_in[0]->read() & 0x20);
}
@@ -46,7 +45,7 @@ void dragrace_state::speed1_w(uint8_t data)
m_discrete->write(DRAGRACE_MOTOR1_DATA, freq);
// the tachometers are driven from the same frequency generator that creates the engine sound
- output().set_value("tachometer", freq);
+ m_tacho_sel[0] = freq;
}
void dragrace_state::speed2_w(uint8_t data)
@@ -55,20 +54,19 @@ void dragrace_state::speed2_w(uint8_t data)
m_discrete->write(DRAGRACE_MOTOR2_DATA, freq);
// the tachometers are driven from the same frequency generator that creates the engine sound
- output().set_value("tachometer2", freq);
+ m_tacho_sel[1] = freq;
}
-uint8_t dragrace_state::dragrace_input_r(offs_t offset)
+uint8_t dragrace_state::input_r(offs_t offset)
{
- int val = ioport("IN2")->read();
- static const char *const portnames[] = { "IN0", "IN1" };
+ int val = m_in[2]->read();
uint8_t maskA = 1 << (offset % 8);
uint8_t maskB = 1 << (offset / 8);
for (int i = 0; i < 2; i++)
{
- int in = ioport(portnames[i])->read();
+ int in = m_in[i]->read();
if (m_gear[i] != 0)
in &= ~(1 << m_gear[i]);
@@ -81,15 +79,14 @@ uint8_t dragrace_state::dragrace_input_r(offs_t offset)
}
-uint8_t dragrace_state::dragrace_steering_r()
+uint8_t dragrace_state::steering_r()
{
int bitA[2];
int bitB[2];
- static const char *const dialnames[] = { "DIAL1", "DIAL2" };
for (int i = 0; i < 2; i++)
{
- int dial = ioport(dialnames[i])->read();
+ int dial = m_dial[i]->read();
bitA[i] = ((dial + 1) / 2) & 1;
bitB[i] = ((dial + 0) / 2) & 1;
@@ -101,16 +98,16 @@ uint8_t dragrace_state::dragrace_steering_r()
}
-uint8_t dragrace_state::dragrace_scanline_r()
+uint8_t dragrace_state::scanline_r()
{
return (m_screen->vpos() ^ 0xf0) | 0x0f;
}
-void dragrace_state::dragrace_map(address_map &map)
+void dragrace_state::main_map(address_map &map)
{
map(0x0080, 0x00ff).ram();
- map(0x0800, 0x083f).r(FUNC(dragrace_state::dragrace_input_r));
+ map(0x0800, 0x083f).r(FUNC(dragrace_state::input_r));
map(0x0900, 0x0907).w("latch_f5", FUNC(addressable_latch_device::write_d0));
map(0x0908, 0x090f).w("latch_a5", FUNC(addressable_latch_device::write_d0));
map(0x0910, 0x0917).w("latch_h5", FUNC(addressable_latch_device::write_d0));
@@ -119,25 +116,25 @@ void dragrace_state::dragrace_map(address_map &map)
map(0x0928, 0x092f).w("latch_a5", FUNC(addressable_latch_device::clear));
map(0x0930, 0x0937).w("latch_h5", FUNC(addressable_latch_device::clear));
map(0x0938, 0x093f).w("latch_e5", FUNC(addressable_latch_device::clear));
- map(0x0a00, 0x0aff).writeonly().share("playfield_ram");
- map(0x0b00, 0x0bff).writeonly().share("position_ram");
- map(0x0c00, 0x0c00).r(FUNC(dragrace_state::dragrace_steering_r));
- map(0x0d00, 0x0d00).r(FUNC(dragrace_state::dragrace_scanline_r));
+ map(0x0a00, 0x0aff).writeonly().share(m_playfield_ram);
+ map(0x0b00, 0x0bff).writeonly().share(m_position_ram);
+ map(0x0c00, 0x0c00).r(FUNC(dragrace_state::steering_r));
+ map(0x0d00, 0x0d00).r(FUNC(dragrace_state::scanline_r));
map(0x0e00, 0x0eff).w(m_watchdog, FUNC(watchdog_timer_device::reset_w));
- map(0x1000, 0x1fff).rom(); /* program */
- map(0xf800, 0xffff).rom(); /* program mirror */
+ map(0x1000, 0x1fff).rom(); // program
+ map(0xf800, 0xffff).rom(); // program mirror
}
static INPUT_PORTS_START( dragrace )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 1 Gas") PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 1 gear 1 */
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 1 gear 2 */
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 1 gear 3 */
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 1 gear 4 */
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // player 1 gear 1
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) // player 1 gear 2
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) // player 1 gear 3
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // player 1 gear 4
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0xc0, 0x80, "Extended Play" )
+ PORT_DIPNAME( 0xc0, 0x80, "Extended Play" ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, "6.9 seconds" )
PORT_DIPSETTING( 0x80, "5.9 seconds" )
PORT_DIPSETTING( 0x40, "4.9 seconds" )
@@ -145,24 +142,24 @@ static INPUT_PORTS_START( dragrace )
PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 2 Gas") PORT_PLAYER(2)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 2 gear 1 */
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 2 gear 2 */
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 2 gear 3 */
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* player 2 gear 4 */
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // player 2 gear 1
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) // player 2 gear 2
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) // player 2 gear 3
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // player 2 gear 4
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_DIPNAME( 0xc0, 0x80, "Number Of Heats" )
+ PORT_DIPNAME( 0xc0, 0x80, "Number Of Heats" ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0xc0, "3" )
PORT_DIPSETTING( 0x80, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* IN0 connects here */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) /* IN1 connects here */
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) // IN0 connects here
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) // IN1 connects here
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
@@ -198,10 +195,10 @@ INPUT_PORTS_END
static const gfx_layout dragrace_tile_layout1 =
{
- 16, 16, /* width, height */
- 0x40, /* total */
- 1, /* planes */
- { 0 }, /* plane offsets */
+ 16, 16, // width, height
+ 0x40, // total
+ 1, // planes
+ { 0 }, // plane offsets
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87
@@ -210,16 +207,16 @@ static const gfx_layout dragrace_tile_layout1 =
0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38,
0x40, 0x48, 0x50, 0x58, 0x60, 0x68, 0x70, 0x78
},
- 0x100 /* increment */
+ 0x100 // increment
};
static const gfx_layout dragrace_tile_layout2 =
{
- 16, 16, /* width, height */
- 0x20, /* total */
- 2, /* planes */
- { /* plane offsets */
+ 16, 16, // width, height
+ 0x20, // total
+ 2, // planes
+ { // plane offsets
0x0000, 0x2000
},
{
@@ -230,7 +227,7 @@ static const gfx_layout dragrace_tile_layout2 =
0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38,
0x40, 0x48, 0x50, 0x58, 0x60, 0x68, 0x70, 0x78
},
- 0x100 /* increment */
+ 0x100 // increment
};
@@ -240,7 +237,7 @@ static GFXDECODE_START( gfx_dragrace )
GFXDECODE_END
-void dragrace_state::dragrace_palette(palette_device &palette) const
+void dragrace_state::palette(palette_device &palette) const
{
palette.set_pen_color(0, rgb_t(0xff, 0xff, 0xff)); // 2 color tiles
palette.set_pen_color(1, rgb_t(0x00, 0x00, 0x00));
@@ -263,6 +260,9 @@ void dragrace_state::dragrace_palette(palette_device &palette) const
void dragrace_state::machine_start()
{
+ m_gear_sel.resolve();
+ m_tacho_sel.resolve();
+
save_item(NAME(m_gear));
}
@@ -274,27 +274,27 @@ void dragrace_state::machine_reset()
void dragrace_state::dragrace(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
M6800(config, m_maincpu, 12.096_MHz_XTAL / 12);
- m_maincpu->set_addrmap(AS_PROGRAM, &dragrace_state::dragrace_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &dragrace_state::main_map);
m_maincpu->set_periodic_int(FUNC(dragrace_state::irq0_line_hold), attotime::from_hz(4*60));
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 8);
- TIMER(config, "frame_timer").configure_periodic(FUNC(dragrace_state::dragrace_frame_callback), attotime::from_hz(60));
+ TIMER(config, "frame_timer").configure_periodic(FUNC(dragrace_state::frame_callback), attotime::from_hz(60));
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(256, 262);
m_screen->set_visarea(0, 255, 0, 239);
- m_screen->set_screen_update(FUNC(dragrace_state::screen_update_dragrace));
+ m_screen->set_screen_update(FUNC(dragrace_state::screen_update));
m_screen->set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_dragrace);
- PALETTE(config, "palette", FUNC(dragrace_state::dragrace_palette), 16);
+ PALETTE(config, "palette", FUNC(dragrace_state::palette), 16);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -333,18 +333,18 @@ ROM_START( dragrace )
ROM_LOAD( "8514.a1", 0x1800, 0x0800, CRC(ad218690) SHA1(08ba5f4fa4c75d8dad1a7162888d44b3349cbbe4) )
ROM_RELOAD( 0xf800, 0x0800 )
- ROM_REGION( 0x800, "gfx1", 0 ) /* 2 color tiles */
+ ROM_REGION( 0x800, "gfx1", 0 ) // 2 color tiles
ROM_LOAD( "8519dr.j0", 0x000, 0x200, CRC(aa221ba0) SHA1(450acbf349d77a790a25f3e303c31b38cc426a38) )
ROM_LOAD( "8521dr.k0", 0x200, 0x200, CRC(0cb33f12) SHA1(d50cb55391aec03e064eecad1624d50d4c30ccab) )
ROM_LOAD( "8520dr.r0", 0x400, 0x200, CRC(ee1ae6a7) SHA1(83491095260c8b7c616ff17ec1e888d05620f166) )
- ROM_REGION( 0x800, "gfx2", 0 ) /* 4 color tiles */
+ ROM_REGION( 0x800, "gfx2", 0 ) // 4 color tiles
ROM_LOAD( "8515dr.e0", 0x000, 0x200, CRC(9510a59e) SHA1(aea0782b919279efe55a07007bd55a16f7f59239) )
ROM_LOAD( "8517dr.h0", 0x200, 0x200, CRC(8b5bff1f) SHA1(fdcd719c66bff7c4b9f3d56d1e635259dd8add61) )
ROM_LOAD( "8516dr.l0", 0x400, 0x200, CRC(d1e74af1) SHA1(f55a3bfd7d152ac9af128697f55c9a0c417779f5) )
ROM_LOAD( "8518dr.n0", 0x600, 0x200, CRC(b1369028) SHA1(598a8779982d532c9f34345e793a79fcb29cac62) )
- ROM_REGION( 0x100, "sync", 0 ) /* sync prom located at L8, it's a 82s129 */
+ ROM_REGION( 0x100, "sync", 0 ) // sync prom located at L8, it's a 82s129
ROM_LOAD( "l8.bin", 0x000, 0x100, CRC(3610b453) SHA1(9e33ee04f22a9174c29fafb8e71781fa330a7a08) )
ROM_END
diff --git a/src/mame/drivers/dunhuang.cpp b/src/mame/drivers/dunhuang.cpp
index 4e8ce0a747f..4fa946e23d9 100644
--- a/src/mame/drivers/dunhuang.cpp
+++ b/src/mame/drivers/dunhuang.cpp
@@ -56,7 +56,7 @@ Notes:
#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index 904123d40c0..78f33f2ac78 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -86,9 +86,8 @@ TODO:
#include "machine/msm6242.h"
#include "machine/nvram.h"
#include "sound/ay8910.h"
-#include "sound/ym2203.h"
-#include "sound/ym2413.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "layout/generic.h"
#include "speaker.h"
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index 8a55cbbd11c..877e5cbbb7a 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -73,7 +73,7 @@ Also, implemented conditional port for Coin Mode (SW1:1)
#include "cpu/nec/nec.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/esd16.cpp b/src/mame/drivers/esd16.cpp
index d7c0b1f3245..f9cbac6723b 100644
--- a/src/mame/drivers/esd16.cpp
+++ b/src/mame/drivers/esd16.cpp
@@ -71,7 +71,7 @@ ToDo:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/exerion.cpp b/src/mame/drivers/exerion.cpp
index da512ea3b95..f535aa619f5 100644
--- a/src/mame/drivers/exerion.cpp
+++ b/src/mame/drivers/exerion.cpp
@@ -488,17 +488,17 @@ ROM_START( exerionb )
ROM_LOAD( "exerion.05", 0x0000, 0x2000, CRC(32f6bff5) SHA1(a4d0289f9d1d9eea7ca9a32a0616af48da74b401) )
ROM_REGION( 0x02000, "fgchars", 0 )
- ROM_LOAD( "exerion.06", 0x00000, 0x2000, CRC(435a85a4) SHA1(f6846bfee11df754405d4d796e7d8ac0321b6eb6) )
+ ROM_LOAD( "exerion.06", 0x0000, 0x2000, CRC(435a85a4) SHA1(f6846bfee11df754405d4d796e7d8ac0321b6eb6) )
ROM_REGION( 0x04000, "sprites", 0 )
- ROM_LOAD( "exerion.11", 0x00000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
- ROM_LOAD( "exerion.10", 0x02000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
+ ROM_LOAD( "exerion.11", 0x0000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
+ ROM_LOAD( "exerion.10", 0x2000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
ROM_REGION( 0x08000, "bgdata", 0 )
- ROM_LOAD( "exerion.03", 0x00000, 0x2000, CRC(790595b8) SHA1(8016ac2394b25db38e962bcff4805380082f6683) )
- ROM_LOAD( "exerion.04", 0x02000, 0x2000, CRC(d7abd0b9) SHA1(ca6413ecd324cf84e11b703a4eda2c1e6d28ff15) )
- ROM_LOAD( "exerion.01", 0x04000, 0x2000, CRC(5bb755cb) SHA1(ec92c518c116a78dbb23381468cefb3f930212cc) )
- ROM_LOAD( "exerion.02", 0x06000, 0x2000, CRC(a7ecbb70) SHA1(3c359d5bb21290a45d3eb18fea2b1f9439b931be) )
+ ROM_LOAD( "exerion.03", 0x0000, 0x2000, CRC(790595b8) SHA1(8016ac2394b25db38e962bcff4805380082f6683) )
+ ROM_LOAD( "exerion.04", 0x2000, 0x2000, CRC(d7abd0b9) SHA1(ca6413ecd324cf84e11b703a4eda2c1e6d28ff15) )
+ ROM_LOAD( "exerion.01", 0x4000, 0x2000, CRC(5bb755cb) SHA1(ec92c518c116a78dbb23381468cefb3f930212cc) )
+ ROM_LOAD( "exerion.02", 0x6000, 0x2000, CRC(a7ecbb70) SHA1(3c359d5bb21290a45d3eb18fea2b1f9439b931be) )
ROM_REGION( 0x0320, "proms", 0 )
ROM_LOAD( "exerion.e1", 0x0000, 0x0020, CRC(2befcc20) SHA1(a24d3f691413378fde545a6ddcef7e5118e74019) ) // palette
@@ -513,19 +513,19 @@ ROM_END
ROM_START( exerionb2 )
ROM_REGION( 0x6000, "maincpu", 0 ) // slight differences compared to the original, not only the usual copyright removal but also some routines modified / added
- ROM_LOAD( "e7.bin", 0x0000, 0x2000, CRC(349fc44e) SHA1(f0f60528366c860f532e8580310c4fb4eae9e8d6) )
- ROM_LOAD( "e8.bin", 0x2000, 0x2000, CRC(b7b5eb9b) SHA1(6980ba29ac9178adf93f6b89dff52d9aa8db17ae) )
- ROM_LOAD( "e9.bin", 0x4000, 0x2000, CRC(11a30c5a) SHA1(1fa512af5771939d54cea76c7d9c09a6ab39aca9) )
+ ROM_LOAD( "e7.bin", 0x0000, 0x2000, CRC(349fc44e) SHA1(f0f60528366c860f532e8580310c4fb4eae9e8d6) )
+ ROM_LOAD( "e8.bin", 0x2000, 0x2000, CRC(b7b5eb9b) SHA1(6980ba29ac9178adf93f6b89dff52d9aa8db17ae) )
+ ROM_LOAD( "e9.bin", 0x4000, 0x2000, CRC(11a30c5a) SHA1(1fa512af5771939d54cea76c7d9c09a6ab39aca9) )
ROM_REGION( 0x2000, "sub", 0 ) // same as the original
ROM_LOAD( "e5.bin", 0x0000, 0x2000, CRC(32f6bff5) SHA1(a4d0289f9d1d9eea7ca9a32a0616af48da74b401) )
ROM_REGION( 0x02000, "fgchars", 0 ) // slight differences compared to the original
- ROM_LOAD( "e6.bin", 0x00000, 0x2000, CRC(24a2ceb5) SHA1(77fa649e75fe549091cf401307c583e9b6acfdce) )
+ ROM_LOAD( "e6.bin", 0x00000, 0x2000, CRC(24a2ceb5) SHA1(77fa649e75fe549091cf401307c583e9b6acfdce) )
ROM_REGION( 0x04000, "sprites", 0 ) // same as the original
- ROM_LOAD( "e11.bin", 0x00000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
- ROM_LOAD( "e10.bin", 0x02000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
+ ROM_LOAD( "e11.bin", 0x00000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
+ ROM_LOAD( "e10.bin", 0x02000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
ROM_REGION( 0x08000, "bgdata", ROMREGION_ERASE00 ) // smaller ROMs, but same contents but for 3.bin
ROM_LOAD( "6.bin", 0x00000, 0x1000, CRC(e0dceacc) SHA1(ac1c08c71878dc10d762da811dbc565248006941) )
@@ -547,29 +547,65 @@ ROM_START( exerionb2 )
ROM_END
+ROM_START( exerionba )
+ ROM_REGION( 0x6000, "maincpu", 0 )
+ ROM_LOAD( "2_7.bin", 0x0000, 0x2000, CRC(349fc44e) SHA1(f0f60528366c860f532e8580310c4fb4eae9e8d6) )
+ ROM_LOAD( "2_8.bin", 0x2000, 0x2000, CRC(b7b5eb9b) SHA1(6980ba29ac9178adf93f6b89dff52d9aa8db17ae) )
+ ROM_LOAD( "2_9.bin", 0x4000, 0x2000, CRC(11a30c5a) SHA1(1fa512af5771939d54cea76c7d9c09a6ab39aca9) )
+
+ ROM_REGION( 0x2000, "sub", 0 )
+ ROM_LOAD( "8.bin", 0x0000, 0x2000, CRC(32f6bff5) SHA1(a4d0289f9d1d9eea7ca9a32a0616af48da74b401) )
+
+ ROM_REGION( 0x02000, "fgchars", 0 )
+ ROM_LOAD( "2_6.bin", 0x0000, 0x2000, CRC(435a85a4) SHA1(f6846bfee11df754405d4d796e7d8ac0321b6eb6) )
+
+ ROM_REGION( 0x04000, "sprites", 0 )
+ ROM_LOAD( "2_11.bin", 0x0000, 0x2000, CRC(101628ce) SHA1(f555dfcf142bd92e362054f573803e31d8db94ff) )
+ ROM_LOAD( "2_10.bin", 0x2000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
+
+ ROM_REGION( 0x08000, "bgdata", ROMREGION_ERASE00 )
+ ROM_LOAD( "6.bin", 0x00000, 0x1000, CRC(e0dceacc) SHA1(ac1c08c71878dc10d762da811dbc565248006941) )
+ ROM_LOAD( "7.bin", 0x01000, 0x1000, CRC(544d4194) SHA1(a37c69b74c09f60e91a12894b595adcddcb475d9) )
+ ROM_LOAD( "5.bin", 0x02000, 0x1000, CRC(7cf28a3c) SHA1(064d05461320d4cd9c0d172551a85aae1ee29f02) )
+ ROM_LOAD( "4.bin", 0x03000, 0x1000, CRC(c7e8a4eb) SHA1(5852ff31c0350a1d66b0c7781b3d3f3e0b003f9b) )
+ ROM_LOAD( "2.bin", 0x04000, 0x1000, CRC(bda08550) SHA1(74528cdb30cee079647201f6e6227425d8a0a947) )
+ ROM_LOAD( "3.bin", 0x05000, 0x1000, CRC(de30698d) SHA1(33eddae3aa5d4eea1e522d654fb86f505a4b99ac) )
+ ROM_LOAD( "1.bin", 0x06000, 0x1000, CRC(33c73949) SHA1(fac662bd9c0ed769a3574074aba9ab4e0d7aaf33) )
+
+ ROM_REGION( 0x0320, "proms", 0 )
+ ROM_LOAD( "82s123.1", 0x0000, 0x0020, CRC(2befcc20) SHA1(a24d3f691413378fde545a6ddcef7e5118e74019) ) // palette
+ ROM_LOAD( "82s129.4", 0x0020, 0x0100, CRC(31db0e08) SHA1(1041a778e86d3fe6f057cf40a0a08b30760f3887) ) // fg char lookup table
+ ROM_LOAD( "82s129.5", 0x0120, 0x0100, CRC(63b4c555) SHA1(30243041be4fa77ada71e8b29d721cad51640c29) ) // sprite lookup table
+ ROM_LOAD( "82s129.2", 0x0220, 0x0100, CRC(fe72ab79) SHA1(048a72e6db4768df687df927acaa70ef906b3dc0) ) // bg char lookup table
+
+ ROM_REGION( 0x0100, "bg_char_mixer_prom", 0 )
+ ROM_LOAD( "82s129.3", 0x0000, 0x0100, CRC(ffc2ba43) SHA1(03be1c41d6ac3fc11439caef04ef5ffa60d6aec4) )
+ROM_END
+
+
ROM_START( irion )
ROM_REGION( 0x6000, "maincpu", 0 )
- ROM_LOAD( "2.bin", 0x0000, 0x2000, CRC(bf55324e) SHA1(a310e953cc80d09111ba104f21461420ae3abcd5) )
- ROM_LOAD( "3.bin", 0x2000, 0x2000, CRC(0625bb49) SHA1(111edb1da2153c853d89e56a89ef813cee559730) )
- ROM_LOAD( "4.bin", 0x4000, 0x2000, CRC(918a9b1d) SHA1(e515f1b9c5ddda8115e68e8a499b252b09774bb6) )
+ ROM_LOAD( "2.bin", 0x0000, 0x2000, CRC(bf55324e) SHA1(a310e953cc80d09111ba104f21461420ae3abcd5) )
+ ROM_LOAD( "3.bin", 0x2000, 0x2000, CRC(0625bb49) SHA1(111edb1da2153c853d89e56a89ef813cee559730) )
+ ROM_LOAD( "4.bin", 0x4000, 0x2000, CRC(918a9b1d) SHA1(e515f1b9c5ddda8115e68e8a499b252b09774bb6) )
ROM_REGION( 0x02000, "fgchars", 0 )
- ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(56cd5ebf) SHA1(58d84c2dc3b3bac7371da5b9a230fa581ead31dc) )
+ ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(56cd5ebf) SHA1(58d84c2dc3b3bac7371da5b9a230fa581ead31dc) )
ROM_REGION( 0x04000, "sprites", 0 )
- ROM_LOAD( "5.bin", 0x0000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
- ROM_LOAD( "6.bin", 0x2000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
+ ROM_LOAD( "5.bin", 0x0000, 0x2000, CRC(80312de0) SHA1(4fa3bb9d5c62e41a54e8909f8d3b47637137e913) )
+ ROM_LOAD( "6.bin", 0x2000, 0x2000, CRC(f0633a09) SHA1(8989bcb12abadde34777f7c189cfa6e2dfe92d62) )
ROM_REGION( 0x08000, "bgdata", ROMREGION_ERASE00 )
ROM_REGION( 0x0320, "proms", 0 ) // these are assumed to be on the board - the game won't run without them
- ROM_LOAD( "exerion.e1", 0x0000, 0x0020, CRC(2befcc20) SHA1(a24d3f691413378fde545a6ddcef7e5118e74019) ) // palette
- ROM_LOAD( "exerion.i8", 0x0020, 0x0100, CRC(31db0e08) SHA1(1041a778e86d3fe6f057cf40a0a08b30760f3887) ) // fg char lookup table
- ROM_LOAD( "exerion.h10", 0x0120, 0x0100, CRC(63b4c555) SHA1(30243041be4fa77ada71e8b29d721cad51640c29) ) // sprite lookup table
- ROM_LOAD( "exerion.i3", 0x0220, 0x0100, CRC(fe72ab79) SHA1(048a72e6db4768df687df927acaa70ef906b3dc0) ) // bg char lookup table
+ ROM_LOAD( "exerion.e1", 0x000, 0x020, CRC(2befcc20) SHA1(a24d3f691413378fde545a6ddcef7e5118e74019) ) // palette
+ ROM_LOAD( "exerion.i8", 0x020, 0x100, CRC(31db0e08) SHA1(1041a778e86d3fe6f057cf40a0a08b30760f3887) ) // fg char lookup table
+ ROM_LOAD( "exerion.h10", 0x120, 0x100, CRC(63b4c555) SHA1(30243041be4fa77ada71e8b29d721cad51640c29) ) // sprite lookup table
+ ROM_LOAD( "exerion.i3", 0x220, 0x100, CRC(fe72ab79) SHA1(048a72e6db4768df687df927acaa70ef906b3dc0) ) // bg char lookup table
ROM_REGION( 0x0100, "bg_char_mixer_prom", 0 )
- ROM_LOAD( "exerion.k4", 0x0000, 0x0100, CRC(ffc2ba43) SHA1(03be1c41d6ac3fc11439caef04ef5ffa60d6aec4) )
+ ROM_LOAD( "exerion.k4", 0x000, 0x100, CRC(ffc2ba43) SHA1(03be1c41d6ac3fc11439caef04ef5ffa60d6aec4) )
ROM_END
@@ -661,8 +697,9 @@ void exerion_state::init_irion()
*
*************************************/
-GAME( 1983, exerion, 0, exerion, exerion, exerion_state, init_exerion, ROT90, "Jaleco", "Exerion", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, exeriont, exerion, exerion, exerion, exerion_state, init_exerion, ROT90, "Jaleco (Taito America license)", "Exerion (Taito)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, exerionb, exerion, exerion, exerion, exerion_state, init_exerionb, ROT90, "bootleg", "Exerion (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, exerionb2, exerion, exerion, exerion, exerion_state, init_exerion, ROT90, "bootleg", "Exerion (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, irion, exerion, irion, exerion, exerion_state, init_irion, ROT90, "bootleg", "Irion", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1983, exerion, 0, exerion, exerion, exerion_state, init_exerion, ROT90, "Jaleco", "Exerion", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, exeriont, exerion, exerion, exerion, exerion_state, init_exerion, ROT90, "Jaleco (Taito America license)", "Exerion (Taito)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, exerionb, exerion, exerion, exerion, exerion_state, init_exerionb, ROT90, "bootleg", "Exerion (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, exerionb2, exerion, exerion, exerion, exerion_state, init_exerion, ROT90, "bootleg", "Exerion (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, exerionba, exerion, exerion, exerion, exerion_state, init_exerion, ROT90, "bootleg (Assa)", "Exerion (Assa, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, irion, exerion, irion, exerion, exerion_state, init_irion, ROT90, "bootleg", "Irion", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/exprraid.cpp b/src/mame/drivers/exprraid.cpp
index c4a106cf96c..854f8145584 100644
--- a/src/mame/drivers/exprraid.cpp
+++ b/src/mame/drivers/exprraid.cpp
@@ -211,8 +211,8 @@ Stephh's notes (based on the games M6502 code and some tests) :
#include "cpu/m6502/deco16.h"
#include "cpu/m6502/m6502.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp
index f10e74c66ff..3b0c7bc799b 100644
--- a/src/mame/drivers/exzisus.cpp
+++ b/src/mame/drivers/exzisus.cpp
@@ -41,7 +41,7 @@ TODO:
#include "audio/taitosnd.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/f-32.cpp b/src/mame/drivers/f-32.cpp
index ae47d7b44ad..ff02fb87775 100644
--- a/src/mame/drivers/f-32.cpp
+++ b/src/mame/drivers/f-32.cpp
@@ -31,7 +31,7 @@ f5
#include "cpu/e132xs/e132xs.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -113,7 +113,7 @@ void mosaicf2_state::mosaicf2_io(address_map &map)
map(0x5400, 0x5403).portr("EEPROMIN");
map(0x6003, 0x6003).w("oki", FUNC(okim6295_device::write));
map(0x6803, 0x6803).w("ymsnd", FUNC(ym2151_device::data_w));
- map(0x6813, 0x6813).w("ymsnd", FUNC(ym2151_device::register_w));
+ map(0x6813, 0x6813).w("ymsnd", FUNC(ym2151_device::address_w));
map(0x7000, 0x7003).portw("EEPROMCLK");
map(0x7200, 0x7203).portw("EEPROMCS");
map(0x7400, 0x7403).portw("EEPROMOUT");
diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp
index 8e7ac20351c..342bccbc8b8 100644
--- a/src/mame/drivers/f1gp.cpp
+++ b/src/mame/drivers/f1gp.cpp
@@ -33,7 +33,7 @@
#include "machine/clock.h"
#include "sound/okim6295.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "video/vsystem_gga.h"
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index 941f8f9c9e8..8b0dfdaf331 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -48,8 +48,8 @@ Year + Game Main CPU Sound CPU Sound Video
#include "cpu/z80/z80.h"
#include "sound/dac.h"
#include "sound/sn76496.h"
-#include "sound/ym2151.h"
-#include "sound/ym3526.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fb01.cpp b/src/mame/drivers/fb01.cpp
index e05ba8a9255..aeec3d25368 100644
--- a/src/mame/drivers/fb01.cpp
+++ b/src/mame/drivers/fb01.cpp
@@ -13,7 +13,7 @@
#include "machine/clock.h"
#include "machine/i8251.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/hd44780.h"
#include "emupal.h"
@@ -75,8 +75,8 @@ void fb01_state::fb01_io(address_map &map)
map.unmap_value_high();
map.global_mask(0xff);
// 00-01 YM2164
- map(0x00, 0x00).w("ym2164", FUNC(ym2151_device::register_w));
- map(0x01, 0x01).rw("ym2164", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w));
+ map(0x00, 0x00).w("ym2164", FUNC(ym2164_device::address_w));
+ map(0x01, 0x01).rw("ym2164", FUNC(ym2164_device::status_r), FUNC(ym2164_device::data_w));
// 10-11 USART uPD71051C 4MHz & 4MHz / 8
map(0x10, 0x11).rw(m_upd71051, FUNC(i8251_device::read), FUNC(i8251_device::write));
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index 9c2c89f4786..d4022f7ecdc 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -103,8 +103,8 @@ brightness circuity present on pcb?
#include "cpu/m68000/m68000.h"
#include "sound/msm5205.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "machine/eepromser.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ffantasy_ms.cpp b/src/mame/drivers/ffantasy_ms.cpp
index f4f276df842..52f8ca702d1 100644
--- a/src/mame/drivers/ffantasy_ms.cpp
+++ b/src/mame/drivers/ffantasy_ms.cpp
@@ -27,7 +27,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fidel_elite.cpp b/src/mame/drivers/fidel_elite.cpp
index f6af79e0aa0..9af4e2e664b 100644
--- a/src/mame/drivers/fidel_elite.cpp
+++ b/src/mame/drivers/fidel_elite.cpp
@@ -18,7 +18,7 @@ BTANB:
Elite A/S Challenger (EAS)
---------------------------------
-This came out in 1982. 2 program updates were released in 1983 and 1984,
+This came out in 1983. 2 program updates were released in 1983 and 1984,
named Budapest and Glasgow, places where Fidelity competed in chess computer
matches (they won it in 1983). A/S stands for auto sensory, it's the 1st
Fidelity board with magnet sensors. The magnetic chessboard was licensed from
diff --git a/src/mame/drivers/fidel_sc9.cpp b/src/mame/drivers/fidel_sc9.cpp
index 9b7a0bb3199..e61bdec68ad 100644
--- a/src/mame/drivers/fidel_sc9.cpp
+++ b/src/mame/drivers/fidel_sc9.cpp
@@ -3,6 +3,15 @@
// thanks-to:Berger, yoyo_chessboard
/******************************************************************************
+Fidelity SC9, Fidelity Playmatic "S"
+
+TODO:
+- fscc9ps module switch and led
+- verify fscc9ps XTAL (checked against sound recording, 99.97% similarity)
+
+
+Hardware notes:
+
Fidelity Sensory Chess Challenger "9" (SC9) overview:
- 8*(8+1) buttons, 8*8+1 LEDs
- 36-pin edge connector, assume same as SC12
@@ -19,12 +28,13 @@ I/O is via TTL, not further documented here
The Playmatic S was only released in Germany, it's basically a 'deluxe' version of SC9
with magnet sensors and came with CB9 and CB16.
+
Starting with SC9, Fidelity added a cartridge slot to their chess computers, meant for
extra book opening databases and recorded games.
Known modules (*denotes undumped):
- CB9: Challenger Book Openings 1 - 8KB (label not known)
-- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
+- CB16: Challenger Book Openings 2 - 2*8KB 101-1042A01,101-1042A02
- *CG64: 64 Greatest Games
- *EOA-EOE: Challenger Book Openings: Chess Encyclopedia Volume A-E (5 modules)
- *TDF: Challenger Book Openings: Tarrasch Defense to the Queen's Gambit
@@ -256,7 +266,7 @@ INPUT_PORTS_END
void sc9_state::sc9d(machine_config &config)
{
/* basic machine hardware */
- M6502(config, m_maincpu, 3.9_MHz_XTAL/2); // R6502AP, 3.9MHz resonator
+ M6502(config, m_maincpu, 3.9_MHz_XTAL / 2); // R6502AP, 3.9MHz resonator
m_maincpu->set_addrmap(AS_PROGRAM, &sc9_state::sc9d_map);
const attotime irq_period = attotime::from_hz(600); // from 555 timer (22nF, 102K, 2.7K), ideal frequency is 600Hz
@@ -295,7 +305,7 @@ void sc9_state::playmatic(machine_config &config)
sc9b(config);
/* basic machine hardware */
- m_maincpu->set_clock(1500000 * 2); // advertised as double the speed of SC9
+ m_maincpu->set_clock(5.626_MHz_XTAL / 2); // advertised as double the speed of SC9
m_board->set_type(sensorboard_device::MAGNETS);
config.set_default_layout(layout_fidel_playmatic);
diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp
index 787d4d8f0bb..306be03bd96 100644
--- a/src/mame/drivers/finalizr.cpp
+++ b/src/mame/drivers/finalizr.cpp
@@ -27,7 +27,7 @@
#include "speaker.h"
-TIMER_DEVICE_CALLBACK_MEMBER(finalizr_state::finalizr_scanline)
+TIMER_DEVICE_CALLBACK_MEMBER(finalizr_state::scanline)
{
int scanline = param;
@@ -38,20 +38,20 @@ TIMER_DEVICE_CALLBACK_MEMBER(finalizr_state::finalizr_scanline)
}
-void finalizr_state::finalizr_videoctrl_w(uint8_t data)
+void finalizr_state::videoctrl_w(uint8_t data)
{
m_charbank = data & 3;
m_spriterambank = data & 8;
- /* other bits unknown */
+ // other bits unknown
}
-void finalizr_state::finalizr_coin_w(uint8_t data)
+void finalizr_state::coin_w(uint8_t data)
{
machine().bookkeeping().coin_counter_w(0, data & 0x01);
machine().bookkeeping().coin_counter_w(1, data & 0x02);
}
-void finalizr_state::finalizr_flipscreen_w(uint8_t data)
+void finalizr_state::flipscreen_w(uint8_t data)
{
m_nmi_enable = data & 0x01;
m_irq_enable = data & 0x02;
@@ -59,7 +59,7 @@ void finalizr_state::finalizr_flipscreen_w(uint8_t data)
flip_screen_set(~data & 0x08);
}
-void finalizr_state::finalizr_i8039_irq_w(uint8_t data)
+void finalizr_state::i8039_irq_w(uint8_t data)
{
m_audiocpu->set_input_line(0, ASSERT_LINE);
}
@@ -87,9 +87,9 @@ READ_LINE_MEMBER(finalizr_state::i8039_t1_r)
based on the I8039 main xtal clock input frequency of 9.216MHz
*/
- m_T1_line++;
- m_T1_line %= 16;
- return (!(m_T1_line % 3) && (m_T1_line > 0));
+ m_t1_line++;
+ m_t1_line %= 16;
+ return (!(m_t1_line % 3) && (m_t1_line > 0));
}
void finalizr_state::i8039_t0_w(uint8_t data)
@@ -104,10 +104,10 @@ void finalizr_state::i8039_t0_w(uint8_t data)
void finalizr_state::main_map(address_map &map)
{
- map(0x0001, 0x0001).writeonly().share("scroll");
- map(0x0003, 0x0003).w(FUNC(finalizr_state::finalizr_videoctrl_w));
- map(0x0004, 0x0004).w(FUNC(finalizr_state::finalizr_flipscreen_w));
-// map(0x0020, 0x003f).writeonly().share("scroll");
+ map(0x0001, 0x0001).writeonly().share(m_scroll);
+ map(0x0003, 0x0003).w(FUNC(finalizr_state::videoctrl_w));
+ map(0x0004, 0x0004).w(FUNC(finalizr_state::flipscreen_w));
+// map(0x0020, 0x003f).writeonly().share(m_scroll);
map(0x0800, 0x0800).portr("DSW3");
map(0x0808, 0x0808).portr("DSW2");
map(0x0810, 0x0810).portr("SYSTEM");
@@ -115,18 +115,18 @@ void finalizr_state::main_map(address_map &map)
map(0x0812, 0x0812).portr("P2");
map(0x0813, 0x0813).portr("DSW1");
map(0x0818, 0x0818).w("watchdog", FUNC(watchdog_timer_device::reset_w));
- map(0x0819, 0x0819).w(FUNC(finalizr_state::finalizr_coin_w));
- map(0x081a, 0x081a).w("snsnd", FUNC(sn76489a_device::write)); /* This address triggers the SN chip to read the data port. */
- map(0x081b, 0x081b).nopw(); /* Loads the snd command into the snd latch */
- map(0x081c, 0x081c).w(FUNC(finalizr_state::finalizr_i8039_irq_w)); /* custom sound chip */
- map(0x081d, 0x081d).w("soundlatch", FUNC(generic_latch_8_device::write)); /* custom sound chip */
- map(0x2000, 0x23ff).ram().share("colorram");
- map(0x2400, 0x27ff).ram().share("videoram");
- map(0x2800, 0x2bff).ram().share("colorram2");
- map(0x2c00, 0x2fff).ram().share("videoram2");
- map(0x3000, 0x31ff).ram().share("spriteram");
+ map(0x0819, 0x0819).w(FUNC(finalizr_state::coin_w));
+ map(0x081a, 0x081a).w("snsnd", FUNC(sn76489a_device::write)); // This address triggers the SN chip to read the data port.
+ map(0x081b, 0x081b).nopw(); // Loads the snd command into the snd latch
+ map(0x081c, 0x081c).w(FUNC(finalizr_state::i8039_irq_w)); // custom sound chip
+ map(0x081d, 0x081d).w("soundlatch", FUNC(generic_latch_8_device::write)); // custom sound chip
+ map(0x2000, 0x23ff).ram().share(m_colorram[0]);
+ map(0x2400, 0x27ff).ram().share(m_videoram[0]);
+ map(0x2800, 0x2bff).ram().share(m_colorram[1]);
+ map(0x2c00, 0x2fff).ram().share(m_videoram[1]);
+ map(0x3000, 0x31ff).ram().share(m_spriteram[0]);
map(0x3200, 0x37ff).ram();
- map(0x3800, 0x39ff).ram().share("spriteram_2");
+ map(0x3800, 0x39ff).ram().share(m_spriteram[1]);
map(0x3a00, 0x3fff).ram();
map(0x4000, 0xffff).rom();
}
@@ -157,7 +157,7 @@ static INPUT_PORTS_START( finalizr )
PORT_START("DSW1")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
- /* "No Coin B" = coins produce sound, but no effect on coin counter */
+ // "No Coin B" = coins produce sound, but no effect on coin counter
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
@@ -239,7 +239,7 @@ static const gfx_layout spritelayout =
static GFXDECODE_START( gfx_finalizr )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 16*16, 16 )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 16*16, 16 ) /* to handle 8x8 sprites */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 16*16, 16 ) // to handle 8x8 sprites
GFXDECODE_END
@@ -247,7 +247,7 @@ void finalizr_state::machine_start()
{
save_item(NAME(m_spriterambank));
save_item(NAME(m_charbank));
- save_item(NAME(m_T1_line));
+ save_item(NAME(m_t1_line));
save_item(NAME(m_nmi_enable));
save_item(NAME(m_irq_enable));
}
@@ -256,19 +256,19 @@ void finalizr_state::machine_reset()
{
m_spriterambank = 0;
m_charbank = 0;
- m_T1_line = 0;
+ m_t1_line = 0;
m_nmi_enable = 0;
m_irq_enable = 0;
}
void finalizr_state::finalizr(machine_config &config)
{
- /* basic machine hardware */
- KONAMI1(config, m_maincpu, XTAL(18'432'000)/6); /* ??? */
+ // basic machine hardware
+ KONAMI1(config, m_maincpu, XTAL(18'432'000)/6); // ???
m_maincpu->set_addrmap(AS_PROGRAM, &finalizr_state::main_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(finalizr_state::finalizr_scanline), "screen", 0, 1);
+ TIMER(config, "scantimer").configure_scanline(FUNC(finalizr_state::scanline), "screen", 0, 1);
- I8039(config, m_audiocpu, XTAL(18'432'000)/2); /* 9.216MHz clkin ?? */
+ I8039(config, m_audiocpu, XTAL(18'432'000)/2); // 9.216MHz clkin ??
m_audiocpu->set_addrmap(AS_PROGRAM, &finalizr_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &finalizr_state::sound_io_map);
m_audiocpu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
@@ -278,19 +278,19 @@ void finalizr_state::finalizr(machine_config &config)
WATCHDOG_TIMER(config, "watchdog");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
screen.set_size(36*8, 32*8);
screen.set_visarea(1*8, 35*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(finalizr_state::screen_update_finalizr));
+ screen.set_screen_update(FUNC(finalizr_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_finalizr);
- PALETTE(config, m_palette, FUNC(finalizr_state::finalizr_palette), 2*16*16, 32);
+ PALETTE(config, m_palette, FUNC(finalizr_state::palette), 2*16*16, 32);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "speaker").front_center();
GENERIC_LATCH_8(config, "soundlatch");
@@ -314,8 +314,8 @@ ROM_START( finalizr )
ROM_LOAD( "523k02.12c", 0x8000, 0x4000, CRC(1bccc696) SHA1(3c29f4a030e76660b5a25347e042e344b0653343) )
ROM_LOAD( "523k03.13c", 0xc000, 0x4000, CRC(c48927c6) SHA1(9cf6b285034670370ba0246c33e1fe0a057457e7) )
- ROM_REGION( 0x1000, "audiocpu", 0 ) /* 8039 */
- ROM_LOAD( "d8749hd.bin", 0x0000, 0x0800, BAD_DUMP CRC(978dfc33) SHA1(13d24ce577b88bf6ec2e970d36dc67a7ec691c55) ) /* this comes from the bootleg, the original has a custom IC */
+ ROM_REGION( 0x1000, "audiocpu", 0 ) // 8039
+ ROM_LOAD( "d8749hd.bin", 0x0000, 0x0800, BAD_DUMP CRC(978dfc33) SHA1(13d24ce577b88bf6ec2e970d36dc67a7ec691c55) ) // this comes from the bootleg, the original has a custom IC
ROM_REGION( 0x20000, "gfx1", 0 )
ROM_LOAD16_BYTE( "523h04.5e", 0x00000, 0x4000, CRC(c056d710) SHA1(3fe0ab7ef3bce7298c2a073d0985c33f9dc40062) )
@@ -324,13 +324,13 @@ ROM_START( finalizr )
ROM_LOAD16_BYTE( "523h08.6f", 0x08001, 0x4000, CRC(79f44e17) SHA1(cb32edc4df9f2209f13fc258fec4e67ee91badef) )
ROM_LOAD16_BYTE( "523h06.7e", 0x10000, 0x4000, CRC(d2db9689) SHA1(ceb5913716b4da2ddff2e837ddaa04d91e52f9e1) )
ROM_LOAD16_BYTE( "523h09.7f", 0x10001, 0x4000, CRC(8896dc85) SHA1(91493c6b69655de482f0c2a0cb3662fc0d1b6e45) )
- /* 18000-1ffff empty */
+ // 18000-1ffff empty
- ROM_REGION( 0x0240, "proms", 0 ) /* PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles) */
- ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) /* palette */
- ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) /* palette */
- ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) /* characters */
- ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) /* sprites */
+ ROM_REGION( 0x0240, "proms", 0 ) // PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles)
+ ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) // palette
+ ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) // palette
+ ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) // characters
+ ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) // sprites
ROM_END
ROM_START( finalizra )
@@ -339,8 +339,8 @@ ROM_START( finalizra )
ROM_LOAD( "2.12c", 0x8000, 0x4000, CRC(383dc94e) SHA1(f192e16e83ae34cc97af07072a4dc68e7c4c362c) )
ROM_LOAD( "3.13c", 0xc000, 0x4000, CRC(ce177f6e) SHA1(034cbe0c1e2baf9577741b3c222a8b4a8ac8c919) )
- ROM_REGION( 0x1000, "audiocpu", 0 ) /* 8039 */
- ROM_LOAD( "d8749hd.bin", 0x0000, 0x0800, BAD_DUMP CRC(978dfc33) SHA1(13d24ce577b88bf6ec2e970d36dc67a7ec691c55) ) /* this comes from the bootleg, the original has a custom IC */
+ ROM_REGION( 0x1000, "audiocpu", 0 ) // 8039
+ ROM_LOAD( "d8749hd.bin", 0x0000, 0x0800, BAD_DUMP CRC(978dfc33) SHA1(13d24ce577b88bf6ec2e970d36dc67a7ec691c55) ) // this comes from the bootleg, the original has a custom IC
ROM_REGION( 0x20000, "gfx1", 0 )
ROM_LOAD16_BYTE( "523h04.5e", 0x00000, 0x4000, CRC(c056d710) SHA1(3fe0ab7ef3bce7298c2a073d0985c33f9dc40062) )
@@ -349,13 +349,13 @@ ROM_START( finalizra )
ROM_LOAD16_BYTE( "523h08.6f", 0x08001, 0x4000, CRC(79f44e17) SHA1(cb32edc4df9f2209f13fc258fec4e67ee91badef) )
ROM_LOAD16_BYTE( "523h06.7e", 0x10000, 0x4000, CRC(d2db9689) SHA1(ceb5913716b4da2ddff2e837ddaa04d91e52f9e1) )
ROM_LOAD16_BYTE( "523h09.7f", 0x10001, 0x4000, CRC(8896dc85) SHA1(91493c6b69655de482f0c2a0cb3662fc0d1b6e45) )
- /* 18000-1ffff empty */
+ // 18000-1ffff empty
- ROM_REGION( 0x0240, "proms", 0 ) /* PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles) */
- ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) /* palette */
- ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) /* palette */
- ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) /* characters */
- ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) /* sprites */
+ ROM_REGION( 0x0240, "proms", 0 ) // PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles)
+ ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) // palette
+ ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) // palette
+ ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) // characters
+ ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) // sprites
ROM_END
ROM_START( finalizrb )
@@ -363,7 +363,7 @@ ROM_START( finalizrb )
ROM_LOAD( "finalizr.5", 0x4000, 0x8000, CRC(a55e3f14) SHA1(47f6da214b36cc56be547fa4313afcc5572508a2) )
ROM_LOAD( "finalizr.6", 0xc000, 0x4000, CRC(ce177f6e) SHA1(034cbe0c1e2baf9577741b3c222a8b4a8ac8c919) )
- ROM_REGION( 0x1000, "audiocpu", 0 ) /* 8039 */
+ ROM_REGION( 0x1000, "audiocpu", 0 ) // 8039
ROM_LOAD( "d8749hd.bin", 0x0000, 0x0800, CRC(978dfc33) SHA1(13d24ce577b88bf6ec2e970d36dc67a7ec691c55) )
ROM_REGION( 0x20000, "gfx1", 0 )
@@ -373,13 +373,13 @@ ROM_START( finalizrb )
ROM_LOAD16_BYTE( "523h08.6f", 0x08001, 0x4000, CRC(79f44e17) SHA1(cb32edc4df9f2209f13fc258fec4e67ee91badef) )
ROM_LOAD16_BYTE( "523h06.7e", 0x10000, 0x4000, CRC(d2db9689) SHA1(ceb5913716b4da2ddff2e837ddaa04d91e52f9e1) )
ROM_LOAD16_BYTE( "523h09.7f", 0x10001, 0x4000, CRC(8896dc85) SHA1(91493c6b69655de482f0c2a0cb3662fc0d1b6e45) )
- /* 18000-1ffff empty */
+ // 18000-1ffff empty
- ROM_REGION( 0x0240, "proms", 0 ) /* PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles) */
- ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) /* palette */
- ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) /* palette */
- ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) /* characters */
- ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) /* sprites */
+ ROM_REGION( 0x0240, "proms", 0 ) // PROMs at 2F & 3F are MMI 63S081N (or compatibles), PROMs at 10F & 11F are MMI 6301-1N (or compatibles)
+ ROM_LOAD( "523h10.2f", 0x0000, 0x0020, CRC(ec15dd15) SHA1(710384b154a9363fdc88edffda252f1d60e000dc) ) // palette
+ ROM_LOAD( "523h11.3f", 0x0020, 0x0020, CRC(54be2e83) SHA1(3200abc7f2238d62d7204ef57a6daa2df150538d) ) // palette
+ ROM_LOAD( "523h13.11f", 0x0040, 0x0100, CRC(4e0647a0) SHA1(fb87f878456b8b76bb2c028cb890d2a5c1c3e388) ) // characters
+ ROM_LOAD( "523h12.10f", 0x0140, 0x0100, CRC(53166a2a) SHA1(6cdde206036df7176679711f7888d72acee27c8f) ) // sprites
ROM_END
diff --git a/src/mame/drivers/firetrap.cpp b/src/mame/drivers/firetrap.cpp
index aa318ffe587..bb26e3f18a1 100644
--- a/src/mame/drivers/firetrap.cpp
+++ b/src/mame/drivers/firetrap.cpp
@@ -176,7 +176,7 @@ the MSM5205-derived interrupt assigned to the NMI line instead.
#include "cpu/z80/z80.h"
#include "cpu/m6502/m6502.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/flkatck.cpp b/src/mame/drivers/flkatck.cpp
index 2d0ffa46362..e3a8d7ba083 100644
--- a/src/mame/drivers/flkatck.cpp
+++ b/src/mame/drivers/flkatck.cpp
@@ -20,7 +20,7 @@ NOTE: There is known to exist a USA version of Flak Attack - currently not dumpe
#include "cpu/z80/z80.h"
#include "cpu/m6809/hd6309.h"
#include "machine/k007452.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index ad71655bb60..2b5be155949 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -46,7 +46,7 @@
#include "sound/ay8910.h"
#include "sound/beep.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "bus/centronics/dsjoy.h"
diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp
index f4188edcea7..05441601efe 100644
--- a/src/mame/drivers/fmtowns.cpp
+++ b/src/mame/drivers/fmtowns.cpp
@@ -2893,12 +2893,12 @@ void towns_state::towns_base(machine_config &config)
rf5c68_device &pcm(RF5C68(config, "pcm", 16000000 / 2)); // actual clock speed unknown
pcm.set_end_callback(FUNC(towns_state::towns_pcm_irq));
pcm.set_addrmap(0, &towns_state::pcm_mem);
- pcm.add_route(0, "lspeaker", 3.00);
- pcm.add_route(1, "rspeaker", 3.00);
+ pcm.add_route(0, "lspeaker", 1.00);
+ pcm.add_route(1, "rspeaker", 1.00);
CDDA(config, m_cdda);
- m_cdda->add_route(0, "lspeaker", 1.00);
- m_cdda->add_route(1, "rspeaker", 1.00);
+ m_cdda->add_route(0, "lspeaker", 0.30);
+ m_cdda->add_route(1, "rspeaker", 0.30);
SPEAKER_SOUND(config, m_speaker);
m_speaker->add_route(ALL_OUTPUTS, "lspeaker", 0.50);
m_speaker->add_route(ALL_OUTPUTS, "rspeaker", 0.50);
diff --git a/src/mame/drivers/fresh.cpp b/src/mame/drivers/fresh.cpp
index a07c2908fd1..d49ce18c23b 100644
--- a/src/mame/drivers/fresh.cpp
+++ b/src/mame/drivers/fresh.cpp
@@ -24,7 +24,7 @@ rom 5 and 6 are prg roms
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "machine/timer.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fromanc2.cpp b/src/mame/drivers/fromanc2.cpp
index c39fd5eebc7..377950501aa 100644
--- a/src/mame/drivers/fromanc2.cpp
+++ b/src/mame/drivers/fromanc2.cpp
@@ -23,7 +23,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fromance.cpp b/src/mame/drivers/fromance.cpp
index 3e266d3ee60..46b35c231bf 100644
--- a/src/mame/drivers/fromance.cpp
+++ b/src/mame/drivers/fromance.cpp
@@ -85,7 +85,7 @@ with the following code:
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
#include "sound/msm5205.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/vsystem_gga.h"
#include "speaker.h"
diff --git a/src/mame/drivers/funkyjet.cpp b/src/mame/drivers/funkyjet.cpp
index 5d10fd7c3a5..34d10b100fd 100644
--- a/src/mame/drivers/funkyjet.cpp
+++ b/src/mame/drivers/funkyjet.cpp
@@ -98,7 +98,7 @@ Notes:
#include "machine/decocrpt.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fuukifg2.cpp b/src/mame/drivers/fuukifg2.cpp
index 802b73994d0..b7ea76c6351 100644
--- a/src/mame/drivers/fuukifg2.cpp
+++ b/src/mame/drivers/fuukifg2.cpp
@@ -50,8 +50,8 @@ To Do:
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fuukifg3.cpp b/src/mame/drivers/fuukifg3.cpp
index fb8a1aa7dc9..0fe01b02a00 100644
--- a/src/mame/drivers/fuukifg3.cpp
+++ b/src/mame/drivers/fuukifg3.cpp
@@ -161,7 +161,7 @@ FG-3J ROM-J 507KA0301P04 Rev:1.3
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/fwheel.cpp b/src/mame/drivers/fwheel.cpp
new file mode 100644
index 00000000000..63b9ee7083c
--- /dev/null
+++ b/src/mame/drivers/fwheel.cpp
@@ -0,0 +1,211 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+Fortune Wheel, Sega 1984?
+
+This game came on (at least) 3 PCBs:
+
+1)
+IC BOARD M4J MAIN, one '837-6553' sticker, one '837-6899 FORTUNE WHEEL' sticker
+NEC D780C-1 main CPU
+SEGA 315-5124 custom
+SEGA 315-5297 custom
+27C512 ROM
+3x NEC D4168C-15-SG RAM (1 near the CPU, 2 near the 315-5124)
+10.7386 MHz XTAL
+
+2)
+one '837-6900 FORTUNE WHEEL' sticker, one '880324 0508 H' sticker
+NEC D780C-1 audio CPU
+2x YM2413
+D4364CX RAM
+4.000 MHz XTAL
+27512 ROM
+
+3)
+MADE IN JAPAN @SEGA 1984, one '837-6898 FORTUNE WHEEL' sticker, one '880322 0311 H' sticker
+NEC D780C-1 CPU (wheel?)
+OKI M2128-15 RAM
+9x4 NEC 2501
+2x 27128 ROMs
+8-dip bank
+4-dip bank
+4.000 MHz XTAL
+*/
+
+#include "emu.h"
+#include "speaker.h"
+
+#include "includes/sms.h"
+
+#include "cpu/z80/z80.h"
+#include "sound/ymopl.h"
+
+
+namespace {
+
+class fwheel_state : public sms_state
+{
+public:
+ fwheel_state(const machine_config &mconfig, device_type type, const char *tag)
+ : sms_state(mconfig, type, tag)
+ {}
+
+ void fwheel(machine_config &config);
+
+private:
+ void main_io_map(address_map &map);
+ void main_prg_map(address_map &map);
+ void sound_prg_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void wheel_prg_map(address_map &map);
+};
+
+
+void fwheel_state::main_prg_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom();
+ map(0xc000, 0xdfff).ram();
+}
+
+void fwheel_state::main_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+
+ map(0x80, 0x80).mirror(0x3e).rw(m_vdp, FUNC(sega315_5124_device::data_read), FUNC(sega315_5124_device::data_write));
+ map(0x81, 0x81).mirror(0x3e).rw(m_vdp, FUNC(sega315_5124_device::control_read), FUNC(sega315_5124_device::control_write));
+ map(0xdc, 0xdc).portr("IN0");
+}
+
+void fwheel_state::sound_prg_map(address_map &map)
+{
+ map(0x0000, 0x8fff).rom();
+ map(0xf800, 0xffff).ram();
+}
+
+void fwheel_state::sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+
+ map(0x00, 0x01).w("ym1", FUNC(ym2413_device::write));
+ map(0x40, 0x41).w("ym2", FUNC(ym2413_device::write));
+}
+
+void fwheel_state::wheel_prg_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x4000, 0x47ff).ram();
+}
+
+
+static INPUT_PORTS_START( fwheel )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW0")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSW1") // 4 dip bank
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+
+void fwheel_state::fwheel(machine_config &config)
+{
+ // on 837-6899 PCB
+ Z80(config, m_maincpu, XTAL(10'738'000) / 3); // divider not verified
+ m_maincpu->set_addrmap(AS_PROGRAM, &fwheel_state::main_prg_map);
+ m_maincpu->set_addrmap(AS_IO, &fwheel_state::main_io_map);
+
+ config.set_maximum_quantum(attotime::from_hz(60));
+
+ SPEAKER(config, "mono").front_center();
+
+ SCREEN(config, m_main_scr, SCREEN_TYPE_RASTER);
+ m_main_scr->set_raw(XTAL(10'738'000) / 2, \
+ sega315_5124_device::WIDTH , sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH - 2, sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH + 256 + 10, \
+ sega315_5124_device::HEIGHT_NTSC, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT + 224);
+ m_main_scr->set_refresh_hz(XTAL(10'738'000) / 2 / (sega315_5124_device::WIDTH * sega315_5124_device::HEIGHT_NTSC));
+ m_main_scr->set_screen_update(FUNC(sms_state::screen_update_sms));
+
+ SEGA315_5124(config, m_vdp, XTAL(10'738'000)); // not verified
+ m_vdp->set_screen(m_main_scr);
+ m_vdp->set_is_pal(false);
+ m_vdp->n_int().set_inputline(m_maincpu, 0);
+ m_vdp->n_nmi().set_inputline(m_maincpu, INPUT_LINE_NMI);
+ m_vdp->add_route(ALL_OUTPUTS, "mono", 1.00);
+
+ // on 837-6900 PCB
+ z80_device &audiocpu(Z80(config, "audiocpu", 4_MHz_XTAL));
+ audiocpu.set_addrmap(AS_PROGRAM, &fwheel_state::sound_prg_map);
+ audiocpu.set_addrmap(AS_IO, &fwheel_state::sound_io_map);
+
+ YM2413(config, "ym1", 4_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.30);
+
+ YM2413(config, "ym2", 4_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.30);
+
+ // on 837-6898 PCB
+ z80_device &wheelcpu(Z80(config, "wheelcpu", 4_MHz_XTAL));
+ wheelcpu.set_addrmap(AS_PROGRAM, &fwheel_state::wheel_prg_map);
+}
+
+
+ROM_START( fwheel )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "epr-12198.ic2", 0x00000, 0x10000, CRC(673e9aac) SHA1(62bec711b86a70988b80a74f440768b1460e46ac) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "epr-12199.ic2", 0x00000, 0x10000, CRC(e5f31387) SHA1(20269210031880b971ab46a194f16e42027d3d6a) )
+
+ ROM_REGION( 0x8000, "wheelcpu", 0) // function unverified
+ ROM_LOAD( "epr-12196.ic28", 0x0000, 0x4000, CRC(3a072a1e) SHA1(ede2b481930ba87a50f738941c9ceaffc09ea4bd) )
+ ROM_LOAD( "epr-12197.ic21", 0x4000, 0x4000, CRC(289b3c75) SHA1(55a099633063f80b7d40469c2cc777401794a0bd) )
+ROM_END
+
+} // Anonymous namespace
+
+
+GAME( 1984?, fwheel, 0, fwheel, fwheel, fwheel_state, empty_init, ROT0, "Sega", "Fortune Wheel", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp
index 002e66449f4..6227009772b 100644
--- a/src/mame/drivers/gaelco.cpp
+++ b/src/mame/drivers/gaelco.cpp
@@ -26,7 +26,7 @@ Year Game PCB NOTES
#include "cpu/m6809/m6809.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index 2b2291636f7..03265ed513c 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -145,8 +145,8 @@ Notes:
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
#include <algorithm>
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index 14939b33e1a..d1427c45bad 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -31,7 +31,7 @@ TODO
#include "cpu/z80/z80.h"
#include "sound/dac.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/galpanic_ms.cpp b/src/mame/drivers/galpanic_ms.cpp
index e222089aef1..845972e28ef 100644
--- a/src/mame/drivers/galpanic_ms.cpp
+++ b/src/mame/drivers/galpanic_ms.cpp
@@ -31,7 +31,7 @@
#include "speaker.h"
#include "tilemap.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/gen_latch.h"
#include "machine/bankdev.h"
#include "sound/msm5205.h"
diff --git a/src/mame/drivers/galspnbl.cpp b/src/mame/drivers/galspnbl.cpp
index 7bd17dca196..61d0d95caf3 100644
--- a/src/mame/drivers/galspnbl.cpp
+++ b/src/mame/drivers/galspnbl.cpp
@@ -43,7 +43,7 @@ Manuals for both games define the controls as 4 push buttons:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index 2522017b390..78d279e361f 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -128,7 +128,7 @@
#include "machine/watchdog.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ginganin.cpp b/src/mame/drivers/ginganin.cpp
index 620c46441b1..1a904bf5000 100644
--- a/src/mame/drivers/ginganin.cpp
+++ b/src/mame/drivers/ginganin.cpp
@@ -63,7 +63,7 @@ f5d6 print 7 digit BCD number: d0.l to (a1)+ color $3000
#include "cpu/m6809/m6809.h"
#include "machine/6840ptm.h"
#include "sound/ay8910.h"
-#include "sound/y8950.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp
index b034a743167..e395544889e 100644
--- a/src/mame/drivers/gladiatr.cpp
+++ b/src/mame/drivers/gladiatr.cpp
@@ -197,7 +197,7 @@ TODO:
#include "machine/nvram.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gluck2.cpp b/src/mame/drivers/gluck2.cpp
index 9c199347e5e..a3b4a5362b0 100644
--- a/src/mame/drivers/gluck2.cpp
+++ b/src/mame/drivers/gluck2.cpp
@@ -193,7 +193,7 @@
#include "cpu/m6502/m6502.h"
#include "machine/nvram.h"
#include "sound/ay8910.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/mc6845.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index 19f8d380928..4fb5682372e 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -408,10 +408,7 @@ void gng_state::gng(machine_config &config)
BUFFERED_SPRITERAM8(config, m_spriteram);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(59.59); /* verified on pcb */
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(XTAL(12'000'000)/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(gng_state::screen_update_gng));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp
index 77dea8bf4db..a6649b33121 100644
--- a/src/mame/drivers/goal92.cpp
+++ b/src/mame/drivers/goal92.cpp
@@ -15,7 +15,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/goindol.cpp b/src/mame/drivers/goindol.cpp
index e9a6a60fc05..f82fa786fab 100644
--- a/src/mame/drivers/goindol.cpp
+++ b/src/mame/drivers/goindol.cpp
@@ -24,7 +24,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gokidetor.cpp b/src/mame/drivers/gokidetor.cpp
index 5db1e7036e1..8b46ab77207 100644
--- a/src/mame/drivers/gokidetor.cpp
+++ b/src/mame/drivers/gokidetor.cpp
@@ -14,7 +14,7 @@
//#include "machine/m66240.h"
#include "machine/te7750.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "audio/taitosnd.h"
namespace {
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index a20c7358b38..1adccf178a8 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -75,7 +75,7 @@ Secret menu hack [totmejan only] (I couldn't find official way to enter, so it's
#include "cpu/nec/nec.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/seibu_crtc.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/goori.cpp b/src/mame/drivers/goori.cpp
index cbc806320bc..faa5bfba137 100644
--- a/src/mame/drivers/goori.cpp
+++ b/src/mame/drivers/goori.cpp
@@ -55,7 +55,7 @@ ROMS:
#include "cpu/m68000/m68000.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/gotcha.cpp b/src/mame/drivers/gotcha.cpp
index f2802f00947..25bf4c24d70 100644
--- a/src/mame/drivers/gotcha.cpp
+++ b/src/mame/drivers/gotcha.cpp
@@ -64,7 +64,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/gradius3.cpp b/src/mame/drivers/gradius3.cpp
index 12fa03c3916..d7e66c00589 100644
--- a/src/mame/drivers/gradius3.cpp
+++ b/src/mame/drivers/gradius3.cpp
@@ -30,7 +30,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gsspade.cpp b/src/mame/drivers/gsspade.cpp
index 5c275de7aa9..d0c47cc48b7 100644
--- a/src/mame/drivers/gsspade.cpp
+++ b/src/mame/drivers/gsspade.cpp
@@ -14,7 +14,7 @@
#include "cpu/mcs51/mcs51.h"
#include "machine/i8279.h"
#include "sound/ay8910.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "speaker.h"
class gsspade_state : public driver_device
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp
index af8c393b960..6fbf01cd9d1 100644
--- a/src/mame/drivers/gstriker.cpp
+++ b/src/mame/drivers/gstriker.cpp
@@ -43,7 +43,7 @@ TODO:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/vs9209.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gticlub.cpp b/src/mame/drivers/gticlub.cpp
index ddeeaf2f38e..b1a0a12b00d 100644
--- a/src/mame/drivers/gticlub.cpp
+++ b/src/mame/drivers/gticlub.cpp
@@ -226,25 +226,29 @@ Hang Pilot (uses an unknown but similar video board) 12W
#include "emu.h"
#include "cpu/m68000/m68000.h"
-#include "machine/eepromser.h"
#include "cpu/powerpc/ppc.h"
#include "cpu/sharc/sharc.h"
-#include "machine/konppc.h"
#include "machine/adc1038.h"
-#include "machine/k056230.h"
+#include "machine/eepromser.h"
#include "machine/k033906.h"
-#include "sound/rf5c400.h"
+#include "machine/k056230.h"
+#include "machine/konppc.h"
#include "sound/k056800.h"
-#include "video/voodoo.h"
+#include "sound/rf5c400.h"
#include "video/k001005.h"
#include "video/k001006.h"
#include "video/k001604.h"
+#include "video/voodoo.h"
#include "emupal.h"
#include "layout/generic.h"
#include "speaker.h"
+namespace {
+
+#define DEBUG_GTI (0)
+
class gticlub_state : public driver_device
{
public:
@@ -252,8 +256,7 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
- m_dsp(*this, "dsp"),
- m_dsp2(*this, "dsp2"),
+ m_dsp(*this, {"dsp", "dsp2"}), // TODO: hardcoded tags in machine/konpc.cpp
m_k056800(*this, "k056800"),
m_gn680(*this, "gn680"),
m_adc1038(*this, "adc1038"),
@@ -262,21 +265,16 @@ public:
m_konppc(*this, "konppc"),
m_k056230(*this, "k056230"),
m_k001005(*this, "k001005"),
- m_k001006_1(*this, "k001006_1"),
- m_k001006_2(*this, "k001006_2"),
- m_k001604_1(*this, "k001604_1"),
- m_k001604_2(*this, "k001604_2"),
- m_lscreen(*this, "lscreen"),
- m_rscreen(*this, "rscreen"),
+ m_k001006(*this, "k001006%u", 1U),
+ m_k001604(*this, "k001604%u", 1U),
m_voodoo(*this, "voodoo%u", 0U),
m_work_ram(*this, "work_ram"),
m_generic_paletteram_32(*this, "paletteram"),
- m_analog0(*this, "AN0"),
- m_analog1(*this, "AN1"),
- m_analog2(*this, "AN2"),
- m_analog3(*this, "AN3"),
+ m_sharc_dataram(*this, "sharc%u_dataram", 0U),
+ m_analog(*this, "AN%u", 0U),
m_ports(*this, "IN%u", 0),
- m_pcb_digit(*this, "pcbdigit%u", 0U)
+ m_pcb_digit(*this, "pcbdigit%u", 0U),
+ m_cg_view(*this, "cg_view")
{ }
void thunderh(machine_config &config);
@@ -291,6 +289,7 @@ public:
protected:
virtual void machine_start() override;
+ virtual void machine_reset() override;
private:
// TODO: Needs verification on real hardware
@@ -298,8 +297,7 @@ private:
required_device<ppc_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
- required_device<adsp21062_device> m_dsp;
- optional_device<adsp21062_device> m_dsp2;
+ optional_device_array<adsp21062_device, 2> m_dsp;
required_device<k056800_device> m_k056800;
optional_device<cpu_device> m_gn680;
required_device<adc1038_device> m_adc1038;
@@ -308,49 +306,30 @@ private:
required_device<konppc_device> m_konppc;
required_device<k056230_device> m_k056230;
optional_device<k001005_device> m_k001005;
- optional_device<k001006_device> m_k001006_1;
- optional_device<k001006_device> m_k001006_2;
- optional_device<k001604_device> m_k001604_1;
- optional_device<k001604_device> m_k001604_2;
- optional_device<screen_device> m_lscreen;
- optional_device<screen_device> m_rscreen;
+ optional_device_array<k001006_device, 2> m_k001006;
+ optional_device_array<k001604_device, 2> m_k001604;
optional_device_array<voodoo_device, 2> m_voodoo;
required_shared_ptr<uint32_t> m_work_ram;
required_shared_ptr<uint32_t> m_generic_paletteram_32;
- optional_ioport m_analog0, m_analog1, m_analog2, m_analog3;
+ optional_shared_ptr_array<uint32_t, 2> m_sharc_dataram;
+ optional_ioport_array<4> m_analog;
required_ioport_array<4> m_ports;
output_finder<2> m_pcb_digit;
+ memory_view m_cg_view;
void paletteram32_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint32_t gticlub_k001604_tile_r(offs_t offset);
- void gticlub_k001604_tile_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint32_t gticlub_k001604_char_r(offs_t offset);
- void gticlub_k001604_char_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint32_t gticlub_k001604_reg_r(offs_t offset);
- void gticlub_k001604_reg_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
uint8_t sysreg_r(offs_t offset);
void sysreg_w(offs_t offset, uint8_t data);
void gn680_sysctrl_w(uint16_t data);
- uint32_t dsp_dataram0_r(offs_t offset);
- void dsp_dataram0_w(offs_t offset, uint32_t data);
- uint32_t dsp_dataram1_r(offs_t offset);
- void dsp_dataram1_w(offs_t offset, uint32_t data);
- DECLARE_WRITE_LINE_MEMBER(voodoo_vblank_0);
- DECLARE_WRITE_LINE_MEMBER(voodoo_vblank_1);
void soundtimer_en_w(uint16_t data);
void soundtimer_count_w(uint16_t data);
- DECLARE_MACHINE_RESET(gticlub);
- DECLARE_MACHINE_RESET(hangplt);
- DECLARE_VIDEO_START(gticlub);
- INTERRUPT_GEN_MEMBER(gticlub_vblank);
TIMER_CALLBACK_MEMBER(sound_irq);
int adc1038_input_callback(int input);
uint32_t screen_update_gticlub(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_lscreen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_rscreen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ template <uint8_t Which> uint32_t screen_update_two_screens(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void gticlub_map(address_map &map);
void hangplt_map(address_map &map);
@@ -361,8 +340,12 @@ private:
void sound_memmap(address_map &map);
emu_timer *m_sound_irq_timer;
- std::unique_ptr<uint32_t[]> m_sharc_dataram_0;
- std::unique_ptr<uint32_t[]> m_sharc_dataram_1;
+
+#if DEBUG_GTI
+ uint8_t m_tick = 0;
+ int8_t m_debug_tex_page = 0;
+ int8_t m_debug_tex_palette = 0;
+#endif
};
@@ -373,54 +356,6 @@ void gticlub_state::paletteram32_w(offs_t offset, uint32_t data, uint32_t mem_ma
m_palette->set_pen_color(offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
-WRITE_LINE_MEMBER(gticlub_state::voodoo_vblank_0)
-{
- m_maincpu->set_input_line(INPUT_LINE_IRQ0, state? ASSERT_LINE : CLEAR_LINE);
-}
-
-WRITE_LINE_MEMBER(gticlub_state::voodoo_vblank_1)
-{
- m_maincpu->set_input_line(INPUT_LINE_IRQ1, state ? ASSERT_LINE : CLEAR_LINE);
-}
-
-uint32_t gticlub_state::gticlub_k001604_tile_r(offs_t offset)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- return k001604->tile_r(offset);
-}
-
-void gticlub_state::gticlub_k001604_tile_w(offs_t offset, uint32_t data, uint32_t mem_mask)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- k001604->tile_w(offset, data, mem_mask);
-}
-
-
-uint32_t gticlub_state::gticlub_k001604_char_r(offs_t offset)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- return k001604->char_r(offset);
-}
-
-void gticlub_state::gticlub_k001604_char_w(offs_t offset, uint32_t data, uint32_t mem_mask)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- k001604->char_w(offset, data, mem_mask);
-}
-
-uint32_t gticlub_state::gticlub_k001604_reg_r(offs_t offset)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- return k001604->reg_r(offset);
-}
-
-void gticlub_state::gticlub_k001604_reg_w(offs_t offset, uint32_t data, uint32_t mem_mask)
-{
- k001604_device *k001604 = (m_konppc->get_cgboard_id() ? m_k001604_2 : m_k001604_1);
- k001604->reg_w(offset, data, mem_mask);
-}
-
-
/******************************************************************/
uint8_t gticlub_state::sysreg_r(offs_t offset)
@@ -471,16 +406,17 @@ void gticlub_state::sysreg_w(offs_t offset, uint8_t data)
break;
case 4:
- if (data & 0x80) /* CG Board 1 IRQ Ack */
+ if (data & 0x80) // CG Board 1 IRQ Ack
m_maincpu->set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
- if (data & 0x40) /* CG Board 0 IRQ Ack */
+ if (data & 0x40) // CG Board 0 IRQ Ack
m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
m_adc1038->di_write((data >> 0) & 1);
m_adc1038->clk_write((data >> 1) & 1);
m_konppc->set_cgboard_id((data >> 4) & 0x3);
+ m_cg_view.select(m_konppc->get_cgboard_id() ? 1 : 0);
break;
default:
@@ -524,10 +460,10 @@ void gticlub_state::machine_start()
{
m_pcb_digit.resolve();
- /* set conservative DRC options */
+ // set conservative DRC options
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);
- /* configure fast RAM regions for DRC */
+ // configure fast RAM regions for DRC
m_maincpu->ppcdrc_add_fastram(0x00000000, 0x000fffff, false, m_work_ram);
m_sound_irq_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gticlub_state::sound_irq), this));
@@ -535,40 +471,45 @@ void gticlub_state::machine_start()
void gticlub_state::gticlub_map(address_map &map)
{
- map(0x00000000, 0x000fffff).ram().share("work_ram"); /* Work RAM */
- map(0x74000000, 0x740000ff).rw(FUNC(gticlub_state::gticlub_k001604_reg_r), FUNC(gticlub_state::gticlub_k001604_reg_w));
- map(0x74010000, 0x7401ffff).ram().w(FUNC(gticlub_state::paletteram32_w)).share("paletteram");
- map(0x74020000, 0x7403ffff).rw(FUNC(gticlub_state::gticlub_k001604_tile_r), FUNC(gticlub_state::gticlub_k001604_tile_w));
- map(0x74040000, 0x7407ffff).rw(FUNC(gticlub_state::gticlub_k001604_char_r), FUNC(gticlub_state::gticlub_k001604_char_w));
+ map(0x00000000, 0x000fffff).ram().share(m_work_ram);
+ map(0x74000000, 0x7407ffff).view(m_cg_view);
+ m_cg_view[0](0x74000000, 0x740000ff).rw(m_k001604[0], FUNC(k001604_device::reg_r), FUNC(k001604_device::reg_w));
+ map(0x74010000, 0x7401ffff).ram().w(FUNC(gticlub_state::paletteram32_w)).share(m_generic_paletteram_32);
+ m_cg_view[0](0x74020000, 0x7403ffff).rw(m_k001604[0], FUNC(k001604_device::tile_r), FUNC(k001604_device::tile_w));
+ m_cg_view[0](0x74040000, 0x7407ffff).rw(m_k001604[0], FUNC(k001604_device::char_r), FUNC(k001604_device::char_w));
map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc));
- map(0x78040000, 0x7804000f).rw(m_k001006_1, FUNC(k001006_device::read), FUNC(k001006_device::write));
- map(0x78080000, 0x7808000f).rw(m_k001006_2, FUNC(k001006_device::read), FUNC(k001006_device::write));
+ map(0x78040000, 0x7804000f).rw(m_k001006[0], FUNC(k001006_device::read), FUNC(k001006_device::write));
+ map(0x78080000, 0x7808000f).rw(m_k001006[1], FUNC(k001006_device::read), FUNC(k001006_device::write));
map(0x780c0000, 0x780c0003).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_comm_r_ppc), FUNC(konppc_device::cgboard_dsp_comm_w_ppc));
map(0x7e000000, 0x7e003fff).rw(FUNC(gticlub_state::sysreg_r), FUNC(gticlub_state::sysreg_w));
map(0x7e008000, 0x7e009fff).rw(m_k056230, FUNC(k056230_device::read), FUNC(k056230_device::write));
map(0x7e00a000, 0x7e00bfff).rw(m_k056230, FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w));
map(0x7e00c000, 0x7e00c00f).rw(m_k056800, FUNC(k056800_device::host_r), FUNC(k056800_device::host_w));
- map(0x7f000000, 0x7f3fffff).rom().region("user2", 0); /* Data ROM */
- map(0x7f800000, 0x7f9fffff).rom().region("user1", 0);
- map(0x7fe00000, 0x7fffffff).rom().region("user1", 0); /* Program ROM */
+ map(0x7f000000, 0x7f3fffff).rom().region("datarom", 0);
+ map(0x7f800000, 0x7f9fffff).rom().region("prgrom", 0);
+ map(0x7fe00000, 0x7fffffff).rom().region("prgrom", 0);
}
void gticlub_state::hangplt_map(address_map &map)
{
- map(0x00000000, 0x000fffff).ram().share("work_ram"); /* Work RAM */
- map(0x74000000, 0x740000ff).rw(FUNC(gticlub_state::gticlub_k001604_reg_r), FUNC(gticlub_state::gticlub_k001604_reg_w));
- map(0x74010000, 0x7401ffff).ram().w(FUNC(gticlub_state::paletteram32_w)).share("paletteram");
- map(0x74020000, 0x7403ffff).rw(FUNC(gticlub_state::gticlub_k001604_tile_r), FUNC(gticlub_state::gticlub_k001604_tile_w));
- map(0x74040000, 0x7407ffff).rw(FUNC(gticlub_state::gticlub_k001604_char_r), FUNC(gticlub_state::gticlub_k001604_char_w));
+ map(0x00000000, 0x000fffff).ram().share(m_work_ram);
+ map(0x74000000, 0x7407ffff).view(m_cg_view);
+ m_cg_view[0](0x74000000, 0x740000ff).rw(m_k001604[0], FUNC(k001604_device::reg_r), FUNC(k001604_device::reg_w));
+ m_cg_view[1](0x74000000, 0x740000ff).rw(m_k001604[1], FUNC(k001604_device::reg_r), FUNC(k001604_device::reg_w));
+ map(0x74010000, 0x7401ffff).ram().w(FUNC(gticlub_state::paletteram32_w)).share(m_generic_paletteram_32);
+ m_cg_view[0](0x74020000, 0x7403ffff).rw(m_k001604[0], FUNC(k001604_device::tile_r), FUNC(k001604_device::tile_w));
+ m_cg_view[0](0x74040000, 0x7407ffff).rw(m_k001604[0], FUNC(k001604_device::char_r), FUNC(k001604_device::char_w));
+ m_cg_view[1](0x74020000, 0x7403ffff).rw(m_k001604[1], FUNC(k001604_device::tile_r), FUNC(k001604_device::tile_w));
+ m_cg_view[1](0x74040000, 0x7407ffff).rw(m_k001604[1], FUNC(k001604_device::char_r), FUNC(k001604_device::char_w));
map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc));
map(0x780c0000, 0x780c0003).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_comm_r_ppc), FUNC(konppc_device::cgboard_dsp_comm_w_ppc));
map(0x7e000000, 0x7e003fff).rw(FUNC(gticlub_state::sysreg_r), FUNC(gticlub_state::sysreg_w));
map(0x7e008000, 0x7e009fff).rw(m_k056230, FUNC(k056230_device::read), FUNC(k056230_device::write));
map(0x7e00a000, 0x7e00bfff).rw(m_k056230, FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w));
map(0x7e00c000, 0x7e00c00f).rw(m_k056800, FUNC(k056800_device::host_r), FUNC(k056800_device::host_w));
- map(0x7f000000, 0x7f3fffff).rom().region("user2", 0); /* Data ROM */
- map(0x7f800000, 0x7f9fffff).rom().region("user1", 0);
- map(0x7fe00000, 0x7fffffff).rom().region("user1", 0); /* Program ROM */
+ map(0x7f000000, 0x7f3fffff).rom().region("datarom", 0);
+ map(0x7f800000, 0x7f9fffff).rom().region("prgrom", 0);
+ map(0x7fe00000, 0x7fffffff).rom().region("prgrom", 0);
}
/**********************************************************************/
@@ -578,7 +519,7 @@ void gticlub_state::sound_memmap(address_map &map)
map(0x000000, 0x07ffff).rom();
map(0x200000, 0x20ffff).ram();
map(0x300000, 0x30001f).rw(m_k056800, FUNC(k056800_device::sound_r), FUNC(k056800_device::sound_w)).umask16(0x00ff);
- map(0x400000, 0x400fff).rw("rfsnd", FUNC(rf5c400_device::rf5c400_r), FUNC(rf5c400_device::rf5c400_w)); /* Ricoh RF5C400 */
+ map(0x400000, 0x400fff).rw("rfsnd", FUNC(rf5c400_device::rf5c400_r), FUNC(rf5c400_device::rf5c400_w)); // Ricoh RF5C400
map(0x500000, 0x500001).w(FUNC(gticlub_state::soundtimer_en_w)).nopr();
map(0x600000, 0x600001).w(FUNC(gticlub_state::soundtimer_count_w)).nopr();
}
@@ -605,30 +546,10 @@ void gticlub_state::gn680_memmap(address_map &map)
/*****************************************************************************/
-uint32_t gticlub_state::dsp_dataram0_r(offs_t offset)
-{
- return m_sharc_dataram_0[offset] & 0xffff;
-}
-
-void gticlub_state::dsp_dataram0_w(offs_t offset, uint32_t data)
-{
- m_sharc_dataram_0[offset] = data;
-}
-
-uint32_t gticlub_state::dsp_dataram1_r(offs_t offset)
-{
- return m_sharc_dataram_1[offset] & 0xffff;
-}
-
-void gticlub_state::dsp_dataram1_w(offs_t offset, uint32_t data)
-{
- m_sharc_dataram_1[offset] = data;
-}
-
void gticlub_state::sharc_map(address_map &map)
{
map(0x400000, 0x41ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x500000, 0x5fffff).rw(FUNC(gticlub_state::dsp_dataram0_r), FUNC(gticlub_state::dsp_dataram0_w));
+ map(0x500000, 0x5fffff).ram().share(m_sharc_dataram[0]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[0][offset] & 0xffff; }));
map(0x600000, 0x6fffff).rw(m_k001005, FUNC(k001005_device::read), FUNC(k001005_device::write));
map(0x700000, 0x7000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
}
@@ -636,25 +557,25 @@ void gticlub_state::sharc_map(address_map &map)
void gticlub_state::hangplt_sharc0_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x0500000, 0x05fffff).rw(FUNC(gticlub_state::dsp_dataram0_r), FUNC(gticlub_state::dsp_dataram0_w));
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[0]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[0][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).r(m_konppc, FUNC(konppc_device::nwk_voodoo_0_r)).w("voodoo0", FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).r(m_konppc, FUNC(konppc_device::nwk_voodoo_0_r)).w(m_voodoo[0], FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
map(0x3401000, 0x34fffff).w(m_konppc, FUNC(konppc_device::nwk_fifo_0_w));
map(0x3500000, 0x3507fff).rw(m_konppc, FUNC(konppc_device::K033906_0_r), FUNC(konppc_device::K033906_0_w));
- map(0x3600000, 0x37fffff).bankr("bank5");
+ map(0x3600000, 0x37fffff).bankr("master_cgboard_bank");
}
void gticlub_state::hangplt_sharc1_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_1_shared_sharc_r), FUNC(konppc_device::cgboard_1_shared_sharc_w));
- map(0x0500000, 0x05fffff).rw(FUNC(gticlub_state::dsp_dataram1_r), FUNC(gticlub_state::dsp_dataram1_w));
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[1]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[1][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).r(m_konppc, FUNC(konppc_device::nwk_voodoo_1_r)).w("voodoo1", FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).r(m_konppc, FUNC(konppc_device::nwk_voodoo_1_r)).w(m_voodoo[1], FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_1_comm_sharc_r), FUNC(konppc_device::cgboard_1_comm_sharc_w));
map(0x3401000, 0x34fffff).w(m_konppc, FUNC(konppc_device::nwk_fifo_1_w));
map(0x3500000, 0x3507fff).rw(m_konppc, FUNC(konppc_device::K033906_1_r), FUNC(konppc_device::K033906_1_w));
- map(0x3600000, 0x37fffff).bankr("bank6");
+ map(0x3600000, 0x37fffff).bankr("slave_cgboard_bank");
}
/*****************************************************************************/
@@ -691,7 +612,7 @@ static INPUT_PORTS_START( gticlub )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("AN0") /* mask default type sens delta min max */
+ PORT_START("AN0") // mask default type sens delta min max
PORT_BIT( 0x3ff, 0x200, IPT_PADDLE ) PORT_NAME("Steering Wheel") PORT_MINMAX(0x004,0x3fb) PORT_SENSITIVITY(50) PORT_KEYDELTA(25)
PORT_START("AN1")
@@ -820,89 +741,68 @@ static INPUT_PORTS_START( hangplt )
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_Y ) PORT_NAME("Control Bar") PORT_MINMAX(0x100,0x2ff) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_REVERSE
INPUT_PORTS_END
-/* PowerPC interrupts
-
- IRQ0: Vblank
- IRQ2: LANC
- DMA0
-
-*/
-INTERRUPT_GEN_MEMBER(gticlub_state::gticlub_vblank)
-{
- device.execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
-}
-
-
int gticlub_state::adc1038_input_callback(int input)
{
switch (input)
{
- case 0: return m_analog0->read();
- case 1: return m_analog1->read();
- case 2: return m_analog2->read();
- case 3: return m_analog3->read();
+ case 0: return m_analog[0]->read();
+ case 1: return m_analog[1]->read();
+ case 2: return m_analog[2]->read();
+ case 3: return m_analog[3]->read();
default: return 0;
}
}
-MACHINE_RESET_MEMBER(gticlub_state,gticlub)
+void gticlub_state::machine_reset()
{
- m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
-}
-
-
-VIDEO_START_MEMBER(gticlub_state,gticlub)
-{
- /*
- tick = 0;
- debug_tex_page = 0;
- debug_tex_palette = 0;
- */
+ m_dsp[0]->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ if (m_dsp[1].found())
+ m_dsp[1]->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
uint32_t gticlub_state::screen_update_gticlub(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
- m_k001604_1->draw_back_layer(bitmap, cliprect);
+ m_k001604[0]->draw_back_layer(bitmap, cliprect);
m_k001005->draw(bitmap, cliprect);
- m_k001604_1->draw_front_layer(screen, bitmap, cliprect);
+ m_k001604[0]->draw_front_layer(screen, bitmap, cliprect);
-#if 0
- tick++;
- if( tick >= 5 ) {
- tick = 0;
+#if DEBUG_GTI // TODO: won't compile since k001006 has been devicified and its palette is private
+ m_tick++;
+ if( m_tick >= 5 ) {
+ m_tick = 0;
if( machine().input().code_pressed(KEYCODE_O) )
- debug_tex_page++;
+ m_debug_tex_page++;
if( machine().input().code_pressed(KEYCODE_I) )
- debug_tex_page--;
+ m_debug_tex_page--;
if (machine().input().code_pressed(KEYCODE_U))
- debug_tex_palette++;
+ m_debug_tex_palette++;
if (machine().input().code_pressed(KEYCODE_Y))
- debug_tex_palette--;
+ m_debug_tex_palette--;
- if (debug_tex_page < 0)
- debug_tex_page = 32;
- if (debug_tex_page > 32)
- debug_tex_page = 0;
+ if (m_debug_tex_page < 0)
+ m_debug_tex_page = 32;
+ if (m_debug_tex_page > 32)
+ m_debug_tex_page = 0;
- if (debug_tex_palette < 0)
- debug_tex_palette = 15;
- if (debug_tex_palette > 15)
- debug_tex_palette = 0;
+ if (m_debug_tex_palette < 0)
+ m_debug_tex_palette = 15;
+ if (m_debug_tex_palette > 15)
+ m_debug_tex_palette = 0;
}
- if (debug_tex_page > 0)
+ if (m_debug_tex_page > 0)
{
char string[200];
int x,y;
- int index = (debug_tex_page - 1) * 0x40000;
- int pal = debug_tex_palette & 7;
- int tp = (debug_tex_palette >> 3) & 1;
- uint8_t *rom = machine.root_device().memregion("gfx1")->base();
+ int index = (m_debug_tex_page - 1) * 0x40000;
+ int pal = m_debug_tex_palette & 7;
+ int tp = (m_debug_tex_palette >> 3) & 1;
+ uint8_t *rom = memregion("textures")->base();
for (y=0; y < 384; y++)
{
@@ -913,65 +813,61 @@ uint32_t gticlub_state::screen_update_gticlub(screen_device &screen, bitmap_rgb3
}
}
- sprintf(string, "Texture page %d\nPalette %d", debug_tex_page, debug_tex_palette);
+ sprintf(string, "Texture page %d\nPalette %d", m_debug_tex_page, m_debug_tex_palette);
//popmessage("%s", string);
}
#endif
- //m_dsp->set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
- m_dsp->set_flag_input(1, ASSERT_LINE);
+ //m_dsp[0]->set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
+ m_dsp[0]->set_flag_input(1, ASSERT_LINE);
return 0;
}
-uint32_t gticlub_state::screen_update_lscreen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+template <uint8_t Which>
+uint32_t gticlub_state::screen_update_two_screens(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(m_palette->pen(0), cliprect);
-// m_k001604_1->draw_back_layer(bitmap, cliprect);
- m_voodoo[0]->voodoo_update(bitmap, cliprect);
- m_k001604_1->draw_front_layer(screen, bitmap, cliprect);
+// m_k001604[Which]->draw_back_layer(bitmap, cliprect);
+ m_voodoo[Which]->voodoo_update(bitmap, cliprect);
+ m_k001604[Which]->draw_front_layer(screen, bitmap, cliprect);
return 0;
}
-uint32_t gticlub_state::screen_update_rscreen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(m_palette->pen(0), cliprect);
+/* PowerPC interrupts
-// m_k001604_2->draw_back_layer(bitmap, cliprect);
- m_voodoo[1]->voodoo_update(bitmap, cliprect);
- m_k001604_2->draw_front_layer(screen, bitmap, cliprect);
+ IRQ0: Vblank
+ IRQ2: LANC
+ DMA0
- return 0;
-}
+*/
void gticlub_state::gticlub(machine_config &config)
{
- /* basic machine hardware */
- PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); /* PowerPC 403GA 32MHz */
+ // basic machine hardware
+ PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); // PowerPC 403GA 32MHz
m_maincpu->set_addrmap(AS_PROGRAM, &gticlub_state::gticlub_map);
- m_maincpu->set_vblank_int("screen", FUNC(gticlub_state::gticlub_vblank));
+ m_maincpu->set_vblank_int("screen", FUNC(gticlub_state::irq0_line_assert));
- M68000(config, m_audiocpu, XTAL(64'000'000)/4); /* 16MHz */
+ M68000(config, m_audiocpu, XTAL(64'000'000)/4); // 16MHz
m_audiocpu->set_addrmap(AS_PROGRAM, &gticlub_state::sound_memmap);
- ADSP21062(config, m_dsp, XTAL(36'000'000));
- m_dsp->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
- m_dsp->set_addrmap(AS_DATA, &gticlub_state::sharc_map);
+ ADSP21062(config, m_dsp[0], XTAL(36'000'000));
+ m_dsp[0]->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
+ m_dsp[0]->set_addrmap(AS_DATA, &gticlub_state::sharc_map);
config.set_maximum_quantum(attotime::from_hz(6000));
EEPROM_93C56_16BIT(config, "eeprom");
- MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,gticlub)
-
ADC1038(config, m_adc1038, 0);
m_adc1038->set_input_callback(FUNC(gticlub_state::adc1038_input_callback));
m_adc1038->set_gti_club_hack(true);
K056230(config, m_k056230, "maincpu");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(512, 384);
@@ -980,24 +876,22 @@ void gticlub_state::gticlub(machine_config &config)
PALETTE(config, m_palette).set_entries(65536);
- MCFG_VIDEO_START_OVERRIDE(gticlub_state,gticlub)
-
- K001604(config, m_k001604_1, 0);
- m_k001604_1->set_layer_size(1);
- m_k001604_1->set_roz_size(1);
- m_k001604_1->set_txt_mem_offset(0);
- m_k001604_1->set_roz_mem_offset(0);
- m_k001604_1->set_palette(m_palette);
+ K001604(config, m_k001604[0], 0);
+ m_k001604[0]->set_layer_size(1);
+ m_k001604[0]->set_roz_size(1);
+ m_k001604[0]->set_txt_mem_offset(0);
+ m_k001604[0]->set_roz_mem_offset(0);
+ m_k001604[0]->set_palette(m_palette);
- K001005(config, m_k001005, 0, "k001006_1");
+ K001005(config, m_k001005, 0, m_k001006[0]);
- K001006(config, m_k001006_1, 0);
- m_k001006_1->set_gfx_region("gfx1");
+ K001006(config, m_k001006[0], 0);
+ m_k001006[0]->set_gfx_region("textures");
// The second K001006 chip connects to the second K001005 chip.
// Hook this up when the K001005 separation is understood (seems the load balancing is done on hardware).
- K001006(config, m_k001006_2, 0);
- m_k001006_2->set_gfx_region("gfx1");
+ K001006(config, m_k001006[1], 0);
+ m_k001006[1]->set_gfx_region("textures");
K056800(config, m_k056800, XTAL(33'868'800)/2);
m_k056800->int_callback().set_inputline(m_audiocpu, M68K_IRQ_2);
@@ -1032,41 +926,32 @@ void gticlub_state::slrasslt(machine_config &config)
m_adc1038->set_gti_club_hack(false);
- m_k001604_1->set_layer_size(0);
- m_k001604_1->set_roz_size(0);
- m_k001604_1->set_txt_mem_offset(16384);
-}
-
-
-MACHINE_RESET_MEMBER(gticlub_state,hangplt)
-{
- m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- m_dsp2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_k001604[0]->set_layer_size(0);
+ m_k001604[0]->set_roz_size(0);
+ m_k001604[0]->set_txt_mem_offset(16384);
}
void gticlub_state::hangplt(machine_config &config)
{
- /* basic machine hardware */
- PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); /* PowerPC 403GA 32MHz */
+ // basic machine hardware
+ PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); // PowerPC 403GA 32MHz
m_maincpu->set_addrmap(AS_PROGRAM, &gticlub_state::hangplt_map);
- M68000(config, m_audiocpu, XTAL(64'000'000)/4); /* 16MHz */
+ M68000(config, m_audiocpu, XTAL(64'000'000)/4); // 16MHz
m_audiocpu->set_addrmap(AS_PROGRAM, &gticlub_state::sound_memmap);
- ADSP21062(config, m_dsp, XTAL(36'000'000));
- m_dsp->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
- m_dsp->set_addrmap(AS_DATA, &gticlub_state::hangplt_sharc0_map);
+ ADSP21062(config, m_dsp[0], XTAL(36'000'000));
+ m_dsp[0]->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
+ m_dsp[0]->set_addrmap(AS_DATA, &gticlub_state::hangplt_sharc0_map);
- ADSP21062(config, m_dsp2, XTAL(36'000'000));
- m_dsp2->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
- m_dsp2->set_addrmap(AS_DATA, &gticlub_state::hangplt_sharc1_map);
+ ADSP21062(config, m_dsp[1], XTAL(36'000'000));
+ m_dsp[1]->set_boot_mode(adsp21062_device::BOOT_MODE_EPROM);
+ m_dsp[1]->set_addrmap(AS_DATA, &gticlub_state::hangplt_sharc1_map);
config.set_maximum_quantum(attotime::from_hz(6000));
EEPROM_93C56_16BIT(config, "eeprom");
- MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,hangplt)
-
ADC1038(config, m_adc1038, 0);
m_adc1038->set_input_callback(FUNC(gticlub_state::adc1038_input_callback));
@@ -1076,47 +961,47 @@ void gticlub_state::hangplt(machine_config &config)
m_voodoo[0]->set_fbmem(2);
m_voodoo[0]->set_tmumem(2,2);
m_voodoo[0]->set_screen_tag("lscreen");
- m_voodoo[0]->set_cpu_tag(m_dsp);
- m_voodoo[0]->vblank_callback().set(FUNC(gticlub_state::voodoo_vblank_0));
+ m_voodoo[0]->set_cpu_tag(m_dsp[0]);
+ m_voodoo[0]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
VOODOO_1(config, m_voodoo[1], STD_VOODOO_1_CLOCK);
m_voodoo[1]->set_fbmem(2);
m_voodoo[1]->set_tmumem(2,2);
m_voodoo[1]->set_screen_tag("rscreen");
- m_voodoo[1]->set_cpu_tag(m_dsp2);
- m_voodoo[1]->vblank_callback().set(FUNC(gticlub_state::voodoo_vblank_1));
+ m_voodoo[1]->set_cpu_tag(m_dsp[1]);
+ m_voodoo[1]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ1);
- K033906(config, "k033906_1", 0, "voodoo0");
- K033906(config, "k033906_2", 0, "voodoo1");
+ K033906(config, "k033906_1", 0, m_voodoo[0]);
+ K033906(config, "k033906_2", 0, m_voodoo[1]);
- /* video hardware */
+ // video hardware
PALETTE(config, m_palette).set_entries(65536);
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_size(512, 384);
lscreen.set_visarea(0, 511, 0, 383);
- lscreen.set_screen_update(FUNC(gticlub_state::screen_update_lscreen));
+ lscreen.set_screen_update(FUNC(gticlub_state::screen_update_two_screens<0>));
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_size(512, 384);
rscreen.set_visarea(0, 511, 0, 383);
- rscreen.set_screen_update(FUNC(gticlub_state::screen_update_rscreen));
-
- K001604(config, m_k001604_1, 0);
- m_k001604_1->set_layer_size(0);
- m_k001604_1->set_roz_size(1);
- m_k001604_1->set_txt_mem_offset(0);
- m_k001604_1->set_roz_mem_offset(16384);
- m_k001604_1->set_palette(m_palette);
-
- K001604(config, m_k001604_2, 0);
- m_k001604_2->set_layer_size(0);
- m_k001604_2->set_roz_size(1);
- m_k001604_2->set_txt_mem_offset(0);
- m_k001604_2->set_roz_mem_offset(16384);
- m_k001604_2->set_palette(m_palette);
+ rscreen.set_screen_update(FUNC(gticlub_state::screen_update_two_screens<1>));
+
+ K001604(config, m_k001604[0], 0);
+ m_k001604[0]->set_layer_size(0);
+ m_k001604[0]->set_roz_size(1);
+ m_k001604[0]->set_txt_mem_offset(0);
+ m_k001604[0]->set_roz_mem_offset(16384);
+ m_k001604[0]->set_palette(m_palette);
+
+ K001604(config, m_k001604[1], 0);
+ m_k001604[1]->set_layer_size(0);
+ m_k001604[1]->set_roz_size(1);
+ m_k001604[1]->set_txt_mem_offset(0);
+ m_k001604[1]->set_roz_mem_offset(16384);
+ m_k001604[1]->set_palette(m_palette);
K056800(config, m_k056800, XTAL(33'868'800)/2);
m_k056800->int_callback().set_inputline(m_audiocpu, M68K_IRQ_2);
@@ -1135,27 +1020,27 @@ void gticlub_state::hangplt(machine_config &config)
/*************************************************************************/
-ROM_START( gticlub ) /* Euro version EAA - Reports: GTI CLUB(TM) System ver 1.00(EUR) */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( gticlub ) // Euro version EAA - Reports: GTI CLUB(TM) System ver 1.00(EUR)
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE("688eaa01.21u", 0x000000, 0x80000, CRC(824944ad) SHA1(a7bb86a2495e0579f5d82808aeed4895be2dbe3b) )
ROM_LOAD32_BYTE("688eaa02.19u", 0x000001, 0x80000, CRC(88e7bfb9) SHA1(fc0e945291204ee0c82bbd2c81ff241e1565c6ae) )
ROM_LOAD32_BYTE("688eaa03.21r", 0x000002, 0x80000, CRC(ea1c696b) SHA1(fd778afaa1de3a35b38a67b8e4c9a08fe9cf1b9e) )
ROM_LOAD32_BYTE("688eaa04.19r", 0x000003, 0x80000, CRC(94fa2334) SHA1(04edf840f841b9713fa93e7ebb6aad2000b738c0) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP("688a05.14u", 0x000000, 0x200000, CRC(7caa3f80) SHA1(28409dc17c4e010173396fdc069a409fbea0d58d) )
ROM_LOAD32_WORD_SWAP("688a06.12u", 0x000002, 0x200000, CRC(83e7ce0a) SHA1(afe185f6ed700baaf4c8affddc29f8afdfec4423) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "688a07.13k", 0x000000, 0x040000, CRC(f0805f06) SHA1(4b87e02b89e7ea812454498603767668e4619025) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "688a09.9s", 0x000000, 0x200000, CRC(fb582963) SHA1(ce8fe6a4d7ac7d7f4b6591f9150b1d351e636354) )
ROM_LOAD( "688a10.7s", 0x200000, 0x200000, CRC(b3ddc5f1) SHA1(a3f76c86e85eb17f20efb037c1ad64e9cb8566c8) )
ROM_LOAD( "688a11.5s", 0x400000, 0x200000, CRC(fc706183) SHA1(c8ce6de0588be1023ef48577bc88a4e5effdcd25) )
ROM_LOAD( "688a12.2s", 0x600000, 0x200000, CRC(510c70e3) SHA1(5af77bc98772ab7961308c3af0a80cb1bca690e3) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "688a13.18d", 0x000000, 0x200000, CRC(c8f04f91) SHA1(9da8cc3a94dbf0a1fce87c2bc9249df712ae0b0d) )
ROM_LOAD64_WORD( "688a14.13d", 0x000002, 0x200000, CRC(b9932735) SHA1(2492244d2acb350974202a6718bc7121325d2121) )
ROM_LOAD64_WORD( "688a15.9d", 0x000004, 0x200000, CRC(8aadee51) SHA1(be9020a47583da9d4ff586d227836dc5b7dc31f0) )
@@ -1165,27 +1050,27 @@ ROM_START( gticlub ) /* Euro version EAA - Reports: GTI CLUB(TM) System ver 1.00
ROM_LOAD( "gticlub.nv", 0x0000, 0x0100, CRC(ee5c9149) SHA1(cf4fda82c7d01eab664f21b062c55a3dd0234556) )
ROM_END
-ROM_START( gticlubu ) /* USA version UAA - Reports: GTI CLUB(TM) System ver 1.02(USA) */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( gticlubu ) // USA version UAA - Reports: GTI CLUB(TM) System ver 1.02(USA)
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE("688uaa01.21u", 0x000000, 0x80000, CRC(4e2ea7ad) SHA1(cc517df7c4df098896a2a88843fef97c9beb46f3) )
ROM_LOAD32_BYTE("688uaa02.19u", 0x000001, 0x80000, CRC(c0212ce1) SHA1(7716acfa1b1391e9d7a321ed46785c144d27fdd8) )
ROM_LOAD32_BYTE("688uaa03.21r", 0x000002, 0x80000, CRC(030246fe) SHA1(70d3591159b07aaeca60141db44f7c28d1b2dac9) )
ROM_LOAD32_BYTE("688uaa04.19r", 0x000003, 0x80000, CRC(9394e0b2) SHA1(9ff4ff22a307352bf127fc2b5ef9c56ecacf0aab) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP("688a05.14u", 0x000000, 0x200000, CRC(7caa3f80) SHA1(28409dc17c4e010173396fdc069a409fbea0d58d) )
ROM_LOAD32_WORD_SWAP("688a06.12u", 0x000002, 0x200000, CRC(83e7ce0a) SHA1(afe185f6ed700baaf4c8affddc29f8afdfec4423) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "688a07.13k", 0x000000, 0x040000, CRC(f0805f06) SHA1(4b87e02b89e7ea812454498603767668e4619025) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "688a09.9s", 0x000000, 0x200000, CRC(fb582963) SHA1(ce8fe6a4d7ac7d7f4b6591f9150b1d351e636354) )
ROM_LOAD( "688a10.7s", 0x200000, 0x200000, CRC(b3ddc5f1) SHA1(a3f76c86e85eb17f20efb037c1ad64e9cb8566c8) )
ROM_LOAD( "688a11.5s", 0x400000, 0x200000, CRC(fc706183) SHA1(c8ce6de0588be1023ef48577bc88a4e5effdcd25) )
ROM_LOAD( "688a12.2s", 0x600000, 0x200000, CRC(510c70e3) SHA1(5af77bc98772ab7961308c3af0a80cb1bca690e3) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "688a13.18d", 0x000000, 0x200000, CRC(c8f04f91) SHA1(9da8cc3a94dbf0a1fce87c2bc9249df712ae0b0d) )
ROM_LOAD64_WORD( "688a14.13d", 0x000002, 0x200000, CRC(b9932735) SHA1(2492244d2acb350974202a6718bc7121325d2121) )
ROM_LOAD64_WORD( "688a15.9d", 0x000004, 0x200000, CRC(8aadee51) SHA1(be9020a47583da9d4ff586d227836dc5b7dc31f0) )
@@ -1195,27 +1080,27 @@ ROM_START( gticlubu ) /* USA version UAA - Reports: GTI CLUB(TM) System ver 1.02
ROM_LOAD( "gticlub.nv", 0x0000, 0x0100, CRC(ee5c9149) SHA1(cf4fda82c7d01eab664f21b062c55a3dd0234556) )
ROM_END
-ROM_START( gticluba ) /* Asia version AAA - Reports: GTI CLUB(TM) System ver 1.00(ASI) */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( gticluba ) // Asia version AAA - Reports: GTI CLUB(TM) System ver 1.00(ASI)
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE("688aaa01.21u", 0x000000, 0x80000, CRC(06a56474) SHA1(3a457b885a35e3ee030fd51d847bcf75fce46208) )
ROM_LOAD32_BYTE("688aaa02.19u", 0x000001, 0x80000, CRC(3c1e714a) SHA1(557f8542b855b2b35f242c8db7396017aca6dbd8) )
ROM_LOAD32_BYTE("688aaa03.21r", 0x000002, 0x80000, CRC(e060580b) SHA1(50242f3f3b949cc03082e4e75d9dcc89e17f0a75) )
ROM_LOAD32_BYTE("688aaa04.19r", 0x000003, 0x80000, CRC(928c23cd) SHA1(cce54398e1e5b98bfb717839cc422f1f60502788) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP("688a05.14u", 0x000000, 0x200000, CRC(7caa3f80) SHA1(28409dc17c4e010173396fdc069a409fbea0d58d) )
ROM_LOAD32_WORD_SWAP("688a06.12u", 0x000002, 0x200000, CRC(83e7ce0a) SHA1(afe185f6ed700baaf4c8affddc29f8afdfec4423) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "688a07.13k", 0x000000, 0x040000, CRC(f0805f06) SHA1(4b87e02b89e7ea812454498603767668e4619025) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "688a09.9s", 0x000000, 0x200000, CRC(fb582963) SHA1(ce8fe6a4d7ac7d7f4b6591f9150b1d351e636354) )
ROM_LOAD( "688a10.7s", 0x200000, 0x200000, CRC(b3ddc5f1) SHA1(a3f76c86e85eb17f20efb037c1ad64e9cb8566c8) )
ROM_LOAD( "688a11.5s", 0x400000, 0x200000, CRC(fc706183) SHA1(c8ce6de0588be1023ef48577bc88a4e5effdcd25) )
ROM_LOAD( "688a12.2s", 0x600000, 0x200000, CRC(510c70e3) SHA1(5af77bc98772ab7961308c3af0a80cb1bca690e3) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "688a13.18d", 0x000000, 0x200000, CRC(c8f04f91) SHA1(9da8cc3a94dbf0a1fce87c2bc9249df712ae0b0d) )
ROM_LOAD64_WORD( "688a14.13d", 0x000002, 0x200000, CRC(b9932735) SHA1(2492244d2acb350974202a6718bc7121325d2121) )
ROM_LOAD64_WORD( "688a15.9d", 0x000004, 0x200000, CRC(8aadee51) SHA1(be9020a47583da9d4ff586d227836dc5b7dc31f0) )
@@ -1225,27 +1110,27 @@ ROM_START( gticluba ) /* Asia version AAA - Reports: GTI CLUB(TM) System ver 1.0
ROM_LOAD( "gticlub.nv", 0x0000, 0x0100, CRC(ee5c9149) SHA1(cf4fda82c7d01eab664f21b062c55a3dd0234556) )
ROM_END
-ROM_START( gticlubj ) /* Japan version JAA - Reports: GTI CLUB(TM) System ver 1.00(JPN) */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( gticlubj ) // Japan version JAA - Reports: GTI CLUB(TM) System ver 1.00(JPN)
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE("688jaa01.21u", 0x000000, 0x80000, CRC(1492059c) SHA1(176dbd87f23f4cd8e1397e67da501738e20e5a57) )
ROM_LOAD32_BYTE("688jaa02.19u", 0x000001, 0x80000, CRC(7896dd69) SHA1(a3ab7b872132a5e66238e414f4b497cf7beb8b1c) )
ROM_LOAD32_BYTE("688jaa03.21r", 0x000002, 0x80000, CRC(94e2be50) SHA1(f206ac201903f3aae29196ab6fccdef104859346) )
ROM_LOAD32_BYTE("688jaa04.19r", 0x000003, 0x80000, CRC(ff539bb6) SHA1(1a225eca4377d82a2b6cb99c1d16580b9ccf2f08) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP("688a05.14u", 0x000000, 0x200000, CRC(7caa3f80) SHA1(28409dc17c4e010173396fdc069a409fbea0d58d) )
ROM_LOAD32_WORD_SWAP("688a06.12u", 0x000002, 0x200000, CRC(83e7ce0a) SHA1(afe185f6ed700baaf4c8affddc29f8afdfec4423) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "688a07.13k", 0x000000, 0x040000, CRC(f0805f06) SHA1(4b87e02b89e7ea812454498603767668e4619025) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "688a09.9s", 0x000000, 0x200000, CRC(fb582963) SHA1(ce8fe6a4d7ac7d7f4b6591f9150b1d351e636354) )
ROM_LOAD( "688a10.7s", 0x200000, 0x200000, CRC(b3ddc5f1) SHA1(a3f76c86e85eb17f20efb037c1ad64e9cb8566c8) )
ROM_LOAD( "688a11.5s", 0x400000, 0x200000, CRC(fc706183) SHA1(c8ce6de0588be1023ef48577bc88a4e5effdcd25) )
ROM_LOAD( "688a12.2s", 0x600000, 0x200000, CRC(510c70e3) SHA1(5af77bc98772ab7961308c3af0a80cb1bca690e3) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "688a13.18d", 0x000000, 0x200000, CRC(c8f04f91) SHA1(9da8cc3a94dbf0a1fce87c2bc9249df712ae0b0d) )
ROM_LOAD64_WORD( "688a14.13d", 0x000002, 0x200000, CRC(b9932735) SHA1(2492244d2acb350974202a6718bc7121325d2121) )
ROM_LOAD64_WORD( "688a15.9d", 0x000004, 0x200000, CRC(8aadee51) SHA1(be9020a47583da9d4ff586d227836dc5b7dc31f0) )
@@ -1255,175 +1140,175 @@ ROM_START( gticlubj ) /* Japan version JAA - Reports: GTI CLUB(TM) System ver 1.
ROM_LOAD( "gticlub.nv", 0x0000, 0x0100, CRC(ee5c9149) SHA1(cf4fda82c7d01eab664f21b062c55a3dd0234556) )
ROM_END
-ROM_START( thunderh ) /* Euro version EAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( thunderh ) // Euro version EAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "680eaa01.21u", 0x000000, 0x080000, CRC(796e2678) SHA1(8051a228aa6d1a3f1fef26de15f4fdb785c2c8ee) )
ROM_LOAD32_BYTE( "680eaa02.19u", 0x000001, 0x080000, CRC(767e6db0) SHA1(0f29f56fe485f30100ce54e64bda5d5a124c1d09) )
ROM_LOAD32_BYTE( "680eaa03.21r", 0x000002, 0x080000, CRC(5a5b59b5) SHA1(542c0722437f40829559b09120fde995246d52ae) )
ROM_LOAD32_BYTE( "680eaa04.19r", 0x000003, 0x080000, CRC(4a973a5c) SHA1(1d84f6416c3b5a85d7ebfbc15fc08e0dd8dc2414) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "680a05.14u", 0x000000, 0x200000, CRC(0c9f334d) SHA1(99ac622a04a7140244d81031df69a796b6fd2657) )
ROM_LOAD32_WORD_SWAP( "680a06.12u", 0x000002, 0x200000, CRC(83074217) SHA1(bbf782ac125cd98d9147ef4e0373bf61f74726f7) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "680a07.13k", 0x000000, 0x080000, CRC(12247a3e) SHA1(846cd9423efd3c9b17fce08393c6c83307d72f92) )
- ROM_REGION(0x20000, "gn680", 0) /* GN680 program */
+ ROM_REGION(0x20000, "gn680", 0) // GN680 program
ROM_LOAD16_WORD_SWAP( "680c22.20k", 0x000000, 0x020000, CRC(d93c0ee2) SHA1(4b58418cbb01b51e12d6e7c86b2c81cd35d86248) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "680a09.9s", 0x000000, 0x200000, CRC(71c2b049) SHA1(ce360172c8774b31edf16a80104c35b1caf26cd9) )
ROM_LOAD( "680a10.7s", 0x200000, 0x200000, CRC(19882bf3) SHA1(7287da58853c84cbadbfb42bed37f2b0032c4b4d) )
ROM_LOAD( "680a11.5s", 0x400000, 0x200000, CRC(0c74fe3f) SHA1(2e69f8d37552a74bbda65b134f747b4380ed33b0) )
ROM_LOAD( "680a12.2s", 0x600000, 0x200000, CRC(b052919d) SHA1(a61c8eaf378ab7d780478db61217302d1b9f8f73) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "680a13.18d", 0x000000, 0x200000, CRC(233f9074) SHA1(78ce42c35407d61df37cc0d16cdee84f8de968fa) )
ROM_LOAD64_WORD( "680a14.13d", 0x000002, 0x200000, CRC(9ae15033) SHA1(12e291114629632b81f53811a6c8666aff4e92f3) )
ROM_LOAD64_WORD( "680a15.9d", 0x000004, 0x200000, CRC(dc47c86f) SHA1(71af9b21f1ecc063135f501b1561869ee910c236) )
ROM_LOAD64_WORD( "680a16.4d", 0x000006, 0x200000, CRC(ea388143) SHA1(3de5314a009d702186d5e285c8edefdd48139eab) )
ROM_END
-ROM_START( thunderhu ) /* USA version UAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( thunderhu ) // USA version UAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "680uaa01.21u", 0x000000, 0x080000, CRC(f2bb2ba1) SHA1(311e88d63179486014376c4af4ff0ef28673ee5a) )
ROM_LOAD32_BYTE( "680uaa02.19u", 0x000001, 0x080000, CRC(52f617b5) SHA1(fda3133d3a7e04eb4432c69becdcf1872b3660d9) )
ROM_LOAD32_BYTE( "680uaa03.21r", 0x000002, 0x080000, CRC(086a0574) SHA1(32fb93dbb93d2fe6af743ea4310b50a6cd03647d) )
ROM_LOAD32_BYTE( "680uaa04.19r", 0x000003, 0x080000, CRC(85e1f8e3) SHA1(9172c54b6663f1bf390795068271198083a6860d) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "680a05.14u", 0x000000, 0x200000, CRC(0c9f334d) SHA1(99ac622a04a7140244d81031df69a796b6fd2657) )
ROM_LOAD32_WORD_SWAP( "680a06.12u", 0x000002, 0x200000, CRC(83074217) SHA1(bbf782ac125cd98d9147ef4e0373bf61f74726f7) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "680a07.13k", 0x000000, 0x080000, CRC(12247a3e) SHA1(846cd9423efd3c9b17fce08393c6c83307d72f92) )
- ROM_REGION(0x20000, "gn680", 0) /* GN680 program */
+ ROM_REGION(0x20000, "gn680", 0) // GN680 program
ROM_LOAD16_WORD_SWAP( "680c22.20k", 0x000000, 0x020000, CRC(d93c0ee2) SHA1(4b58418cbb01b51e12d6e7c86b2c81cd35d86248) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "680a09.9s", 0x000000, 0x200000, CRC(71c2b049) SHA1(ce360172c8774b31edf16a80104c35b1caf26cd9) )
ROM_LOAD( "680a10.7s", 0x200000, 0x200000, CRC(19882bf3) SHA1(7287da58853c84cbadbfb42bed37f2b0032c4b4d) )
ROM_LOAD( "680a11.5s", 0x400000, 0x200000, CRC(0c74fe3f) SHA1(2e69f8d37552a74bbda65b134f747b4380ed33b0) )
ROM_LOAD( "680a12.2s", 0x600000, 0x200000, CRC(b052919d) SHA1(a61c8eaf378ab7d780478db61217302d1b9f8f73) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "680a13.18d", 0x000000, 0x200000, CRC(233f9074) SHA1(78ce42c35407d61df37cc0d16cdee84f8de968fa) )
ROM_LOAD64_WORD( "680a14.13d", 0x000002, 0x200000, CRC(9ae15033) SHA1(12e291114629632b81f53811a6c8666aff4e92f3) )
ROM_LOAD64_WORD( "680a15.9d", 0x000004, 0x200000, CRC(dc47c86f) SHA1(71af9b21f1ecc063135f501b1561869ee910c236) )
ROM_LOAD64_WORD( "680a16.4d", 0x000006, 0x200000, CRC(ea388143) SHA1(3de5314a009d702186d5e285c8edefdd48139eab) )
ROM_END
-ROM_START( slrasslt ) /* USA version UAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( slrasslt ) // USA version UAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "792uaa01.21u", 0x000000, 0x080000, CRC(c73bf7fb) SHA1(ffe0fea155473827929339a9261a158287ce30a8) ) // ROM check screen shows version as: SOLAR ASSAULT DR2 VER UA-A
ROM_LOAD32_BYTE( "792uaa02.19u", 0x000001, 0x080000, CRC(a940bb9b) SHA1(65a60157697a21cc2485c02c689c9addb3ac91f1) ) // Based on "Revised" code but title screen only shows Solar Assault
ROM_LOAD32_BYTE( "792uaa03.21r", 0x000002, 0x080000, CRC(363e8411) SHA1(b9c70033d8e3de4b339b61a66172bfecb7c2b3ab) )
ROM_LOAD32_BYTE( "792uaa04.19r", 0x000003, 0x080000, CRC(7910d99c) SHA1(e2114d369060528998b58331d590c086d306f541) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "792a05.14u", 0x000000, 0x200000, CRC(9a27edfc) SHA1(c028b6440eb1b0c814c4db45918e580662ac2d9a) )
ROM_LOAD32_WORD_SWAP( "792a06.12u", 0x000002, 0x200000, CRC(c272f171) SHA1(df492287eadc5e8668fe46cfa3ed3ca77c57feca) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "792a07.10k", 0x000000, 0x080000, CRC(89a65ad1) SHA1(d814ef0b560c8e68da57ad5c6096e4fc05e9913e) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "792a09.9s", 0x000000, 0x200000, CRC(7d7ea427) SHA1(a9a311a7c17223cc87140fe2890e20a321464831) )
ROM_LOAD( "792a10.7s", 0x200000, 0x200000, CRC(e585e5d9) SHA1(ec44ad324a66eeea4c45933dda5a8a9a4398879d) )
ROM_LOAD( "792a11.5s", 0x400000, 0x200000, CRC(c9c3a04c) SHA1(f834659f67712c9fcd93b7407669d7f35517b790) )
ROM_LOAD( "792a12.2s", 0x600000, 0x200000, CRC(da8fcdd5) SHA1(daa7b3a086ada69e93c3d7cd9130befc79e422dc) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "792a13.18d", 0x000000, 0x200000, CRC(16d6a134) SHA1(3f53f3c6759d7c5f40aa25a598df899fbac35a60) )
ROM_LOAD64_WORD( "792a14.13d", 0x000002, 0x200000, CRC(cf57e830) SHA1(607b4dec3b8180a63e29d9dab1ca28d7226dda1e) )
ROM_LOAD64_WORD( "792a15.9d", 0x000004, 0x200000, CRC(1c5531cb) SHA1(1b514f181c92e16d07bfe4719604f1e4caf15377) )
ROM_LOAD64_WORD( "792a16.4d", 0x000006, 0x200000, CRC(df89e392) SHA1(af37c5460d43bf8d8a1ab4213c4528083a7363c2) )
- ROM_REGION16_BE(0x100, "eeprom", 0) /* default eeprom with magic number */
+ ROM_REGION16_BE(0x100, "eeprom", 0) // default eeprom with magic number
ROM_LOAD16_WORD( "eeprom-slrasslt.bin", 0x0000, 0x0100, CRC(51eb4d93) SHA1(bc1359daccad80b0e16eb144a0bae715a4fb2e8d) )
ROM_END
-ROM_START( slrassltj ) /* Japan version JAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( slrassltj ) // Japan version JAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "792jaa01.21u", 0x000000, 0x080000, CRC(112717c6) SHA1(be5066e1aefef20b6eab2340abc1bdc3d7a5a6e3) ) // ROM check screen shows version as: SOLAR ASSAULT DR2 VER JA-A
ROM_LOAD32_BYTE( "792jaa02.19u", 0x000001, 0x080000, CRC(c48582bd) SHA1(194dfd51704ed5eeecb2b56b6bbf651c7cf7701e) ) // Title screen shows Solar Assault Revised
ROM_LOAD32_BYTE( "792jaa03.21r", 0x000002, 0x080000, CRC(e691009d) SHA1(c8ae58fd280a18151b0e33511269c3685e30fe63) )
ROM_LOAD32_BYTE( "792jaa04.19r", 0x000003, 0x080000, CRC(1e73a145) SHA1(e519d17d22b5a61570a9bf72ea840f6398928952) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "792a05.14u", 0x000000, 0x200000, CRC(9a27edfc) SHA1(c028b6440eb1b0c814c4db45918e580662ac2d9a) )
ROM_LOAD32_WORD_SWAP( "792a06.12u", 0x000002, 0x200000, CRC(c272f171) SHA1(df492287eadc5e8668fe46cfa3ed3ca77c57feca) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "792a07.10k", 0x000000, 0x080000, CRC(89a65ad1) SHA1(d814ef0b560c8e68da57ad5c6096e4fc05e9913e) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "792a09.9s", 0x000000, 0x200000, CRC(7d7ea427) SHA1(a9a311a7c17223cc87140fe2890e20a321464831) )
ROM_LOAD( "792a10.7s", 0x200000, 0x200000, CRC(e585e5d9) SHA1(ec44ad324a66eeea4c45933dda5a8a9a4398879d) )
ROM_LOAD( "792a11.5s", 0x400000, 0x200000, CRC(c9c3a04c) SHA1(f834659f67712c9fcd93b7407669d7f35517b790) )
ROM_LOAD( "792a12.2s", 0x600000, 0x200000, CRC(da8fcdd5) SHA1(daa7b3a086ada69e93c3d7cd9130befc79e422dc) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "792a13.18d", 0x000000, 0x200000, CRC(16d6a134) SHA1(3f53f3c6759d7c5f40aa25a598df899fbac35a60) )
ROM_LOAD64_WORD( "792a14.13d", 0x000002, 0x200000, CRC(cf57e830) SHA1(607b4dec3b8180a63e29d9dab1ca28d7226dda1e) )
ROM_LOAD64_WORD( "792a15.9d", 0x000004, 0x200000, CRC(1c5531cb) SHA1(1b514f181c92e16d07bfe4719604f1e4caf15377) )
ROM_LOAD64_WORD( "792a16.4d", 0x000006, 0x200000, CRC(df89e392) SHA1(af37c5460d43bf8d8a1ab4213c4528083a7363c2) )
- ROM_REGION16_BE(0x100, "eeprom", 0) /* default eeprom with magic number */
+ ROM_REGION16_BE(0x100, "eeprom", 0) // default eeprom with magic number
ROM_LOAD16_WORD( "eeprom-slrasslt.bin", 0x0000, 0x0100, CRC(407871d6) SHA1(17a311c412f450edb206750bf7d1055bd16a2135) )
ROM_END
-ROM_START( slrassltj1 ) /* Japan version JAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( slrassltj1 ) // Japan version JAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "672jaa_a01.21u", 0x000000, 0x080000, CRC(e2821f51) SHA1(20c6c2402ba2b564b8f77bcf452abe2d7e023417) ) // ROM check screen shows version as: SOLAR ASSAULT VER JA-A
ROM_LOAD32_BYTE( "672jaa_a02.19u", 0x000001, 0x080000, CRC(e3ac7031) SHA1(268588ac6e80463e51a399f53b2396b23faaddba) ) // Title screen shows subtitle "GRADIUS"
ROM_LOAD32_BYTE( "672jaa_a03.21r", 0x000002, 0x080000, CRC(52711d79) SHA1(8c89fbff9de21cc1e5f17c4ea08870faea648465) )
ROM_LOAD32_BYTE( "672jaa_a04.19r", 0x000003, 0x080000, CRC(f7419454) SHA1(44cef7f1181cb9c11b013ab0b7e26aa1e95d3746) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "672a05.14u", 0x000000, 0x200000, CRC(f6f296e4) SHA1(2ba4ede36f3392aa53a730614272fa80df65281c) )
ROM_LOAD32_WORD_SWAP( "672a06.12u", 0x000002, 0x200000, CRC(2126227f) SHA1(22615023025453772239b4b21e276fbcbb1cc2bf) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "672a07.10k", 0x000000, 0x080000, CRC(a757309d) SHA1(bc1c8b327815f70bc8bf94adafc8bb0c215e7d1f) )
- ROM_REGION16_LE(0x800000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x800000, "rfsnd", 0) // sound roms
ROM_LOAD( "672a09.9s", 0x000000, 0x200000, CRC(484355ef) SHA1(2af65565d10b058ab95888f36ff28bb7909181d5) )
ROM_LOAD( "672a10.7s", 0x200000, 0x200000, CRC(1ec1d5d1) SHA1(ebf5417a117f352fff36806a748305270adb70d8) )
ROM_LOAD( "672a11.5s", 0x400000, 0x200000, CRC(1126753e) SHA1(c7b91e2514329799944e1eb608b5b7e2eb87bea9) )
ROM_LOAD( "672a12.2s", 0x600000, 0x200000, CRC(432ec7fd) SHA1(a671625400f3837cbe8ddb06dbc37c574d75e281) )
- ROM_REGION(0x800000, "gfx1", 0) /* texture roms */
+ ROM_REGION(0x800000, "textures", 0) // texture roms
ROM_LOAD64_WORD( "672a13.18d", 0x000000, 0x200000, CRC(ded2f06d) SHA1(851a896e156fb736bcb7cdfc7db2340bb819c092) )
ROM_LOAD64_WORD( "672a14.13d", 0x000002, 0x200000, CRC(cd311cfc) SHA1(ead708eaa4e3f1f2b9a17c41ddd0fbc016911527) )
ROM_LOAD64_WORD( "672a15.9d", 0x000004, 0x200000, CRC(7bb6c271) SHA1(9eb928a52e482b7718c723fa8a14b2c2faaf4425) )
ROM_LOAD64_WORD( "672a16.4d", 0x000006, 0x200000, CRC(6fa5c0ee) SHA1(ee40179a46f8529fab1c58c05f413a516e7d53ff) )
- ROM_REGION16_BE(0x100, "eeprom", 0) /* default eeprom with magic number */
+ ROM_REGION16_BE(0x100, "eeprom", 0) // default eeprom with magic number
ROM_LOAD16_WORD( "eeprom-slrassltj.bin", 0x0000, 0x0100, CRC(407871d6) SHA1(17a311c412f450edb206750bf7d1055bd16a2135) )
ROM_END
-ROM_START( hangplt ) /* Japan version JAB */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( hangplt ) // Japan version JAB
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "685jab01.21u", 0x000000, 0x080000, CRC(f98a3e82) SHA1(94ebaa172b0e98c5cd08efaea5f56e707e5032b4) )
ROM_LOAD32_BYTE( "685jab02.19u", 0x000001, 0x080000, CRC(20730cdc) SHA1(71b2cf7077ab7db875f9030e21afd05905f57ce5) )
ROM_LOAD32_BYTE( "685jab03.21r", 0x000002, 0x080000, CRC(77fa2248) SHA1(a662b84945b3d268fed15952cc793d821233735e) )
ROM_LOAD32_BYTE( "685jab04.19r", 0x000003, 0x080000, CRC(ab6773df) SHA1(91d3f849a1cc5fa4b2fbd876d53402a548198c41) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "685a05.14u", 0x000000, 0x200000, CRC(ba1c8f40) SHA1(ce4ed641c1d6d44447eaaada16f305f1d7fb9ee2) )
ROM_LOAD32_WORD_SWAP( "685a06.12u", 0x000002, 0x200000, CRC(2429935c) SHA1(4da9e169adcac81ea1bc135d727c2bd13ad372fa) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "685a07.13k", 0x000000, 0x080000, CRC(5b72fd80) SHA1(a150837fa0d66dc0c3832495a4c8ce4f9b92cd98) )
- ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x1000000, "rfsnd", 0) // sound roms
ROM_LOAD( "685a09.9s", 0x000000, 0x400000, CRC(b8ae40aa) SHA1(eee27a8929e0e805f1045fd9638e661b36a1e3c7) )
ROM_LOAD( "685a10.7s", 0x400000, 0x400000, CRC(fef3dc36) SHA1(566c7469fc452b5965a31fa42291082ec8e48a24) )
- ROM_REGION(0x800000, "user5", 0) /* texture roms */
+ ROM_REGION(0x800000, "master_cgboard", 0) // texture roms
ROM_LOAD32_WORD( "685a13.4w", 0x000002, 0x400000, CRC(06329af4) SHA1(76cad9db604751ce48bb67bfd29e57bac0ee9a16) )
ROM_LOAD32_WORD( "685a14.12w", 0x000000, 0x400000, CRC(87437739) SHA1(0d45637af40938a54d5efd29c125b0fafd55f9a4) )
@@ -1431,25 +1316,25 @@ ROM_START( hangplt ) /* Japan version JAB */
ROM_LOAD( "hangplt.nv", 0x0000, 0x0100, CRC(30285221) SHA1(a08d06a0d7966f483e4c691a9bd5a98e48294aab) )
ROM_END
-ROM_START( hangpltu ) /* USA version UAA */
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
+ROM_START( hangpltu ) // USA version UAA
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "685uaa01.21u", 0x000000, 0x080000, CRC(83a5b866) SHA1(6859590f212c7debb19924f0174e4cd1bfc011bc) )
ROM_LOAD32_BYTE( "685uaa02.19u", 0x000001, 0x080000, CRC(765906d6) SHA1(9085a2346756b3b628fef91b7afc131aba434654) )
ROM_LOAD32_BYTE( "685uaa03.21r", 0x000002, 0x080000, CRC(cb0147a3) SHA1(7bcab760c01ea7e24f4ca5793e081aafa97f68a3) )
ROM_LOAD32_BYTE( "685uaa04.19r", 0x000003, 0x080000, CRC(a5fda56b) SHA1(4d86f488f411ec16fa3be830206a44214941d1fe) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "685a05.14u", 0x000000, 0x200000, CRC(ba1c8f40) SHA1(ce4ed641c1d6d44447eaaada16f305f1d7fb9ee2) )
ROM_LOAD32_WORD_SWAP( "685a06.12u", 0x000002, 0x200000, CRC(2429935c) SHA1(4da9e169adcac81ea1bc135d727c2bd13ad372fa) )
- ROM_REGION(0x80000, "audiocpu", 0) /* 68k program */
+ ROM_REGION(0x80000, "audiocpu", 0) // 68k program
ROM_LOAD16_WORD_SWAP( "685a07.13k", 0x000000, 0x080000, CRC(5b72fd80) SHA1(a150837fa0d66dc0c3832495a4c8ce4f9b92cd98) )
- ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* sound roms */
+ ROM_REGION16_LE(0x1000000, "rfsnd", 0) // sound roms
ROM_LOAD( "685a09.9s", 0x000000, 0x400000, CRC(b8ae40aa) SHA1(eee27a8929e0e805f1045fd9638e661b36a1e3c7) )
ROM_LOAD( "685a10.7s", 0x400000, 0x400000, CRC(fef3dc36) SHA1(566c7469fc452b5965a31fa42291082ec8e48a24) )
- ROM_REGION(0x800000, "user5", 0) /* texture roms */
+ ROM_REGION(0x800000, "master_cgboard", 0) // texture roms
ROM_LOAD32_WORD( "685a13.4w", 0x000002, 0x400000, CRC(06329af4) SHA1(76cad9db604751ce48bb67bfd29e57bac0ee9a16) )
ROM_LOAD32_WORD( "685a14.12w", 0x000000, 0x400000, CRC(87437739) SHA1(0d45637af40938a54d5efd29c125b0fafd55f9a4) )
@@ -1460,24 +1345,20 @@ ROM_END
void gticlub_state::init_gticlub()
{
- m_sharc_dataram_0 = std::make_unique<uint32_t[]>(0x100000/4);
-
- m_dsp->enable_recompiler();
+ m_dsp[0]->enable_recompiler();
}
void gticlub_state::init_hangplt_common()
{
- m_konppc->set_cgboard_texture_bank(0, "bank5", memregion("user5")->base());
- m_konppc->set_cgboard_texture_bank(1, "bank6", memregion("user5")->base());
- m_sharc_dataram_0 = std::make_unique<uint32_t[]>(0x100000/4);
- m_sharc_dataram_1 = std::make_unique<uint32_t[]>(0x100000/4);
+ m_konppc->set_cgboard_texture_bank(0, "master_cgboard_bank", memregion("master_cgboard")->base());
+ m_konppc->set_cgboard_texture_bank(1, "slave_cgboard_bank", memregion("master_cgboard")->base());
}
void gticlub_state::init_hangplt() //fixme: remove hacks and actually emulate the step lock. Possibly similar to Alpine Racer 1/2 and Alpine Surfer?
{
init_hangplt_common();
- uint32_t *rom = (uint32_t*)memregion("user1")->base();
+ uint32_t *rom = (uint32_t*)memregion("prgrom")->base();
rom[(0x153ac^4) / 4] = 0x4e800020;
rom[(0x15428^4) / 4] = 0x4e800020;
}
@@ -1486,11 +1367,14 @@ void gticlub_state::init_hangpltu()
{
init_hangplt_common();
- uint32_t *rom = (uint32_t*)memregion("user1")->base();
+ uint32_t *rom = (uint32_t*)memregion("prgrom")->base();
rom[(0x153d0^4) / 4] = 0x4e800020;
rom[(0x15428^4) / 4] = 0x4e800020;
}
+} // Anonymous namespace
+
+
/*************************************************************************/
GAME( 1996, gticlub, 0, gticlub, gticlub, gticlub_state, init_gticlub, ROT0, "Konami", "GTI Club (ver EAA)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )
diff --git a/src/mame/drivers/gundealr.cpp b/src/mame/drivers/gundealr.cpp
index 5e85c342ea9..b04c7a48da2 100644
--- a/src/mame/drivers/gundealr.cpp
+++ b/src/mame/drivers/gundealr.cpp
@@ -72,7 +72,7 @@ Z80 CPU - 12MHz/2
#include "includes/gundealr.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/gunpey.cpp b/src/mame/drivers/gunpey.cpp
index e3fa57afd90..866157d1bf7 100644
--- a/src/mame/drivers/gunpey.cpp
+++ b/src/mame/drivers/gunpey.cpp
@@ -235,16 +235,22 @@ struct huffman_node_s
};
+constexpr u32 get_video_addr(u16 x, u16 y)
+{
+ return (x & 0x7ff) | (u32(y & 0x7ff) << 11);
+}
+
+
class gunpey_state : public driver_device
{
public:
gunpey_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_palette(*this, "palette")
, m_oki(*this, "oki")
, m_wram(*this, "wram")
- , m_palette(*this, "palette")
- , m_blit_rom(*this, "blit_data")
+ , m_blit_rom(*this, "blit_rom")
{ }
void gunpey(machine_config &config);
@@ -254,59 +260,76 @@ protected:
virtual void video_start() override;
private:
- void io_map(address_map &map);
- void mem_map(address_map &map);
-
- void status_w(offs_t offset, uint8_t data);
- uint8_t status_r(offs_t offset);
- uint8_t inputs_r(offs_t offset);
- void blitter_w(offs_t offset, uint8_t data);
- void blitter_upper_w(offs_t offset, uint8_t data);
- void blitter_upper2_w(offs_t offset, uint8_t data);
- void output_w(uint8_t data);
- void vram_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void vregs_addr_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ // memory handlers
+ void status_w(offs_t offset, u8 data);
+ u8 status_r(offs_t offset);
+ u8 inputs_r(offs_t offset);
+ void blitter_w(offs_t offset, u8 data);
+ void blitter_upper_w(offs_t offset, u8 data);
+ void blitter_upper2_w(offs_t offset, u8 data);
+ void output_w(u8 data);
+ void vram_bank_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ void vregs_addr_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+
+ // video related
+ u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
- TIMER_CALLBACK_MEMBER(blitter_end);
-
- void irq_check(uint8_t irq_type);
- uint8_t draw_gfx(bitmap_ind16 &bitmap, const rectangle &cliprect, int count, uint8_t scene_gradient);
- uint16_t m_vram_bank;
- uint16_t m_vreg_addr;
+ // draw functions
+ bool draw_gfx(bitmap_ind16 &bitmap, const rectangle &cliprect, int count, u8 scene_gradient);
+ void draw_pixel_clut(bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int xi, int y, int yi, u8 pix, int color, int alpha, u8 scene_gradient);
+ void draw_pixel(bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int xi, int y, int yi, u16 color_data, int alpha, u8 scene_gradient);
+
+ // internal states
+ //std::unique_ptr<u16[]> m_blit_buffer;
+ std::unique_ptr<u8[]> m_vram;
+ u16 m_vram_bank = 0;
+ u16 m_vreg_addr = 0;
+
+ // blitter related
+ u8 m_blit_ram[0x10] = {0};
+ int m_srcx = 0;
+ int m_srcxbase = 0;
+ int m_srcxcount = 0;
+ int m_srcy = 0;
+ int m_srcycount = 0;
+ int m_ysize = 0;
+ int m_xsize = 0;
+ int m_dstx = 0;
+ int m_dsty = 0;
+ int m_dstxbase = 0;
+ int m_dstxcount = 0;
+ int m_dstycount = 0;
+ bool write_dest_byte(u8 usedata);
+
+ // blitter timers
emu_timer *m_blitter_end_timer;
+ TIMER_CALLBACK_MEMBER(blitter_end);
- // work variables for the decompression
- int m_srcx;
- int m_srcxbase;
- int m_scrxcount;
- int m_srcy;
- int m_srcycount;
- int m_ysize;
- int m_xsize;
- int m_dstx;
- int m_dsty;
- int m_dstxbase;
- int m_dstxcount;
- int m_dstycount;
- uint16_t m_blit_ram[0x10];
-
- uint8_t get_vrom_byte(int x, int y);
- int write_dest_byte(uint8_t usedata);
- int decompress_sprite(unsigned char *buf, int ix, int iy, int ow, int oh, int dx, int dy);
- int next_node(const huffman_node_s **res, state_s *s);
+ // decompressor functions
+ u8 get_vrom_byte(int x, int y);
+ bool decompress_sprite(unsigned char *buf, int ix, int iy, int ow, int oh, int dx, int dy);
+ bool next_node(const huffman_node_s **res, state_s *s);
int get_next_bit(state_s *s);
- uint8_t m_irq_cause, m_irq_mask;
- std::unique_ptr<uint16_t[]> m_blit_buffer;
- std::unique_ptr<uint8_t[]> m_vram;
+ // interrupt functions
+ u8 m_irq_cause = 0, m_irq_mask = 0;
+ void irq_check(u8 irq_type);
+ // devices
required_device<cpu_device> m_maincpu;
- required_device<okim6295_device> m_oki;
- required_shared_ptr<uint16_t> m_wram;
required_device<palette_device> m_palette;
- required_region_ptr<uint8_t> m_blit_rom;
+ required_device<okim6295_device> m_oki;
+
+ // shared pointers
+ required_shared_ptr<u16> m_wram;
+
+ // memory regions
+ required_region_ptr<u8> m_blit_rom;
+
+ // address spaces
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
};
@@ -314,6 +337,9 @@ void gunpey_state::machine_start()
{
m_irq_cause = 0;
m_irq_mask = 0;
+
+ save_item(NAME(m_irq_cause));
+ save_item(NAME(m_irq_mask));
}
void gunpey_state::video_start()
@@ -321,14 +347,69 @@ void gunpey_state::video_start()
// assumes it can make an address mask from m_blit_rom.length() - 1
assert(!(m_blit_rom.length() & (m_blit_rom.length() - 1)));
- m_blit_buffer = std::make_unique<uint16_t[]>(512*512);
- m_vram = std::make_unique<uint8_t[]>(0x400000);
+ // initialize VRAM
+ //m_blit_buffer = std::make_unique<u16[]>(512*512);
+ m_vram = std::make_unique<u8[]>(0x400000);
std::fill_n(&m_vram[0], 0x400000, 0xff);
+
m_blitter_end_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gunpey_state::blitter_end), this));
+
+ save_item(NAME(m_vram_bank));
+ save_item(NAME(m_vreg_addr));
+ save_item(NAME(m_blit_ram));
+ save_item(NAME(m_srcx));
+ save_item(NAME(m_srcxbase));
+ save_item(NAME(m_srcxcount));
+ save_item(NAME(m_srcy));
+ save_item(NAME(m_srcycount));
+ save_item(NAME(m_ysize));
+ save_item(NAME(m_xsize));
+ save_item(NAME(m_dstx));
+ save_item(NAME(m_dsty));
+ save_item(NAME(m_dstxbase));
+ save_item(NAME(m_dstxcount));
+ save_item(NAME(m_dstycount));
save_pointer(NAME(m_vram), 0x400000);
}
-uint8_t gunpey_state::draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,int count,uint8_t scene_gradient)
+void gunpey_state::draw_pixel_clut(bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int xi, int y, int yi, u8 pix, int color, int alpha, u8 scene_gradient)
+{
+ color += u32(pix);
+
+ // get palette
+ const u32 col_offs = get_video_addr((color & 0xff) << 1, (color >> 8));
+ const u16 color_data = (m_vram[col_offs]) | (m_vram[col_offs + 1] << 8);
+
+ draw_pixel(bitmap, cliprect, x, xi, y, yi, color_data, alpha, scene_gradient);
+}
+
+void gunpey_state::draw_pixel(bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int xi, int y, int yi, u16 color_data, int alpha, u8 scene_gradient)
+{
+ if (!(color_data & 0x8000))
+ {
+ if (scene_gradient & 0x40)
+ {
+ s16 r = BIT(color_data, 10, 5);
+ s16 g = BIT(color_data, 5, 5);
+ s16 b = BIT(color_data, 0, 5);
+ r = std::max(0, r - (scene_gradient & 0x1f));
+ g = std::max(0, g - (scene_gradient & 0x1f));
+ b = std::max(0, b - (scene_gradient & 0x1f));
+
+ color_data = (color_data & 0x8000) | (r << 10) | (g << 5) | (b << 0);
+ }
+
+ if (cliprect.contains(x + xi, y + yi))
+ {
+ if (alpha == 0x00) // a value of 0x00 is solid
+ bitmap.pix(y + yi, x + xi) = color_data & 0x7fff;
+ else
+ bitmap.pix(y + yi, x + xi) = alpha_blend_r16(color_data, bitmap.pix(y + yi, x + xi), alpha) & 0x7fff;
+ }
+ }
+}
+
+bool gunpey_state::draw_gfx(bitmap_ind16 &bitmap, const rectangle &cliprect, int count, u8 scene_gradient)
{
const int ZOOM_SHIFT = 15;
// there doesn't seem to be a specific bit to mark compressed sprites (we currently have a hack to look at the first byte of the data)
@@ -356,190 +437,96 @@ uint8_t gunpey_state::draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,in
// t = transparency / alpha related? (0x10 on player cursor, 0xf when swapping, other values at other times..)
const int debug = 0;
- if(!(m_wram[count+0] & 1))
+ if (!(m_wram[count + 0] & 1))
{
- int x = (m_wram[count+3] >> 8) | ((m_wram[count+4] & 0x03) << 8);
- int y = (m_wram[count+4] >> 8) | ((m_wram[count+4] & 0x30) << 4);
- uint32_t zoomheight = (m_wram[count+5] >> 8);
- uint32_t zoomwidth = (m_wram[count+5] & 0xff);
- int bpp_sel = (m_wram[count+0] & 0x18);
- int color = (m_wram[count+0] >> 8);
+ int x = (m_wram[count + 3] >> 8) | ((m_wram[count + 4] & 0x03) << 8);
+ int y = (m_wram[count + 4] >> 8) | ((m_wram[count + 4] & 0x30) << 4);
+ const u32 zoomheight = (m_wram[count + 5] >> 8);
+ const u32 zoomwidth = (m_wram[count + 5] & 0xff);
+ const int bpp_sel = (m_wram[count + 0] & 0x18);
+ int color = (m_wram[count + 0] >> 8);
- x-=0x160;
- y-=0x188;
+ x -= 0x160;
+ y -= 0x188;
- uint32_t sourcewidth = (m_wram[count+6] & 0xff)<<ZOOM_SHIFT;
- uint32_t sourceheight = (m_wram[count+7] >> 8)<<ZOOM_SHIFT;
- int xsource = ((m_wram[count+2] & 0x003f) << 5) | ((m_wram[count+1] & 0xf800) >> 11);
- int ysource = ((m_wram[count+3] & 0x001f) << 6) | ((m_wram[count+2] & 0xfc00) >> 10);
+ const u32 sourcewidth = (m_wram[count + 6] & 0xff) << ZOOM_SHIFT;
+ const u32 sourceheight = (m_wram[count + 7] >> 8) << ZOOM_SHIFT;
+ const int xsource = ((m_wram[count + 2] & 0x003f) << 5) | ((m_wram[count + 1] & 0xf800) >> 11);
+ const int ysource = ((m_wram[count + 3] & 0x001f) << 6) | ((m_wram[count + 2] & 0xfc00) >> 10);
- int alpha = m_wram[count+1] & 0x1f;
+ int alpha = (m_wram[count + 1] & 0x1f) << 3;
- uint32_t widthstep = 1<<ZOOM_SHIFT;
- uint32_t heightstep = 1<<ZOOM_SHIFT;
+ u32 widthstep = 1 << ZOOM_SHIFT;
+ u32 heightstep = 1 << ZOOM_SHIFT;
if (zoomwidth) widthstep = sourcewidth / zoomwidth;
if (zoomheight) heightstep = sourceheight / zoomheight;
- uint16_t unused;
- if (debug) logerror("sprite %04x %04x %04x %04x %04x %04x %04x %04x\n", m_wram[count+0], m_wram[count+1], m_wram[count+2], m_wram[count+3], m_wram[count+4], m_wram[count+5], m_wram[count+6], m_wram[count+7]);
+ u16 unused;
+ if (debug) logerror("sprite %04x %04x %04x %04x %04x %04x %04x %04x\n", m_wram[count + 0], m_wram[count + 1], m_wram[count + 2], m_wram[count + 3], m_wram[count + 4], m_wram[count + 5], m_wram[count + 6], m_wram[count + 7]);
- unused = m_wram[count+0]&~0xff98; if (unused) logerror("unused bits set in word 0 - %04x\n", unused);
- unused = m_wram[count+1]&~0xf89f; if (unused) logerror("unused bits set in word 1 - %04x\n", unused);
- unused = m_wram[count+2]&~0xfc3f; if (unused) logerror("unused bits set in word 2 - %04x\n", unused);
- unused = m_wram[count+3]&~0xff1f; if (unused) logerror("unused bits set in word 3 - %04x\n", unused);
- unused = m_wram[count+4]&~0xff77; if (unused) logerror("unused bits set in word 4 - %04x\n", unused);
- unused = m_wram[count+5]&~0xffff; if (unused) logerror("unused bits set in word 5 - %04x\n", unused);
- unused = m_wram[count+6]&~0x00ff; if (unused) logerror("unused bits set in word 6 - %04x\n", unused);
- unused = m_wram[count+7]&~0xff00; if (unused) logerror("unused bits set in word 7 - %04x\n", unused);
+ unused = m_wram[count + 0] & ~0xff98; if (unused) logerror("unused bits set in word 0 - %04x\n", unused);
+ unused = m_wram[count + 1] & ~0xf89f; if (unused) logerror("unused bits set in word 1 - %04x\n", unused);
+ unused = m_wram[count + 2] & ~0xfc3f; if (unused) logerror("unused bits set in word 2 - %04x\n", unused);
+ unused = m_wram[count + 3] & ~0xff1f; if (unused) logerror("unused bits set in word 3 - %04x\n", unused);
+ unused = m_wram[count + 4] & ~0xff77; if (unused) logerror("unused bits set in word 4 - %04x\n", unused);
+ unused = m_wram[count + 5] & ~0xffff; if (unused) logerror("unused bits set in word 5 - %04x\n", unused);
+ unused = m_wram[count + 6] & ~0x00ff; if (unused) logerror("unused bits set in word 6 - %04x\n", unused);
+ unused = m_wram[count + 7] & ~0xff00; if (unused) logerror("unused bits set in word 7 - %04x\n", unused);
- if (((zoomwidth<<ZOOM_SHIFT) != sourcewidth) || ((zoomheight<<ZOOM_SHIFT) != sourceheight))
+ if (((zoomwidth << ZOOM_SHIFT) != sourcewidth) || ((zoomheight << ZOOM_SHIFT) != sourceheight))
{
- // logerror("sw %08x zw %08x sh %08x zh %08x heightstep %08x widthstep %08x \n", sourcewidth, zoomwidth<<ZOOM_SHIFT, sourceheight, zoomheight<<ZOOM_SHIFT, heightstep, widthstep );
+ // logerror("sw %08x zw %08x sh %08x zh %08x heightstep %08x widthstep %08x \n", sourcewidth, zoomwidth << ZOOM_SHIFT, sourceheight, zoomheight << ZOOM_SHIFT, heightstep, widthstep );
}
- if(bpp_sel == 0x00) // 4bpp
+ if (bpp_sel == 0x00) // 4bpp
{
+ color <<= 4;
int ysourceoff = 0;
- for(int yi=0;yi<zoomheight;yi++)
+ for (int yi = 0; yi < zoomheight; yi++)
{
- int yi2 = ysourceoff>>ZOOM_SHIFT;
+ const int yi2 = ysourceoff >> ZOOM_SHIFT;
int xsourceoff = 0;
- for(int xi=0;xi<zoomwidth;xi++)
+ for (int xi = 0; xi < zoomwidth; xi++)
{
- int xi2 = xsourceoff>>ZOOM_SHIFT;
- uint8_t data = m_vram[((((ysource + yi2) & 0x7ff) * 0x800) + ((xsource + (xi2/2)) & 0x7ff))];
- uint8_t pix;
-
- if (xi2 & 1)
- {
- pix = (data & 0xf0)>>4;
- }
- else
- {
- pix = (data & 0x0f);
- }
-
- uint32_t col_offs = ((pix + color*0x10) & 0xff) << 1;
- col_offs+= ((pix + color*0x10) >> 8)*0x800;
- uint16_t color_data = (m_vram[col_offs])|(m_vram[col_offs+1]<<8);
-
- if(!(color_data & 0x8000))
- {
- if(scene_gradient & 0x40)
- {
- int r = (color_data & 0x7c00) >> 10;
- int g = (color_data & 0x03e0) >> 5;
- int b = (color_data & 0x001f) >> 0;
- r-= (scene_gradient & 0x1f);
- g-= (scene_gradient & 0x1f);
- b-= (scene_gradient & 0x1f);
- if(r < 0) r = 0;
- if(g < 0) g = 0;
- if(b < 0) b = 0;
-
- color_data = (color_data & 0x8000) | (r << 10) | (g << 5) | (b << 0);
- }
-
- if(cliprect.contains(x+xi, y+yi))
- {
- if (alpha==0x00) // a value of 0x00 is solid
- {
- bitmap.pix(y+yi, x+xi) = color_data & 0x7fff;
- }
- else
- {
- uint16_t basecolor = bitmap.pix(y+yi, x+xi);
- int base_r = ((basecolor >> 10)&0x1f)*alpha;
- int base_g = ((basecolor >> 5)&0x1f)*alpha;
- int base_b = ((basecolor >> 0)&0x1f)*alpha;
- int r = ((color_data & 0x7c00) >> 10)*(0x1f-alpha);
- int g = ((color_data & 0x03e0) >> 5)*(0x1f-alpha);
- int b = ((color_data & 0x001f) >> 0)*(0x1f-alpha);
- r = (base_r+r)/0x1f;
- g = (base_g+g)/0x1f;
- b = (base_b+b)/0x1f;
- color_data = (color_data & 0x8000) | (r << 10) | (g << 5) | (b << 0);
- bitmap.pix(y+yi, x+xi) = color_data & 0x7fff;
- }
- }
- }
+ const int xi2 = xsourceoff >> ZOOM_SHIFT;
+
+ const u8 data = m_vram[get_video_addr(xsource + (xi2 >> 1), ysource + yi2)];
+
+ draw_pixel_clut(bitmap, cliprect, x, xi, y, yi, BIT(data, BIT(xi2, 0) << 2, 4), color, alpha, scene_gradient);
xsourceoff += widthstep;
}
ysourceoff += heightstep;
}
}
- else if(bpp_sel == 0x08) // 6bpp
+ else if (bpp_sel == 0x08) // 6bpp
{
// not used by Gunpey?
logerror("6bpp\n");
}
- else if(bpp_sel == 0x10) // 8bpp
+ else if (bpp_sel == 0x10) // 8bpp
{
+ color <<= 8;
int ysourceoff = 0;
- for(int yi=0;yi<zoomheight;yi++)
+ for (int yi = 0; yi < zoomheight; yi++)
{
- int yi2 = ysourceoff>>ZOOM_SHIFT;
+ const int yi2 = ysourceoff >> ZOOM_SHIFT;
int xsourceoff = 0;
- for(int xi=0;xi<zoomwidth;xi++)
+ for (int xi = 0; xi < zoomwidth; xi++)
{
- int xi2 = xsourceoff>>ZOOM_SHIFT;
-
- uint8_t data = m_vram[((((ysource+yi2)&0x7ff)*0x800) + ((xsource+xi2)&0x7ff))];
-
- uint8_t pix = (data & 0xff);
- uint32_t col_offs = ((pix + color*0x100) & 0xff) << 1;
- col_offs+= ((pix + color*0x100) >> 8)*0x800;
- uint16_t color_data = (m_vram[col_offs])|(m_vram[col_offs+1]<<8);
-
- if(!(color_data & 0x8000))
- {
- if(scene_gradient & 0x40)
- {
- int r = (color_data & 0x7c00) >> 10;
- int g = (color_data & 0x03e0) >> 5;
- int b = (color_data & 0x001f) >> 0;
- r-= (scene_gradient & 0x1f);
- g-= (scene_gradient & 0x1f);
- b-= (scene_gradient & 0x1f);
- if(r < 0) r = 0;
- if(g < 0) g = 0;
- if(b < 0) b = 0;
-
- color_data = (color_data & 0x8000) | (r << 10) | (g << 5) | (b << 0);
- }
-
- if(cliprect.contains(x+xi,y+yi))
- {
- if (alpha==0x00) // a value of 0x00 is solid
- {
- bitmap.pix(y+yi, x+xi) = color_data & 0x7fff;
- }
- else
- {
- uint16_t basecolor = bitmap.pix(y+yi, x+xi);
- int base_r = ((basecolor >> 10)&0x1f)*alpha;
- int base_g = ((basecolor >> 5)&0x1f)*alpha;
- int base_b = ((basecolor >> 0)&0x1f)*alpha;
- int r = ((color_data & 0x7c00) >> 10)*(0x1f-alpha);
- int g = ((color_data & 0x03e0) >> 5)*(0x1f-alpha);
- int b = ((color_data & 0x001f) >> 0)*(0x1f-alpha);
- r = (base_r+r)/0x1f;
- g = (base_g+g)/0x1f;
- b = (base_b+b)/0x1f;
- color_data = (color_data & 0x8000) | (r << 10) | (g << 5) | (b << 0);
- bitmap.pix(y+yi, x+xi) = color_data & 0x7fff;
- }
- }
- }
+ const int xi2 = xsourceoff >> ZOOM_SHIFT;
+
+ const u8 data = m_vram[get_video_addr(xsource + xi2, ysource + yi2)];
+
+ draw_pixel_clut(bitmap, cliprect, x, xi, y, yi, data, color, alpha, scene_gradient);
xsourceoff += widthstep;
}
ysourceoff += heightstep;
}
}
- else if(bpp_sel == 0x18) // RGB32k
+ else if (bpp_sel == 0x18) // RGB32k
{
// not used by Gunpey?
logerror("32k\n");
@@ -547,94 +534,83 @@ uint8_t gunpey_state::draw_gfx(bitmap_ind16 &bitmap,const rectangle &cliprect,in
}
}
- return m_wram[count+0] & 0x80;
+ return m_wram[count + 0] & 0x80;
}
-uint32_t gunpey_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 gunpey_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- //uint16_t *blit_buffer = m_blit_buffer;
- uint16_t vram_bank = m_vram_bank & 0x7fff;
- uint16_t vreg_addr = m_vreg_addr & 0x7fff;
- uint8_t end_mark;
- int count;
- int scene_index;
+ //u16 *blit_buffer = m_blit_buffer;
+ const u16 vram_bank = m_vram_bank & 0x7fff;
+ const u16 vreg_addr = m_vreg_addr & 0x7fff;
bitmap.fill(m_palette->pen(0), cliprect); //black pen
- if((!(m_vreg_addr & 0x8000)) || (!(m_vram_bank & 0x8000)))
+ if ((!(m_vreg_addr & 0x8000)) || (!(m_vram_bank & 0x8000)))
return 0;
- for(scene_index = vreg_addr/2;scene_index<(vreg_addr+0x400)/2;scene_index+=0x10/2)
+ for (int scene_index = vreg_addr / 2; scene_index < (vreg_addr + 0x400) / 2; scene_index += 0x10 / 2)
{
- uint16_t start_offs;
- uint16_t end_offs;
- uint8_t scene_end_mark;
- uint8_t scene_enabled;
- uint8_t scene_gradient;
-
- start_offs = (vram_bank+(m_wram[scene_index+5] << 8))/2;
- end_offs = (vram_bank+(m_wram[scene_index+5] << 8)+0x1000)/2; //safety check
- scene_end_mark = m_wram[scene_index+0] & 0x80;
- scene_enabled = m_wram[scene_index+0] & 0x01;
- scene_gradient = m_wram[scene_index+1] & 0xff;
-
-// logerror("%08x: %08x %08x %08x %08x | %08x %08x %08x %08x\n",scene_index,m_wram[scene_index+0],m_wram[scene_index+1],m_wram[scene_index+2],m_wram[scene_index+3],
-// m_wram[scene_index+4],m_wram[scene_index+5],m_wram[scene_index+6],m_wram[scene_index+7]);
-
- if(scene_enabled)
+ const u16 start_offs = (vram_bank + (m_wram[scene_index + 5] << 8)) / 2;
+ const u16 end_offs = (vram_bank + (m_wram[scene_index + 5] << 8) + 0x1000) / 2; //safety check
+ const bool scene_end_mark = m_wram[scene_index + 0] & 0x80;
+ const bool scene_enabled = m_wram[scene_index + 0] & 0x01;
+ const u8 scene_gradient = m_wram[scene_index + 1] & 0xff;
+
+// logerror("%08x: %08x %08x %08x %08x | %08x %08x %08x %08x\n",scene_index,m_wram[scene_index + 0],m_wram[scene_index + 1],m_wram[scene_index + 2],m_wram[scene_index + 3],
+// m_wram[scene_index + 4],m_wram[scene_index + 5],m_wram[scene_index + 6],m_wram[scene_index + 7]);
+
+ if (scene_enabled)
{
- for(count = start_offs;count<end_offs;count+=0x10/2)
+ for (int count = start_offs; count < end_offs; count += 0x10 / 2)
{
- end_mark = draw_gfx(bitmap,cliprect,count,scene_gradient);
-
- if(end_mark == 0x80)
+ if (draw_gfx(bitmap, cliprect, count, scene_gradient))
break;
}
}
- if(scene_end_mark == 0x80)
+ if (scene_end_mark)
break;
}
return 0;
}
-void gunpey_state::irq_check(uint8_t irq_type)
+void gunpey_state::irq_check(u8 irq_type)
{
m_irq_cause |= irq_type;
- if(m_irq_cause & m_irq_mask)
+ if (m_irq_cause & m_irq_mask)
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0x200/4); // V30
else
m_maincpu->set_input_line_and_vector(0, CLEAR_LINE, 0x200/4); // V30
}
-void gunpey_state::status_w(offs_t offset, uint8_t data)
+void gunpey_state::status_w(offs_t offset, u8 data)
{
- if(offset == 1)
+ if (offset == 1)
{
m_irq_cause &= ~data;
irq_check(0);
}
- if(offset == 0)
+ if (offset == 0)
{
m_irq_mask = data;
irq_check(0);
}
}
-uint8_t gunpey_state::status_r(offs_t offset)
+u8 gunpey_state::status_r(offs_t offset)
{
- if(offset == 1)
+ if (offset == 1)
return m_irq_cause;
return m_irq_mask;
}
-uint8_t gunpey_state::inputs_r(offs_t offset)
+u8 gunpey_state::inputs_r(offs_t offset)
{
- switch(offset+0x7f40)
+ switch (offset + 0x7f40)
{
case 0x7f40: return ioport("DSW1")->read();
case 0x7f41: return ioport("DSW2")->read();
@@ -652,31 +628,29 @@ TIMER_CALLBACK_MEMBER(gunpey_state::blitter_end)
}
-int gunpey_state::write_dest_byte(uint8_t usedata)
+bool gunpey_state::write_dest_byte(u8 usedata)
{
// write the byte we and to destination and increase our counters
- m_vram[(((m_dsty)&0x7ff)*0x800)+((m_dstx)&0x7ff)] = usedata;
+ m_vram[get_video_addr(m_dstx, m_dsty)] = usedata;
// increase destination counter and check if we've filled our destination rectangle
m_dstx++; m_dstxcount++;
- if (m_dstxcount==m_xsize)
+ if (m_dstxcount == m_xsize)
{
m_dstxcount = 0;
m_dstx = m_dstxbase;
m_dsty++; m_dstycount++;
- if (m_dstycount==m_ysize)
- {
- return -1;
- }
+ if (m_dstycount == m_ysize)
+ return true;
}
- return 1;
+ return false;
}
-inline uint8_t gunpey_state::get_vrom_byte(int x, int y)
+inline u8 gunpey_state::get_vrom_byte(int x, int y)
{
- return m_blit_rom[((x)+2048 * (y)) & (m_blit_rom.length() - 1)];
+ return m_blit_rom[get_video_addr(x, y) & (m_blit_rom.length() - 1)];
}
inline int gunpey_state::get_next_bit(state_s *s)
@@ -721,7 +695,7 @@ void state_s::set_o(unsigned char v)
break;
}
- buf[((dx + ox++) & 0x7ff) + (((dy + oy) & 0x7ff) * 0x800)] = v;
+ buf[get_video_addr(dx + (ox++), dy + oy)] = v;
}
@@ -734,7 +708,7 @@ unsigned char state_s::get_o(int x, int y) const
assert(y < oh);
assert(y < 256);
- return buf[((dx + x) & 0x7ff) + (((dy + y) & 0x7ff) * 0x800)];
+ return buf[get_video_addr(dx + x, dy + y)];
}
@@ -851,7 +825,7 @@ static const huffman_node_s hn[] = {
};
-int gunpey_state::next_node(const huffman_node_s **res, state_s *s)
+bool gunpey_state::next_node(const huffman_node_s **res, state_s *s)
{
char bits[128];
@@ -863,24 +837,25 @@ int gunpey_state::next_node(const huffman_node_s **res, state_s *s)
for (int j = 0;; j++)
{
- if (!hn[j].bits) return -1;
+ if (!hn[j].bits)
+ return true;
if (strncmp(bits, hn[j].bits, i + 1) == 0)
{
if (!hn[j].bits[i + 1])
{
*res = &hn[j];
- return 0;
+ return false;
}
break;
}
}
}
- return -1;
+ return true;
}
-int gunpey_state::decompress_sprite(unsigned char *buf, int ix, int iy, int ow, int oh, int dx, int dy)
+bool gunpey_state::decompress_sprite(unsigned char *buf, int ix, int iy, int ow, int oh, int dx, int dy)
{
const huffman_node_s *n;
state_s s;
@@ -914,13 +889,11 @@ int gunpey_state::decompress_sprite(unsigned char *buf, int ix, int iy, int ow,
while (s.ox < s.ow)
{
if (next_node(&n, &s))
- return -1;
+ return true;
v = 0;
for (int i = 0; i < n->arg0_bits; i++)
- {
v |= get_next_bit(&s) << i;
- }
n->func(s, v, n->arg1_val);
@@ -928,34 +901,24 @@ int gunpey_state::decompress_sprite(unsigned char *buf, int ix, int iy, int ow,
{
s.ox -= 12;
if ((s.ox / 12) & 1)
- {
s.oy -= 1;
- }
else
- {
s.oy += 1;
- }
- eol = 1;
+ eol = 1;
}
else if (s.ox == s.ow)
{
s.ox -= s.ow % 12;
if ((s.ox / 12) & 1)
- {
s.oy -= 1;
- }
else
- {
s.oy += 1;
- }
- eol = 1;
+ eol = 1;
}
else
- {
eol = 0;
- }
if (eol)
{
@@ -963,49 +926,41 @@ int gunpey_state::decompress_sprite(unsigned char *buf, int ix, int iy, int ow,
{
s.ox += 12;
if ((s.ox / 12) & 1)
- {
s.oy -= 1;
- }
else
- {
s.oy += 1;
- }
}
}
}
- return 0;
+ return false;
}
-void gunpey_state::blitter_w(offs_t offset, uint8_t data)
+void gunpey_state::blitter_w(offs_t offset, u8 data)
{
- uint16_t *blit_ram = m_blit_ram;
-
- //logerror("gunpey_blitter_w offset %01x data %02x\n", offset,data);
+ //logerror("blitter_w offset %01x data %02x\n", offset, data);
- blit_ram[offset] = data;
+ m_blit_ram[offset] = data;
- if(offset == 0 && data == 2) // blitter trigger, 0->1 transition
+ if ((offset == 0) && (data == 2)) // blitter trigger, 0->1 transition
{
- m_srcx = blit_ram[0x04]|(blit_ram[0x05]<<8);
- m_srcy = blit_ram[0x06]|(blit_ram[0x07]<<8);
- m_dstx = blit_ram[0x08]|(blit_ram[0x09]<<8);
- m_dsty = blit_ram[0x0a]|(blit_ram[0x0b]<<8);
- m_xsize = blit_ram[0x0c]+1;
- m_ysize = blit_ram[0x0e]+1;
- int compression = blit_ram[0x01];
-
- m_dstx<<=1;
- m_xsize<<=1;
-
- if(compression)
+ m_srcx = m_blit_ram[0x04] | (m_blit_ram[0x05] << 8);
+ m_srcy = m_blit_ram[0x06] | (m_blit_ram[0x07] << 8);
+ m_dstx = m_blit_ram[0x08] | (m_blit_ram[0x09] << 8);
+ m_dsty = m_blit_ram[0x0a] | (m_blit_ram[0x0b] << 8);
+ m_xsize = m_blit_ram[0x0c] + 1;
+ m_ysize = m_blit_ram[0x0e] + 1;
+ int compression = m_blit_ram[0x01];
+
+ m_dstx <<= 1;
+ m_xsize <<= 1;
+
+ if (compression)
{
- if(compression == 8)
+ if (compression == 8)
{
if (decompress_sprite(m_vram.get(), m_srcx, m_srcy, m_xsize, m_ysize, m_dstx, m_dsty))
- {
logerror("[-] Failed to decompress sprite at %04x %04x\n", m_srcx, m_srcy);
- }
}
else
logerror("unknown compression mode %02x\n",compression);
@@ -1016,43 +971,41 @@ void gunpey_state::blitter_w(offs_t offset, uint8_t data)
m_dstxcount = 0;
m_dstycount = 0;
m_srcxbase = m_srcx;
- m_scrxcount = 0;
+ m_srcxcount = 0;
m_srcycount = 0;
for (;;)
{
- uint8_t usedata = m_blit_rom[(((m_srcy)&0x7ff)*0x800)+((m_srcx)&0x7ff)];
- m_srcx++; m_scrxcount++;
- if (m_scrxcount==m_xsize)
+ u8 usedata = m_blit_rom[get_video_addr(m_srcx, m_srcy)];
+ m_srcx++; m_srcxcount++;
+ if (m_srcxcount == m_xsize)
{
- m_scrxcount = 0;
+ m_srcxcount = 0;
m_srcx = m_srcxbase;
m_srcy++; m_srcycount++;
}
- if ((write_dest_byte(usedata))==-1)
+ if (write_dest_byte(usedata))
break;
}
}
- m_blitter_end_timer->adjust(m_maincpu->cycles_to_attotime(m_xsize*m_ysize));
+ m_blitter_end_timer->adjust(m_maincpu->cycles_to_attotime(m_xsize * m_ysize));
}
}
-void gunpey_state::blitter_upper_w(offs_t offset, uint8_t data)
+void gunpey_state::blitter_upper_w(offs_t offset, u8 data)
{
- //logerror("gunpey_blitter_upper_w %02x %02x\n", offset, data);
-
+ //logerror("blitter_upper_w %02x %02x\n", offset, data);
}
-void gunpey_state::blitter_upper2_w(offs_t offset, uint8_t data)
+void gunpey_state::blitter_upper2_w(offs_t offset, u8 data)
{
- //logerror("gunpey_blitter_upper2_w %02x %02x\n", offset, data);
-
+ //logerror("blitter_upper2_w %02x %02x\n", offset, data);
}
-void gunpey_state::output_w(uint8_t data)
+void gunpey_state::output_w(u8 data)
{
//bit 0 is coin counter
// popmessage("%02x",data);
@@ -1060,12 +1013,12 @@ void gunpey_state::output_w(uint8_t data)
m_oki->set_rom_bank((data & 0x70) >> 4);
}
-void gunpey_state::vram_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void gunpey_state::vram_bank_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_vram_bank);
}
-void gunpey_state::vregs_addr_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void gunpey_state::vregs_addr_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_vreg_addr);
}
@@ -1074,7 +1027,7 @@ void gunpey_state::vregs_addr_w(offs_t offset, uint16_t data, uint16_t mem_mask)
void gunpey_state::mem_map(address_map &map)
{
- map(0x00000, 0x0ffff).ram().share("wram");
+ map(0x00000, 0x0ffff).ram().share(m_wram);
// map(0x50000, 0x500ff).ram();
// map(0x50100, 0x502ff).noprw();
map(0x80000, 0xfffff).rom();
@@ -1197,7 +1150,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(gunpey_state::scanline)
{
int scanline = param;
- if(scanline == 240)
+ if (scanline == 240)
{
//logerror("frame\n");
irq_check(0x50);
@@ -1237,10 +1190,10 @@ void gunpey_state::gunpey(machine_config &config)
ROM_START( gunpey )
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 code */
- ROM_LOAD16_BYTE( "gp_rom1.021", 0x00000, 0x80000, CRC(07a589a7) SHA1(06c4140ffd5f74b3d3ddfc424f43fcd08d903490) )
- ROM_LOAD16_BYTE( "gp_rom2.022", 0x00001, 0x80000, CRC(f66bc4cf) SHA1(54931d878d228c535b9e2bf22a0a3e41756f0fe5) )
+ ROM_LOAD16_BYTE( "gp_rom1.021", 0x00000, 0x80000, CRC(07a589a7) SHA1(06c4140ffd5f74b3d3ddfc424f43fcd08d903490) ) // Gunpey(AC) -Release-
+ ROM_LOAD16_BYTE( "gp_rom2.022", 0x00001, 0x80000, CRC(f66bc4cf) SHA1(54931d878d228c535b9e2bf22a0a3e41756f0fe5) ) // Jan 17 2000 19:10:22 (J)
- ROM_REGION( 0x400000, "blit_data", 0 )
+ ROM_REGION( 0x400000, "blit_rom", 0 )
ROM_LOAD( "gp_rom3.025", 0x00000, 0x400000, CRC(f2d1f9f0) SHA1(0d20301fd33892074508b9d127456eae80cc3a1c) )
ROM_REGION( 0x400000, "ymz", 0 )
diff --git a/src/mame/drivers/gunsmoke.cpp b/src/mame/drivers/gunsmoke.cpp
index 6280c7e3498..a7985a71f47 100644
--- a/src/mame/drivers/gunsmoke.cpp
+++ b/src/mame/drivers/gunsmoke.cpp
@@ -81,7 +81,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
@@ -316,14 +316,11 @@ void gunsmoke_state::gunsmoke(machine_config &config)
z80_device &audiocpu(Z80(config, "audiocpu", 3000000)); // 3 MHz
audiocpu.set_addrmap(AS_PROGRAM, &gunsmoke_state::sound_map);
- audiocpu.set_periodic_int(FUNC(gunsmoke_state::irq0_line_hold), attotime::from_hz(4*59.63));
+ audiocpu.set_periodic_int(FUNC(gunsmoke_state::irq0_line_hold), attotime::from_ticks(384*262/4, 6000000));
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(59.63);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(6000000, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(gunsmoke_state::screen_update_gunsmoke));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/hcastle.cpp b/src/mame/drivers/hcastle.cpp
index af08958572c..42ae4ac82cd 100644
--- a/src/mame/drivers/hcastle.cpp
+++ b/src/mame/drivers/hcastle.cpp
@@ -17,7 +17,7 @@
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "sound/k051649.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/heromem.cpp b/src/mame/drivers/heromem.cpp
index 6e66babbe00..8920d2ceace 100644
--- a/src/mame/drivers/heromem.cpp
+++ b/src/mame/drivers/heromem.cpp
@@ -23,7 +23,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "machine/gen_latch.h"
#include "machine/i8255.h"
#include "machine/nvram.h"
diff --git a/src/mame/drivers/hh_cops1.cpp b/src/mame/drivers/hh_cops1.cpp
index a6ddcbea312..12f23182242 100644
--- a/src/mame/drivers/hh_cops1.cpp
+++ b/src/mame/drivers/hh_cops1.cpp
@@ -7,8 +7,12 @@ National Semiconductor COPS(MM57 MCU series) handhelds
MCU die label for MM5799 games says MM4799, but they are in fact MM5799.
+ROM source notes when dumped from another publisher, but confident it's the same:
+- cambrp: Radio Shack EC-4001 Programmable
+
TODO:
-- qkracerm link cable
+- qkracerm link cable (already tested locally and it works, so driver notes
+ and MCU serial emulation are good enough)
***************************************************************************/
@@ -22,6 +26,7 @@ TODO:
#include "speaker.h"
// internal artwork
+#include "cambrp.lh"
#include "mbaskb.lh"
#include "mhockey.lh"
#include "msoccer.lh"
@@ -632,6 +637,165 @@ ROM_END
+
+
+/***************************************************************************
+
+ Sinclair Radionics Cambridge Programmable
+ * MM5799 MCU (label MM5799NBP/N, die label MM4799 C NBP)
+ * DS8874 LED driver, 9-digit 7seg led display
+
+ It's a programmable pocket calculator, up to 36 steps. 2 MCU revisions
+ are known: MM5799EHY and MM5799NBP.
+
+ 4 program libraries were available:
+ - Vol. 1: General / Finance / Statistics
+ - Vol. 2: Mathematics
+ - Vol. 3: Physics & Engineering
+ - Vol. 4: Electronics
+
+ Paste example: CCSS200SR 2-32+.12131*.5=.5.201=50.200 CSS200C
+ Now enter a value under 70, followed by RUN, to calculate its factorial.
+
+ known releases:
+ - World: Cambridge Programmable, published by Sinclair Radionics
+ - USA: EC-4001 Programmable, published by Tandy Corporation, Radio Shack brand
+
+***************************************************************************/
+
+class cambrp_state : public hh_cops1_state
+{
+public:
+ cambrp_state(const machine_config &mconfig, device_type type, const char *tag) :
+ hh_cops1_state(mconfig, type, tag),
+ m_ds8874(*this, "ds8874")
+ { }
+
+ required_device<ds8874_device> m_ds8874;
+ void ds8874_output_w(u16 data);
+
+ void update_display();
+ void write_do(u8 data);
+ void write_s(u8 data);
+ u8 read_f();
+ u8 read_k();
+ void cambrp(machine_config &config);
+};
+
+// handlers
+
+void cambrp_state::update_display()
+{
+ m_display->matrix(m_grid, m_s);
+}
+
+void cambrp_state::ds8874_output_w(u16 data)
+{
+ // DS8874 outputs: digit select, input mux
+ m_grid = ~data;
+ m_inp_mux = m_grid >> 2;
+ update_display();
+}
+
+void cambrp_state::write_do(u8 data)
+{
+ // DO1: DS8874 CP
+ // DO4: DS8874 _DATA
+ m_ds8874->cp_w(BIT(data, 0));
+ m_ds8874->data_w(BIT(data, 3));
+}
+
+void cambrp_state::write_s(u8 data)
+{
+ // S: digit segment data
+ // (DS8874 low battery out also connects to Sp)
+ m_s = data;
+ update_display();
+}
+
+u8 cambrp_state::read_f()
+{
+ // F2: K3, other: N/C
+ return (~read_inputs(6) >> 1 & 2) | (m_maincpu->f_output_r() & ~2);
+}
+
+u8 cambrp_state::read_k()
+{
+ // K: multiplexed inputs
+ return read_inputs(6);
+}
+
+// config
+
+static INPUT_PORTS_START( cambrp )
+ PORT_START("IN.0") // DS8874 OUT 3 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_NAME("0 / stop / +/-")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_NAME("6 / () / R>D")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR('=') PORT_NAME("= / -")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_NAME("Up/Downshift")
+
+ PORT_START("IN.1") // DS8874 OUT 4 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_NAME("1 / \xe2\x88\x9ax / go if neg")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_NAME("7 / sin / arcsin")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR('-') PORT_NAME("- / -x / F")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR('C') PORT_NAME("C/CE / step")
+
+ PORT_START("IN.2") // DS8874 OUT 5 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_NAME("2 / sto / go to")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8') PORT_NAME("8 / cos / arccos")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('/') PORT_NAME(u8"÷ / 1/x / G")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_NAME("RUN / learn")
+
+ PORT_START("IN.3") // DS8874 OUT 6 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_NAME("3 / ChN/# / D>R")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9') PORT_NAME("9 / tan / arctan")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR('+') PORT_NAME("+ / 2x / E")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("IN.4") // DS8874 OUT 7 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_NAME("4 / ln x / e\xcb\xa3")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR('.') PORT_NAME("./EE/_ / Downshift / A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('*') PORT_NAME(u8"× / x\xc2\xb2 / .")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("IN.5") // DS8874 OUT 8 port K
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_NAME("5 / rcl / MEx")
+ PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+void cambrp_state::cambrp(machine_config &config)
+{
+ /* basic machine hardware */
+ MM5799(config, m_maincpu, 200000); // approximation
+ m_maincpu->set_option_ram_d12(true);
+ m_maincpu->set_option_lb_10(4);
+ m_maincpu->write_do().set(FUNC(cambrp_state::write_do));
+ m_maincpu->write_s().set(FUNC(cambrp_state::write_s));
+ m_maincpu->read_f().set(FUNC(cambrp_state::read_f));
+ m_maincpu->read_k().set(FUNC(cambrp_state::read_k));
+
+ /* video hardware */
+ DS8874(config, m_ds8874).write_output().set(FUNC(cambrp_state::ds8874_output_w));
+ PWM_DISPLAY(config, m_display).set_size(9, 8);
+ m_display->set_segmask(0x1ff, 0xff);
+ config.set_default_layout(layout_cambrp);
+
+ /* no sound! */
+}
+
+// roms
+
+ROM_START( cambrp )
+ ROM_REGION( 0x0800, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD( "mm5799nbp_n", 0x0000, 0x0200, CRC(f4e9063b) SHA1(04b7bf24e994cd453584d233405621f8110feded) )
+ ROM_CONTINUE( 0x0400, 0x0400 )
+
+ ROM_REGION( 254, "maincpu:opla", 0 )
+ ROM_LOAD( "mm5799_cambrp_output.pla", 0, 254, CRC(eb882256) SHA1(acd77c066a7b7d18c3ea10f137a45ab83d1c53e1) )
+ROM_END
+
+
+
} // anonymous namespace
/***************************************************************************
@@ -648,5 +812,7 @@ CONS( 1978, mhockey, 0, 0, mhockey, mbaskb, mbaskb_state, empty_
CONS( 1977, qkracerm, qkracer, 0, qkracerm, qkracerm, qkracerm_state, empty_init, "National Semiconductor", "QuizKid Racer (MM5799 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NODEVICE_LAN )
CONS( 1978, qkspeller, 0, 0, qkspeller, qkspeller, qkspeller_state, empty_init, "National Semiconductor", "QuizKid Speller", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) // ***
+COMP( 1977, cambrp, 0, 0, cambrp, cambrp, cambrp_state, empty_init, "Sinclair Radionics", "Cambridge Programmable", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
+
// ***: As far as MAME is concerned, the game is emulated fine. But for it to be playable, it requires interaction
// with other, unemulatable, things eg. game board/pieces, book, playing cards, pen & paper, etc.
diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp
index 432e5fe53b6..bdb7009ff3e 100644
--- a/src/mame/drivers/hh_hmcs40.cpp
+++ b/src/mame/drivers/hh_hmcs40.cpp
@@ -56,6 +56,7 @@ known chips:
@A45 HD38820 1982, Coleco Donkey Kong
@A49 HD38820 1983, Bandai Zackman
@A61 HD38820 1983, Coleco Ms. Pac-Man
+ *A62 HD38820 1983, Coleco Zaxxon
@A63 HD38820 1983, Bandai Pengo
@A65 HD38820 1983, Bandai Burger Time (PT-389)
@A69 HD38820 1983, Gakken Dig Dug
@@ -90,7 +91,7 @@ known chips:
(* means undumped unless noted, @ denotes it's in this driver)
-ROM source notes when dumped from another publisher, but confident it's the same game:
+ROM source notes when dumped from another publisher, but confident it's the same:
- gckong: CGL Super Kong
- ghalien: CGL Earth Invaders
- kingman: Tandy Kingman
diff --git a/src/mame/drivers/hh_pic16.cpp b/src/mame/drivers/hh_pic16.cpp
index d149a3e25b2..3dbab20c30f 100644
--- a/src/mame/drivers/hh_pic16.cpp
+++ b/src/mame/drivers/hh_pic16.cpp
@@ -38,7 +38,7 @@ known chips:
(* means undumped unless noted, @ denotes it's in this driver)
-ROM source notes when dumped from another publisher, but confident it's the same game:
+ROM source notes when dumped from another publisher, but confident it's the same:
- drdunk: Tandy Electronic Basketball
- flash: Radio Shack Sound Effects Chassis
- hccbaskb: Sears Electronic Basketball
diff --git a/src/mame/drivers/hh_pps41.cpp b/src/mame/drivers/hh_pps41.cpp
index 7b2a1c6f2e1..a6147c5ea85 100644
--- a/src/mame/drivers/hh_pps41.cpp
+++ b/src/mame/drivers/hh_pps41.cpp
@@ -5,7 +5,7 @@
Rockwell PPS-4/1 MCU series handhelds
-ROM source notes when dumped from another publisher, but confident it's the same game:
+ROM source notes when dumped from another publisher, but confident it's the same:
- memoquiz: Mattel Mind Boggler
***************************************************************************/
@@ -1589,7 +1589,7 @@ CONS( 1978, memoquiz, 0, 0, memoquiz, memoquiz, memoquiz_state, empty_in
CONS( 1978, mfootb2, 0, 0, mfootb2, mfootb2, mfootb2_state, empty_init, "Mattel", "Football 2 (Mattel)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, brainbaf, 0, 0, brainbaf, brainbaf, brainbaf_state, empty_init, "Mattel", "Brain Baffler", MACHINE_SUPPORTS_SAVE )
-CONS( 1979, horocomp, 0, 0, horocomp, horocomp, horocomp_state, empty_init, "Mattel", "Horoscope Computer", MACHINE_SUPPORTS_SAVE )
+COMP( 1979, horocomp, 0, 0, horocomp, horocomp, horocomp_state, empty_init, "Mattel", "Horoscope Computer", MACHINE_SUPPORTS_SAVE )
CONS( 1980, mwcfootb, 0, 0, mwcfootb, mwcfootb, mwcfootb_state, empty_init, "Mattel", "World Championship Football", MACHINE_SUPPORTS_SAVE )
CONS( 1978, scrabsen, 0, 0, scrabsen, scrabsen, scrabsen_state, empty_init, "Selchow & Righter", "Scrabble Sensor - Electronic Word Game", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 0a8c2f8926d..d7572fce6eb 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -30,6 +30,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@MP0166 TMS1000 1980, A-One Arrange Ball/LJN Computer Impulse/Tandy Zingo (model 60-2123)
@MP0168 TMS1000 1979, Conic Multisport/Tandy Sports Arena (model 60-2158)
@MP0170 TMS1000 1979, Conic Football
+ *MP0220 TMS1000 1980, Tomy Teacher
*MP0230 TMS1000 1980, Entex Blast It (6015)
@MP0271 TMS1000 1982, Radio Shack Monkey See
@MP0907 TMS1000 1979, Conic Basketball (101-006)
@@ -113,6 +114,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@M34038 TMS1100 1982, Parker Brothers Lost Treasure
M34047 TMS1100 1982, MicroVision cartridge: Super Blockbuster
@M34078A TMS1100 1983, Milton Bradley Electronic Arcade Mania
+ *M34137 TMS1100? 1985, Technasonic Weight Talker
@MP4486A TMS1000C 1983, Vulcan XL 25
*MP6061 TMS0970 1979, Texas Instruments Electronic Digital Thermostat (from patent, the one in MAME didn't have a label)
@MP6100A TMS0980 1979, Ideal Electronic Detective
@@ -129,7 +131,8 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@MP7551 TMS1670 1980, Entex Color Football 4 (6009)
@MPF553 TMS1670 1980, Gakken/Entex Jackpot: Gin Rummy & Black Jack (6008) (note: assume F to be a misprint)
MP7573 TMS1670 1981, Entex Select-A-Game cartridge: Football 4 -> sag.cpp
- *M95041 ? 1983, Tsukuda Game Pachinko (? note: 40-pin, VFD-capable)
+ *M30026 TMS2370 1983, Yaesu FT-757 Display Unit part
+ *M95041 TMS2670 1983, Tsukuda Game Pachinko
inconsistent:
@@ -138,7 +141,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
(* means undumped unless noted, @ denotes it's in this driver)
-ROM source notes when dumped from another publisher, but confident it's the same game:
+ROM source notes when dumped from another publisher, but confident it's the same:
- arrball: Tandy Zingo
- bcheetah: Fundimensions Incredible Brain Buggy
- cmsport: Conic Basketball
@@ -10159,10 +10162,13 @@ ROM_END
/***************************************************************************
- TI-2550 III/TI-1265 (both have same chip)
+ TI-2550 III, TI-1650/TI-1600, TI-1265 (they have the same chip)
* TMS1040 MCU label TMS1043NL ZA0352 (die label 1040A, 1043A)
* 9-digit cyan VFD display
+ Only the TI-2550 III has the top button row (RV, SQRT, etc).
+ TI-1600 doesn't have the memory buttons.
+
***************************************************************************/
class ti25503_state : public hh_tms1k_state
@@ -12793,7 +12799,7 @@ COMP( 1978, lilprof78, lilprof, 0, lilprof78, lilprof78, lilprof78_state, emp
COMP( 1977, dataman, 0, 0, dataman, dataman, dataman_state, empty_init, "Texas Instruments", "DataMan", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
COMP( 1980, mathmarv, 0, 0, mathmarv, mathmarv, mathmarv_state, empty_init, "Texas Instruments", "Math Marvel", MACHINE_SUPPORTS_SAVE )
CONS( 1979, timaze, 0, 0, timaze, timaze, timaze_state, empty_init, "Texas Instruments", "unknown electronic maze game (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
-CONS( 1979, tithermos, 0, 0, tithermos, tithermos, tithermos_state, empty_init, "Texas Instruments", "Electronic Digital Thermostat", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
+SYST( 1979, tithermos, 0, 0, tithermos, tithermos, tithermos_state, empty_init, "Texas Instruments", "Electronic Digital Thermostat", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
CONS( 1979, subwars, 0, 0, subwars, subwars, subwars_state, empty_init, "Tiger Electronics", "Sub Wars (LED version)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, copycat, 0, 0, copycat, copycat, copycat_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp
index 61be1bd8ace..3f2e154bb71 100644
--- a/src/mame/drivers/hh_ucom4.cpp
+++ b/src/mame/drivers/hh_ucom4.cpp
@@ -63,7 +63,7 @@ c = custom display
s = unique display part number
-ROM source notes when dumped from another publisher, but confident it's the same game:
+ROM source notes when dumped from another publisher, but confident it's the same:
- astrocmd: Tandy Astro Command
- caveman: Tandy Caveman
- grobot9: Mego Fabulous Fred
diff --git a/src/mame/drivers/himesiki.cpp b/src/mame/drivers/himesiki.cpp
index f61aefa910f..e0a70e4c6ec 100644
--- a/src/mame/drivers/himesiki.cpp
+++ b/src/mame/drivers/himesiki.cpp
@@ -96,7 +96,7 @@ A 12.000MHz
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/hnayayoi.cpp b/src/mame/drivers/hnayayoi.cpp
index d72c2b49d56..f2b2bcd2af6 100644
--- a/src/mame/drivers/hnayayoi.cpp
+++ b/src/mame/drivers/hnayayoi.cpp
@@ -43,7 +43,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/clock.h"
#include "machine/nvram.h"
#include "video/mc6845.h"
@@ -164,8 +164,8 @@ void hnayayoi_state::untoucha_map(address_map &map)
void hnayayoi_state::untoucha_io_map(address_map &map)
{
map.global_mask(0xff);
- map(0x10, 0x10).w("ymsnd", FUNC(ym2203_device::control_port_w));
- map(0x11, 0x11).r("ymsnd", FUNC(ym2203_device::status_port_r));
+ map(0x10, 0x10).w("ymsnd", FUNC(ym2203_device::address_w));
+ map(0x11, 0x11).r("ymsnd", FUNC(ym2203_device::status_r));
map(0x12, 0x12).w("crtc", FUNC(hd6845s_device::address_w));
map(0x13, 0x13).w(FUNC(hnayayoi_state::adpcm_data_w));
map(0x14, 0x14).portr("COIN");
@@ -177,8 +177,8 @@ void hnayayoi_state::untoucha_io_map(address_map &map)
map(0x20, 0x20).w(FUNC(hnayayoi_state::dynax_blitter_rev1_clear_w));
map(0x28, 0x28).w(FUNC(hnayayoi_state::dynax_blitter_rev1_start_w));
map(0x30, 0x37).w(m_mainlatch, FUNC(ls259_device::write_d0));
- map(0x50, 0x50).w("ymsnd", FUNC(ym2203_device::write_port_w));
- map(0x51, 0x51).r("ymsnd", FUNC(ym2203_device::read_port_r));
+ map(0x50, 0x50).w("ymsnd", FUNC(ym2203_device::data_w));
+ map(0x51, 0x51).r("ymsnd", FUNC(ym2203_device::data_r));
map(0x52, 0x52).w("crtc", FUNC(hd6845s_device::register_w));
}
diff --git a/src/mame/drivers/homerun.cpp b/src/mame/drivers/homerun.cpp
index 324e2056aeb..08d56b1ea9d 100644
--- a/src/mame/drivers/homerun.cpp
+++ b/src/mame/drivers/homerun.cpp
@@ -114,7 +114,7 @@ This version of Homerun is not dumped.
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/samples.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index 8c9494d87a6..78d6390290e 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -377,6 +377,7 @@ public:
hornet_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_workram(*this, "workram"),
+ m_sharc_dataram(*this, "sharc%u_dataram", 0U),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_k056800(*this, "k056800"),
@@ -418,6 +419,7 @@ private:
static const int m_sound_timer_usec = 2800;
required_shared_ptr<uint32_t> m_workram;
+ optional_shared_ptr_array<uint32_t, 2> m_sharc_dataram;
required_device<ppc4xx_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<k056800_device> m_k056800;
@@ -811,9 +813,9 @@ void hornet_state::gn680_memmap(address_map &map)
void hornet_state::sharc0_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc0_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[0]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[0][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).rw("voodoo0", FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).rw(m_voodoo[0], FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
map(0x3500000, 0x35000ff).rw(m_konppc, FUNC(konppc_device::K033906_0_r), FUNC(konppc_device::K033906_0_w));
map(0x3600000, 0x37fffff).bankr("master_cgboard_bank");
@@ -822,9 +824,9 @@ void hornet_state::sharc0_map(address_map &map)
void hornet_state::sharc1_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_1_shared_sharc_r), FUNC(konppc_device::cgboard_1_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc1_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[1]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[1][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).rw("voodoo1", FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).rw(m_voodoo[1], FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_1_comm_sharc_r), FUNC(konppc_device::cgboard_1_comm_sharc_w));
map(0x3500000, 0x35000ff).rw(m_konppc, FUNC(konppc_device::K033906_1_r), FUNC(konppc_device::K033906_1_w));
map(0x3600000, 0x37fffff).bankr("slave_cgboard_bank");
@@ -1081,7 +1083,7 @@ void hornet_state::hornet(machine_config &config)
m_voodoo[0]->set_cpu_tag(m_dsp[0]);
m_voodoo[0]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- K033906(config, "k033906_1", 0, "voodoo0");
+ K033906(config, "k033906_1", 0, m_voodoo[0]);
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -1160,7 +1162,7 @@ void hornet_state::sscope(machine_config &config)
m_voodoo[1]->set_cpu_tag(m_dsp[1]);
m_voodoo[1]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ1);
- K033906(config, "k033906_2", 0, "voodoo1");
+ K033906(config, "k033906_2", 0, m_voodoo[1]);
// video hardware
config.device_remove("screen");
diff --git a/src/mame/drivers/hshavoc.cpp b/src/mame/drivers/hshavoc.cpp
index 32f387aec26..4200b7b3f55 100644
--- a/src/mame/drivers/hshavoc.cpp
+++ b/src/mame/drivers/hshavoc.cpp
@@ -41,7 +41,7 @@ help with figuring out the encryption on the coin-op parts of the program.
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/sn76496.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "includes/megadriv.h"
#include "includes/megadriv_acbl.h"
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index bd53c48ac18..a744d369fe0 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -64,7 +64,7 @@ To Do:
#include "cpu/mcs51/mcs51.h"
#include "machine/gen_latch.h"
#include "machine/timer.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/kan_pand.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/hyprduel.cpp b/src/mame/drivers/hyprduel.cpp
index 64707e3469d..4ec2e900453 100644
--- a/src/mame/drivers/hyprduel.cpp
+++ b/src/mame/drivers/hyprduel.cpp
@@ -41,8 +41,8 @@ fix comms so it boots, it's a bit of a hack for hyperduel at the moment ;-)
#include "cpu/m68000/m68000.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2413.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "video/imagetek_i4100.h"
#include "screen.h"
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index e2c57eed707..05d6714ac0a 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -597,7 +597,7 @@ void pcjr_state::ibmpcjx_io(address_map &map)
void pcjr_state::ibmpcjr(machine_config &config)
{
/* basic machine hardware */
- I8088(config, m_maincpu, 4900000);
+ I8088(config, m_maincpu, XTAL(14'318'181)/3);
m_maincpu->set_addrmap(AS_PROGRAM, &pcjr_state::ibmpcjr_map);
m_maincpu->set_addrmap(AS_IO, &pcjr_state::ibmpcjr_io);
m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
diff --git a/src/mame/drivers/ichiban.cpp b/src/mame/drivers/ichiban.cpp
index 82e1d83219d..56dd3eabd80 100644
--- a/src/mame/drivers/ichiban.cpp
+++ b/src/mame/drivers/ichiban.cpp
@@ -38,7 +38,7 @@ HSync - 15.510kHz
#include "cpu/z80/z80.h"
#include "machine/nvram.h"
#include "sound/ay8910.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp
index 060401dcf58..b505423c7f8 100644
--- a/src/mame/drivers/igs009.cpp
+++ b/src/mame/drivers/igs009.cpp
@@ -32,7 +32,7 @@ Year Game Manufacturer Notes
#include "cpu/z180/z180.h"
#include "machine/i8255.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/nvram.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index 7c0f18bc24b..a7f879de1ae 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -68,8 +68,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "sound/ics2115.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "machine/nvram.h"
#include "machine/timer.h"
#include "emupal.h"
diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp
index 93b1678b42b..85ab3a1878c 100644
--- a/src/mame/drivers/igs017.cpp
+++ b/src/mame/drivers/igs017.cpp
@@ -53,7 +53,7 @@ Notes:
#include "cpu/z180/z180.h"
#include "machine/i8255.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/igs025.h"
#include "machine/igs022.h"
#include "machine/ticket.h"
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index d4a305bbc5c..68d27841400 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -75,7 +75,7 @@ TODO:
#include "machine/i8255.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/inufuku.cpp b/src/mame/drivers/inufuku.cpp
index bd64e7e1eb9..2ccc99d0dfe 100644
--- a/src/mame/drivers/inufuku.cpp
+++ b/src/mame/drivers/inufuku.cpp
@@ -78,7 +78,7 @@ TODO:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/iqblock.cpp b/src/mame/drivers/iqblock.cpp
index 40ab94a72b4..3ad16be2a32 100644
--- a/src/mame/drivers/iqblock.cpp
+++ b/src/mame/drivers/iqblock.cpp
@@ -54,7 +54,7 @@ Grndtour:
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index 90075786086..9597559e63a 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -14,7 +14,7 @@
#include "cpu/m6809/m6809.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -24,7 +24,7 @@
*
*************************************/
-TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::ironhors_scanline_tick)
+TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::scanline_tick)
{
int scanline = param;
@@ -40,12 +40,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::ironhors_scanline_tick)
}
}
-void ironhors_state::sh_irqtrigger_w(uint8_t data)
+void ironhors_base_state::sh_irqtrigger_w(uint8_t data)
{
m_soundcpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80
}
-void ironhors_state::filter_w(uint8_t data)
+void ironhors_base_state::filter_w(uint8_t data)
{
m_disc_ih->write(NODE_11, (data & 0x04) >> 2);
m_disc_ih->write(NODE_12, (data & 0x02) >> 1);
@@ -62,9 +62,9 @@ void ironhors_state::master_map(address_map &map)
{
map(0x0000, 0x0002).ram();
map(0x0003, 0x0003).ram().w(FUNC(ironhors_state::charbank_w));
- map(0x0004, 0x0004).ram().share("int_enable");
+ map(0x0004, 0x0004).ram().share(m_interrupt_enable);
map(0x0005, 0x001f).ram();
- map(0x0020, 0x003f).ram().share("scroll");
+ map(0x0020, 0x003f).ram().share(m_scroll);
map(0x0040, 0x005f).ram();
map(0x0060, 0x00df).ram();
map(0x0800, 0x0800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
@@ -77,12 +77,12 @@ void ironhors_state::master_map(address_map &map)
map(0x1800, 0x1800).nopw(); // ???
map(0x1a00, 0x1a01).nopw(); // ???
map(0x1c00, 0x1dff).nopw(); // ???
- map(0x2000, 0x23ff).ram().w(FUNC(ironhors_state::colorram_w)).share("colorram");
- map(0x2400, 0x27ff).ram().w(FUNC(ironhors_state::videoram_w)).share("videoram");
+ map(0x2000, 0x23ff).ram().w(FUNC(ironhors_state::colorram_w)).share(m_colorram);
+ map(0x2400, 0x27ff).ram().w(FUNC(ironhors_state::videoram_w)).share(m_videoram);
map(0x2800, 0x2fff).ram();
- map(0x3000, 0x30ff).ram().share("spriteram2");
+ map(0x3000, 0x30ff).ram().share(m_spriteram[1]);
map(0x3100, 0x37ff).ram();
- map(0x3800, 0x38ff).ram().share("spriteram");
+ map(0x3800, 0x38ff).ram().share(m_spriteram[0]);
map(0x3900, 0x3fff).ram();
map(0x4000, 0xffff).rom();
}
@@ -100,7 +100,7 @@ void ironhors_state::slave_io_map(address_map &map)
map(0x00, 0x01).rw("ym2203", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
}
-void ironhors_state::farwest_master_map(address_map &map)
+void farwest_state::master_map(address_map &map)
{
map(0x0000, 0x1bff).rom();
@@ -111,31 +111,31 @@ void ironhors_state::farwest_master_map(address_map &map)
map(0x0040, 0x005f).ram();
map(0x0060, 0x00ff).ram();
map(0x0800, 0x0800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0x0900, 0x0900) /*.protr("DSW3") */ .w(FUNC(ironhors_state::sh_irqtrigger_w));
- map(0x0a00, 0x0a00).portr("DSW2"); //.w(FUNC(ironhors_state::palettebank_w));
- map(0x0b00, 0x0b00).portr("DSW1").w(FUNC(ironhors_state::flipscreen_w));
- map(0x0b01, 0x0b01).portr("DSW2"); //.w(FUNC(ironhors_state::palettebank_w));
+ map(0x0900, 0x0900) /*.protr("DSW3") */ .w(FUNC(farwest_state::sh_irqtrigger_w));
+ map(0x0a00, 0x0a00).portr("DSW2"); //.w(FUNC(farwest_state::palettebank_w));
+ map(0x0b00, 0x0b00).portr("DSW1").w(FUNC(farwest_state::flipscreen_w));
+ map(0x0b01, 0x0b01).portr("DSW2"); //.w(FUNC(farwest_state::palettebank_w));
map(0x0b02, 0x0b02).portr("P1");
map(0x0b03, 0x0b03).portr("SYSTEM");
- map(0x1800, 0x1800).w(FUNC(ironhors_state::sh_irqtrigger_w));
- map(0x1a00, 0x1a00).ram().share("int_enable");
- map(0x1a01, 0x1a01).ram().w(FUNC(ironhors_state::charbank_w));
- map(0x1a02, 0x1a02).w(FUNC(ironhors_state::palettebank_w));
- map(0x1e00, 0x1eff).ram().share("spriteram");
- map(0x2000, 0x23ff).ram().w(FUNC(ironhors_state::colorram_w)).share("colorram");
- map(0x2400, 0x27ff).ram().w(FUNC(ironhors_state::videoram_w)).share("videoram");
+ map(0x1800, 0x1800).w(FUNC(farwest_state::sh_irqtrigger_w));
+ map(0x1a00, 0x1a00).ram().share(m_interrupt_enable);
+ map(0x1a01, 0x1a01).ram().w(FUNC(farwest_state::charbank_w));
+ map(0x1a02, 0x1a02).w(FUNC(farwest_state::palettebank_w));
+ map(0x1e00, 0x1eff).ram().share(m_spriteram[0]);
+ map(0x2000, 0x23ff).ram().w(FUNC(farwest_state::colorram_w)).share(m_colorram);
+ map(0x2400, 0x27ff).ram().w(FUNC(farwest_state::videoram_w)).share(m_videoram);
map(0x2800, 0x2fff).ram();
- map(0x1c00, 0x1dff).ram().share("spriteram2");
+ map(0x1c00, 0x1dff).ram().share(m_spriteram[1]);
map(0x3000, 0x31da).ram();
- map(0x31db, 0x31fa).ram().share("scroll");
+ map(0x31db, 0x31fa).ram().share(m_scroll);
map(0x31fb, 0x3fff).ram();
map(0x4000, 0xffff).rom();
}
-void ironhors_state::farwest_slave_map(address_map &map)
+void farwest_state::slave_map(address_map &map)
{
map(0x0000, 0x3fff).rom();
map(0x4000, 0x43ff).ram();
@@ -161,7 +161,7 @@ static INPUT_PORTS_START( dairesya )
PORT_START("DSW1")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
- /* "No Coin B" = coins produce sound, but no effect on coin counter */
+ // "No Coin B" = coins produce sound, but no effect on coin counter
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
@@ -202,7 +202,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ironhors )
PORT_INCLUDE( dairesya )
- /* here button 3 for player 1 and 2 are exchanged */
+ // here button 3 for player 1 and 2 are exchanged
PORT_MODIFY("P1")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL
@@ -245,49 +245,49 @@ static const gfx_layout ironhors_spritelayout =
static GFXDECODE_START( gfx_ironhors )
GFXDECODE_ENTRY( "gfx1", 0, ironhors_charlayout, 0, 16*8 )
GFXDECODE_ENTRY( "gfx1", 0, ironhors_spritelayout, 16*8*16, 16*8 )
- GFXDECODE_ENTRY( "gfx1", 0, ironhors_charlayout, 16*8*16, 16*8 ) /* to handle 8x8 sprites */
+ GFXDECODE_ENTRY( "gfx1", 0, ironhors_charlayout, 16*8*16, 16*8 ) // to handle 8x8 sprites
GFXDECODE_END
static const gfx_layout farwest_charlayout =
{
- 8,8, /* 8*8 characters */
- 2048, /* 2048 characters */
- 4, /* 4 bits per pixel */
- { 0, 2, 4, 6 }, /* the four bitplanes are packed in one byte */
+ 8,8, // 8*8 characters
+ 2048, // 2048 characters
+ 4, // 4 bits per pixel
+ { 0, 2, 4, 6 }, // the four bitplanes are packed in one byte
{ 3*8+1, 3*8+0, 0*8+1, 0*8+0, 1*8+1, 1*8+0, 2*8+1, 2*8+0 },
{ 0*4*8, 1*4*8, 2*4*8, 3*4*8, 4*4*8, 5*4*8, 6*4*8, 7*4*8 },
- 32*8 /* every char takes 32 consecutive bytes */
+ 32*8 // every char takes 32 consecutive bytes
};
static const gfx_layout farwest_spritelayout =
{
- 16,16, /* 16*16 sprites */
- 512, /* 512 sprites */
- 4, /* 4 bits per pixel */
- { 0, 512*32*8, 2*512*32*8, 3*512*32*8 }, /* the four bitplanes are separated */
+ 16,16, // 16*16 sprites
+ 512, // 512 sprites
+ 4, // 4 bits per pixel
+ { 0, 512*32*8, 2*512*32*8, 3*512*32*8 }, // the four bitplanes are separated
{ 0, 1, 2, 3, 4, 5, 6, 7,
16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7 },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
- 32*8 /* every sprite takes 32 consecutive bytes */
+ 32*8 // every sprite takes 32 consecutive bytes
};
static const gfx_layout farwest_spritelayout2 =
{
- 8,8, /* 8*8 characters */
- 2048, /* 2048 characters */
- 4, /* 4 bits per pixel */
- { 0, 2048*8*8, 2*2048*8*8, 3*2048*8*8 }, /* the four bitplanes are separated */
+ 8,8, // 8*8 characters
+ 2048, // 2048 characters
+ 4, // 4 bits per pixel
+ { 0, 2048*8*8, 2*2048*8*8, 3*2048*8*8 }, // the four bitplanes are separated
{ 0, 1, 2, 3, 4, 5, 6, 7 },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8 /* every char takes 8 consecutive bytes */
+ 8*8 // every char takes 8 consecutive bytes
};
static GFXDECODE_START( gfx_farwest )
GFXDECODE_ENTRY( "gfx1", 0, farwest_charlayout, 0, 16*8 )
GFXDECODE_ENTRY( "gfx2", 0, farwest_spritelayout, 16*8*16, 16*8 )
- GFXDECODE_ENTRY( "gfx2", 0, farwest_spritelayout2,16*8*16, 16*8 ) /* to handle 8x8 sprites */
+ GFXDECODE_ENTRY( "gfx2", 0, farwest_spritelayout2,16*8*16, 16*8 ) // to handle 8x8 sprites
GFXDECODE_END
@@ -300,9 +300,9 @@ GFXDECODE_END
static const discrete_mixer_desc ironhors_mixer_desc =
{DISC_MIXER_IS_RESISTOR,
{RES_K(2.2), RES_K(2.2), RES_K(2.2)},
- {0,0,0,0,0,0}, /* no variable resistors */
- {0,0,0,0,0,0}, /* no node capacitors */
- 0, RES_K(1), /* RF */
+ {0,0,0,0,0,0}, // no variable resistors
+ {0,0,0,0,0,0}, // no node capacitors
+ 0, RES_K(1), // RF
0,
0,
0, 1};
@@ -310,9 +310,9 @@ static const discrete_mixer_desc ironhors_mixer_desc =
static const discrete_mixer_desc ironhors_mixer_desc_final =
{DISC_MIXER_IS_RESISTOR,
{RES_K(0.5), RES_K(1)},
- {0,0,0,0,0,0}, /* no variable resistors */
- {CAP_U(4.7), CAP_U(4.7)}, /* node capacitors */
- 0, RES_K(1), /* RF */
+ {0,0,0,0,0,0}, // no variable resistors
+ {CAP_U(4.7), CAP_U(4.7)}, // node capacitors
+ 0, RES_K(1), // RF
0,
0,
0, 1};
@@ -348,14 +348,14 @@ DISCRETE_SOUND_END
*
*************************************/
-void ironhors_state::machine_start()
+void ironhors_base_state::machine_start()
{
save_item(NAME(m_palettebank));
save_item(NAME(m_charbank));
save_item(NAME(m_spriterambank));
}
-void ironhors_state::machine_reset()
+void ironhors_base_state::machine_reset()
{
m_palettebank = 0;
m_charbank = 0;
@@ -377,32 +377,23 @@ Hsync is 15,56khz
These clocks make the emulation run too fast.
*/
-void ironhors_state::ironhors(machine_config &config)
+void ironhors_base_state::base(machine_config &config)
{
- /* basic machine hardware */
- MC6809E(config, m_maincpu, 18432000/6); /* 3.072 MHz??? mod by Shingo Suzuki 1999/10/15 */
- m_maincpu->set_addrmap(AS_PROGRAM, &ironhors_state::master_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(ironhors_state::ironhors_scanline_tick), "screen", 0, 1);
-
- Z80(config, m_soundcpu, 18432000/6); /* 3.072 MHz */
- m_soundcpu->set_addrmap(AS_PROGRAM, &ironhors_state::slave_map);
- m_soundcpu->set_addrmap(AS_IO, &ironhors_state::slave_io_map);
+ // basic machine hardware
+ MC6809E(config, m_maincpu, 18432000/6); // 3.072 MHz??? mod by Shingo Suzuki 1999/10/15
-
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(61);
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
// m_screen->set_size(32*8, 32*8);
// m_screen->set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
m_screen->set_raw(18432000/4,296,8,256-8,255,16,240); // pixel clock is a guesswork
- m_screen->set_screen_update(FUNC(ironhors_state::screen_update));
m_screen->set_palette(m_palette);
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_ironhors);
- PALETTE(config, m_palette, FUNC(ironhors_state::ironhors_palette), 16*8*16+16*8*16, 256);
+ PALETTE(config, m_palette, FUNC(ironhors_state::palette), 16*8*16+16*8*16, 256);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch);
@@ -417,7 +408,23 @@ void ironhors_state::ironhors(machine_config &config)
DISCRETE(config, m_disc_ih, ironhors_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}
-TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::farwest_scanline_tick)
+void ironhors_state::ironhors(machine_config &config)
+{
+ base(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &ironhors_state::master_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(ironhors_state::scanline_tick), "screen", 0, 1);
+
+ Z80(config, m_soundcpu, 18432000/6); // 3.072 MHz
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ironhors_state::slave_map);
+ m_soundcpu->set_addrmap(AS_IO, &ironhors_state::slave_io_map);
+
+ m_screen->set_screen_update(FUNC(ironhors_state::screen_update));
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_ironhors);
+}
+
+TIMER_DEVICE_CALLBACK_MEMBER(farwest_state::scanline_tick)
{
int scanline = param;
@@ -433,20 +440,19 @@ TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::farwest_scanline_tick)
}
}
-void ironhors_state::farwest(machine_config &config)
+void farwest_state::farwest(machine_config &config)
{
- ironhors(config);
+ base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &ironhors_state::farwest_master_map);
- subdevice<timer_device>("scantimer")->set_callback(FUNC(ironhors_state::farwest_scanline_tick));
+ m_maincpu->set_addrmap(AS_PROGRAM, &farwest_state::master_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(farwest_state::scanline_tick), "screen", 0, 1);
- Z80(config.replace(), m_soundcpu, 18432000/6); /* 3.072 MHz */
- m_soundcpu->set_addrmap(AS_PROGRAM, &ironhors_state::farwest_slave_map);
+ Z80(config, m_soundcpu, 18432000/6); // 3.072 MHz
+ m_soundcpu->set_addrmap(AS_PROGRAM, &farwest_state::slave_map);
- m_gfxdecode->set_info(gfx_farwest);
- MCFG_VIDEO_START_OVERRIDE(ironhors_state,farwest)
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_farwest);
- m_screen->set_screen_update(FUNC(ironhors_state::screen_update_farwest));
+ m_screen->set_screen_update(FUNC(farwest_state::screen_update));
subdevice<ym2203_device>("ym2203")->port_b_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
}
@@ -474,11 +480,11 @@ ROM_START( ironhors )
ROM_LOAD16_BYTE( "560_h04.06f", 0x10001, 0x8000, CRC(c1486f61) SHA1(4b96aebe5d35fd1d73bde8576689addbb1ff66ed) )
ROM_REGION( 0x0500, "proms", 0 )
- ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) /* palette red */
- ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) /* palette green */
- ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) /* palette blue */
- ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) /* character lookup table */
- ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) /* sprite lookup table */
+ ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) // palette red
+ ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) // palette green
+ ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) // palette blue
+ ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) // character lookup table
+ ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) // sprite lookup table
ROM_END
ROM_START( ironhorsh )
@@ -496,11 +502,11 @@ ROM_START( ironhorsh )
ROM_LOAD16_BYTE( "06f_h04.bin", 0x10001, 0x8000, CRC(c1486f61) SHA1(4b96aebe5d35fd1d73bde8576689addbb1ff66ed) )
ROM_REGION( 0x0500, "proms", 0 )
- ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) /* palette red */
- ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) /* palette green */
- ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) /* palette blue */
- ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) /* character lookup table */
- ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) /* sprite lookup table */
+ ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) // palette red
+ ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) // palette green
+ ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) // palette blue
+ ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) // character lookup table
+ ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) // sprite lookup table
ROM_END
ROM_START( dairesya )
@@ -518,18 +524,18 @@ ROM_START( dairesya )
ROM_LOAD16_BYTE( "560-k04.6f", 0x10001, 0x8000, CRC(c883d856) SHA1(4c4f91b72dab841ec15ca62121ed0c0878dfff23) )
ROM_REGION( 0x0500, "proms", 0 )
- ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) /* palette red */
- ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) /* palette green */
- ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) /* palette blue */
- ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) /* character lookup table */
- ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) /* sprite lookup table */
+ ROM_LOAD( "03f_h08.bin", 0x0000, 0x0100, CRC(9f6ddf83) SHA1(08a37182a974c5448156637f10fe60bfe5f225ad) ) // palette red
+ ROM_LOAD( "04f_h09.bin", 0x0100, 0x0100, CRC(e6773825) SHA1(7523e7fa090d850fe79ff0069d3260c76645d65a) ) // palette green
+ ROM_LOAD( "05f_h10.bin", 0x0200, 0x0100, CRC(30a57860) SHA1(3ec7535286c8bc65e203320f47e4ed6f1d3d61c9) ) // palette blue
+ ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) // character lookup table
+ ROM_LOAD( "10f_h11.bin", 0x0400, 0x0100, CRC(a63e37d8) SHA1(1a0a76ecd14310125bdf41a8431d562ed498eb27) ) // sprite lookup table
ROM_END
ROM_START( farwest )
- ROM_REGION( 0x12000, "maincpu", 0 ) /* 64k for code + 8k for extra ROM */
+ ROM_REGION( 0x12000, "maincpu", 0 ) // 64k for code + 8k for extra ROM
ROM_LOAD( "ironhors.008", 0x04000, 0x4000, CRC(b1c8246c) SHA1(4ceb098bb0b4efcbe50bb4b23bd27a60dabf2b3e) )
ROM_LOAD( "ironhors.009", 0x08000, 0x8000, CRC(ea34ecfc) SHA1(8c7f12e76d2b9eb592ebf1bfd3e16a6b130da8e5) )
- ROM_LOAD( "ironhors.007", 0x00000, 0x2000, CRC(471182b7) SHA1(48ff58cbbf971b257e8099ec331397cf73dc8325) ) /* don't know what this is for */
+ ROM_LOAD( "ironhors.007", 0x00000, 0x2000, CRC(471182b7) SHA1(48ff58cbbf971b257e8099ec331397cf73dc8325) ) // don't know what this is for
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ironhors.010", 0x0000, 0x4000, CRC(a28231a6) SHA1(617e8fdf8129081c6a1bbbf140837a375a51da72) )
@@ -545,11 +551,11 @@ ROM_START( farwest )
ROM_LOAD( "ironhors.004", 0x0c000, 0x4000, CRC(1fab18a3) SHA1(cc7ddf60b719e7c5a689f716ebee9bc04ade406a) )
ROM_REGION( 0x0500, "proms", 0 )
- ROM_LOAD( "ironcol.003", 0x0000, 0x0100, CRC(3e3fca11) SHA1(c92737659f063889a2b210cfe5c294b8a4864489) ) /* palette red */
- ROM_LOAD( "ironcol.001", 0x0100, 0x0100, CRC(dfb13014) SHA1(d9f9a5bed1300faf7c3864d5c5ae07087de25824) ) /* palette green */
- ROM_LOAD( "ironcol.002", 0x0200, 0x0100, CRC(77c88430) SHA1(e3041945b14955de109a505d9aa9f79046bed6a8) ) /* palette blue */
- ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) /* character lookup table */
- ROM_LOAD( "ironcol.005", 0x0400, 0x0100, CRC(15077b9c) SHA1(c7fe24e3d481150452ff774f3908510db9e28367) ) /* sprite lookup table */
+ ROM_LOAD( "ironcol.003", 0x0000, 0x0100, CRC(3e3fca11) SHA1(c92737659f063889a2b210cfe5c294b8a4864489) ) // palette red
+ ROM_LOAD( "ironcol.001", 0x0100, 0x0100, CRC(dfb13014) SHA1(d9f9a5bed1300faf7c3864d5c5ae07087de25824) ) // palette green
+ ROM_LOAD( "ironcol.002", 0x0200, 0x0100, CRC(77c88430) SHA1(e3041945b14955de109a505d9aa9f79046bed6a8) ) // palette blue
+ ROM_LOAD( "10f_h12.bin", 0x0300, 0x0100, CRC(5eb33e73) SHA1(f34916dc4617b0c48e0a7ac6ace97b35dfcf1c40) ) // character lookup table
+ ROM_LOAD( "ironcol.005", 0x0400, 0x0100, CRC(15077b9c) SHA1(c7fe24e3d481150452ff774f3908510db9e28367) ) // sprite lookup table
ROM_END
@@ -562,4 +568,4 @@ ROM_END
GAME( 1986, ironhors, 0, ironhors, ironhors, ironhors_state, empty_init, ROT0, "Konami", "Iron Horse (version K)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, ironhorsh, ironhors, ironhors, ironhors, ironhors_state, empty_init, ROT0, "Konami", "Iron Horse (version H)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, dairesya, ironhors, ironhors, dairesya, ironhors_state, empty_init, ROT0, "Konami (Kawakusu license)", "Dai Ressya Goutou (Japan, version K)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, farwest, ironhors, farwest, ironhors, ironhors_state, empty_init, ROT0, "bootleg?", "Far West", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1986, farwest, ironhors, farwest, ironhors, farwest_state, empty_init, ROT0, "bootleg?", "Far West", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/itech8.cpp b/src/mame/drivers/itech8.cpp
index 8f0d2be7b53..72fd6292d5c 100644
--- a/src/mame/drivers/itech8.cpp
+++ b/src/mame/drivers/itech8.cpp
@@ -506,9 +506,8 @@
#include "machine/6522via.h"
#include "machine/6821pia.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym2608.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp
index 809f30deb5d..84f73f821eb 100644
--- a/src/mame/drivers/jackal.cpp
+++ b/src/mame/drivers/jackal.cpp
@@ -18,6 +18,7 @@ TODO:
beginning of the game. This is kludged by overclocking the sound CPU. This
looks like a CPU communication timing issue however fiddling with the
interleave factor has no effect.
+- create a K005885 device shared with other drivers.
Memory Map
@@ -75,7 +76,7 @@ Address Dir Data Description
#include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
@@ -86,41 +87,21 @@ Address Dir Data Description
*
*************************************/
-uint8_t jackal_state::jackalr_rotary_r(offs_t offset)
+uint8_t jackal_state::rotary_r(offs_t offset)
{
return (1 << m_dials[offset].read_safe(0x00)) ^ 0xff;
}
-void jackal_state::jackal_flipscreen_w(uint8_t data)
+void jackal_state::flipscreen_w(uint8_t data)
{
- m_irq_enable = data & 0x02;
- flip_screen_set(data & 0x08);
+ m_irq_enable = BIT(data, 1);
+ flip_screen_set(BIT(data, 3));
}
-uint8_t jackal_state::jackal_zram_r(offs_t offset)
+void jackal_state::rambank_w(uint8_t data)
{
- return m_rambank[0x0020 + offset];
-}
-
-
-uint8_t jackal_state::jackal_voram_r(offs_t offset)
-{
- return m_rambank[0x2000 + offset];
-}
-
-
-uint8_t jackal_state::jackal_spriteram_r(offs_t offset)
-{
- return m_spritebank[0x3000 + offset];
-}
-
-
-void jackal_state::jackal_rambank_w(uint8_t data)
-{
- uint8_t *rgn = memregion("master")->base();
-
if (data & 0x04)
- popmessage("jackal_rambank_w %02x", data);
+ popmessage("rambank_w %02x", data);
// all revisions flips the coin counter bit between 1 -> 0 five times, causing the bookkeeping to report 5 coins inserted.
// most likely solution in HW is a f/f that disables coin counters when any of the other bits are enabled.
@@ -130,56 +111,48 @@ void jackal_state::jackal_rambank_w(uint8_t data)
machine().bookkeeping().coin_counter_w(1, data & 0x02);
}
- m_spritebank = &rgn[((data & 0x08) << 13)];
- m_rambank = &rgn[((data & 0x10) << 12)];
- membank("bank1")->set_entry((data & 0x20) ? 1 : 0);
-}
-
-
-void jackal_state::jackal_zram_w(offs_t offset, uint8_t data)
-{
- m_rambank[0x0020 + offset] = data;
+ m_spritebank->set_entry(BIT(data, 3));
+ m_scrollbank->set_entry(BIT(data, 4));
+ m_videoview.select(BIT(data, 4));
+ m_mainbank->set_entry(BIT(data, 5));
}
-
-void jackal_state::jackal_voram_w(offs_t offset, uint8_t data)
+template <uint8_t Which>
+void jackal_state::voram_w(offs_t offset, uint8_t data)
{
if ((offset & 0xf800) == 0)
- jackal_mark_tile_dirty(offset & 0x3ff);
+ m_bg_tilemap->mark_tile_dirty(offset & 0x3ff);
- m_rambank[0x2000 + offset] = data;
+ m_videoram[Which][offset] = data;
}
-void jackal_state::jackal_spriteram_w(offs_t offset, uint8_t data)
-{
- m_spritebank[0x3000 + offset] = data;
-}
-
/*************************************
*
* Address maps
*
*************************************/
-void jackal_state::master_map(address_map &map)
+void jackal_state::main_map(address_map &map)
{
- map(0x0000, 0x0003).ram().share("videoctrl"); // scroll + other things
- map(0x0004, 0x0004).w(FUNC(jackal_state::jackal_flipscreen_w));
+ map(0x0000, 0x0003).ram().share(m_videoctrl); // scroll + other things
+ map(0x0004, 0x0004).w(FUNC(jackal_state::flipscreen_w));
map(0x0010, 0x0010).portr("DSW1");
map(0x0011, 0x0011).portr("IN1");
map(0x0012, 0x0012).portr("IN2");
map(0x0013, 0x0013).portr("IN0");
- map(0x0014, 0x0015).r(FUNC(jackal_state::jackalr_rotary_r));
+ map(0x0014, 0x0015).r(FUNC(jackal_state::rotary_r));
map(0x0018, 0x0018).portr("DSW2");
map(0x0019, 0x0019).w("watchdog", FUNC(watchdog_timer_device::reset_w));
- map(0x001c, 0x001c).w(FUNC(jackal_state::jackal_rambank_w));
- map(0x0020, 0x005f).rw(FUNC(jackal_state::jackal_zram_r), FUNC(jackal_state::jackal_zram_w)); // MAIN Z RAM,SUB Z RAM
- map(0x0060, 0x1fff).ram().share("share1"); // M COMMON RAM,S COMMON RAM
- map(0x2000, 0x2fff).rw(FUNC(jackal_state::jackal_voram_r), FUNC(jackal_state::jackal_voram_w)); // MAIN V O RAM,SUB V O RAM
- map(0x3000, 0x3fff).rw(FUNC(jackal_state::jackal_spriteram_r), FUNC(jackal_state::jackal_spriteram_w)); // MAIN V O RAM,SUB V O RAM
- map(0x4000, 0xbfff).bankr("bank1");
- map(0xc000, 0xffff).rom();
+ map(0x001c, 0x001c).w(FUNC(jackal_state::rambank_w));
+ map(0x0020, 0x005f).bankrw(m_scrollbank); // MAIN Z RAM,SUB Z RAM
+ map(0x0060, 0x1fff).ram().share("mainsub"); // M COMMON RAM,S COMMON RAM
+ map(0x2000, 0x2fff).view(m_videoview);
+ m_videoview[0](0x2000, 0x2fff).ram().share(m_videoram[0]).w(FUNC(jackal_state::voram_w<0>)); // MAIN V O RAM,SUB V O RAM
+ m_videoview[1](0x2000, 0x2fff).ram().share(m_videoram[1]).w(FUNC(jackal_state::voram_w<1>)); // MAIN V O RAM,SUB V O RAM
+ map(0x3000, 0x3fff).bankrw(m_spritebank); // MAIN V O RAM,SUB V O RAM
+ map(0x4000, 0xbfff).bankr(m_mainbank);
+ map(0xc000, 0xffff).rom().region("maincpu", 0);
}
void jackal_state::slave_map(address_map &map)
@@ -187,8 +160,8 @@ void jackal_state::slave_map(address_map &map)
map(0x2000, 0x2001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
map(0x4000, 0x43ff).ram().w(m_palette, FUNC(palette_device::write_indirect)).share("palette"); // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
map(0x6000, 0x605f).ram(); // SOUND RAM (Self test check 0x6000-605f, 0x7c00-0x7fff)
- map(0x6060, 0x7fff).ram().share("share1");
- map(0x8000, 0xffff).rom();
+ map(0x6060, 0x7fff).ram().share("mainsub");
+ map(0x8000, 0xffff).rom().region("slave", 0);
}
/*************************************
@@ -200,7 +173,7 @@ void jackal_state::slave_map(address_map &map)
static INPUT_PORTS_START( jackal )
PORT_START("DSW1")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
- /* "No Coin B" = coins produce sound, but no effect on coin counter */
+ // "No Coin B" = coins produce sound, but no effect on coin counter
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION( "SW2:1,2" )
@@ -253,10 +226,10 @@ static INPUT_PORTS_START( jackalr )
PORT_MODIFY("IN0")
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DIAL0") // player 1 8-way rotary control - converted in jackalr_rotary_r()
+ PORT_START("DIAL0") // player 1 8-way rotary control - converted in rotary_r()
PORT_BIT( 0xff, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(8) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_FULL_TURN_COUNT(8)
- PORT_START("DIAL1") // player 2 8-way rotary control - converted in jackalr_rotary_r()
+ PORT_START("DIAL1") // player 2 8-way rotary control - converted in rotary_r()
PORT_BIT( 0xff, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(8) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_FULL_TURN_COUNT(8)
INPUT_PORTS_END
@@ -271,7 +244,7 @@ static const gfx_layout charlayout =
{
8, 8,
RGN_FRAC(1,4),
- 8, /* 8 bits per pixel (!) */
+ 8, // 8 bits per pixel (!)
{ 0, 1, 2, 3, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+1, RGN_FRAC(1,2)+2, RGN_FRAC(1,2)+3 },
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
@@ -320,7 +293,7 @@ WRITE_LINE_MEMBER(jackal_state::vblank_irq)
{
if (state && m_irq_enable)
{
- m_mastercpu->set_input_line(0, HOLD_LINE);
+ m_maincpu->set_input_line(0, HOLD_LINE);
m_slavecpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
}
@@ -334,62 +307,54 @@ WRITE_LINE_MEMBER(jackal_state::vblank_irq)
void jackal_state::machine_start()
{
- uint8_t *ROM = memregion("master")->base();
-
- membank("bank1")->configure_entry(0, &ROM[0x04000]);
- membank("bank1")->configure_entry(1, &ROM[0x14000]);
- membank("bank1")->set_entry(0);
+ m_mainbank->configure_entries(0, 2, memregion("maincpu")->base() + 0x4000, 0x8000);
+ m_mainbank->set_entry(0);
save_item(NAME(m_irq_enable));
}
void jackal_state::machine_reset()
{
- uint8_t *rgn = memregion("master")->base();
-
// HACK: running at the nominal clock rate, music stops working
// at the beginning of the game. This fixes it.
m_slavecpu->set_clock_scale(1.5);
- m_rambank = rgn;
- m_spritebank = rgn;
-
m_irq_enable = 0;
}
void jackal_state::jackal(machine_config &config)
{
- /* basic machine hardware */
- MC6809E(config, m_mastercpu, MASTER_CLOCK/12); // verified on pcb
- m_mastercpu->set_addrmap(AS_PROGRAM, &jackal_state::master_map);
+ // basic machine hardware
+ MC6809E(config, m_maincpu, 18.432_MHz_XTAL / 12); // verified on pcb
+ m_maincpu->set_addrmap(AS_PROGRAM, &jackal_state::main_map);
- MC6809E(config, m_slavecpu, MASTER_CLOCK/12); // verified on pcb
+ MC6809E(config, m_slavecpu, 18.432_MHz_XTAL / 12); // verified on pcb
m_slavecpu->set_addrmap(AS_PROGRAM, &jackal_state::slave_map);
config.set_maximum_quantum(attotime::from_hz(6000));
WATCHDOG_TIMER(config, "watchdog");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(jackal_state::screen_update_jackal));
+ screen.set_screen_update(FUNC(jackal_state::screen_update));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(jackal_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_jackal);
- PALETTE(config, m_palette, FUNC(jackal_state::jackal_palette));
+ PALETTE(config, m_palette, FUNC(jackal_state::palette));
m_palette->set_format(palette_device::xBGR_555, 0x300, 0x200);
m_palette->set_endianness(ENDIANNESS_LITTLE);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- YM2151(config, "ymsnd", SOUND_CLOCK).add_route(0, "lspeaker", 0.50).add_route(1, "rspeaker", 0.50); // verified on pcb
+ YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "lspeaker", 0.50).add_route(1, "rspeaker", 0.50); // verified on pcb
}
/*************************************
@@ -398,106 +363,102 @@ void jackal_state::jackal(machine_config &config)
*
*************************************/
-ROM_START( jackal ) /* 8-Way Joystick: You can only shoot in one direction regardless of travel - up the screen */
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "631_v02.15d", 0x04000, 0x8000, CRC(0b7e0584) SHA1(e4019463345a4c020d5a004c9a400aca4bdae07b) )
- ROM_CONTINUE( 0x14000, 0x8000 )
- ROM_LOAD( "631_v03.16d", 0x0c000, 0x4000, CRC(3e0dfb83) SHA1(5ba7073751eee33180e51143b348256597909516) )
+ROM_START( jackal ) // 8-Way Joystick: You can only shoot in one direction regardless of travel - up the screen
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "631_v03.16d", 0x00000, 0x04000, CRC(3e0dfb83) SHA1(5ba7073751eee33180e51143b348256597909516) )
+ ROM_LOAD( "631_v02.15d", 0x04000, 0x10000, CRC(0b7e0584) SHA1(e4019463345a4c020d5a004c9a400aca4bdae07b) )
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "631_t01.11d", 0x8000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "631_t01.11d", 0x0000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) /* Silkscreened MASK1M */
-
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
- ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
- ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
+ ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) // Silkscreened MASK1M
+
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
+ ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) // MMI 63S141AN or compatible (silkscreened 6301)
+ ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) // MMI 63S141AN or compatible (silkscreened 6301)
ROM_END
-ROM_START( jackalr ) /* Rotary Joystick: Shot direction is controlled via the rotary function of the joystick */
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "631_q02.15d", 0x04000, 0x8000, CRC(ed2a7d66) SHA1(3d9b31fa8b31e509880d617feb0dd4bd9790d2d5) )
- ROM_CONTINUE( 0x14000, 0x8000 )
- ROM_LOAD( "631_q03.16d", 0x0c000, 0x4000, CRC(b9d34836) SHA1(af23a0c844fb9e60a757511ca898d73eef4c2e51) )
+ROM_START( jackalr ) // Rotary Joystick: Shot direction is controlled via the rotary function of the joystick
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "631_q03.16d", 0x00000, 0x04000, CRC(b9d34836) SHA1(af23a0c844fb9e60a757511ca898d73eef4c2e51) )
+ ROM_LOAD( "631_q02.15d", 0x04000, 0x10000, CRC(ed2a7d66) SHA1(3d9b31fa8b31e509880d617feb0dd4bd9790d2d5) )
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "631_q01.11d", 0x8000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) )
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "631_q01.11d", 0x0000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) /* Silkscreened MASK1M */
- /* These roms are on a tiny riser board - two smaller roms instead of MASK1M roms */
+ ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) // Silkscreened MASK1M
+ // These roms are on a tiny riser board - two smaller roms instead of MASK1M roms
// ROM_LOAD16_BYTE( "631_q04.7h", 0x20000, 0x10000, CRC(0) SHA1(0) )
// ROM_LOAD16_BYTE( "631_q05.7h", 0x00000, 0x10000, CRC(0) SHA1(0) )
// ROM_LOAD16_BYTE( "631_q06.8h", 0x20001, 0x10000, CRC(0) SHA1(0) )
-// ROM_LOAD16_BYTE( "631_q07.8h", 0x00001, 0x10000, CRC(0) SHA1(0) ) /* 631 Q04 through 631 Q11 need to be redumped and verified. Should be the same data */
-// ROM_LOAD16_BYTE( "631_q08.12h", 0x40000, 0x10000, CRC(0) SHA1(0) ) /* until then we are going to use the standard MASK1M roms - Will fixed when dumped */
+// ROM_LOAD16_BYTE( "631_q07.8h", 0x00001, 0x10000, CRC(0) SHA1(0) ) // 631 Q04 through 631 Q11 need to be redumped and verified. Should be the same data
+// ROM_LOAD16_BYTE( "631_q08.12h", 0x40000, 0x10000, CRC(0) SHA1(0) ) // until then we are going to use the standard MASK1M roms - Will fixed when dumped
// ROM_LOAD16_BYTE( "631_q09.12h", 0x60000, 0x10000, CRC(0) SHA1(0) )
// ROM_LOAD16_BYTE( "631_q10.13h", 0x40001, 0x10000, CRC(0) SHA1(0) )
// ROM_LOAD16_BYTE( "631_q11.13h", 0x60001, 0x10000, CRC(0) SHA1(0) )
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
- ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
- ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
+ ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) // MMI 63S141AN or compatible (silkscreened 6301)
+ ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) // MMI 63S141AN or compatible (silkscreened 6301)
ROM_END
-ROM_START( topgunr ) /* 8-Way Joystick: You can only shoot in one direction regardless of travel - up the screen */
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "631_u02.15d", 0x04000, 0x8000, CRC(f7e28426) SHA1(db2d5f252a574b8aa4d8406a8e93b423fd2a7fef) )
- ROM_CONTINUE( 0x14000, 0x8000 )
- ROM_LOAD( "631_u03.16d", 0x0c000, 0x4000, CRC(c086844e) SHA1(4d6f27ac3aabb4b2d673aa619e407e417ad89337) )
+ROM_START( topgunr ) // 8-Way Joystick: You can only shoot in one direction regardless of travel - up the screen
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "631_u03.16d", 0x00000, 0x04000, CRC(c086844e) SHA1(4d6f27ac3aabb4b2d673aa619e407e417ad89337) )
+ ROM_LOAD( "631_u02.15d", 0x04000, 0x10000, CRC(f7e28426) SHA1(db2d5f252a574b8aa4d8406a8e93b423fd2a7fef) )
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "631_t01.11d", 0x8000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "631_t01.11d", 0x0000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "631u04.7h", 0x00000, 0x20000, CRC(50122a12) SHA1(c9e0132a3a40d9d28685c867c70231947d8a9cb7) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631u05.8h", 0x00001, 0x20000, CRC(6943b1a4) SHA1(40de2b434600ea4c8fb42e6b21be2c3705a55d67) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631u06.12h", 0x40000, 0x20000, CRC(37dbbdb0) SHA1(f94db780d69e7dd40231a75629af79469d957378) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631u07.13h", 0x40001, 0x20000, CRC(22effcc8) SHA1(4d174b0ce64def32050f87343c4b1424e0fef6f7) ) /* Silkscreened MASK1M */
-
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
- ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
- ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
+ ROM_LOAD16_BYTE( "631u04.7h", 0x00000, 0x20000, CRC(50122a12) SHA1(c9e0132a3a40d9d28685c867c70231947d8a9cb7) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631u05.8h", 0x00001, 0x20000, CRC(6943b1a4) SHA1(40de2b434600ea4c8fb42e6b21be2c3705a55d67) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631u06.12h", 0x40000, 0x20000, CRC(37dbbdb0) SHA1(f94db780d69e7dd40231a75629af79469d957378) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631u07.13h", 0x40001, 0x20000, CRC(22effcc8) SHA1(4d174b0ce64def32050f87343c4b1424e0fef6f7) ) // Silkscreened MASK1M
+
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
+ ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) // MMI 63S141AN or compatible (silkscreened 6301)
+ ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) // MMI 63S141AN or compatible (silkscreened 6301)
ROM_END
-ROM_START( jackalj ) /* 8-Way Joystick: You can only shoot in the direction you're traveling */
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "631_t02.15d", 0x04000, 0x8000, CRC(14db6b1a) SHA1(b469ea50aa94a2bda3bd0442300aa1272e5f30c4) )
- ROM_CONTINUE( 0x14000, 0x8000 )
- ROM_LOAD( "631_t03.16d", 0x0c000, 0x4000, CRC(fd5f9624) SHA1(2520c1ff54410ef498ecbf52877f011900baed4c) )
+ROM_START( jackalj ) // 8-Way Joystick: You can only shoot in the direction you're traveling
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "631_t03.16d", 0x00000, 0x04000, CRC(fd5f9624) SHA1(2520c1ff54410ef498ecbf52877f011900baed4c) )
+ ROM_LOAD( "631_t02.15d", 0x04000, 0x10000, CRC(14db6b1a) SHA1(b469ea50aa94a2bda3bd0442300aa1272e5f30c4) )
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "631_t01.11d", 0x8000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "631_t01.11d", 0x0000, 0x8000, CRC(b189af6a) SHA1(f7df996c394fdd6f2ce128a8df38d7838f7ec6d6) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) /* Silkscreened MASK1M */
- ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) /* Silkscreened MASK1M */
-
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
- ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
- ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) /* MMI 63S141AN or compatible (silkscreened 6301) */
+ ROM_LOAD16_BYTE( "631t04.7h", 0x00000, 0x20000, CRC(457f42f0) SHA1(08413a13d128875dddcf4f6ad302363096bf1d41) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t05.8h", 0x00001, 0x20000, CRC(732b3fc1) SHA1(7e89650b9e5e2b7ae82f8c55ac9995740f6fdfe1) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t06.12h", 0x40000, 0x20000, CRC(2d10e56e) SHA1(447b464ea725fb9ef87da067a41bcf463b427cce) ) // Silkscreened MASK1M
+ ROM_LOAD16_BYTE( "631t07.13h", 0x40001, 0x20000, CRC(4961c397) SHA1(b430df58fc3bb722d6fb23bed7d04afdb7e5d9c1) ) // Silkscreened MASK1M
+
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
+ ROM_LOAD( "631r08.9h", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) ) // MMI 63S141AN or compatible (silkscreened 6301)
+ ROM_LOAD( "631r09.14h", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) ) // MMI 63S141AN or compatible (silkscreened 6301)
ROM_END
ROM_START( jackalbl ) // This is based on jackalr. Was dumped from 2 different PCBs.
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "epr-a-3.bin", 0x04000, 0x8000, CRC(5fffee27) SHA1(224d5fd26dd1e0f15a3c99fd2fffbb76f641416e) ) // also found labeled "3.17"
- ROM_LOAD( "epr-a-2.bin", 0x0c000, 0x4000, CRC(ae2a290a) SHA1(e9bee75a02aef5cf330dccb9e7a45b0171a8c1d7) ) // also found labeled "2.20"
- ROM_LOAD( "epr-a-4.bin", 0x14000, 0x8000, CRC(976c8431) SHA1(c199f57c25380d741aec85b0e0bfb6acf383e6a6) ) // also found labeled "4.18"
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "epr-a-2.bin", 0x00000, 0x04000, CRC(ae2a290a) SHA1(e9bee75a02aef5cf330dccb9e7a45b0171a8c1d7) ) // also found labeled "2.20"
+ ROM_LOAD( "epr-a-3.bin", 0x04000, 0x08000, CRC(5fffee27) SHA1(224d5fd26dd1e0f15a3c99fd2fffbb76f641416e) ) // also found labeled "3.17"
+ ROM_LOAD( "epr-a-4.bin", 0x0c000, 0x08000, CRC(976c8431) SHA1(c199f57c25380d741aec85b0e0bfb6acf383e6a6) ) // also found labeled "4.18"
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "epr-a-1.bin", 0x8000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) ) // also found labeled "1.19"
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "epr-a-1.bin", 0x0000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) ) // also found labeled "1.19"
ROM_REGION( 0x80000, "gfx1", 0 )
- /* same data, different layout */
+ // same data, different layout
ROM_LOAD16_WORD_SWAP( "epr-a-17.bin", 0x00000, 0x08000, CRC(a96720b6) SHA1(d3c2a1848fa9d9d1232e58e412bdd69032fe2c83) ) // also found labeled "17.5"
ROM_LOAD16_WORD_SWAP( "epr-a-18.bin", 0x08000, 0x08000, CRC(932d0ecb) SHA1(20bf789f45c5b3ba90012e1a945523236578a014) ) // also found labeled "18.6"
ROM_LOAD16_WORD_SWAP( "epr-a-19.bin", 0x10000, 0x08000, CRC(1e3412e7) SHA1(dc0be23d6c89b7b131c3bd5cd117123e5f9d971c) ) // also found labeled "19.7"
@@ -515,11 +476,11 @@ ROM_START( jackalbl ) // This is based on jackalr. Was dumped from 2 different P
ROM_LOAD16_WORD_SWAP( "epr-a-11.bin", 0x70000, 0x08000, CRC(a48e9f60) SHA1(6d5af16c16b40fb092fdba6dce852b94ac4767f4) ) // also found labeled "11.15"
ROM_LOAD16_WORD_SWAP( "epr-a-12.bin", 0x78000, 0x08000, CRC(79b7c71c) SHA1(8510226114ab9098ec48e02840465fc8b69b5262) ) // also found labeled "12.16"
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
ROM_LOAD( "n82s129n.prom2", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) )
ROM_LOAD( "n82s129n.prom1", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) )
- ROM_REGION( 0x1000, "pals", 0 ) /* currently not used by the emulation */
+ ROM_REGION( 0x1000, "pals", 0 ) // currently not used by the emulation
ROM_LOAD( "pal16r6cn.pal1", 0x0000, 0x0104, CRC(9bba948f) SHA1(5f42568489f16f8b3719eb2ec178e7c61d7ce25f) )
ROM_LOAD( "ampal16l8pc.pal2", 0x0200, 0x0104, CRC(17c9de2f) SHA1(2db42618f9ca1174bdcdbf92ea91ebc1a79bc6d2) )
ROM_LOAD( "ampal16r4pc.pal3", 0x0400, 0x0104, CRC(e54cd288) SHA1(5b8ae5a2a4a9ec3fab603b063fd18c96dd1fd0cf) )
@@ -530,17 +491,17 @@ ROM_START( jackalbl ) // This is based on jackalr. Was dumped from 2 different P
ROM_LOAD( "d5c121.ep1200", 0x0e00, 0x0200, NO_DUMP ) // not dumped yet
ROM_END
-ROM_START( topgunbl ) /* Rotary Joystick: Shot direction is controlled via the Rotary function of the joystick */
- ROM_REGION( 0x20000, "master", 0 ) /* Banked 64k for 1st CPU */
- ROM_LOAD( "t-3.c5", 0x04000, 0x8000, CRC(7826ad38) SHA1(875e87867924905b9b83bc203eb7ffe81cf72233) )
- ROM_LOAD( "t-4.c4", 0x14000, 0x8000, CRC(976c8431) SHA1(c199f57c25380d741aec85b0e0bfb6acf383e6a6) ) /* == 2nd half of 631_q02.15d */
- ROM_LOAD( "t-2.c6", 0x0c000, 0x4000, CRC(d53172e5) SHA1(44b7f180c17f9a121a2f06f2d3471920a8989e21) )
+ROM_START( topgunbl ) // Rotary Joystick: Shot direction is controlled via the Rotary function of the joystick
+ ROM_REGION( 0x14000, "maincpu", 0 ) // Banked 64k for 1st CPU
+ ROM_LOAD( "t-2.c6", 0x00000, 0x04000, CRC(d53172e5) SHA1(44b7f180c17f9a121a2f06f2d3471920a8989e21) )
+ ROM_LOAD( "t-3.c5", 0x04000, 0x08000, CRC(7826ad38) SHA1(875e87867924905b9b83bc203eb7ffe81cf72233) )
+ ROM_LOAD( "t-4.c4", 0x0c000, 0x08000, CRC(976c8431) SHA1(c199f57c25380d741aec85b0e0bfb6acf383e6a6) ) // == 2nd half of 631_q02.15d
- ROM_REGION( 0x10000, "slave", 0 ) /* 64k for 2nd cpu (Graphics & Sound)*/
- ROM_LOAD( "t-1.c14", 0x8000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) ) /* == 631_q01.11d */
+ ROM_REGION( 0x8000, "slave", 0 ) // 64k for 2nd cpu (Graphics & Sound)
+ ROM_LOAD( "t-1.c14", 0x0000, 0x8000, CRC(54aa2d29) SHA1(ebc6b3a5db5120cc33d62e3213d0e881f658282d) ) // == 631_q01.11d
ROM_REGION( 0x80000, "gfx1", 0 )
- /* same data, different layout */
+ // same data, different layout
ROM_LOAD16_WORD_SWAP( "t-17.n12", 0x00000, 0x08000, CRC(e8875110) SHA1(73f4c47ab039dce8c285bf222253084c860c95bf) )
ROM_LOAD16_WORD_SWAP( "t-18.n13", 0x08000, 0x08000, CRC(cf14471d) SHA1(896aa8d7c93f837f6661d30bd0d6e19d16669107) )
ROM_LOAD16_WORD_SWAP( "t-19.n14", 0x10000, 0x08000, CRC(46ee5dd2) SHA1(1a910984a197af341f13b4683babee857aafb245) )
@@ -558,7 +519,7 @@ ROM_START( topgunbl ) /* Rotary Joystick: Shot direction is controlled via the R
ROM_LOAD16_WORD_SWAP( "t-11.n6", 0x70000, 0x08000, CRC(7895c22d) SHA1(c81ae51116fb32ac99d37eb7c2000c990d089b8d) )
ROM_LOAD16_WORD_SWAP( "t-12.n7", 0x78000, 0x08000, CRC(15606dfc) SHA1(829492da49dbe70f81d15237803c5203aa011957) )
- ROM_REGION( 0x0200, "proms", 0 ) /* color lookup tables */
+ ROM_REGION( 0x0200, "proms", 0 ) // color lookup tables
ROM_LOAD( "631r08.bpr", 0x0000, 0x0100, CRC(7553a172) SHA1(eadf1b4157f62c3af4602da764268df954aa0018) )
ROM_LOAD( "631r09.bpr", 0x0100, 0x0100, CRC(a74dd86c) SHA1(571f606f8fc0fd3d98d26761de79ccb4cc9ab044) )
ROM_END
diff --git a/src/mame/drivers/jackie.cpp b/src/mame/drivers/jackie.cpp
index 7225da72082..bd923d3a109 100644
--- a/src/mame/drivers/jackie.cpp
+++ b/src/mame/drivers/jackie.cpp
@@ -49,7 +49,7 @@ Note
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "machine/timer.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/jackpot.cpp b/src/mame/drivers/jackpot.cpp
index fc2090269f4..37c51b69290 100644
--- a/src/mame/drivers/jackpot.cpp
+++ b/src/mame/drivers/jackpot.cpp
@@ -40,7 +40,7 @@ In the same period Electronic Projects also released games on different platform
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "sound/ay8910.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "video/mc6845.h"
class jackpot_state : public driver_device
diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp
index 3ce224f0ad9..9f01dddc5a8 100644
--- a/src/mame/drivers/joctronic.cpp
+++ b/src/mame/drivers/joctronic.cpp
@@ -450,7 +450,7 @@ ROM_START(jpinball)
ROM_LOAD("joctronic_pb.ic6", 0x0000, 0x4000, CRC(5a1415a7) SHA1(cdf036bd1816907b7bb905189482c56bde38c228))
ROM_REGION(0x4000, "soundcpu", 0)
- ROM_LOAD("joctronic_pb.ic8s", 0x0000, 0x4000, BAD_DUMP CRC(22ca95fe) SHA1(71fe4e522ca478b57f081f096f5e6b79a9cdff00)) // has stuck bits
+ ROM_LOAD("joctronic_pb.ic8s", 0x0000, 0x4000, CRC(34a08640) SHA1(0b01eaea262d4d3bb168264e58ebde804452060e))
ROM_END
/*-------------------------------------------------------------------
diff --git a/src/mame/drivers/joystand.cpp b/src/mame/drivers/joystand.cpp
index 89dace8130b..cb7b3cb9bd4 100644
--- a/src/mame/drivers/joystand.cpp
+++ b/src/mame/drivers/joystand.cpp
@@ -100,7 +100,7 @@ TODO:
#include "machine/msm6242.h"
#include "machine/tmp68301.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/jpmimpctsw.cpp b/src/mame/drivers/jpmimpctsw.cpp
index 6dda86badac..0f3f0682f7a 100644
--- a/src/mame/drivers/jpmimpctsw.cpp
+++ b/src/mame/drivers/jpmimpctsw.cpp
@@ -59,7 +59,8 @@
#include "j6hapyhrb.lh"
#include "j6impuls.lh"
#include "j6impuls15.lh"
-#include "j6indyi.lh"
+#include "j6indy6.lh"
+#include "j6indy8.lh"
#include "j6kungfu.lh"
#include "j6kfc.lh"
#include "j6megbck.lh"
@@ -1410,7 +1411,7 @@ INPUT_PORTS_START( j6reelmn )
// TODO: more possibilities than this, this just allows it to boot
// this one doesn't alarm with bad settings, but instead shows nothing
- PORT_INCLUDE( j6_jackpot_10 )
+ PORT_INCLUDE( j6_jackpot_15 )
PORT_INCLUDE( j6_stake_20 )
PORT_MODIFY("J10_2")
@@ -11714,11 +11715,11 @@ GAMEL( 199?, j6casczm, j6cascz, impact_nonvideo, j6cascz, jpmimpct_state,
// all of these identify as Casino Crazy and have the same text strings as above? however they do spin 6 reels instead, while the above spin 4
// the VFD is not visible in the artwork for these, so was the game simply built on top of Casino Crazy without removing the VFD messages?
-GAMEL( 199?, j6reelmn, 0, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 1)", GAME_FLAGS, layout_j6reelmn )
-GAMEL( 199?, j6reelmna, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 2)", GAME_FLAGS, layout_j6reelmn )
-GAMEL( 199?, j6reelmnb, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 3)", GAME_FLAGS, layout_j6reelmn ) // doesn't display anything
-GAMEL( 199?, j6reelmnc, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (set 4)", GAME_FLAGS, layout_j6reelmn )
-GAMEL( 199?, j6reelmnd, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 7) (set 5)", GAME_FLAGS, layout_j6reelmn )
+GAMEL( 199?, j6reelmn, 0, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 1)", GAME_FLAGS_WORKING, layout_j6reelmn )
+GAMEL( 199?, j6reelmna, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 2)", GAME_FLAGS_WORKING, layout_j6reelmn )
+GAMEL( 199?, j6reelmnb, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 3)", GAME_FLAGS_WORKING, layout_j6reelmn )
+GAMEL( 199?, j6reelmnc, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 9) (set 4)", GAME_FLAGS_WORKING, layout_j6reelmn )
+GAMEL( 199?, j6reelmnd, j6reelmn, impact_nonvideo, j6reelmn, jpmimpct_state, empty_init, ROT0, "JPM", "Reel Money (JPM) (IMPACT) (RE 7) (set 5)", GAME_FLAGS, layout_j6reelmn ) //error 5.5
GAME( 199?, j6casclb, 0, impact_nonvideo, j6casclb, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Club (JPM) (IMPACT) (set 1)", GAME_FLAGS )
GAME( 199?, j6casclba, j6casclb, impact_nonvideo, j6casclb, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Club (JPM) (IMPACT) (set 2)", GAME_FLAGS )
@@ -11797,18 +11798,18 @@ GAMEL( 199?, j6impulsf, j6impuls, impact_nonvideo, j6impulsa,jpmimpct_state
// not the same layout or button mapping as the above, but same attract strings?
GAME( 199?, j6impls, 0, impact_nonvideo, j6impls, jpmimpct_state, empty_init, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS )
-GAMEL( 199?, j6indy, 0, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6indyi )//requires dual lamping components
-GAMEL( 199?, j6indya, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyb, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 3)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyc, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 4)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyd, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 5)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indye, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 6)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyf, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 7)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyg, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 8)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyh, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 9)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyi, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 10)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyj, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 11)", GAME_FLAGS, layout_j6indyi )
-GAMEL( 199?, j6indyk, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 12)", GAME_FLAGS, layout_j6indyi )
+GAMEL( 199?, j6indy, 0, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ6 L11) (set 1)", GAME_FLAGS_WORKING, layout_j6indy6 )
+GAMEL( 199?, j6indya, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ6P L11) (set 2, Protocol)", GAME_FLAGS_WORKING, layout_j6indy6 )
+GAMEL( 199?, j6indyb, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ6 I L11) (set 3)", GAME_FLAGS_WORKING, layout_j6indy6 )
+GAMEL( 199?, j6indyc, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ6A AL13) (set 4)", GAME_FLAGS_WORKING, layout_j6indy6 )
+GAMEL( 199?, j6indyd, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ6AP AL13) (set 5, Protocol)", GAME_FLAGS_WORKING, layout_j6indy6 )
+GAMEL( 199?, j6indye, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ8 L18) (set 6)", GAME_FLAGS_WORKING, layout_j6indy8)
+GAMEL( 199?, j6indyf, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ8P L18) (set 7, Protocol)", GAME_FLAGS_WORKING, layout_j6indy8 )
+GAMEL( 199?, j6indyg, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ8 AL18) (set 8)", GAME_FLAGS_WORKING, layout_j6indy8 )
+GAMEL( 199?, j6indyh, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ8 I L18) (set 9)", GAME_FLAGS_WORKING, layout_j6indy8 )
+GAMEL( 199?, j6indyi, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ11 L22) (set 10)", GAME_FLAGS_WORKING, layout_j6indy8 )
+GAMEL( 199?, j6indyj, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ11P L22) (set 11, Protocol)", GAME_FLAGS_WORKING, layout_j6indy8 )
+GAMEL( 199?, j6indyk, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (IJ11 AL22) (set 12)", GAME_FLAGS_WORKING, layout_j6indy8 )
GAME( 199?, j6jungfv, 0, impact_nonvideo, j6jungfv, jpmimpct_state, empty_init, ROT0, "Ace", "Jungle Fever (Ace) (IMPACT)", GAME_FLAGS )
@@ -11997,8 +11998,8 @@ GAMEL( 199?, j6untch, 0, impact_nonvideo, j6untch, jpmimpct_state,
GAMEL( 199?, j6untcha, j6untch, impact_nonvideo, j6untch, jpmimpct_state, empty_init, ROT0, "JPM", "Untouchable (JPM) (IMPACT) (UN3BI LO6)", GAME_FLAGS_WORKING, layout_j6untch )
// VFD issues, but VFD is likely unused as it calls the game 'Some Indeterminate Club Machine' with clear placeholder text
-GAMEL( 199?, j6wldkng, 0, impact_nonvideo, j6wldkng, jpmimpct_state, empty_init, ROT0, "JPM", "Wild King Club (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6wldkng ) //Needs 16seg scripting for LED
-GAMEL( 199?, j6wldknga, j6wldkng, impact_nonvideo, j6wldkng, jpmimpct_state, empty_init, ROT0, "JPM", "Wild King Club (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6wldkng )
+GAMEL( 199?, j6wldkng, 0, impact_nonvideo, j6wldkng, jpmimpct_state, empty_init, ROT0, "JPM", "Wild King Club (JPM) (IMPACT) (WK 5) (set 1)", GAME_FLAGS_WORKING, layout_j6wldkng )
+GAMEL( 199?, j6wldknga, j6wldkng, impact_nonvideo, j6wldkng, jpmimpct_state, empty_init, ROT0, "JPM", "Wild King Club (JPM) (IMPACT) (WK 5P) (set 2, Protocol)", GAME_FLAGS_WORKING, layout_j6wldkng )
GAME( 199?, j6wildw, 0, impact_nonvideo, j6wildw, jpmimpct_state, empty_init, ROT0, "Ace", "Wild West (Ace) (IMPACT) (set 1)", GAME_FLAGS )
GAME( 199?, j6wildwa, j6wildw, impact_nonvideo, j6wildw, jpmimpct_state, empty_init, ROT0, "Ace", "Wild West (Ace) (IMPACT) (set 2)", GAME_FLAGS )
@@ -12530,7 +12531,7 @@ GAME( 199?, j6tbrdclj, j6tbrdcl, impact_nonvideo, j6tbrdclg,jpmimpct_state
GAME( 199?, j6tbrdclk, j6tbrdcl, impact_nonvideo, j6tbrdcl, jpmimpct_state, empty_init, ROT0, "JPM", "Thunderbirds Club (JPM) (IMPACT) (set 12)", GAME_FLAGS )
GAME( 199?, j6tbrdcll, j6tbrdcl, impact_nonvideo, j6tbrdcl, jpmimpct_state, empty_init, ROT0, "JPM", "Thunderbirds Club (JPM) (IMPACT) (set 13)", GAME_FLAGS )
-GAMEL( 199?, j6tomb, 0, impact_nonvideo, j6tomb, jpmimpct_state, empty_init, ROT0, "JPM", "Tomb Raider (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6tombc )
+GAMEL( 199?, j6tomb, 0, impact_nonvideo, j6tomb, jpmimpct_state, empty_init, ROT0, "JPM", "Tomb Raider (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6tombc ) //inputs
GAMEL( 199?, j6tomba, j6tomb, impact_nonvideo, j6tomb, jpmimpct_state, empty_init, ROT0, "JPM", "Tomb Raider (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6tombc )
GAMEL( 199?, j6tombb, j6tomb, impact_nonvideo, j6tomb, jpmimpct_state, empty_init, ROT0, "JPM", "Tomb Raider (JPM) (IMPACT) (set 3)", GAME_FLAGS, layout_j6tombc )
GAMEL( 199?, j6tombc, j6tomb, impact_nonvideo, j6tomb, jpmimpct_state, empty_init, ROT0, "JPM", "Tomb Raider (JPM) (IMPACT) (set 4)", GAME_FLAGS, layout_j6tombc )
@@ -12541,7 +12542,7 @@ GAMEL( 199?, j6tombg, j6tomb, impact_nonvideo, j6tomb, jpmimpct_state,
GAMEL( 199?, j6topflg, 0, impact_nonvideo, j6topflg, jpmimpct_state, empty_init, ROT0, "Ace", "Top Flight (Ace) (IMPACT)", GAME_FLAGS, layout_j6topflg )
-GAMEL( 199?, j6twst, 0, impact_nonvideo, j6twst, jpmimpct_state, empty_init, ROT0, "Ace", "Twister (Ace) (IMPACT) (set 1)", GAME_FLAGS, layout_j6twst )
+GAMEL( 199?, j6twst, 0, impact_nonvideo, j6twst, jpmimpct_state, empty_init, ROT0, "Ace", "Twister (Ace) (IMPACT) (set 1)", GAME_FLAGS, layout_j6twst ) //inputs
GAMEL( 199?, j6twsta, j6twst, impact_nonvideo, j6twst, jpmimpct_state, empty_init, ROT0, "Ace", "Twister (Ace) (IMPACT) (set 2)", GAME_FLAGS, layout_j6twst )
GAMEL( 199?, j6twstb, j6twst, impact_nonvideo, j6twst, jpmimpct_state, empty_init, ROT0, "Ace", "Twister (Ace) (IMPACT) (set 3)", GAME_FLAGS, layout_j6twst )
GAMEL( 199?, j6twstc, j6twst, impact_nonvideo, j6twst, jpmimpct_state, empty_init, ROT0, "Ace", "Twister (Ace) (IMPACT) (set 4)", GAME_FLAGS, layout_j6twst )
@@ -12797,8 +12798,8 @@ GAME( 199?, j6svndb, 0, impact_nonvideo, jpmimpct_non_video_input
GAME( 199?, j6fifth, 0, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "Ace", "5th Dimension (Ace) (IMPACT)", GAME_FLAGS )
// shows 'IMPACT'
-GAMEL( 199?, j6indyge, j6indy, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT, German set 1)", GAME_FLAGS, layout_j6indyi ) // was marked as Sys5 'Indy 500' but is clearly IMPACT and has Indiana Jones / Holy Grail strings (might be a different game to the english set)
-GAMEL( 199?, j6indyge2, j6indy, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT, German set 2)", GAME_FLAGS, layout_j6indyi )
+GAMEL( 199?, j6indyge, j6indy, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT, German set 1)", GAME_FLAGS, layout_j6indy8 ) // was marked as Sys5 'Indy 500' but is clearly IMPACT and has Indiana Jones / Holy Grail strings (might be a different game to the english set)
+GAMEL( 199?, j6indyge2, j6indy, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT, German set 2)", GAME_FLAGS, layout_j6indy8 )
// shows 'IMPACT'
GAME( 199?, j6jkrgld, 0, impact_nonvideo, jpmimpct_non_video_inputs, jpmimpct_state, empty_init, ROT0, "JPM", "Jokers Gold (JPM) (IMPACT)", GAME_FLAGS )
diff --git a/src/mame/drivers/karnov.cpp b/src/mame/drivers/karnov.cpp
index b8a5fcfcea2..3191309173d 100644
--- a/src/mame/drivers/karnov.cpp
+++ b/src/mame/drivers/karnov.cpp
@@ -83,9 +83,8 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/m6502/m6502.h"
#include "machine/input_merger.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/kikikai.cpp b/src/mame/drivers/kikikai.cpp
index e945c4665e7..a3913fe8686 100644
--- a/src/mame/drivers/kikikai.cpp
+++ b/src/mame/drivers/kikikai.cpp
@@ -8,8 +8,6 @@ KiKi KaiKai - (c) 1987 Taito
Kick & Run - (c) 1987 Taito
+ Mexico 86 (bootleg with 68705)
-
-
Ernesto Corvi
ernesto@imagina.com
@@ -128,6 +126,13 @@ void kikikai_state::kicknrun_sub_cpu_map(address_map &map)
map(0xc004, 0xc004).w(FUNC(kikikai_state::kicknrun_sub_output_w));
}
+void kikikai_state::mcu_map(address_map &map)
+{
+ map(0x0000, 0x0007).m(m_mcu, FUNC(m6801_cpu_device::m6801_io));
+ map(0x0040, 0x00ff).ram(); // internal
+ map(0xf000, 0xffff).rom();
+}
+
/*************************************
*
* Input ports
@@ -586,7 +591,6 @@ void kikikai_state::base(machine_config &config)
m_audiocpu->set_addrmap(AS_PROGRAM, &kikikai_state::sound_map);
m_audiocpu->set_vblank_int("screen", FUNC(kikikai_state::irq0_line_hold));
-
Z80(config, m_subcpu, 8000000/2); /* 4 MHz, Uses 8Mhz OSC */
m_subcpu->set_addrmap(AS_PROGRAM, &kikikai_state::kicknrun_sub_cpu_map);
m_subcpu->set_vblank_int("screen", FUNC(kikikai_state::irq0_line_hold));
@@ -615,22 +619,6 @@ void kikikai_state::base(machine_config &config)
m_ymsnd->add_route(3, "mono", 1.00);
}
-
-
-void kikikai_state::mcu_map(address_map &map)
-{
- map(0x0000, 0x0000).rw(FUNC(kikikai_state::kikikai_mcu_ddr1_r), FUNC(kikikai_state::kikikai_mcu_ddr1_w));
- map(0x0001, 0x0001).rw(FUNC(kikikai_state::kikikai_mcu_ddr2_r), FUNC(kikikai_state::kikikai_mcu_ddr2_w));
- map(0x0002, 0x0002).rw(FUNC(kikikai_state::kikikai_mcu_port1_r), FUNC(kikikai_state::kikikai_mcu_port1_w));
- map(0x0003, 0x0003).rw(FUNC(kikikai_state::kikikai_mcu_port2_r), FUNC(kikikai_state::kikikai_mcu_port2_w));
- map(0x0004, 0x0004).rw(FUNC(kikikai_state::kikikai_mcu_ddr3_r), FUNC(kikikai_state::kikikai_mcu_ddr3_w));
- map(0x0005, 0x0005).rw(FUNC(kikikai_state::kikikai_mcu_ddr4_r), FUNC(kikikai_state::kikikai_mcu_ddr4_w));
- map(0x0006, 0x0006).rw(FUNC(kikikai_state::kikikai_mcu_port3_r), FUNC(kikikai_state::kikikai_mcu_port3_w));
- map(0x0007, 0x0007).rw(FUNC(kikikai_state::kikikai_mcu_port4_r), FUNC(kikikai_state::kikikai_mcu_port4_w));
- map(0x0040, 0x00ff).ram();
- map(0xf000, 0xffff).rom();
-}
-
void kikikai_state::kicknrun(machine_config& config)
{
base(config);
@@ -641,6 +629,12 @@ void kikikai_state::kicknrun(machine_config& config)
M6801(config, m_mcu, XTAL(4'000'000)); // actually 6801U4 - xtal is 4MHz, divided by 4 internally
m_mcu->set_addrmap(AS_PROGRAM, &kikikai_state::mcu_map);
+ m_mcu->in_p1_cb().set_ioport("IN0");
+ m_mcu->out_p1_cb().set(FUNC(kikikai_state::kikikai_mcu_port1_w));
+ m_mcu->out_p2_cb().set(FUNC(kikikai_state::kikikai_mcu_port2_w));
+ m_mcu->out_p3_cb().set(FUNC(kikikai_state::kikikai_mcu_port3_w));
+ m_mcu->in_p3_cb().set(FUNC(kikikai_state::kikikai_mcu_port3_r));
+ m_mcu->out_p4_cb().set(FUNC(kikikai_state::kikikai_mcu_port4_w));
config.set_perfect_quantum(m_maincpu);
@@ -696,7 +690,7 @@ ROM_START( kikikai )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "a85-11.f6", 0x0000, 0x8000, CRC(cc3539db) SHA1(4239a40fdee65cba613e4b4ec54cf7899480e366) )
- ROM_REGION( 0x0800, "mcu", 0 ) /* 2k for the microcontroller (MC6801U4 type MCU) */
+ ROM_REGION( 0x0800, "mcu", 0 ) /* 4k for the microcontroller (MC6801U4 type MCU) */
/* MCU labeled TAITO A85 01, JPH1020P, 185, PS4 */
ROM_LOAD( "a85-01.g8", 0x0000, 0x0800, NO_DUMP )
@@ -745,7 +739,7 @@ ROM_START( kicknrun )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "a87-06.f6", 0x0000, 0x8000, CRC(1625b587) SHA1(7336384e13c114915de5e439df5731ce3fc2054a) )
- ROM_REGION( 0x10000, "mcu", 0 ) /* 2k for the microcontroller (MC6801U4 type MCU) */
+ ROM_REGION( 0x10000, "mcu", 0 ) /* 4k for the microcontroller (MC6801U4 type MCU) */
ROM_LOAD( "a87-01_jph1021p.h8", 0xf000, 0x1000, CRC(9451e880) SHA1(e9a505296108645f99449d391d0ebe9ac1b9984e) ) /* MCU labeled TAITO A87-01, JPH1021P, 185, PS4 */
ROM_REGION( 0x10000, "sub", 0 ) /* 64k for the cpu on the sub board */
@@ -776,7 +770,7 @@ ROM_START( kicknrunu )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "a87-06.f6", 0x0000, 0x8000, CRC(1625b587) SHA1(7336384e13c114915de5e439df5731ce3fc2054a) )
- ROM_REGION( 0x10000, "mcu", 0 ) /* 2k for the microcontroller (MC6801U4 type MCU) */
+ ROM_REGION( 0x10000, "mcu", 0 ) /* 4k for the microcontroller (MC6801U4 type MCU) */
ROM_LOAD( "a87-01_jph1021p.h8", 0xf000, 0x1000, CRC(9451e880) SHA1(e9a505296108645f99449d391d0ebe9ac1b9984e) ) /* MCU labeled TAITO A87-01, JPH1021P, 185, PS4 */
ROM_REGION( 0x10000, "sub", 0 ) /* 64k for the cpu on the sub board */
diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp
index a19e70d21cb..9def53dfc3b 100644
--- a/src/mame/drivers/kingdrby.cpp
+++ b/src/mame/drivers/kingdrby.cpp
@@ -78,7 +78,7 @@ sg1_b.e1 4096 0x92ef3c13 D2732D
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/mc6845.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/kminus.cpp b/src/mame/drivers/kminus.cpp
new file mode 100644
index 00000000000..711b603ba43
--- /dev/null
+++ b/src/mame/drivers/kminus.cpp
@@ -0,0 +1,337 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/*******************************************************************************
+
+ Kyber Minus
+
+*******************************************************************************/
+
+#include "emu.h"
+#include "cpu/z80/z80.h"
+#include "machine/keyboard.h"
+#include "machine/z80ctc.h"
+#include "machine/z80pio.h"
+#include "machine/z80sio.h"
+#include "machine/wd_fdc.h"
+#include "video/mc6845.h"
+#include "bus/rs232/rs232.h"
+#include "imagedev/floppy.h"
+#include "screen.h"
+#include "softlist.h"
+
+class kminus_state : public driver_device
+{
+public:
+ kminus_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_chargen(*this, "chargen")
+ , m_videoram(*this, "videoram")
+ , m_fdc(*this, "fdc")
+ , m_floppy(*this, "fdc:%u", 0U)
+ , m_view(*this, "bootview")
+ { }
+
+ void kminus(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+private:
+ MC6845_UPDATE_ROW(update_row);
+
+ void mem_map(address_map &map);
+ void io_map(address_map &map);
+
+ required_device<z80_device> m_maincpu;
+ required_region_ptr<uint8_t> m_chargen;
+ required_shared_ptr<uint8_t> m_videoram;
+ required_device<fd1793_device> m_fdc;
+ required_device_array<floppy_connector, 2> m_floppy;
+ floppy_image_device *m_selected_floppy;
+
+ memory_view m_view;
+
+ uint8_t pio1_pa_r();
+ void pio1_pa_w(uint8_t data);
+ uint8_t pio1_pb_r();
+ void pio1_pb_w(uint8_t data);
+
+ void kbd_put(uint8_t data);
+ uint8_t kbd_r();
+ uint8_t m_kbd_data;
+};
+
+
+MC6845_UPDATE_ROW(kminus_state::update_row)
+{
+ uint32_t *p = &bitmap.pix(y);
+
+ for (int column = 0; column < x_count; column++)
+ {
+ uint8_t chr = m_videoram[(ma + column) & 0x7ff];
+ uint16_t addr = (chr << 4) | (ra & 0x0f);
+ uint16_t data = m_chargen[(0x800 | addr) & 0xfff];
+ //uint16_t data = m_chargen[addr & 0xfff];
+
+ if (column == cursor_x)
+ {
+ data = 0xff;
+ }
+
+ for (int bit = 0; bit < 8; bit++)
+ {
+ *p++ = BIT(data, 0) ? rgb_t::white() : rgb_t::black();
+ data >>= 1;
+ }
+ }
+}
+
+
+void kminus_state::mem_map(address_map &map)
+{
+ map(0x0000, 0xffff).view(m_view);
+ m_view[0](0x0000, 0x0fff).rom().region("maincpu", 0).mirror(0xf000);
+ m_view[1](0x0000, 0xffff).ram();
+ m_view[1](0xc000, 0xc7ff).ram().share("videoram");
+ m_view[1](0xf000, 0xffff).rom().region("maincpu", 0);
+}
+
+void kminus_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x40, 0x43).rw("dart", FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
+ map(0x48, 0x4b).rw("pio0", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0x50, 0x53).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+ map(0x58, 0x5b).rw("pio1", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0x60, 0x63).rw("fdc", FUNC(fd1793_device::read), FUNC(fd1793_device::write));
+ map(0x68, 0x6f).noprw(); // sel1
+ map(0x70, 0x77).noprw(); // sel2
+ map(0x78, 0x78).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x79, 0x79).w("crtc", FUNC(mc6845_device::register_w));
+ map(0x7a, 0x7a).r("crtc", FUNC(mc6845_device::status_r));
+ map(0x7b, 0x7b).r("crtc", FUNC(mc6845_device::register_r));
+ map(0x7c, 0x7c).lr8([]() { return 0x00; }, "ready"); //22 s3 r: b7 15 s4, b1 printer ready? w: printer data?
+ //map(0x7d, 0x7d).w(); // 9 s4 video out chargen related? writes 0x10
+ map(0x7e, 0x7e).lw8([this](uint8_t data) { logerror("enable_ram: %02x\n", data); m_view.select(1); }, "enable_ram_w"); // 13 s4 write $03 enable video ram? bits 3,1,0 vram [b1 vram
+ map(0x7f, 0x7f).r(FUNC(kminus_state::kbd_r)); // 17 s5 kbd
+}
+
+
+uint8_t kminus_state::pio1_pa_r()
+{
+ /*
+
+ bit signal description
+
+ 2 WPRT write protect
+ 3 READY ready
+ 4 FD2S disk is two sided
+ 5 IP index pulse
+ 6 INTRQ
+ 7 DRQ
+
+ */
+
+ uint8_t data = 0x00;
+
+ if (m_selected_floppy)
+ {
+ data |= m_selected_floppy->wpt_r() << 2;
+ data |= m_selected_floppy->ready_r() << 3;
+ data |= m_selected_floppy->twosid_r() << 4;
+ data |= m_selected_floppy->idx_r() << 5;
+ }
+
+ data |= m_fdc->intrq_r() ? 0x00 : 0x40;
+ data |= m_fdc->drq_r() ? 0x00 : 0x80;
+
+ logerror("pio_pa_r: %02x\n", data);
+
+ return data;
+}
+
+void kminus_state::pio1_pa_w(uint8_t data)
+{
+ /*
+
+ bit signal description
+
+ 0 ? wd1000 hard controller
+ 1 ? wd1000 hard controller
+
+ */
+
+ logerror("pio_pa_w: %02x\n", data);
+}
+
+uint8_t kminus_state::pio1_pb_r()
+{
+ /*
+
+ bit signal description
+
+ 4 TG43 track > 43
+ 6 F5/F8 5.25"/8" select
+
+ */
+
+ uint8_t data = 0x40;
+
+ logerror("pio_pb_r: %02x\n", data);
+
+ return data;;
+}
+
+void kminus_state::pio1_pb_w(uint8_t data)
+{
+ /*
+
+ bit signal description
+
+ 0 DS0 drive select 0
+ 1 DS1 drive select 1
+ 2 DS2 drive select 2
+ 3 DS3 drive select 3
+ 5 DDEN density select
+ 7 SIDE1 side 1 select
+
+ */
+
+ // drive select
+ if (BIT(data, 0)) m_selected_floppy = m_floppy[0]->get_device();
+ if (BIT(data, 1)) m_selected_floppy = m_floppy[1]->get_device();
+ if (BIT(data, 2)) m_selected_floppy = nullptr; // floppy 2
+ if (BIT(data, 3)) m_selected_floppy = nullptr; // floppy 3
+
+ m_fdc->set_floppy(m_selected_floppy);
+
+ // density select
+ m_fdc->dden_w(BIT(data, 5));
+
+ if (m_selected_floppy)
+ {
+ // side select
+ m_selected_floppy->ss_w(!BIT(data, 7));
+ m_selected_floppy->mon_w(0);
+ }
+
+ logerror("pio_pb_w: %02x\n", data);
+}
+
+
+void kminus_state::kbd_put(uint8_t data)
+{
+ //data &= 0x7f;
+ /* allow backspace to work */
+ //if (data == 8) data = 0x7f;
+ // assert strobe
+ m_kbd_data = data;
+}
+
+uint8_t kminus_state::kbd_r()
+{
+ uint8_t data = m_kbd_data;
+
+ m_kbd_data = 0x00;
+
+ return data;
+}
+
+
+void kminus_state::machine_start()
+{
+ save_item(NAME(m_kbd_data));
+}
+
+void kminus_state::machine_reset()
+{
+ m_view.select(0);
+}
+
+
+static const z80_daisy_config daisy_chain[] =
+{
+ { "pio1" },
+ { "dart" },
+ { "pio0" },
+ { "ctc" },
+ { nullptr }
+};
+
+void kminus_state::kminus(machine_config &config)
+{
+ Z80(config, m_maincpu, 3.6864_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &kminus_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &kminus_state::io_map);
+ m_maincpu->set_daisy_config(daisy_chain);
+
+ z80pio_device &pio0(Z80PIO(config, "pio0", 3.6864_MHz_XTAL));
+ pio0.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+
+ z80pio_device &pio1(Z80PIO(config, "pio1", 3.6864_MHz_XTAL));
+ pio1.in_pa_callback().set(FUNC(kminus_state::pio1_pa_r));
+ pio1.out_pa_callback().set(FUNC(kminus_state::pio1_pa_w));
+ pio1.in_pb_callback().set(FUNC(kminus_state::pio1_pb_r));
+ pio1.out_pb_callback().set(FUNC(kminus_state::pio1_pb_w));
+ pio1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+
+ z80ctc_device &ctc(Z80CTC(config, "ctc", 3.6864_MHz_XTAL));
+ ctc.zc_callback<0>().set("dart", FUNC(z80dart_device::txca_w));
+ ctc.zc_callback<0>().append("dart", FUNC(z80dart_device::rxca_w));
+ ctc.zc_callback<1>().set("dart", FUNC(z80dart_device::txca_w));
+ ctc.zc_callback<2>().set("dart", FUNC(z80dart_device::rxtxcb_w));
+ ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+
+ z80dart_device &dart(Z80DART(config, "dart", 3.6864_MHz_XTAL));
+ dart.out_txda_callback().set("terminal", FUNC(rs232_port_device::write_txd));
+ dart.out_dtra_callback().set("terminal", FUNC(rs232_port_device::write_dtr));
+ dart.out_rtsa_callback().set("terminal", FUNC(rs232_port_device::write_rts));
+ dart.out_txdb_callback().set("serial", FUNC(rs232_port_device::write_txd));
+ dart.out_dtrb_callback().set("serial", FUNC(rs232_port_device::write_dtr));
+ dart.out_rtsb_callback().set("serial", FUNC(rs232_port_device::write_rts));
+ dart.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+
+ rs232_port_device &rs232a(RS232_PORT(config, "terminal", default_rs232_devices, nullptr));
+ rs232a.rxd_handler().set("dart", FUNC(z80dart_device::rxa_w));
+
+ rs232_port_device &rs232b(RS232_PORT(config, "serial", default_rs232_devices, nullptr));
+ rs232b.rxd_handler().set("dart", FUNC(z80dart_device::rxb_w));
+
+ generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
+ keyboard.set_keyboard_callback(FUNC(kminus_state::kbd_put));
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(26_MHz_XTAL / 2, 840, 0, 640, 309, 0, 250);
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+
+ mc6845_device &crtc(MC6845(config, "crtc", 26_MHz_XTAL / 16));
+ crtc.set_screen("screen");
+ crtc.set_char_width(8);
+ crtc.set_show_border_area(false);
+ crtc.set_update_row_callback(FUNC(kminus_state::update_row));
+
+ FD1793(config, m_fdc, 8_MHz_XTAL / 8);
+ m_fdc->ready_wr_callback().set("pio1", FUNC(z80pio_device::pa3_w));
+ m_fdc->intrq_wr_callback().set("pio1", FUNC(z80pio_device::pa6_w)).invert();
+ m_fdc->drq_wr_callback().set("pio1", FUNC(z80pio_device::pa7_w)).invert();
+ //m_fdc->set_force_ready(true);
+ FLOPPY_CONNECTOR(config, m_floppy[0], "525qd", FLOPPY_525_QD, true, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, m_floppy[1], "525qd", FLOPPY_525_QD, true, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+
+ //SOFTWARE_LIST(config, "flop_list").set_original("kminus_flop");
+}
+
+
+ROM_START(kminus)
+ ROM_REGION(0x1000, "maincpu", 0)
+ ROM_LOAD("kyberware_firmware.u83", 0x0000, 0x1000, CRC(fb7fa0b6) SHA1(7bc54743452d587e3b3ac3fcc088c2c979fa7c8e))
+
+ ROM_REGION(0x1000, "chargen", 0)
+ ROM_LOAD("kyberware_chargen.u24", 0x0000, 0x1000, CRC(18d9e79e) SHA1(e0a80dab109c0ac8b7f214d597955c97618208b3))
+ROM_END
+
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 1982, kminus, 0, 0, kminus, 0, kminus_state, empty_init, "Kyber Calcolatori", "Kyber Minus", MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/koftball.cpp b/src/mame/drivers/koftball.cpp
index 5b1a42d323e..9797bd79517 100644
--- a/src/mame/drivers/koftball.cpp
+++ b/src/mame/drivers/koftball.cpp
@@ -32,7 +32,7 @@ ft5_v6_c4.u58 /
#include "cpu/m68000/m68000.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/korgds8.cpp b/src/mame/drivers/korgds8.cpp
index 18fedea0b89..0bd438ab6cf 100644
--- a/src/mame/drivers/korgds8.cpp
+++ b/src/mame/drivers/korgds8.cpp
@@ -12,7 +12,7 @@
//#include "bus/midi/midi.h"
#include "cpu/upd7810/upd7810.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/hd44780.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/korgz3.cpp b/src/mame/drivers/korgz3.cpp
index f0ffd54d4a0..ed320dd709d 100644
--- a/src/mame/drivers/korgz3.cpp
+++ b/src/mame/drivers/korgz3.cpp
@@ -12,7 +12,7 @@
#include "machine/adc0808.h"
#include "machine/nvram.h"
#include "machine/pic8259.h"
-#include "sound/ym2151.h"
+#include "sound/ymopz.h"
#include "speaker.h"
class korgz3_state : public driver_device
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 6e6e5187b15..86ac99b9768 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -48,7 +48,7 @@
P Anime Champ 2000.12 GCA07 JA (no CD)
P Bass Angler 1998.03 GE765 JA 765 JA A02
P Bass Angler 2 1998.07 GC865 JA 865 JA A02
-P *DAM-DDR Dance Dance Revolution for DAM 1999.11
+P DAM-DDR Dance Dance Revolution for DAM 1999.11 GQ921 JB 921 JB B02
P *DAM-DDR Dance Dance Revolution for DAM 2nd 2000.07
A Dance Dance Revolution 1998.09 GC845 JA 845 JA(missing)/UA A01 / 845 JA A02
A Dance Dance Revolution Internet Ranking ver. 1998.11 GC845 JB 845 JB A01 / 845 JA/UA A02
@@ -359,6 +359,7 @@ G: gun mania only, drives air soft gun (this game uses real BB bullet)
#include "machine/k573mcr.h"
#include "machine/k573msu.h"
#include "machine/k573npu.h"
+#include "machine/k573kara.h"
#include "machine/mb89371.h"
#include "machine/ram.h"
#include "machine/timekpr.h"
@@ -509,6 +510,7 @@ public:
void gtfrk11m(machine_config &config);
void gtfrk10mb(machine_config &config);
void ddr(machine_config &config);
+ void ddrk(machine_config &config);
void pnchmn(machine_config &config);
void gtrfrk7m(machine_config &config);
void ddr3m(machine_config &config);
@@ -551,6 +553,7 @@ public:
void dmx(machine_config &config);
void drmn(machine_config &config);
void k573d(machine_config &config);
+ void k573k(machine_config &config);
void k573a(machine_config &config);
void pccard1_16mb(machine_config &config);
void pccard1_32mb(machine_config &config);
@@ -666,6 +669,7 @@ private:
void konami573_map(address_map &map);
void konami573a_map(address_map &map);
void konami573d_map(address_map &map);
+ void konami573k_map(address_map &map);
required_ioport m_analog0;
required_ioport m_analog1;
@@ -789,6 +793,12 @@ void ksys573_state::konami573d_map(address_map &map)
map(0x1f640000, 0x1f6400ff).m("k573dio", FUNC(k573dio_device::amap));
}
+void ksys573_state::konami573k_map(address_map &map)
+{
+ konami573_map(map);
+ map(0x1f640000, 0x1f6400ff).m("k573kara", FUNC(k573kara_device::amap));
+}
+
void ksys573_state::konami573a_map(address_map &map)
{
konami573_map(map);
@@ -2429,6 +2439,14 @@ void ksys573_state::k573d(machine_config &config)
KONAMI_573_DIGITAL_IO_BOARD(config, "k573dio", XTAL(19'660'800));
}
+// Variants with additional karaoke I/O board
+void ksys573_state::k573k(machine_config &config)
+{
+ konami573(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &ksys573_state::konami573k_map);
+ KONAMI_573_KARAOKE_IO_BOARD(config, "k573kara", XTAL(36'864'000));
+}
+
// Variants with additional analogue i/o board
void ksys573_state::k573a(machine_config &config)
{
@@ -2523,6 +2541,12 @@ void ksys573_state::ddr(machine_config &config)
cassx(config);
}
+void ksys573_state::ddrk(machine_config &config)
+{
+ k573k(config);
+ cassxi(config);
+}
+
void ksys573_state::ddr2mc2(machine_config &config)
{
k573a(config);
@@ -3094,6 +3118,33 @@ static INPUT_PORTS_START( ddrsolo )
PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNUSED ) /* P2 BUTTON6 */
INPUT_PORTS_END
+static INPUT_PORTS_START( ddrkara )
+ PORT_INCLUDE( konami573 )
+
+ PORT_MODIFY("IN1")
+ PORT_BIT(0x10000000, IP_ACTIVE_LOW, IPT_SERVICE1) PORT_NAME("Service/Select")
+
+ PORT_MODIFY("IN2")
+ PORT_BIT(0xffff6000, IP_ACTIVE_LOW, IPT_UNKNOWN)
+ PORT_BIT(0x00000f0f, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(ksys573_state, gn845pwbb_read)
+ PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_16WAY PORT_PLAYER(1) PORT_NAME("P1 Down 2")
+ PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_16WAY PORT_PLAYER(1) PORT_NAME("P1 Left 2")
+ PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Telop")
+ PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Mode")
+ PORT_BIT(0x00001000, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Level")
+ PORT_BIT(0x00008000, IP_ACTIVE_LOW, IPT_START1) PORT_NAME("Start")
+
+ PORT_MODIFY("IN3")
+ PORT_BIT(0xfffffbff, IP_ACTIVE_LOW, IPT_UNKNOWN)
+ PORT_SERVICE_NO_TOGGLE(0x00000400, IP_ACTIVE_LOW) PORT_NAME("Test")
+
+ PORT_START("STAGE")
+ PORT_BIT(0x00000100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_16WAY PORT_PLAYER(1)
+ PORT_BIT(0x00000200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT) PORT_16WAY PORT_PLAYER(1) /* multiplexor */
+ PORT_BIT(0x00000400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_16WAY PORT_PLAYER(1) /* multiplexor */
+ PORT_BIT(0x00000800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_16WAY PORT_PLAYER(1)
+INPUT_PORTS_END
+
static INPUT_PORTS_START( gtrfrks )
PORT_INCLUDE( konami573 )
@@ -3647,6 +3698,19 @@ ROM_START( ddra )
DISK_IMAGE_READONLY( "845aaa02", 0, SHA1(9b786de9b1085009c088de0d40425976c1f8df7b) )
ROM_END
+ROM_START( ddrkara )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0000224, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gq921jbb.u1", 0x000000, 0x000224, BAD_DUMP CRC(4c91aecf) SHA1(4b8318523d6691b2124afceafba78e6bac8ba75f) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gq921jbb.u6", 0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "921jbb02", 0, SHA1(32849007fe5527245a6cc2de38e73d60ae74eff0) )
+ROM_END
+
ROM_START( ddr2m )
SYS573_BIOS_A
@@ -5396,7 +5460,7 @@ ROM_START( pcnfrkk )
DISK_IMAGE_READONLY("881xxb02", 0, BAD_DUMP SHA1(9252ff1841584c06506f58c9a9cefbc82b32187d))
ROM_END
-ROM_START( pcnfrku )
+ROM_START( drmnu )
SYS573_BIOS_A
ROM_REGION( 0x0000224, "cassette:game:eeprom", 0 )
@@ -5418,6 +5482,25 @@ ROM_START( pcnfrk2m )
SYS573_BIOS_A
ROM_REGION( 0x0000224, "cassette:install:eeprom", 0 )
+ ROM_LOAD( "ge912aa.u1", 0x000000, 0x000224, BAD_DUMP CRC(22c34654) SHA1(8173bde15b2fb89a72752253d832e05074ae3484) )
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gn912aa.u1", 0x000000, 0x001014, BAD_DUMP CRC(431b76c8) SHA1(fc4b20ad05b09b127918ee24634984cfa3df3647) )
+
+ ROM_REGION( 0x000008, "cassette:install:id", 0 )
+ ROM_LOAD( "ge912aa.u6", 0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gn912aa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "912aaa02", 0, BAD_DUMP SHA1(0abc1c32c71c535ee2deb3e1fa574f1e723b97b0) )
+ROM_END
+
+ROM_START( pcnfrk2mk )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0000224, "cassette:install:eeprom", 0 )
ROM_LOAD( "ge912ka.u1", 0x000000, 0x000224, BAD_DUMP CRC(b3d5ca9a) SHA1(3dd9034e1a3a78a03bef975186b7ac6b01e3131a) )
ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
@@ -5437,6 +5520,25 @@ ROM_START( pcnfrk3m )
SYS573_BIOS_A
ROM_REGION( 0x0000224, "cassette:install:eeprom", 0 )
+ ROM_LOAD( "a23aaa.u1", 0x000000, 0x000224, BAD_DUMP CRC(01dfcff6) SHA1(c2c86074fcf82b75a7c7aa56cf6daaae1646443c) )
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gca23aa.u1", 0x000000, 0x001014, BAD_DUMP CRC(6b3fc1d4) SHA1(f8e58d4af3663914b8c0e94e7078b6360728edc1) )
+
+ ROM_REGION( 0x000008, "cassette:install:id", 0 )
+ ROM_LOAD( "a23aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gca23aa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "a23aaa02", 0, BAD_DUMP SHA1(aab3b2e1167f0b4ab101d77fa3bb25db8ab01437) )
+ROM_END
+
+ROM_START( pcnfrk3mk )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0000224, "cassette:install:eeprom", 0 )
ROM_LOAD( "a23kaa.u1", 0x000000, 0x000224, BAD_DUMP CRC(d71c4b5c) SHA1(3911c5dd933c30e6e44c8cf417bb4c284ecb4b80) )
ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
@@ -5467,7 +5569,7 @@ ROM_START( pcnfrk4m )
ROM_LOAD( "gea25aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
DISK_REGION( "cdrom0" )
- DISK_IMAGE_READONLY( "a25aaa02", 0, BAD_DUMP SHA1(72876091b753b9697c48f51cfd0c512c28e173a6) )
+ DISK_IMAGE_READONLY( "a25aaa02", 0, BAD_DUMP SHA1(cea168d38a4052ef5f30dc00a80529bbd8a31097) )
DISK_REGION( "multisession" )
DISK_IMAGE_READONLY( "a25aba02", 0, BAD_DUMP SHA1(eb8eed41c715f39a426433224671adc36d4b0262) )
@@ -5490,6 +5592,19 @@ ROM_START( pcnfrk5m )
SYS573_BIOS_A
ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcb05aaa.u1", 0x000000, 0x001014, BAD_DUMP CRC(db30ec65) SHA1(5c6c0906feda1400961a9214b2dcd3a8f498dc48) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcb05aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "b05aaa02", 0, SHA1(71e244ba03d6e761921c24f2a2ae5835f0a69021) )
+ROM_END
+
+ROM_START( pcnfrk5mk )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
ROM_LOAD( "gcb05kaa.u1", 0x000000, 0x001014, BAD_DUMP CRC(f2a0e121) SHA1(d6ffa3513885a78662bcac9db4f17f0c10951962) )
ROM_REGION( 0x000008, "cassette:game:id", 0 )
@@ -5499,6 +5614,81 @@ ROM_START( pcnfrk5m )
DISK_IMAGE_READONLY( "b05kaa02", 0, SHA1(10e7ca2b0d8ed29f5882cccd735b6d1cb13aca21) )
ROM_END
+ROM_START( pcnfrk6m )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcb16aaa.u1", 0x000000, 0x001014, BAD_DUMP CRC(da44cbd5) SHA1(aa64758524998c001791ffc4095b89e7ae1a6d8e) )
+
+ ROM_REGION( 0x200000, "29f016a.31m", 0 ) /* onboard flash */
+ ROM_LOAD( "gcb16aaa.31m", 0x000000, 0x200000, CRC(52c9334b) SHA1(2288f729611aefe93a470f8ef88a211582136e86) )
+ ROM_REGION( 0x200000, "29f016a.27m", 0 ) /* onboard flash */
+ ROM_LOAD( "gcb16aaa.27m", 0x000000, 0x200000, CRC(5696e133) SHA1(aad39cc25ce5279adac8a10fb10158f4f4418c0a) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcb16aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "b16aaa02", 0, BAD_DUMP SHA1(d268548e7cbfb22a8127509aeb84b4487b0e7460) )
+ROM_END
+
+ROM_START( pcnfrk7m )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcc07aaa.u1", 0x000000, 0x001014, BAD_DUMP CRC(9aa2480f) SHA1(d9e82294323500c8e9d6012d2fe0d033c3afd4d0) )
+
+ ROM_REGION( 0x200000, "29f016a.31m", 0 ) /* onboard flash */
+ ROM_LOAD( "gcc07aaa.31m", 0x000000, 0x200000, CRC(e32a680d) SHA1(fcdf8bc9ff2290350b2653588047c78ec6c5f4a8) )
+ ROM_REGION( 0x200000, "29f016a.27m", 0 ) /* onboard flash */
+ ROM_LOAD( "gcc07aaa.27m", 0x000000, 0x200000, CRC(49d27b57) SHA1(e62737fe8665d837c2cebd1dcf4577a021d8cdb1) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcc07aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "c07aaa02", 0, BAD_DUMP SHA1(3edb219d5fd7cf25c851fa02c7c1926c9e2baa02) )
+ROM_END
+
+ROM_START( pcnfrk8m )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcc38aaa.u1", 0x000000, 0x001014, BAD_DUMP CRC(98eba308) SHA1(46a58a747c2e5fc5889dca9f0f555740c4983a83) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcc38aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "c38aaa02", 0, SHA1(df1699e6216cfccf5ff0cad8ad2b66a8c4c8cfc9) )
+ROM_END
+
+ROM_START( pcnfrk9m )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcd09aba.u1", 0x000000, 0x001014, BAD_DUMP CRC(315336e6) SHA1(83bc64ef952460e28b5a7b237746e2813c9ce632) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcd09aba.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "d09aba02", 0, BAD_DUMP SHA1(a817d1c7fdb354b7d2d5c08f92a352c76a2b1a72) )
+ROM_END
+
+ROM_START( pcnfrk10m )
+ SYS573_BIOS_A
+
+ ROM_REGION( 0x0001014, "cassette:game:eeprom", 0 )
+ ROM_LOAD( "gcd40aca.u1", 0x000000, 0x001014, BAD_DUMP CRC(dec7f7a9) SHA1(d88e003faefe7ad41e2ba049a07188ec4243d932) )
+
+ ROM_REGION( 0x000008, "cassette:game:id", 0 )
+ ROM_LOAD( "gcd40aca.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
+
+ DISK_REGION( "cdrom0" )
+ DISK_IMAGE_READONLY( "d40aca02", 0, BAD_DUMP SHA1(3a23808e13b689f3ed2a1fa1ce541a4b82765d97) )
+ROM_END
+
ROM_START( pnchmn )
SYS573_BIOS_A
@@ -5640,6 +5830,7 @@ GAME( 1998, ddrj, dstage, ddr, ddr, ksys573_state, init_ddr,
GAME( 1998, ddrja, dstage, ddr, ddr, ksys573_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1998, ddrjb, dstage, ddr, ddr, ksys573_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, ddra, dstage, ddr, ddr, ksys573_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. AAA)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, ddrkara, dstage, ddrk, ddrkara, ksys573_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution Karaoke Mix (GQ921 VER. JBB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1998, fbait2bc, sys573, fbaitbc, fbaitbc, ksys573_state, empty_init, ROT0, "Konami", "Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB)", MACHINE_IMPERFECT_SOUND )
GAME( 1998, bassang2, fbait2bc, fbaitbc, fbaitbc, ksys573_state, empty_init, ROT0, "Konami", "Bass Angler 2 (GE865 VER. JAA)", MACHINE_IMPERFECT_SOUND )
GAME( 1998, hyperbbc, sys573, hyperbbc, hyperbbc, ksys573_state, init_hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ (GQ876 VER. EAA)", MACHINE_IMPERFECT_SOUND )
@@ -5663,7 +5854,7 @@ GAME( 1999, ddr2mc2, ddr2m, ddr2mc2, ddr, ksys573_state, init_ddr,
GAME( 1999, pcnfrk, sys573, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "Percussion Freaks (GQ881 VER. EAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, pcnfrka, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "Percussion Freaks (GQ881 VER. AAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, pcnfrkk, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "Percussion Freaks (GQ881 VER. KAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
-GAME( 1999, pcnfrku, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "Percussion Freaks (GQ881 VER. UAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
+GAME( 1999, drmnu, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "DrumMania (GQ881 VER. UAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, drmn, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "DrumMania (GQ881 VER. JAD)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, drmna, pcnfrk, drmn, drmn, ksys573_state, init_drmn, ROT0, "Konami", "DrumMania (GQ881 VER. JAD ALT CD)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, gtrfrk2m, sys573, gtrfrk2m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)", MACHINE_IMPERFECT_SOUND )
@@ -5681,7 +5872,8 @@ GAME( 1999, hypbbc2p, sys573, hypbbc2p, hypbbc2p, ksys573_state, init_hype
GAME( 1999, hypbbc2pk, hypbbc2p, hypbbc2p, hypbbc2p, ksys573_state, init_hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ - 2 Player (GX908 1999/08/24 VER. KAA)", MACHINE_IMPERFECT_SOUND )
GAME( 1999, dsfdct, sys573, dsfdct, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JCA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1999, dsfdcta, dsfdct, dsfdcta, ddr, ksys573_state, init_ddr, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JAA)", MACHINE_IMPERFECT_SOUND )
-GAME( 2000, pcnfrk2m, sys573, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 2nd Mix (GE912 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.5 */
+GAME( 2000, pcnfrk2m, sys573, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 2nd Mix (GE912 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.5 */
+GAME( 2000, pcnfrk2mk, pcnfrk2m, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 2nd Mix (GE912 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.5 */
GAME( 1999, drmn2m, pcnfrk2m, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 2nd Mix (GE912 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.5 */
GAME( 1999, drmn2mpu, pcnfrk2m, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.5 */
GAME( 1999, stepchmp, sys573, stepchmp, hyperbbc, ksys573_state, init_serlamp, ROT0, "Konami", "Step Champ (GQ930 VER. JA)", MACHINE_NO_SOUND )
@@ -5702,7 +5894,8 @@ GAME( 2000, pnchmn2, sys573, pnchmn2, pnchmn, ksys573_state, init_pnch
GAME( 2000, animechmp, sys573, animechmp, hyperbbc, ksys573_state, init_serlamp, ROT0, "Konami", "Anime Champ (GCA07 VER. JAA)", MACHINE_IMPERFECT_SOUND )
GAME( 2000, salarymc, sys573, salarymc, hypbbc2p, ksys573_state, init_serlamp, ROT0, "Konami", "Salary Man Champ (GCA18 VER. JAA)", MACHINE_IMPERFECT_SOUND )
GAME( 2000, ddr3mp, sys573, ddr3mp, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.6 */
-GAME( 2000, pcnfrk3m, sys573, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, pcnfrk3m, sys573, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, pcnfrk3mk, pcnfrk3m, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
GAME( 2000, drmn3m, pcnfrk3m, drmn2m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 3rd Mix (G*A23 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
GAME( 2000, gtrfrk4m, sys573, gtrfrk3m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 4th Mix (G*A24 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
GAME( 2000, ddr4m, sys573, ddr3mp, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.8 */
@@ -5715,33 +5908,39 @@ GAME( 2000, ddr4mp, sys573, ddr3mp, ddr, ksys573_state, empty_ini
GAME( 2000, ddr4mps, sys573, ddr4ms, ddrsolo, ksys573_state, empty_init, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2000, dmx2m, sys573, dmx, dmx, ksys573_state, empty_init, ROT0, "Konami", "Dance Maniax 2nd Mix (G*A39 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, pcnfrk4m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 4th Mix (G*A25 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, drmn4m, pcnfrk4m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 4th Mix (G*A25 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, pcnfrk4mk, pcnfrk4m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 4th Mix (G*A25 VER. KAA)", MACHINE_IMPERFECT_SOUND ) /* BOOT VER 1.9 */
+GAME( 2001, drmn4m, pcnfrk4m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 4th Mix (G*A25 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, gtrfrk5m, sys573, gtrfrk5m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 5th Mix (G*A26 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, ddr5m, sys573, ddr5m, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dance Dance Revolution 5th Mix (G*A27 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, dmx2majp, sys573, dmx, dmx, ksys573_state, empty_init, ROT0, "Konami", "Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, mamboagg, sys573, mamboagg, mamboagg, ksys573_state, empty_init, ROT0, "Konami", "Mambo A Go-Go (GQA40 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2001, mamboagga, mamboagg, mamboagga, mamboagg, ksys573_state, empty_init, ROT0, "Konami", "Mambo A Go-Go e-Amusement (GQA40 VER. JRB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2001, pcnfrk5m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 5th Mix (G*B05 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, pcnfrk5m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 5th Mix (G*B05 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, pcnfrk5mk, pcnfrk5m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 5th Mix (G*B05 VER. KAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, drmn5m, pcnfrk5m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 5th Mix (G*B05 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2001, gtrfrk6m, sys573, gtrfrk5m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 6th Mix (G*B06 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, drmn6m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 6th Mix (G*B16 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2001, pcnfrk6m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 6th Mix (G*B16 VER. AAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2001, drmn6m, pcnfrk6m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 6th Mix (G*B16 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2001, gtrfrk7m, sys573, gtrfrk7m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 7th Mix (G*B17 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2001, ddrmax, sys573, ddr5m, ddr, ksys573_state, empty_init, ROT0, "Konami", "DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2002, ddrmax2, sys573, ddr5m, ddr, ksys573_state, empty_init, ROT0, "Konami", "DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2002, mrtlbeat, sys573, ddr5m, ddr, ksys573_state, empty_init, ROT0, "Konami", "Martial Beat (G*B47 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.9 */
GAME( 2002, gbbchmp, sys573, gbbchmp, hyperbbc, ksys573_state, init_serlamp, ROT0, "Konami", "Great Bishi Bashi Champ (GBA48 VER. JAB)", MACHINE_IMPERFECT_SOUND )
-GAME( 2002, drmn7m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 7th Mix power-up ver. (G*C07 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, drmn7ma, drmn7m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 7th Mix (G*C07 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, pcnfrk7m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 7th Mix (G*C07 VER. AAA)", MACHINE_IMPERFECT_SOUND ) /* BOOT VER 1.95 */
+GAME( 2002, drmn7m, pcnfrk7m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 7th Mix power-up ver. (G*C07 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, drmn7ma, pcnfrk7m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 7th Mix (G*C07 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2002, gtrfrk8m, sys573, gtrfrk7m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2002, gtrfrk8ma, gtrfrk8m, gtrfrk7m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 8th Mix (G*C08 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2002, dsem2, sys573, dsem2, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dancing Stage Euro Mix 2 (G*C23 VER. EAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2002, ddrextrm, sys573, ddr5m, ddr, ksys573_state, empty_init, ROT0, "Konami", "Dance Dance Revolution Extreme (G*C36 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, drmn8m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 8th Mix (G*C07 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, pcnfrk8m, sys573, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 8th Mix (G*C38 VER. AAA)", MACHINE_IMPERFECT_SOUND ) /* BOOT VER 1.95 */
+GAME( 2003, drmn8m, pcnfrk8m, drmn4m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 8th Mix (G*C38 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2003, gtrfrk9m, sys573, gtrfrk7m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 9th Mix (G*C39 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, drmn9m, sys573, drmn9m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 9th Mix (G*D09 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, pcnfrk9m, sys573, drmn9m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 9th Mix eAmusement (G*D09 VER. ABA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, drmn9m, pcnfrk9m, drmn9m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 9th Mix (G*D09 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2003, gtfrk10m, sys573, gtfrk10m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2003, gtfrk10ma, gtfrk10m, gtfrk10m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2003, gtfrk10mb, gtfrk10m, gtfrk10mb, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
GAME( 2004, gtfrk11m, sys573, gtfrk11m, gtrfrks, ksys573_state, empty_init, ROT0, "Konami", "Guitar Freaks 11th Mix (G*D39 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2004, drmn10m, sys573, drmn10m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 10th Mix (G*D40 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2004, pcnfrk10m, sys573, drmn10m, drmn, ksys573_state, empty_init, ROT0, "Konami", "Percussion Freaks 10th Mix eAmusement (G*D40 VER. ACA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2004, drmn10m, pcnfrk10m,drmn10m, drmn, ksys573_state, empty_init, ROT0, "Konami", "DrumMania 10th Mix (G*D40 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* BOOT VER 1.95 */
diff --git a/src/mame/drivers/labyrunr.cpp b/src/mame/drivers/labyrunr.cpp
index ccb658480dc..d50d0164826 100644
--- a/src/mame/drivers/labyrunr.cpp
+++ b/src/mame/drivers/labyrunr.cpp
@@ -16,7 +16,7 @@
#include "cpu/m6809/hd6309.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -50,10 +50,10 @@ void labyrunr_state::labyrunr_map(address_map &map)
{
map(0x0000, 0x0007).w(m_k007121, FUNC(k007121_device::ctrl_w));
map(0x0020, 0x005f).ram().share("scrollram");
- map(0x0800, 0x0800).rw("ym1", FUNC(ym2203_device::read_port_r), FUNC(ym2203_device::write_port_w));
- map(0x0801, 0x0801).rw("ym1", FUNC(ym2203_device::status_port_r), FUNC(ym2203_device::control_port_w));
- map(0x0900, 0x0900).rw("ym2", FUNC(ym2203_device::read_port_r), FUNC(ym2203_device::write_port_w));
- map(0x0901, 0x0901).rw("ym2", FUNC(ym2203_device::status_port_r), FUNC(ym2203_device::control_port_w));
+ map(0x0800, 0x0800).rw("ym1", FUNC(ym2203_device::data_r), FUNC(ym2203_device::data_w));
+ map(0x0801, 0x0801).rw("ym1", FUNC(ym2203_device::status_r), FUNC(ym2203_device::address_w));
+ map(0x0900, 0x0900).rw("ym2", FUNC(ym2203_device::data_r), FUNC(ym2203_device::data_w));
+ map(0x0901, 0x0901).rw("ym2", FUNC(ym2203_device::status_r), FUNC(ym2203_device::address_w));
map(0x0a00, 0x0a00).portr("P2");
map(0x0a01, 0x0a01).portr("P1");
map(0x0b00, 0x0b00).portr("SYSTEM");
diff --git a/src/mame/drivers/ladybug.cpp b/src/mame/drivers/ladybug.cpp
index 4ca4f145fa2..fb66bf2408e 100644
--- a/src/mame/drivers/ladybug.cpp
+++ b/src/mame/drivers/ladybug.cpp
@@ -13,7 +13,6 @@ driver by Nicola Salmoria
Similar or bootleg PCB:
Dorodon (by Falcon)
- Space Raider
Memory map (preliminary)
@@ -51,65 +50,75 @@ TODO:
***************************************************************************/
-/*
- * Space Raider todo list:
- *
- * decode cpu#2 writes to port 0x30 and 0x38 - resistors for sound
- * decode cpu#2 writes to port 0x28-0x2f - ???
- * examine other bits from cpu#2 write to 0xe800
- * one unknown dip
- */
+/***************************************************************************
+
+Universal 8203-A + 8203-B PCB set
+
+Mrs. Dynamite
+Space Raider
+
+Space Raider also uses the Starfield generator board from Zero Hour,
+ Connected via flywires to these boards
+
+TODO:
+
+decode cpu#2 writes to port 0x30 and 0x38 - resistors for sound
+decode cpu#2 writes to port 0x28-0x2f - ???
+examine other bits from cpu#2 write to 0xe800
+unknown dips
+
+ ***************************************************************************/
#include "emu.h"
#include "includes/ladybug.h"
#include "cpu/z80/z80.h"
#include "machine/74259.h"
+#include "machine/latch8.h"
#include "sound/sn76496.h"
#include "screen.h"
#include "speaker.h"
#include <algorithm>
+// documentation TBD - 556 dual timer
+uint8_t mrsdyna_state::mrsdyna_rnd_r()
+{
+ return rand() % 4;
+}
-// Protection?
-uint8_t sraider_state::sraider_8005_r()
+// Protection - documentation TBD
+uint8_t mrsdyna_state::mrsdyna_protection_r()
{
// This must return X011111X or cpu #1 will hang
// see code at rst $10
return 0x3e;
}
-// Unknown IO
-void sraider_state::sraider_misc_w(offs_t offset, uint8_t data)
+// Unknown IO - documentation TBD
+void mrsdyna_state::mrsdyna_weird_w(offs_t offset, uint8_t data)
+{
+ // These 8 bits are stored in the LS259 latch at A7,
+ // and connected to all the select lines on 2 4066s at B7/C7
+ m_weird_value[offset & 7] = data & 1;
+}
+
+// documentation TBD
+void mrsdyna_state::mrsdyna_0x30_w(offs_t offset, uint8_t data)
{
- switch(offset)
- {
- // These 8 bits are stored in the latch at A7
- case 0x00:
- case 0x01:
- case 0x02:
- case 0x03:
- case 0x04:
- case 0x05:
- case 0x06:
- case 0x07:
- m_weird_value[offset & 7] = data & 1;
- break;
- // These 6 bits are stored in the latch at N7
- case 0x08:
- m_sraider_0x30 = data & 0x3f;
- break;
- // These 6 bits are stored in the latch at N8
- case 0x10:
- m_sraider_0x38 = data & 0x3f;
- break;
- default:
- logerror("(%s) write to %02X\n", machine().describe_context(), offset);
- break;
- }
+ // bits 0-2 select 4051s at M7 and M8
+ // bits 3-5 select 4051s at K7 and K8
+ m_0x30 = data & 0x3f;
}
+// documentation TBD
+void mrsdyna_state::mrsdyna_0x38_w(offs_t offset, uint8_t data)
+{
+ // These 6 bits are stored in the LS174 latch at N8
+ // bits 0-2 select 4051s at H7 and H8
+ // bits 3-5 select 4051s at E7 and E8
+ m_0x38 = data & 0x3f;
+}
void ladybug_state::ladybug_map(address_map &map)
{
@@ -135,42 +144,75 @@ void dorodon_state::decrypted_opcodes_map(address_map &map)
}
-void sraider_state::sraider_cpu1_map(address_map &map)
+void mrsdyna_state::mrsdyna_cpu1_map(address_map &map)
{
- map(0x0000, 0x5fff).rom();
- map(0x6000, 0x6fff).ram();
- map(0x7000, 0x73ff).w("video", FUNC(ladybug_video_device::spr_w));
- map(0x8005, 0x8005).r(FUNC(sraider_state::sraider_8005_r)); // protection check?
- map(0x8006, 0x8006).writeonly().share("sound_low");
- map(0x8007, 0x8007).writeonly().share("sound_high");
- map(0x9000, 0x9000).portr("IN0");
- map(0x9001, 0x9001).portr("IN1");
- map(0x9002, 0x9002).portr("DSW0");
- map(0x9003, 0x9003).portr("DSW1");
- map(0xd000, 0xd7ff).w("video", FUNC(ladybug_video_device::bg_w));
- map(0xe000, 0xe000).nopw(); //unknown 0x10 when in attract, 0x20 when coined/playing
+ // LS138 @ J4
+ map(0x0000, 0x5fff).rom(); // 2764s at R4, N4, and M4
+ // LS138 @ J4 and LS139 @ H4
+ map(0x6000, 0x6fff).ram(); // 6116s @ K3 & M3, also connected to clk on PAL K2 (16R6, U001)
+ map(0x7000, 0x73ff).w("video", FUNC(ladybug_video_device::spr_w)); // pin 29 on ribbon
+ //map(0x77ff, 0x7fff); // LS139 @ H4 pin7 is NC
+
+ // LS138 @ J4, Pin11 (0x8000-0x9fff) and
+ // LS138 @ N3 (bottom 3 bits)
+ // (all of these are read/write)
+ map(0x8005, 0x8005).mirror(0x1ff8).r(FUNC(mrsdyna_state::mrsdyna_protection_r)); // OE on PAL @ K2 (16R6, U001) (100x xxxx xxxx x101)
+ map(0x8006, 0x8006).mirror(0x1ff8).w("soundlatch_low", FUNC(latch8_device::write)); // LS374 @ P6
+ map(0x8007, 0x8007).mirror(0x1ff8).w("soundlatch_high", FUNC(latch8_device::write)); // LS374 @ R6
+ map(0x8000, 0x8000).mirror(0x1ff8).portr("IN0");
+ map(0x8001, 0x8001).mirror(0x1ff8).portr("IN1");
+ map(0x8002, 0x8002).mirror(0x1ff8).portr("DSW0");
+ map(0x8003, 0x8003).mirror(0x1ff8).portr("DSW1");
+ //map(0x8004, 0x8004).mirror(0x1ff8).portr("IN2"); // extra JAMMA pins
+ // LS138 @ J4, Pin10 (0xa000-0xbfff) // NC
+ // LS138 @ J4, Pin9 (0xc000-0xdfff)
+ map(0xd000, 0xd7ff).w("video", FUNC(ladybug_video_device::bg_w)); // pin 27 on ribbon
+ // LS138 @ J4, Pin7 (0xe000-0xffff)
+ map(0xe000, 0xe000).nopw(); //unknown 0x10 when in attract, 0x20 when coined/playing - disabled watchdog based on LS123 @ F4
+}
+
+void mrsdyna_state::mrsdyna_cpu2_map(address_map &map)
+{
+ // LS138 @ P7
+ map(0x0000, 0x5fff).rom(); // 2764s at H6,J6, and L6
+ map(0x6000, 0x63ff).mirror(0x0400).ram(); // 2x2114 @ M6/N6
+ map(0x8000, 0x8000).mirror(0x1fff).r("soundlatch_low", FUNC(latch8_device::read)); // LS374 @ P6
+ map(0xa000, 0xa000).mirror(0x1fff).r("soundlatch_high", FUNC(latch8_device::read)); // LS374 @ R6
+ map(0xc000, 0xc000).mirror(0x1fff).r(FUNC(mrsdyna_state::mrsdyna_rnd_r)); // LS125 @ P8 - reads 556 outputs to D1 and D0?
+ // LS138 @ P7 (nY7) and LS139 @ H4
+ map(0xe000, 0xe0ff).mirror(0x0300).writeonly().share("grid_data"); // HD6148P @ D6
+ map(0xe800, 0xefff).w(FUNC(mrsdyna_state::mrsdyna_io_w)); // LS273 @ D4
+ //map(0xf000, 0xf7ff) // NC
+ //map(0xf800, 0xffff) // NC
}
void sraider_state::sraider_cpu2_map(address_map &map)
{
- map(0x0000, 0x5fff).rom();
- map(0x6000, 0x63ff).ram();
- map(0x8000, 0x8000).readonly().share("sound_low");
- map(0xa000, 0xa000).readonly().share("sound_high");
- map(0xc000, 0xc000).nopr(); //some kind of sync
- map(0xe000, 0xe0ff).writeonly().share("grid_data");
- map(0xe800, 0xe800).w(FUNC(sraider_state::sraider_io_w));
+ // LS138 @ P7
+ map(0x0000, 0x5fff).rom(); // 2764s at H6, J6, and L6
+ map(0x6000, 0x63ff).mirror(0x0400).ram(); // 2x2114 @ M6/N6
+ map(0x8000, 0x8000).mirror(0x1fff).r("soundlatch_low", FUNC(latch8_device::read)); // LS374 @ P6
+ map(0xa000, 0xa000).mirror(0x1fff).r("soundlatch_high", FUNC(latch8_device::read)); // LS374 @ R6
+ map(0xc000, 0xc000).mirror(0x1fff).r(FUNC(sraider_state::mrsdyna_rnd_r)); // LS125 @ P8 - reads 556 outputs to D1 and D0?
+ // LS138 @ P7 (nY7) and LS139 @ H4
+ map(0xe000, 0xe0ff).mirror(0x0300).writeonly().share("grid_data"); // HD6148P @ D6
+ map(0xe800, 0xefff).w(FUNC(sraider_state::sraider_io_w)); // LS273 @ D4
+ //map(0xf000, 0xf7ff) // NC
+ //map(0xf800, 0xffff) // NC
}
-void sraider_state::sraider_cpu2_io_map(address_map &map)
+void mrsdyna_state::mrsdyna_cpu2_io_map(address_map &map)
{
map.global_mask(0xff);
- map(0x00, 0x00).w("sn1", FUNC(sn76489_device::write));
- map(0x08, 0x08).w("sn2", FUNC(sn76489_device::write));
- map(0x10, 0x10).w("sn3", FUNC(sn76489_device::write));
- map(0x18, 0x18).w("sn4", FUNC(sn76489_device::write));
- map(0x20, 0x20).w("sn5", FUNC(sn76489_device::write));
- map(0x28, 0x3f).w(FUNC(sraider_state::sraider_misc_w)); // lots unknown
+ // LS138 @ A8
+ map(0x00, 0x07).w("sn1", FUNC(sn76489_device::write)); // J214X2 @ N9
+ map(0x08, 0x0f).w("sn2", FUNC(sn76489_device::write)); // J214X2 @ M9
+ map(0x10, 0x17).w("sn3", FUNC(sn76489_device::write)); // J214X2 @ L9
+ map(0x18, 0x1f).w("sn4", FUNC(sn76489_device::write)); // J214X2 @ K9
+ map(0x20, 0x27).w("sn5", FUNC(sn76489_device::write)); // J214X2 @ J9
+ map(0x28, 0x2f).w(FUNC(sraider_state::mrsdyna_weird_w)); // LS259 @ A7 ************
+ map(0x30, 0x37).w(FUNC(sraider_state::mrsdyna_0x30_w)); // LS174 @ N7 ************
+ map(0x38, 0x3f).w(FUNC(sraider_state::mrsdyna_0x38_w)); // LS174 @ N8 ************
}
@@ -544,6 +586,82 @@ static INPUT_PORTS_START( dorodon )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, ladybug_state,coin2_inserted, 0)
INPUT_PORTS_END
+static INPUT_PORTS_START( mrsdyna )
+ PORT_START("IN0") /* IN0 */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // JAMMA PIN 12
+
+ PORT_START("IN1") /* IN1 */
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // VBLANK????
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
+
+ PORT_START("DSW0") /* DSW0 @ R3 via '244 @ R2 */
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW0:8")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW0:7")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "High Score Names" ) PORT_DIPLOCATION("SW0:6")
+ PORT_DIPSETTING( 0x00, "3 Letters" )
+ PORT_DIPSETTING( 0x04, "12 Letters" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW0:5")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW0:4")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW0:3")
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW0:1,2")
+ PORT_DIPSETTING( 0x00, "2" )
+ PORT_DIPSETTING( 0xc0, "3" )
+ PORT_DIPSETTING( 0x80, "4" )
+ PORT_DIPSETTING( 0x40, "5" )
+
+ /* Free Play setting works when it's set for both */
+ PORT_START("DSW1") /* DSW1 @ P3 via '244 @ P2 */
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:8,7,6,5")
+ /* settings 0x00 through 0x05 all give 1 Coin/1 Credit */
+ PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x0a, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x07, DEF_STR( 3C_2C ) )
+ PORT_DIPSETTING( 0x09, DEF_STR( 2C_2C ) )
+ PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,3,2,1")
+ /* settings 0x00 through 0x50 all give 1 Coin/1 Credit */
+ PORT_DIPSETTING( 0x60, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0xa0, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x70, DEF_STR( 3C_2C ) )
+ PORT_DIPSETTING( 0x90, DEF_STR( 2C_2C ) )
+ PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( sraider )
PORT_START("IN0") /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
@@ -553,7 +671,7 @@ static INPUT_PORTS_START( sraider )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // JAMMA PIN 12
PORT_START("IN1") /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
@@ -561,37 +679,37 @@ static INPUT_PORTS_START( sraider )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // VBLANK????
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_START("DSW0") /* DSW0 */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
+ PORT_START("DSW0") /* DSW0 @ R3 via '244 @ R2 */
+ PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW0:7,8")
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x04, 0x04, "High Score Names" )
+ PORT_DIPNAME( 0x04, 0x04, "High Score Names" ) PORT_DIPLOCATION("SW0:6")
PORT_DIPSETTING( 0x00, "3 Letters" )
PORT_DIPSETTING( 0x04, "10 Letters" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW0:5")
PORT_DIPSETTING( 0x08, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW0:4")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW0:3")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW0:1,2")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0xc0, "3" )
PORT_DIPSETTING( 0x80, "4" )
PORT_DIPSETTING( 0x40, "5" )
/* Free Play setting works when it's set for both */
- PORT_START("DSW1") /* DSW1 */
- PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
+ PORT_START("DSW1") /* DSW1 @ P3 via '244 @ P2 */
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:8,7,6,5")
/* settings 0x00 through 0x05 all give 1 Coin/1 Credit */
PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
@@ -604,7 +722,7 @@ static INPUT_PORTS_START( sraider )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,3,2,1")
/* settings 0x00 through 0x50 all give 1 Coin/1 Credit */
PORT_DIPSETTING( 0x60, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
@@ -630,16 +748,6 @@ static const gfx_layout charlayout =
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
8*8 /* every char takes 8 consecutive bytes */
};
-static const gfx_layout charlayout2 =
-{
- 8,8, /* 8*8 characters */
- 512, /* 512 characters */
- 2, /* 2 bits per pixel */
- { 0, 512*8*8 }, /* the two bitplanes are separated */
- { 7, 6, 5, 4, 3, 2, 1, 0 },
- { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8 /* every char takes 8 consecutive bytes */
-};
static const gfx_layout spritelayout =
{
@@ -692,7 +800,7 @@ static GFXDECODE_START( gfx_ladybug )
GFXDECODE_END
static GFXDECODE_START( gfx_sraider )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout2, 0, 8 )
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 8 )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 4*8, 16 )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout2, 4*8, 16 )
GFXDECODE_ENTRY( "gfx3", 0, gridlayout, 4*8+4*16+32, 1 )
@@ -700,23 +808,23 @@ static GFXDECODE_START( gfx_sraider )
GFXDECODE_END
-void sraider_state::machine_start()
+void mrsdyna_state::machine_start()
{
ladybug_base_state::machine_start();
save_item(NAME(m_grid_color));
- save_item(NAME(m_sraider_0x30));
- save_item(NAME(m_sraider_0x38));
+ save_item(NAME(m_0x30));
+ save_item(NAME(m_0x38));
save_item(NAME(m_weird_value));
}
-void sraider_state::machine_reset()
+void mrsdyna_state::machine_reset()
{
ladybug_base_state::machine_reset();
m_grid_color = 0;
- m_sraider_0x30 = 0;
- m_sraider_0x38 = 0;
+ m_0x30 = 0;
+ m_0x38 = 0;
std::fill(std::begin(m_weird_value), std::end(m_weird_value), 0);
}
@@ -755,17 +863,57 @@ void dorodon_state::dorodon(machine_config &config)
m_maincpu->set_addrmap(AS_OPCODES, &dorodon_state::decrypted_opcodes_map);
}
+void mrsdyna_state::mrsdyna(machine_config &config)
+{
+ /* basic machine hardware */
+ z80_device &maincpu(Z80(config, "maincpu", 4000000)); /* 4 MHz */
+ maincpu.set_addrmap(AS_PROGRAM, &mrsdyna_state::mrsdyna_cpu1_map);
+ maincpu.set_vblank_int("screen", FUNC(mrsdyna_state::irq0_line_hold));
+
+ LATCH8(config, "soundlatch_low");
+ LATCH8(config, "soundlatch_high");
+
+ z80_device &sub(Z80(config, "sub", 4000000)); /* 4 MHz */
+ sub.set_addrmap(AS_PROGRAM, &mrsdyna_state::mrsdyna_cpu2_map);
+ sub.set_addrmap(AS_IO, &mrsdyna_state::mrsdyna_cpu2_io_map);
+ sub.set_vblank_int("screen", FUNC(mrsdyna_state::irq0_line_hold));
+
+ /* video hardware */
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(9'828'000 / 2, 312, 8, 248, 262, 32, 224);
+ screen.set_screen_update(FUNC(mrsdyna_state::screen_update_mrsdyna));
+ //screen.screen_vblank().set(FUNC(sraider_state::screen_vblank_sraider));
+ screen.set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_ladybug);
+ PALETTE(config, m_palette, FUNC(mrsdyna_state::mrsdyna_palette), 4*8 + 4*16 + 32 + 2, 32 + 32 + 1);
+
+ LADYBUG_VIDEO(config, m_video, 4000000).set_gfxdecode_tag(m_gfxdecode);
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+
+ SN76489(config, "sn1", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+ SN76489(config, "sn2", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+ SN76489(config, "sn3", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+ SN76489(config, "sn4", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+ SN76489(config, "sn5", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+}
+
void sraider_state::sraider(machine_config &config)
{
/* basic machine hardware */
z80_device &maincpu(Z80(config, "maincpu", 4000000)); /* 4 MHz */
- maincpu.set_addrmap(AS_PROGRAM, &sraider_state::sraider_cpu1_map);
- maincpu.set_vblank_int("screen", FUNC(sraider_state::irq0_line_hold));
+ maincpu.set_addrmap(AS_PROGRAM, &sraider_state::mrsdyna_cpu1_map);
+ maincpu.set_vblank_int("screen", FUNC(mrsdyna_state::irq0_line_hold));
+
+ LATCH8(config, "soundlatch_low");
+ LATCH8(config, "soundlatch_high");
z80_device &sub(Z80(config, "sub", 4000000)); /* 4 MHz */
sub.set_addrmap(AS_PROGRAM, &sraider_state::sraider_cpu2_map);
- sub.set_addrmap(AS_IO, &sraider_state::sraider_cpu2_io_map);
- sub.set_vblank_int("screen", FUNC(sraider_state::irq0_line_hold));
+ sub.set_addrmap(AS_IO, &sraider_state::mrsdyna_cpu2_io_map);
+ sub.set_vblank_int("screen", FUNC(mrsdyna_state::irq0_line_hold));
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -966,6 +1114,34 @@ ROM_START( dorodon2 )
ROM_LOAD( "dorodon.bp2", 0x0040, 0x0020, CRC(27fa3a50) SHA1(7cf59b7a37c156640d6ea91554d1c4276c1780e0) ) /* timing?? */
ROM_END
+ROM_START( mrsdyna )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ // NOTE: Mrs. Dynamite returns ROM ERROR in test mode. It does an 8-bit checksum on these 3
+ // ROMs and computes 0xFF. The answer to pass the test is 0x00.
+ // THowever, these images were dumped twice, and seem to work fine.
+ ROM_LOAD( "mrsd-8203a-r4.f3", 0x0000, 0x2000, CRC(c944062c) SHA1(c61fc327d67595e601f6a7e5e337646f5f9d351b) )
+ ROM_LOAD( "mrsd-8203a-n4.f2", 0x2000, 0x2000, CRC(d1b9c7bb) SHA1(c139c8ae5b14924eb04a265095a7ab95ac5370af) )
+ ROM_LOAD( "mrsd-8203a-m4.f1", 0x4000, 0x2000, CRC(d25b1dfe) SHA1(f68c6fb2cda37fcffbe7c3c2a3cc5cb372c4101b) )
+
+ ROM_REGION( 0x10000, "sub", 0 )
+ ROM_LOAD( "mrsd-8203a-h6.f4", 0x0000, 0x2000, CRC(04f8617b) SHA1(64deef2269790d8460d0ad510548e178f0f61607) )
+ ROM_LOAD( "mrsd-8203a-j6.f5", 0x2000, 0x2000, CRC(1ffb5fc3) SHA1(e8fc7b95663a396ef7d46ba6ce24973a3c343381) )
+ ROM_LOAD( "mrsd-8203a-l6.f6", 0x4000, 0x2000, CRC(5a0f5030) SHA1(d1530230fe6c666f7920cb82cb47f5fcc7e1ecc8) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "mrsd-8203b-k6.f10", 0x0000, 0x1000, CRC(e33cb26e) SHA1(207fa986754f8d7cd0bb3e56fd271ee0c1990269) )
+ ROM_LOAD( "mrsd-8203b-l6.f11", 0x1000, 0x1000, CRC(a327ba05) SHA1(5eac27b48d14fec179919fe0902a6c7ada95f2b2) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "mrsd-8203b-m2.f7", 0x0000, 0x1000, CRC(a00ae797) SHA1(adff7f38870b7e8fa114886792a3acbb7a5726ab) )
+ ROM_LOAD( "mrsd-8203b-n2.f8", 0x1000, 0x1000, CRC(81f2bdbd) SHA1(45ee1d62462cfadf7d2c46767f03ccfb3c876c08) )
+
+ ROM_REGION( 0x0060, "proms", 0 )
+ ROM_LOAD( "mrsd-10-1.a2", 0x0000, 0x0020, CRC(4a819ad4) SHA1(d9072af7e52b506c1bcf8a327242d470eb240857) )
+ ROM_LOAD( "mrsd-10-2.l3", 0x0020, 0x0020, CRC(2d926a3a) SHA1(129fb60ce3df67614e39dcaac9c93f0652addbbb) )
+ ROM_LOAD( "mrsd-10-3.c1", 0x0040, 0x0020, CRC(27fa3a50) SHA1(7cf59b7a37c156640d6ea91554d1c4276c1780e0) ) /* ?? */
+ROM_END
+
ROM_START( sraider )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "sraid3.r4", 0x0000, 0x2000, CRC(0f389774) SHA1(c67596e6bf00175ff0a241506cd2f88114d05933) )
@@ -1013,4 +1189,5 @@ GAME( 1981, ladybugb2, ladybug, ladybug, ladybug, ladybug_state, empty_init,
GAME( 1981, snapjack, 0, ladybug, snapjack, ladybug_state, empty_init, ROT0, "Universal", "Snap Jack", MACHINE_SUPPORTS_SAVE )
GAME( 1982, dorodon, 0, dorodon, dorodon, dorodon_state, init_dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 1)", MACHINE_SUPPORTS_SAVE ) // license or bootleg?
GAME( 1982, dorodon2, dorodon, dorodon, dorodon, dorodon_state, init_dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 2)", MACHINE_SUPPORTS_SAVE ) // "
+GAME( 1982, mrsdyna, 0, mrsdyna, mrsdyna, mrsdyna_state, empty_init, ROT270, "Universal", "Mrs. Dynamite", MACHINE_SUPPORTS_SAVE )
GAME( 1982, sraider, 0, sraider, sraider, sraider_state, empty_init, ROT270, "Universal", "Space Raider", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lastbank.cpp b/src/mame/drivers/lastbank.cpp
index 42bf6d7a075..6c011d25d0e 100644
--- a/src/mame/drivers/lastbank.cpp
+++ b/src/mame/drivers/lastbank.cpp
@@ -21,7 +21,7 @@
#include "cpu/z80/z80.h"
#include "sound/es8712.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/tc009xlvc.h"
diff --git a/src/mame/drivers/lastduel.cpp b/src/mame/drivers/lastduel.cpp
index ece31b56d68..ab0391d49cc 100644
--- a/src/mame/drivers/lastduel.cpp
+++ b/src/mame/drivers/lastduel.cpp
@@ -126,7 +126,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/leapfrog_leappad.cpp b/src/mame/drivers/leapfrog_leappad.cpp
index 197b24d5547..87798e65ed9 100644
--- a/src/mame/drivers/leapfrog_leappad.cpp
+++ b/src/mame/drivers/leapfrog_leappad.cpp
@@ -217,6 +217,8 @@ ROM_START( ltleappad )
ROM_DEFAULT_BIOS("mar_10_2005")
ROM_SYSTEM_BIOS( 0, "mar_10_2005", "Mar 10 2005" )
ROMX_LOAD( "littletouchleappadbios.bin", 0x000000, 0x400000, CRC(13687b26) SHA1(6ec1a47aaef9c9ed134bb143c2631f4d89d7c236), ROM_BIOS(0) ) // contains "Mar 10 2005 07:01:53 152-11244" and "Copyright (c) 2002-2005 LeapFrog Enterprises, Inc."
+ ROM_SYSTEM_BIOS( 1, "germany", "Germany, Jan 11 2005" )
+ ROMX_LOAD( "leappad_little_touch_german.bin", 0x000000, 0x400000, CRC(39ee76a2) SHA1(34f1b6e075e10e14380d925944f4c84d068ec58e), ROM_BIOS(1) ) // contains "Jan 11 2005 10:45:42 152-11010 Full Base ROM: V1.0 - Germany"
ROM_END
// year, name, parent, compat, machine, input, class, init, company, fullname, flags
diff --git a/src/mame/drivers/leapfrog_leapster_explorer.cpp b/src/mame/drivers/leapfrog_leapster_explorer.cpp
new file mode 100644
index 00000000000..af34683cb9c
--- /dev/null
+++ b/src/mame/drivers/leapfrog_leapster_explorer.cpp
@@ -0,0 +1,108 @@
+// license:BSD-3-Clause
+// copyright-holders:David Haywood
+/******************************************************************************
+
+ LeapFrog Leapster Explorer
+
+ - runs Linux
+ - unknown ARM9 based SoC
+
+ Internal ROM not currently dumped, this file exists to reference the
+ Software List
+
+*******************************************************************************/
+
+#include "emu.h"
+
+#include "cpu/arm7/arm7.h"
+#include "cpu/arm7/arm7core.h"
+
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
+
+#include "screen.h"
+#include "softlist.h"
+#include "speaker.h"
+
+class leapfrog_leapster_explorer_state : public driver_device
+{
+public:
+ leapfrog_leapster_explorer_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_screen(*this, "screen")
+ , m_cart(*this, "cartslot")
+ , m_cart_region(nullptr)
+ { }
+
+ void leapfrog_leapster_explorer(machine_config &config);
+
+private:
+ virtual void machine_start() override;
+
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
+
+ required_device<cpu_device> m_maincpu;
+
+ required_device<screen_device> m_screen;
+ required_device<generic_slot_device> m_cart;
+ memory_region *m_cart_region;
+
+ uint32_t screen_update_innotab(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+};
+
+uint32_t leapfrog_leapster_explorer_state::screen_update_innotab(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+void leapfrog_leapster_explorer_state::machine_start()
+{
+ // if there's a cart, override the standard mapping
+ if (m_cart && m_cart->exists())
+ {
+ m_cart_region = memregion(std::string(m_cart->tag()) + GENERIC_ROM_REGION_TAG);
+ }
+}
+
+DEVICE_IMAGE_LOAD_MEMBER(leapfrog_leapster_explorer_state::cart_load)
+{
+ uint32_t size = m_cart->common_get_size("rom");
+
+ m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
+ m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
+
+ return image_init_result::PASS;
+}
+
+static INPUT_PORTS_START( leapfrog_leapster_explorer )
+INPUT_PORTS_END
+
+
+void leapfrog_leapster_explorer_state::leapfrog_leapster_explorer(machine_config& config)
+{
+ ARM9(config, m_maincpu, 393000000); // unknown ARM9 type
+
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_size(320, 262);
+ m_screen->set_visarea(0, 320 - 1, 0, 240 - 1);
+ m_screen->set_screen_update(FUNC(leapfrog_leapster_explorer_state::screen_update_innotab));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "leapfrog_leapster_explorer_cart");
+ m_cart->set_width(GENERIC_ROM16_WIDTH);
+ m_cart->set_device_load(FUNC(leapfrog_leapster_explorer_state::cart_load));
+
+ SOFTWARE_LIST(config, "cart_list").set_original("leapfrog_leapster_explorer_cart");
+}
+
+ROM_START( leapexpr )
+ ROM_REGION( 0x0100000, "maincpu", ROMREGION_ERASEFF )
+ // unknown internal ROM
+ ROM_LOAD( "internal.rom", 0x000000, 0x0100000, NO_DUMP )
+ROM_END
+
+CONS( 2010, leapexpr, 0, 0, leapfrog_leapster_explorer, leapfrog_leapster_explorer, leapfrog_leapster_explorer_state, empty_init, "LeapFrog", "Leapster Explorer", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp
index cc11647cf89..cd74404c794 100644
--- a/src/mame/drivers/legionna.cpp
+++ b/src/mame/drivers/legionna.cpp
@@ -87,8 +87,8 @@ Preliminary COP MCU memory map
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lemmings.cpp b/src/mame/drivers/lemmings.cpp
index 71874c97963..f011f5cd59d 100644
--- a/src/mame/drivers/lemmings.cpp
+++ b/src/mame/drivers/lemmings.cpp
@@ -23,7 +23,7 @@
#include "cpu/m6809/m6809.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lkage.cpp b/src/mame/drivers/lkage.cpp
index 8cfb6349ca5..bf4736ce7c3 100644
--- a/src/mame/drivers/lkage.cpp
+++ b/src/mame/drivers/lkage.cpp
@@ -90,7 +90,7 @@ TODO:
#include "cpu/m6805/m6805.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lockon.cpp b/src/mame/drivers/lockon.cpp
index 443b037105c..1b12d25f339 100644
--- a/src/mame/drivers/lockon.cpp
+++ b/src/mame/drivers/lockon.cpp
@@ -21,7 +21,7 @@
#include "machine/adc0808.h"
#include "machine/rescap.h"
#include "sound/flt_vol.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lordgun.cpp b/src/mame/drivers/lordgun.cpp
index b565385ae0b..cb0577f7670 100644
--- a/src/mame/drivers/lordgun.cpp
+++ b/src/mame/drivers/lordgun.cpp
@@ -45,8 +45,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym3812.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
index b7a595de1c1..cf0251ec079 100644
--- a/src/mame/drivers/lsasquad.cpp
+++ b/src/mame/drivers/lsasquad.cpp
@@ -150,7 +150,7 @@ Notes:
#include "cpu/m6805/m6805.h"
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index 824432bcfda..bab5c7d5244 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -60,7 +60,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp
index 74df7d55cc6..a8234d72e6e 100644
--- a/src/mame/drivers/m107.cpp
+++ b/src/mame/drivers/m107.cpp
@@ -33,7 +33,7 @@ confirmed for m107 games as well.
#include "machine/gen_latch.h"
#include "machine/irem_cpu.h"
#include "sound/iremga20.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
/*****************************************************************************/
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index 7e1098f0482..8551b377b14 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -196,7 +196,7 @@ other supported games as well.
#include "machine/gen_latch.h"
#include "machine/irem_cpu.h"
#include "machine/rstbuf.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
@@ -1820,9 +1820,9 @@ void m72_state::m72_audio_chips(machine_config &config)
ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK));
ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w));
- ymsnd.add_route(ALL_OUTPUTS, "speaker", 1.0);
+ ymsnd.add_route(ALL_OUTPUTS, "speaker", 0.5);
- DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.3); // unknown DAC
+ DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
}
void m72_state::m72_base(machine_config &config)
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 360d7c89d42..6d72828210d 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -25,7 +25,7 @@
#include "machine/irem_cpu.h"
#include "machine/rstbuf.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp
index 9896076822d..8993b165f97 100644
--- a/src/mame/drivers/m92.cpp
+++ b/src/mame/drivers/m92.cpp
@@ -215,7 +215,7 @@ psoldier dip locations still need verification.
#include "machine/gen_latch.h"
#include "machine/irem_cpu.h"
#include "sound/iremga20.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/macquadra700.cpp b/src/mame/drivers/macquadra700.cpp
index 4446f441b87..43b14eda2e5 100644
--- a/src/mame/drivers/macquadra700.cpp
+++ b/src/mame/drivers/macquadra700.cpp
@@ -627,10 +627,12 @@ uint32_t macquadra_state::screen_update_dafb(screen_device &screen, bitmap_rgb32
WRITE_LINE_MEMBER(macquadra_state::drq_539x_1_w)
{
+ m_dafb_scsi1_drq = state;
}
WRITE_LINE_MEMBER(macquadra_state::drq_539x_2_w)
{
+ m_dafb_scsi2_drq = state;
}
WRITE_LINE_MEMBER(macquadra_state::irq_539x_1_w)
@@ -778,7 +780,7 @@ uint8_t macquadra_state::mac_5396_r(offs_t offset)
}
else // pseudo-DMA: read from the FIFO
{
-// return m_539x_1->read(2);
+ return m_ncr1->dma_r();
}
// never executed
@@ -793,7 +795,7 @@ void macquadra_state::mac_5396_w(offs_t offset, uint8_t data)
}
else // pseudo-DMA: write to the FIFO
{
-// m_539x_1->write(2, data);
+ m_ncr1->dma_w(data);
}
}
@@ -809,7 +811,7 @@ void macquadra_state::quadra700_map(address_map &map)
// 50008000 = Ethernet MAC ID PROM
// 5000a000 = Sonic (DP83932) ethernet
// 5000f000 = SCSI cf96, 5000f402 = SCSI #2 cf96
- map(0x5000f000, 0x5000f3ff).rw(FUNC(macquadra_state::mac_5396_r), FUNC(macquadra_state::mac_5396_w)).mirror(0x00fc0000);
+ map(0x5000f000, 0x5000f401).rw(FUNC(macquadra_state::mac_5396_r), FUNC(macquadra_state::mac_5396_w)).mirror(0x00fc0000);
map(0x5000c000, 0x5000dfff).rw(FUNC(macquadra_state::mac_scc_r), FUNC(macquadra_state::mac_scc_2_w)).mirror(0x00fc0000);
map(0x50014000, 0x50015fff).rw(m_easc, FUNC(asc_device::read), FUNC(asc_device::write)).mirror(0x00fc0000);
map(0x5001e000, 0x5001ffff).rw(FUNC(macquadra_state::swim_r), FUNC(macquadra_state::swim_w)).mirror(0x00fc0000);
diff --git a/src/mame/drivers/madmotor.cpp b/src/mame/drivers/madmotor.cpp
index 27c8ca1f51a..54db3439ec2 100644
--- a/src/mame/drivers/madmotor.cpp
+++ b/src/mame/drivers/madmotor.cpp
@@ -22,8 +22,8 @@
#include "cpu/h6280/h6280.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "video/decbac06.h"
#include "video/decmxc06.h"
#include "emupal.h"
diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp
index f7678ce2d23..f543531337a 100644
--- a/src/mame/drivers/mainevt.cpp
+++ b/src/mame/drivers/mainevt.cpp
@@ -41,7 +41,7 @@ Both games run on Konami's PWB351024A PCB
#include "cpu/m6809/hd6309.h"
#include "cpu/m6809/m6809.h"
#include "machine/gen_latch.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/matmania.cpp b/src/mame/drivers/matmania.cpp
index c78812f54a2..f8539866e8f 100644
--- a/src/mame/drivers/matmania.cpp
+++ b/src/mame/drivers/matmania.cpp
@@ -38,7 +38,7 @@ The driver has been updated accordingly.
#include "cpu/m6809/m6809.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/max80.cpp b/src/mame/drivers/max80.cpp
index 2fd5458806c..d1d79a506ba 100644
--- a/src/mame/drivers/max80.cpp
+++ b/src/mame/drivers/max80.cpp
@@ -332,7 +332,7 @@ u8 max80_state::keyboard_r(offs_t offset)
u8 max80_state::fdc_status_r(offs_t offset)
{
- u8 data = 0xfc | m_fdc_drq | (m_fdc_int << 1);
+ u8 data = 0xfc | int(m_fdc_drq) | (m_fdc_int << 1);
return data;
}
diff --git a/src/mame/drivers/maygayv1.cpp b/src/mame/drivers/maygayv1.cpp
index 7dcf9975eee..f7e999f9ae2 100644
--- a/src/mame/drivers/maygayv1.cpp
+++ b/src/mame/drivers/maygayv1.cpp
@@ -136,7 +136,7 @@ Find lamps/reels after UPD changes.
#include "machine/mc68681.h"
#include "machine/nvram.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index ab2b254d0be..ed0019ed59c 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -11,7 +11,7 @@ Previous driver was written by Juergen Buchmueller, Jan 2000 with assistance
from Brett Selwood and Andrew Davies.
- Keyboard notes are in video/microbee.c
+ Keyboard notes are in video/microbee.cpp
256tc: The 1.31 rom version which appears to fit the 256TC is actually
part of the Z80 emulation in the Matilda model. If you fit this rom into a real
@@ -26,6 +26,12 @@ from Brett Selwood and Andrew Davies.
The kit itself has an extra custom FPGA CPU board with memory-card slot, but there's
no info on it yet. We just emulate the Z80 portion.
+ ICs on schematics, pcbs, and manuals which never made it into production machines:
+ - Z80SCC;
+ - SN76489A;
+ - 2651A;
+ - B & C roms on disk-based machines.
+
Floppy formats:
- All disks are the standard CPCEMU 'dsk' format.
- Types are 9/13cm 40/80 track (single or double sided)
@@ -46,6 +52,8 @@ from Brett Selwood and Andrew Davies.
(by reading port 0A) to swap between the two halves.
See Telcom notes below.
+ MEM - same as NET.
+
EDASM - Jump to C000, usually the Editor/Assembler package.
MENU - Do a rombank switch to bank 5 and jump to C000 to start the Shell
@@ -92,18 +100,15 @@ from Brett Selwood and Andrew Davies.
TODO/not working:
- Keyboard:
- - 256tc: Paste ignores shift key
- - All others: Paste drops most characters.
- - Teleterm: keyboard has problems. The schematic shows it using the old-style keyboard,
- however it actually uses the new keyboard with interrupts.
- The keyboard has issues in the Offsider Macro Key Editor.
+ Old CRTC-based keyboard:
+ - Paste drops many characters.
+ - Typing can drop the occasional character.
FDC: (TODO: see if these bugs still exist)
- B drive doesn't work with most disks.
- some disks cause MESS to freeze.
- - Simply Write has keyboard problems (in 128k, no keys work).
+ - 128k: Simply Write has no keyboard.
- 256tc: At the menu, if F2 pressed to activate the Monitor, the emulated machine
crashes due to a bug in z80pio emulation.
@@ -126,19 +131,13 @@ from Brett Selwood and Andrew Davies.
#include "formats/mbee_cas.h"
#include "speaker.h"
-/********** NOTE !!! ***********************************************************
- The microbee uses lots of bankswitching and the memory maps are still
- being determined. Please don't merge memory maps !!
-********************************************************************************/
-
-
void mbee_state::mbee_mem(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x7fff).ram();
map(0x8000, 0xbfff).rom().region("maincpu",0);
- map(0xc000, 0xdfff).rom().region("pakrom",0);
- map(0xe000, 0xefff).rom().region("telcomrom",0);
+ map(0xc000, 0xdfff).r(FUNC(mbee_state::pak_r));
+ map(0xe000, 0xefff).r(FUNC(mbee_state::net_r));
map(0xf000, 0xf7ff).rw(FUNC(mbee_state::video_low_r), FUNC(mbee_state::video_low_w));
map(0xf800, 0xffff).rw(FUNC(mbee_state::video_high_r), FUNC(mbee_state::video_high_w));
}
@@ -147,29 +146,30 @@ void mbee_state::mbeeic_mem(address_map &map)
{
map(0x0000, 0x7fff).ram();
map(0x8000, 0xbfff).rom().region("maincpu",0);
- map(0xc000, 0xdfff).bankr("pak");
- map(0xe000, 0xefff).rom().region("telcomrom",0);
+ map(0xc000, 0xdfff).r(FUNC(mbee_state::pak_r));
+ map(0xe000, 0xefff).r(FUNC(mbee_state::net_r));
map(0xf000, 0xf7ff).rw(FUNC(mbee_state::video_low_r), FUNC(mbee_state::video_low_w));
map(0xf800, 0xffff).rw(FUNC(mbee_state::video_high_r), FUNC(mbee_state::video_high_w));
}
-void mbee_state::mbeepc_mem(address_map &map)
+void mbee_state::mbeeppc_mem(address_map &map)
{
map(0x0000, 0x7fff).ram();
- map(0x8000, 0xbfff).rom().region("maincpu",0);
- map(0xc000, 0xdfff).bankr("pak");
- map(0xe000, 0xefff).bankr("telcom");
+ map(0x8000, 0x9fff).bankr("basic");
+ map(0xa000, 0xbfff).rom().region("maincpu",0);
+ map(0xc000, 0xdfff).r(FUNC(mbee_state::pak_r));
+ map(0xe000, 0xefff).r(FUNC(mbee_state::net_r));
map(0xf000, 0xf7ff).rw(FUNC(mbee_state::video_low_r), FUNC(mbee_state::video_low_w));
map(0xf800, 0xffff).rw(FUNC(mbee_state::video_high_r), FUNC(mbee_state::video_high_w));
}
-void mbee_state::mbeeppc_mem(address_map &map)
+void mbee_state::mbeett_mem(address_map &map)
{
map(0x0000, 0x7fff).ram();
- map(0x8000, 0x9fff).bankr("basic");
- map(0xa000, 0xbfff).rom().region("maincpu",0);
- map(0xc000, 0xdfff).bankr("pak");
- map(0xe000, 0xefff).bankr("telcom");
+ map(0x8000, 0x9fff).rom().region("maincpu",0);
+ map(0xa000, 0xbfff).ram();
+ map(0xc000, 0xdfff).r(FUNC(mbee_state::pak_r));
+ map(0xe000, 0xefff).r(FUNC(mbee_state::net_r));
map(0xf000, 0xf7ff).rw(FUNC(mbee_state::video_low_r), FUNC(mbee_state::video_low_w));
map(0xf800, 0xffff).rw(FUNC(mbee_state::video_high_r), FUNC(mbee_state::video_high_w));
}
@@ -202,17 +202,6 @@ void mbee_state::mbee256_mem(address_map &map)
map(0xf000, 0xffff).bankr("bankr15").bankw("bankw15");
}
-void mbee_state::mbeett_mem(address_map &map)
-{
- map(0x0000, 0x7fff).ram();
- map(0x8000, 0x9fff).rom().region("maincpu",0);
- map(0xa000, 0xbfff).ram();
- map(0xc000, 0xdfff).bankr("pak");
- map(0xe000, 0xefff).bankr("telcom");
- map(0xf000, 0xf7ff).rw(FUNC(mbee_state::video_low_r), FUNC(mbee_state::video_low_w));
- map(0xf800, 0xffff).rw(FUNC(mbee_state::video_high_r), FUNC(mbee_state::video_high_w));
-}
-
void mbee_state::mbee_io(address_map &map)
{
map.global_mask(0xff);
@@ -225,28 +214,14 @@ void mbee_state::mbee_io(address_map &map)
void mbee_state::mbeeic_io(address_map &map)
{
- map.global_mask(0xff);
- map.unmap_value_high();
- map(0x00, 0x03).mirror(0x10).rw(m_pio, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
- map(0x08, 0x08).mirror(0x10).rw(FUNC(mbee_state::port08_r), FUNC(mbee_state::port08_w));
- map(0x09, 0x09).nopw(); /* Listed as "Colour Wait Off" or "USART 2651" but doesn't appear in the schematics */
- map(0x0a, 0x0a).mirror(0x10).w(FUNC(mbee_state::port0a_w));
- map(0x0b, 0x0b).mirror(0x10).w(FUNC(mbee_state::port0b_w));
- map(0x0c, 0x0c).mirror(0x10).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
- map(0x0d, 0x0d).mirror(0x10).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
-}
-
-void mbee_state::mbeepc_io(address_map &map)
-{
map.unmap_value_high();
map(0x0000, 0x0003).mirror(0xff10).rw(m_pio, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
map(0x0008, 0x0008).mirror(0xff10).rw(FUNC(mbee_state::port08_r), FUNC(mbee_state::port08_w));
map(0x0009, 0x0009).mirror(0xff00).nopw();
+ map(0x000a, 0x000a).select(0xff10).rw(FUNC(mbee_state::telcom_r), FUNC(mbee_state::port0a_w));
map(0x000b, 0x000b).mirror(0xff10).w(FUNC(mbee_state::port0b_w));
map(0x000c, 0x000c).mirror(0xff10).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
map(0x000d, 0x000d).mirror(0xff10).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
- map(0x000a, 0x000a).mirror(0xfe10).rw(FUNC(mbee_state::telcom_low_r), FUNC(mbee_state::port0a_w));
- map(0x010a, 0x010a).mirror(0xfe10).rw(FUNC(mbee_state::telcom_high_r), FUNC(mbee_state::port0a_w));
}
void mbee_state::mbeeppc_io(address_map &map)
@@ -255,12 +230,11 @@ void mbee_state::mbeeppc_io(address_map &map)
map(0x0000, 0x0003).mirror(0xff10).rw(m_pio, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
map(0x0008, 0x0008).mirror(0xff10).rw(FUNC(mbee_state::port08_r), FUNC(mbee_state::port08_w));
map(0x0009, 0x0009).mirror(0xff00).nopw();
+ map(0x000a, 0x000a).select(0xff10).rw(FUNC(mbee_state::telcom_r), FUNC(mbee_state::port0a_w));
map(0x000b, 0x000b).mirror(0xff10).w(FUNC(mbee_state::port0b_w));
map(0x000c, 0x000c).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
map(0x000d, 0x000d).mirror(0xff10).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
map(0x001c, 0x001c).mirror(0xff00).rw(FUNC(mbee_state::port1c_r), FUNC(mbee_state::port1c_w));
- map(0x000a, 0x000a).mirror(0xfe10).rw(FUNC(mbee_state::telcom_low_r), FUNC(mbee_state::port0a_w));
- map(0x010a, 0x010a).mirror(0xfe10).rw(FUNC(mbee_state::telcom_high_r), FUNC(mbee_state::port0a_w));
}
void mbee_state::mbeett_io(address_map &map)
@@ -271,16 +245,14 @@ void mbee_state::mbeett_io(address_map &map)
map(0x0006, 0x0006).mirror(0xff00).w(FUNC(mbee_state::port06_w));
map(0x0007, 0x0007).mirror(0xff00).r(FUNC(mbee_state::port07_r));
map(0x0008, 0x0008).mirror(0xff00).rw(FUNC(mbee_state::port08_r), FUNC(mbee_state::port08_w));
+ map(0x000a, 0x000a).select(0xff10).rw(FUNC(mbee_state::telcom_r), FUNC(mbee_state::port0a_w));
map(0x000b, 0x000b).mirror(0xff00).w(FUNC(mbee_state::port0b_w));
map(0x000c, 0x000c).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
map(0x000d, 0x000d).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
map(0x0018, 0x001b).mirror(0xff00).r(FUNC(mbee_state::port18_r));
map(0x001c, 0x001f).mirror(0xff00).rw(FUNC(mbee_state::port1c_r), FUNC(mbee_state::port1c_w));
- map(0x0009, 0x0009).mirror(0xfe00).r(FUNC(mbee_state::speed_low_r));
- map(0x0109, 0x0109).mirror(0xfe00).r(FUNC(mbee_state::speed_high_r));
- map(0x000a, 0x000a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_low_r), FUNC(mbee_state::port0a_w));
- map(0x010a, 0x010a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_high_r), FUNC(mbee_state::port0a_w));
- map(0x0068, 0x006f).mirror(0xff00).rw("scc", FUNC(scc8530_legacy_device::reg_r), FUNC(scc8530_legacy_device::reg_w));
+ map(0x0009, 0x0009).select(0xff00).r(FUNC(mbee_state::speed_r));
+ map(0x0068, 0x006f).mirror(0xff00).noprw(); // swallow i/o to SCC which was never fitted to production machines
}
void mbee_state::mbee56_io(address_map &map)
@@ -324,13 +296,12 @@ void mbee_state::mbee256_io(address_map &map)
map(0x0006, 0x0006).mirror(0xff00).w(FUNC(mbee_state::port06_w));
map(0x0007, 0x0007).mirror(0xff00).r(FUNC(mbee_state::port07_r));
map(0x0008, 0x0008).mirror(0xff00).rw(FUNC(mbee_state::port08_r), FUNC(mbee_state::port08_w));
- map(0x0009, 0x0009).mirror(0xfd00).r(FUNC(mbee_state::speed_low_r));
- map(0x0209, 0x0209).mirror(0xfd00).r(FUNC(mbee_state::speed_high_r));
+ map(0x0009, 0x0009).select(0xff00).r(FUNC(mbee_state::speed_r));
map(0x0009, 0x0009).mirror(0xff00).nopw();
map(0x000b, 0x000b).mirror(0xff00).w(FUNC(mbee_state::port0b_w));
map(0x000c, 0x000c).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
map(0x000d, 0x000d).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
- // map(0x0010, 0x0013).mirror(0xff00); Optional SN76489AN audio chip
+ // map(0x0010, 0x0013).mirror(0xff00); Optional SN76489AN audio chip (never used)
map(0x0018, 0x001b).mirror(0xff00).r(FUNC(mbee_state::port18_r));
map(0x001c, 0x001f).mirror(0xff00).rw(FUNC(mbee_state::port1c_r), FUNC(mbee_state::port1c_w));
map(0x0044, 0x0047).mirror(0xff00).rw(m_fdc, FUNC(wd2793_device::read), FUNC(wd2793_device::write));
@@ -338,7 +309,7 @@ void mbee_state::mbee256_io(address_map &map)
map(0x0050, 0x0057).mirror(0xff00).w(FUNC(mbee_state::port50_w));
// map(0x0058, 0x005f).mirror(0xff00); External options: floppy drive, hard drive and keyboard
// map(0x0060, 0x0067).mirror(0xff00); Reserved for file server selection (unused)
- // map(0x0068, 0x006f).mirror(0xff00); Reserved for 8530 SCC (unused)
+ // map(0x0068, 0x006f).mirror(0xff00); Reserved for 8530 SCC (never used)
}
static INPUT_PORTS_START( oldkb )
@@ -643,6 +614,20 @@ static void mbee_floppies(device_slot_interface &device)
}
+void mbee_state::remove_carts(machine_config &config)
+{
+ config.device_remove("cart_list");
+ config.device_remove("pak0");
+ config.device_remove("pak1");
+ config.device_remove("pak2");
+ config.device_remove("pak3");
+ config.device_remove("pak4");
+ config.device_remove("pak5");
+ //config.device_remove("pak6");
+ //config.device_remove("pak7");
+ config.device_remove("net");
+}
+
void mbee_state::mbee(machine_config &config)
{
/* basic machine hardware */
@@ -698,8 +683,12 @@ void mbee_state::mbee(machine_config &config)
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
m_cassette->set_interface("mbee_cass");
+ GENERIC_SOCKET(config, "pak0", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<0U>));
+ GENERIC_SOCKET(config, "net", generic_plain_slot, "mbee_cart", "mbn,rom").set_device_load(FUNC(mbee_state::net_load));
+
SOFTWARE_LIST(config, "cass_list").set_original("mbee_cass").set_filter("1");
SOFTWARE_LIST(config, "quik_list").set_original("mbee_quik").set_filter("1");
+ SOFTWARE_LIST(config, "cart_list").set_original("mbee_cart").set_filter("1");
}
@@ -758,15 +747,19 @@ void mbee_state::mbeeic(machine_config &config)
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
m_cassette->set_interface("mbee_cass");
+ GENERIC_SOCKET(config, "pak0", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<0U>));
+ GENERIC_SOCKET(config, "pak1", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<1U>));
+ GENERIC_SOCKET(config, "pak2", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<2U>));
+ GENERIC_SOCKET(config, "pak3", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<3U>));
+ GENERIC_SOCKET(config, "pak4", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<4U>));
+ GENERIC_SOCKET(config, "pak5", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<5U>));
+ //GENERIC_SOCKET(config, "pak6", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<6U>));
+ //GENERIC_SOCKET(config, "pak7", generic_plain_slot, "mbee_cart", "mbp,rom").set_device_load(FUNC(mbee_state::pak_load<7U>));
+ GENERIC_SOCKET(config, "net", generic_plain_slot, "mbee_cart", "mbn,rom").set_device_load(FUNC(mbee_state::net_load));
+
SOFTWARE_LIST(config, "cass_list").set_original("mbee_cass").set_filter("2");
SOFTWARE_LIST(config, "quik_list").set_original("mbee_quik").set_filter("2");
-}
-
-void mbee_state::mbeepc(machine_config &config)
-{
- mbeeic(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbeepc_mem);
- m_maincpu->set_addrmap(AS_IO, &mbee_state::mbeepc_io);
+ SOFTWARE_LIST(config, "cart_list").set_original("mbee_cart").set_filter("2");
}
void mbee_state::mbeeppc(machine_config &config)
@@ -783,6 +776,7 @@ void mbee_state::mbeeppc(machine_config &config)
config.device_remove("quickload");
config.device_remove("quik_list");
+ remove_carts(config);
}
void mbee_state::mbee56(machine_config &config)
@@ -801,6 +795,8 @@ void mbee_state::mbee56(machine_config &config)
SOFTWARE_LIST(config, "flop_list").set_original("mbee_flop").set_filter("1");
config.device_remove("quickload");
config.device_remove("quik_list");
+ config.device_remove("cass_list");
+ remove_carts(config);
}
void mbee_state::mbee128(machine_config &config)
@@ -852,22 +848,9 @@ void mbee_state::mbeett(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbeett_mem);
m_maincpu->set_addrmap(AS_IO, &mbee_state::mbeett_io);
TIMER(config, "newkb_timer").configure_periodic(FUNC(mbee_state::newkb_timer), attotime::from_hz(50));
- SCC8530(config, "scc", 4000000); // clock unknown
config.device_remove("cass_list"); // mbeett is incompatible with the others
}
-/* Unused roms:
- ROM_LOAD_OPTIONAL("net.rom", 0xe000, 0x1000, CRC(e14aac4c) SHA1(330902cf47f53c22c85003a620f7d7d3261ebb67) )
- customised for a certain high school. Requires pulsing at bit 3 port 0 before it runs.
-
- ROM_LOAD_OPTIONAL("chip8_22.rom", 0xe000, 0x1000, CRC(11fbb547) SHA1(7bd9dc4b67b33b8e1be99beb6a0ddff25bdbd3f7) )
- Dreamcards Chip-8 V2.2 rom
-
- ROM_LOAD_OPTIONAL("telcom11.rom", 0xe000, 0x1000, CRC(15516499) SHA1(2d4953f994b66c5d3b1d457b8c92d9a0a69eb8b8) )
- Telcom 1.1 for the mbeeic (It could have 1.0, 1.1 or 1.2)
-
-*/
-
ROM_START( mbee )
ROM_REGION( 0x6000, "maincpu", 0 )
@@ -876,65 +859,55 @@ ROM_START( mbee )
ROM_LOAD("bas510c.ic28", 0x2000, 0x1000, CRC(906ac00f) SHA1(9b46458e5755e2c16cdb191a6a70df6de9fe0271) )
ROM_LOAD("bas510d.ic30", 0x3000, 0x1000, CRC(61727323) SHA1(c0fea9fd0e25beb9faa7424db8efd07cf8d26c1b) )
- ROM_REGION( 0x1000, "telcomrom", 0 )
- ROM_LOAD_OPTIONAL("telcom10.rom", 0x0000, 0x1000, CRC(cc9ac94d) SHA1(6804b5ff54d16f8e06180751d8681c44f351e0bb) )
-
- // there's no actual PAK board or command in this machine
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD_OPTIONAL("edasma.ic31", 0x0000, 0x1000, CRC(120c3dea) SHA1(32c9bb6e54dd50d5218bb43cc921885a0307161d) )
- ROM_LOAD_OPTIONAL("edasmb.ic33", 0x1000, 0x1000, CRC(a23bf3c8) SHA1(73a57c2800a1c744b527d0440b170b8b03351753) )
-
// first 0x800 for normal chars, 2nd 0x800 for small chars. Some roms don't have small chars so normal ones loaded twice.
ROM_REGION( 0x1000, "chargen", 0 )
ROM_LOAD("charrom.ic13", 0x0000, 0x0800, CRC(b149737b) SHA1(a3cd4f5d0d3c71137cd1f0f650db83333a2e3597) )
ROM_RELOAD( 0x0800, 0x0800 )
ROM_REGION( 0x0020, "proms", 0 )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0000, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0000, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeeic )
ROM_REGION( 0x4000, "maincpu", 0 )
- ROM_LOAD("bas522a.rom", 0x0000, 0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
- ROM_LOAD("bas522b.rom", 0x2000, 0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
+ ROM_LOAD("bas522a.ic5", 0x0000, 0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
+ ROM_LOAD("bas522b.ic10", 0x2000, 0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
- ROM_REGION( 0x1000, "telcomrom", 0 )
- ROM_LOAD_OPTIONAL("telcom12.rom", 0x0000, 0x1000, CRC(0231bda3) SHA1(be7b32499034f985cc8f7865f2bc2b78c485585c) )
+ ROM_REGION( 0x1000, "netdef", 0 )
+ ROM_LOAD_OPTIONAL("telcom10.rom", 0x0000, 0x1000, CRC(cc9ac94d) SHA1(6804b5ff54d16f8e06180751d8681c44f351e0bb) )
/* PAK option roms */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD_OPTIONAL("edasm.rom", 0x0000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 0
- ROM_LOAD_OPTIONAL("wbee12.rom", 0x2000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
- ROM_LOAD_OPTIONAL("forth11.rom", 0x4000, 0x2000, CRC(f0fc2358) SHA1(b7303b94abe647d5a6ffb2fba5d205412f970c16) ) // 2
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee12.mbp", 0x0000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
+ ROM_LOAD("help1.mbp", 0x2000, 0x2000, CRC(d34fae54) SHA1(5ed30636f48e9d208ce2da367ba4425782a5bce3) ) // 2
ROM_REGION( 0x1000, "chargen", 0 )
ROM_LOAD("charrom.bin", 0x0000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeepc )
ROM_REGION( 0x4000, "maincpu", 0 )
- ROM_LOAD("bas522a.rom", 0x0000, 0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
- ROM_LOAD("bas522b.rom", 0x2000, 0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
+ ROM_LOAD("bas522a.ic5", 0x0000, 0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
+ ROM_LOAD("bas522b.ic10", 0x2000, 0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
- ROM_LOAD_OPTIONAL("telcom31.rom", 0x0000, 0x2000, CRC(5a904a29) SHA1(3120fb65ccefeb180ab80d8d35440c70dc8452c8) )
+ ROM_REGION( 0x1000, "netdef", 0 )
+ ROM_LOAD_OPTIONAL("telcom10.rom", 0x0000, 0x1000, CRC(cc9ac94d) SHA1(6804b5ff54d16f8e06180751d8681c44f351e0bb) )
/* PAK option roms */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD_OPTIONAL("edasm.rom", 0x0000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 0
- ROM_LOAD_OPTIONAL("wbee12.rom", 0x2000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
- ROM_LOAD_OPTIONAL("mwbhelp.rom", 0x4000, 0x2000, CRC(d34fae54) SHA1(5ed30636f48e9d208ce2da367ba4425782a5bce3) ) // 2
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee12.mbp", 0x0000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
+ ROM_LOAD("help1.mbp", 0x2000, 0x2000, CRC(d34fae54) SHA1(5ed30636f48e9d208ce2da367ba4425782a5bce3) ) // 2
ROM_REGION( 0x1000, "chargen", 0 )
ROM_LOAD("charrom.bin", 0x0000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeepc85 )
@@ -942,25 +915,21 @@ ROM_START( mbeepc85 )
ROM_LOAD("bas525a.rom", 0x0000, 0x2000, CRC(a6e02afe) SHA1(0495308c7e1d84b5989a3af6d3b881f4580b2641) )
ROM_LOAD("bas525b.rom", 0x2000, 0x2000, CRC(245dd36b) SHA1(dd288f3e6737627f50d3d2a49df3e57c423d3118) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
+ ROM_REGION( 0x2000, "netdef", 0 )
ROM_LOAD_OPTIONAL("telco321.rom", 0x0000, 0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
/* PAK option roms - Wordbee must be in slot 0 and Shell must be in slot 5. */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD("wbee13.rom", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
- ROM_LOAD_OPTIONAL("cmdhelp.rom", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
- ROM_LOAD_OPTIONAL("edasm.rom", 0x4000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 2
- ROM_LOAD_OPTIONAL("forth.rom", 0x6000, 0x2000, CRC(c0795c2b) SHA1(8faa0a46fbbdb8a1019d706a40cd4431a5063f8c) ) // 3
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee13r3.mbp", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
+ ROM_LOAD("help2.mbp", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
ROM_LOAD("shell.rom", 0xa000, 0x2000, CRC(5a2c7cd6) SHA1(8edc086710cb558f2146d660eddc8a18ba6a141c) ) // 5
- ROM_LOAD_OPTIONAL("ozlogo.rom", 0xc000, 0x2000, CRC(47c3ef69) SHA1(8274d27c323ca4a6cc9e7d24946ae9c0531c3112) ) // 6
- ROM_LOAD_OPTIONAL("chess.rom", 0xe000, 0x2000, CRC(fe9ee9d0) SHA1(a316559414e68c0101af5f00755db551e7c5788e) ) // 7
ROM_REGION( 0x1000, "chargen", 0 )
ROM_LOAD("charrom.bin", 0x0000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeepc85b )
@@ -968,18 +937,18 @@ ROM_START( mbeepc85b )
ROM_LOAD("bas525a.rom", 0x0000, 0x2000, CRC(a6e02afe) SHA1(0495308c7e1d84b5989a3af6d3b881f4580b2641) )
ROM_LOAD("bas525b.rom", 0x2000, 0x2000, CRC(245dd36b) SHA1(dd288f3e6737627f50d3d2a49df3e57c423d3118) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
+ ROM_REGION( 0x2000, "netdef", 0 )
ROM_LOAD_OPTIONAL("telco321.rom", 0x0000, 0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
/* PAK option roms - Wordbee must be in slot 0 and Shell must be in slot 5. */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD("wbee13.rom", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
- ROM_LOAD_OPTIONAL("cmdhelp.rom", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
- ROM_LOAD_OPTIONAL("busy.rom", 0x4000, 0x2000, CRC(56255f60) SHA1(fd2e37209fd49290be6875bc460cfc05392938ba) ) // 2
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee13r3.mbp", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
+ ROM_LOAD("help2.mbp", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
+ ROM_LOAD("busy.rom", 0x4000, 0x2000, CRC(56255f60) SHA1(fd2e37209fd49290be6875bc460cfc05392938ba) ) // 2
ROM_CONTINUE( 0x14000, 0x2000 )
- ROM_LOAD_OPTIONAL("graphics.rom", 0x6000, 0x2000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
+ ROM_LOAD("graphics.rom", 0x6000, 0x2000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
ROM_CONTINUE( 0x16000, 0x2000 )
- ROM_LOAD_OPTIONAL("viatel.rom", 0x8000, 0x2000, CRC(2da2411f) SHA1(d3cfa978165feef0a96e28197f6a762aa6604799) ) // 4
+ ROM_LOAD("viatel.rom", 0x8000, 0x2000, CRC(2da2411f) SHA1(d3cfa978165feef0a96e28197f6a762aa6604799) ) // 4
ROM_LOAD("shell-b.rom", 0xa000, 0x2000, CRC(17bf2d58) SHA1(ae22a5fc5783f37066ba5555497e40945272ca3d) ) // 5
ROM_REGION( 0x1000, "chargen", 0 )
@@ -987,7 +956,7 @@ ROM_START( mbeepc85b )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeepc85s )
@@ -995,12 +964,12 @@ ROM_START( mbeepc85s )
ROM_LOAD("bas524a.rom", 0x0000, 0x2000, CRC(ec9c7a60) SHA1(a4021bcedc8da8c0eb0bda036a1d457619a175b0) )
ROM_LOAD("bas524b.rom", 0x2000, 0x2000, CRC(17d3eac7) SHA1(d40d376cc5e751d257d951909a34445e70506c7b) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
+ ROM_REGION( 0x2000, "netdef", 0 )
ROM_LOAD_OPTIONAL("telco321s.rom", 0x0000, 0x2000, CRC(00f8fde1) SHA1(eb881bbab90c85fd6e29540decd25e884c67f738) )
/* PAK roms - These are not optional and will only work in the correct slots. */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD("wbee20-s.rom", 0x0000, 0x2000, CRC(6a0fe57f) SHA1(a101b588b1872e19382b9e9ea50fabb0fd060aa6) ) // 0
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee20s.mbp", 0x0000, 0x2000, CRC(6a0fe57f) SHA1(a101b588b1872e19382b9e9ea50fabb0fd060aa6) ) // 0
ROM_LOAD("db-s.rom", 0x2000, 0x2000, CRC(e2094771) SHA1(62d7fb66c91d2bd24523bc84e4f005cf2c4480bb) ) // 1
ROM_LOAD("kalk-s.rom", 0x4000, 0x2000, CRC(08dd71ee) SHA1(c9d506d8bb56f602c3481b253d4cac226f545d98) ) // 2
ROM_LOAD("bg-s.rom", 0x6000, 0x2000, CRC(5aa4813e) SHA1(a8638e9046bfb9d5a98c878322295ce408bd879d) ) // 3
@@ -1012,17 +981,17 @@ ROM_START( mbeepc85s )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbeett )
ROM_REGION( 0x2000, "maincpu", 0 )
ROM_LOAD("kernel_106.rom", 0x0000, 0x2000, CRC(5ab9cb1d) SHA1(a1fb971622f85c4d866b91cb4bec6d75757e8c5f) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
+ ROM_REGION( 0x2000, "netdef", 0 )
ROM_LOAD("wm_106.rom", 0x0000, 0x2000, CRC(77e0b355) SHA1(1db6769cd6b12e1c335c83f17f8c139986c87758) )
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
ROM_LOAD("tv_470311.rom", 0x2000, 0x2000, CRC(2c4c2dcb) SHA1(77cd75166a389cb2d1d8abf00b1ddd077ce98354) ) // 1
ROM_CONTINUE( 0x12000, 0x2000 )
ROM_LOAD("tw_103.rom", 0x4000, 0x2000, CRC(881edb4b) SHA1(f6e30a12b1537bd55b69d1319799b150e80a471b) ) // 2
@@ -1042,18 +1011,18 @@ ROM_START( mbeeppc )
ROM_REGION( 0x4000, "basicrom", 0 )
ROM_LOAD("bas529a.rom", 0x0000, 0x4000, CRC(fe8242e1) SHA1(ff790edf4fcc7a134d451dbad7779157b07f6abf) )
- ROM_REGION( 0x2000, "telcomrom", 0 )
+ ROM_REGION( 0x2000, "netdef", 0 )
ROM_LOAD_OPTIONAL("telco321.rom", 0x0000, 0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
/* PAK option roms - Wordbee must be in slot 0 and Shell must be in slot 5. */
- ROM_REGION( 0x20000, "pakrom", ROMREGION_ERASEFF )
- ROM_LOAD("wbee13.rom", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
- ROM_LOAD_OPTIONAL("cmdhelp.rom", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
- ROM_LOAD_OPTIONAL("busy-p.rom", 0x4000, 0x2000, CRC(f2897427) SHA1(b4c351bdac72d89589980be6d654f9b931bcba6b) ) // 2
+ ROM_REGION( 0x20000, "pakdef", ROMREGION_ERASEFF )
+ ROM_LOAD("wbee13r3.mbp", 0x0000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
+ ROM_LOAD("help2.mbp", 0x2000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
+ ROM_LOAD("busy-p.rom", 0x4000, 0x2000, CRC(f2897427) SHA1(b4c351bdac72d89589980be6d654f9b931bcba6b) ) // 2
ROM_CONTINUE( 0x14000, 0x2000 )
- ROM_LOAD_OPTIONAL("graphics.rom", 0x6000, 0x2000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
+ ROM_LOAD("graphics.rom", 0x6000, 0x2000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
ROM_CONTINUE( 0x16000, 0x2000 )
- ROM_LOAD_OPTIONAL("vtex235.rom", 0x8000, 0x2000, CRC(8c30ecb2) SHA1(cf068462d7def885bdb5d3a265851b88c727c0d7) ) // 4
+ ROM_LOAD("vtex235.rom", 0x8000, 0x2000, CRC(8c30ecb2) SHA1(cf068462d7def885bdb5d3a265851b88c727c0d7) ) // 4
ROM_LOAD("ppcshell.rom", 0xa000, 0x2000, CRC(1e793555) SHA1(ddeaa081ec4408e80e3fb192865d87daa035c701) ) // 5
ROM_REGION( 0x1000, "chargen", 0 )
@@ -1069,7 +1038,7 @@ ROM_START( mbee56 )
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbee128 ) // Standard 128k (CIAB is the same thing with half the ram)
@@ -1084,7 +1053,7 @@ ROM_START( mbee128 ) // Standard 128k (CIAB is the same thing with half the ram)
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "82s123.ic7", 0x0000, 0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
- ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) /* video switching prom, not needed for emulation purposes */
+ ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020, 0x0020, CRC(79fa1e9d) SHA1(0454051697b23e4561744466fb31e7a133d02246) ) // video switching prom, not needed for emulation purposes
ROM_END
ROM_START( mbee128p ) // Premium 128K
@@ -1129,10 +1098,10 @@ ROM_START( mbeepp ) // Premium Plus
ROM_LOAD( "pp.bin", 0x0000, 0x4000, CRC(33292300) SHA1(8ba32123ef1b3beffa797855a1de0ea2078d652a) ) // ver 1.0
ROM_REGION( 0x4000, "pals", 0 )
- ROM_LOAD( "silver.u39", 0x0000, 0x4000, CRC(c34aab64) SHA1(781fe648488dec90185760f8e081e488b73b68bf) )
+ ROM_LOAD( "silver.u39", 0x0000, 0x4000, BAD_DUMP CRC(c34aab64) SHA1(781fe648488dec90185760f8e081e488b73b68bf) )
ROM_REGION( 0x2000, "chargen", 0 )
- ROM_LOAD("char256.u53", 0x0000, 0x2000, CRC(9372af3c) SHA1(a63591822c0504de2fed52e88d64e1dbd6124b74) )
+ ROM_LOAD("char256.u53", 0x0000, 0x2000, BAD_DUMP CRC(9372af3c) SHA1(a63591822c0504de2fed52e88d64e1dbd6124b74) )
ROM_END
/***************************************************************************
@@ -1144,13 +1113,13 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME
COMP( 1982, mbee, 0, 0, mbee, mbee, mbee_state, init_mbee, "Applied Technology", "Microbee 16 Standard", MACHINE_SUPPORTS_SAVE )
COMP( 1982, mbeeic, mbee, 0, mbeeic, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee 32 IC", MACHINE_SUPPORTS_SAVE )
-COMP( 1982, mbeepc, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee Personal Communicator", MACHINE_SUPPORTS_SAVE )
-COMP( 1985, mbeepc85, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85", MACHINE_SUPPORTS_SAVE )
-COMP( 1985, mbeepc85b, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (New version)", MACHINE_SUPPORTS_SAVE )
-COMP( 1985, mbeepc85s, mbee, 0, mbeepc, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (Swedish)", MACHINE_SUPPORTS_SAVE )
+COMP( 1982, mbeepc, mbee, 0, mbeeic, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee Personal Communicator", MACHINE_SUPPORTS_SAVE )
+COMP( 1985, mbeepc85, mbee, 0, mbeeic, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85", MACHINE_SUPPORTS_SAVE )
+COMP( 1985, mbeepc85b, mbee, 0, mbeeic, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (New version)", MACHINE_SUPPORTS_SAVE )
+COMP( 1985, mbeepc85s, mbee, 0, mbeeic, mbee, mbee_state, init_mbeeic, "Applied Technology", "Microbee PC85 (Swedish)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, mbeeppc, mbee, 0, mbeeppc, mbee, mbee_state, init_mbeeppc, "Applied Technology", "Microbee Premium PC85", MACHINE_SUPPORTS_SAVE )
-COMP( 1986, mbeett, mbee, 0, mbeett, mbee256, mbee_state, init_mbeett, "Applied Technology", "Microbee Teleterm", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-COMP( 1986, mbee56, mbee, 0, mbee56, mbee, mbee_state, init_mbee56, "Applied Technology", "Microbee 56k", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 1986, mbeett, mbee, 0, mbeett, mbee256, mbee_state, init_mbeett, "Applied Technology", "Microbee Teleterm", MACHINE_SUPPORTS_SAVE )
+COMP( 1986, mbee56, mbee, 0, mbee56, mbee, mbee_state, init_mbee56, "Applied Technology", "Microbee 64k", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
COMP( 1986, mbee128, mbee, 0, mbee128, mbee128, mbee_state, init_mbee128, "Applied Technology", "Microbee 128k Standard", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
COMP( 1986, mbee128p, mbee, 0, mbee128p, mbee128, mbee_state, init_mbee128p, "Applied Technology", "Microbee 128k Premium", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
COMP( 1987, mbee256, mbee, 0, mbee256, mbee256, mbee_state, init_mbee256, "Applied Technology", "Microbee 256TC", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index 82988c602c6..c052e40d867 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -143,7 +143,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/mcr68.cpp b/src/mame/drivers/mcr68.cpp
index ea061eda6b0..322a6d07e78 100644
--- a/src/mame/drivers/mcr68.cpp
+++ b/src/mame/drivers/mcr68.cpp
@@ -77,7 +77,7 @@
void mcr68_state::xenophobe_control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
COMBINE_DATA(&m_control_word);
-/* m_sounds_good->reset_write(~m_control_word & 0x0020);*/
+// m_sounds_good->reset_write(~m_control_word & 0x0020);
m_sounds_good->write(((m_control_word & 0x000f) << 1) | ((m_control_word & 0x0010) >> 4));
}
@@ -92,7 +92,7 @@ void mcr68_state::xenophobe_control_w(offs_t offset, uint16_t data, uint16_t mem
void mcr68_state::blasted_control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
COMBINE_DATA(&m_control_word);
-/* m_sounds_good->reset_write(~m_control_word & 0x0020);*/
+// m_sounds_good->reset_write(~m_control_word & 0x0020);
m_sounds_good->write((m_control_word >> 8) & 0x1f);
}
@@ -124,7 +124,7 @@ void mcr68_state::spyhunt2_control_w(offs_t offset, uint16_t data, uint16_t mem_
{
COMBINE_DATA(&m_control_word);
-/* m_turbo_cheap_squeak->reset_write(~m_control_word & 0x0080);*/
+// m_turbo_cheap_squeak->reset_write(~m_control_word & 0x0080);
m_turbo_cheap_squeak->write((m_control_word >> 8) & 0x001f);
m_sounds_good->reset_write(~m_control_word & 0x2000);
@@ -209,10 +209,10 @@ void mcr68_state::archrivl_control_w(offs_t offset, uint16_t data, uint16_t mem_
void mcr68_state::pigskin_protection_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
- /* ignore upper-byte only */
+ // ignore upper-byte only
if (ACCESSING_BITS_0_7)
{
- /* track the last 5 bytes */
+ // track the last 5 bytes
m_protection_data[0] = m_protection_data[1];
m_protection_data[1] = m_protection_data[2];
m_protection_data[2] = m_protection_data[3];
@@ -226,16 +226,16 @@ void mcr68_state::pigskin_protection_w(offs_t offset, uint16_t data, uint16_t me
uint16_t mcr68_state::pigskin_protection_r()
{
- /* based on the last 5 bytes return a value */
+ // based on the last 5 bytes return a value
if (m_protection_data[4] == 0xe3 && m_protection_data[3] == 0x94)
- return 0x00; /* must be <= 1 */
+ return 0x00; // must be <= 1
if (m_protection_data[4] == 0xc7 && m_protection_data[3] == 0x7b && m_protection_data[2] == 0x36)
- return 0x00; /* must be <= 1 */
+ return 0x00; // must be <= 1
if (m_protection_data[4] == 0xc7 && m_protection_data[3] == 0x7b)
- return 0x07; /* must be > 5 */
+ return 0x07; // must be > 5
if (m_protection_data[4] == 0xc7 && m_protection_data[3] == 0x1f && m_protection_data[2] == 0x03 &&
m_protection_data[1] == 0x25 && m_protection_data[0] == 0x36)
- return 0x00; /* must be < 3 */
+ return 0x00; // must be < 3
logerror("Protection read after unrecognized sequence: %02X %02X %02X %02X %02X\n",
m_protection_data[0], m_protection_data[1], m_protection_data[2], m_protection_data[3], m_protection_data[4]);
@@ -246,7 +246,7 @@ uint16_t mcr68_state::pigskin_protection_r()
uint16_t mcr68_state::pigskin_port_1_r()
{
- /* see archrivl_port_1_r for 49-way joystick description */
+ // See archrivl_port_1_r for 49-way joystick description
return ioport("IN1")->read() |
(translate49[ioport("49WAYX1")->read() >> 4] << 12) |
(translate49[ioport("49WAYY1")->read() >> 4] << 8);
@@ -255,7 +255,7 @@ uint16_t mcr68_state::pigskin_port_1_r()
uint16_t mcr68_state::pigskin_port_2_r()
{
- /* see archrivl_port_1_r for 49-way joystick description */
+ // See archrivl_port_1_r for 49-way joystick description
return ioport("DSW")->read() |
(translate49[ioport("49WAYX2")->read() >> 4] << 12) |
(translate49[ioport("49WAYY2")->read() >> 4] << 8);
@@ -402,7 +402,7 @@ static INPUT_PORTS_START( xenophob )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("DSW") /* There are actually 10 switches, but where do 9 & 10 map to?? (10=Freeze Screen) */
+ PORT_START("DSW") // There are actually 10 switches, but where do 9 & 10 map to?? (10=Freeze Screen)
PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:3")
@@ -433,30 +433,30 @@ static INPUT_PORTS_START( spyhunt2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* SG status */
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) // SG status
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE )
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Oddly enough, if you assign this control to a key, it makes both player wheels go left to fifteen */
+ PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Oddly enough, if you assign this control to a key, it makes both player wheels go left to fifteen
PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME ("P2 1st Gear")/* 1st gear */
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_NAME ("P2 2nd Gear")/* 2nd gear */
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2) PORT_NAME ("P2 3rd Gear")/* 3rd gear */
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME ("P2 1st Gear") // 1st gear
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_NAME ("P2 2nd Gear") // 2nd gear
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2) PORT_NAME ("P2 3rd Gear") // 3rd gear
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME ("P1 1st Gear")/* 1st gear */
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME ("P1 2nd Gear")/* 2nd gear */
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME ("P1 3rd Gear")/* 3rd gear */
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* TCS status */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME ("P2 L Trigger")/* Left Trigger */
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME ("P2 L Button")/* Left Button */
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME ("P2 R Trigger")/* Right Trigger */
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME ("P2 R Button")/* Right Button */
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME ("P1 L Trigger")/* Left Trigger */
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME ("P1 L Button")/* Left Button */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME ("P1 R Trigger")/* Right Trigger */
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME ("P1 R Button")/* Right Button */
-
- PORT_START("DSW") /* dipswitches */
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME ("P1 1st Gear") // 1st gear
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME ("P1 2nd Gear") // 2nd gear
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME ("P1 3rd Gear") // 3rd gear
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_CUSTOM ) // TCS status
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME ("P2 L Trigger") // Left Trigger
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME ("P2 L Button") // Left Button
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME ("P2 R Trigger") // Right Trigger
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME ("P2 R Button") // Right Button
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME ("P1 L Trigger") // Left Trigger
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME ("P1 L Button") // Left Button
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME ("P1 R Trigger") // Right Trigger
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME ("P1 R Button") // Right Button
+
+ PORT_START("DSW") // Dipswitches
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
@@ -480,7 +480,7 @@ static INPUT_PORTS_START( spyhunt2 )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("AN1") /* analog ports for steering and pedals */
+ PORT_START("AN1") // Analog ports for steering and pedals
PORT_BIT( 0xff, 0x30, IPT_PEDAL ) PORT_MINMAX(0x30,0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2)
PORT_START("AN2")
@@ -498,7 +498,7 @@ static INPUT_PORTS_START( blasted )
PORT_START("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED/* credit w/bill */ )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED /* credit w/bill */ )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -506,8 +506,8 @@ static INPUT_PORTS_START( blasted )
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED/* credit 1 w/bill */ )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED/* credit 2 w/bill */ )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED /* credit 1 w/bill */ )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED /* credit 2 w/bill */ )
PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN1")
@@ -615,9 +615,9 @@ static INPUT_PORTS_START( archrivl )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_START("IN1")
- PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED ) /* player 1/2 joysticks go here */
+ PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED ) // Player 1/2 joysticks go here
- PORT_START("DSW") /* There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog */
+ PORT_START("DSW") // There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0003, "Preset Time" )
PORT_DIPSETTING( 0x0002, "Preset + 10sec" )
@@ -643,16 +643,16 @@ static INPUT_PORTS_START( archrivl )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("49WAYX1") /* converted to standard 49-way inputs */
+ PORT_START("49WAYX1") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_X ) PORT_PLAYER(1) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START("49WAYY1") /* converted to standard 49-way inputs */
+ PORT_START("49WAYY1") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_Y ) PORT_PLAYER(1) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START("49WAYX2") /* converted to standard 49-way inputs */
+ PORT_START("49WAYX2") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_X ) PORT_PLAYER(2) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START("49WAYY2") /* converted to standard 49-way inputs */
+ PORT_START("49WAYY2") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_Y ) PORT_PLAYER(2) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
INPUT_PORTS_END
@@ -692,7 +692,7 @@ static INPUT_PORTS_START( archrivlb )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_START("DSW") /* There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog on the non-bootleg hardware, unclear here */
+ PORT_START("DSW") // There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog on the non-bootleg hardware, unclear here
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0003, "Preset Time" )
PORT_DIPSETTING( 0x0002, "Preset + 10sec" )
@@ -745,9 +745,9 @@ static INPUT_PORTS_START( pigskin )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) /* player 1 joystick goes here */
+ PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) // Player 1 joystick goes here
- PORT_START("DSW") /* There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog */
+ PORT_START("DSW") // There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x0000, "Shortest" )
PORT_DIPSETTING( 0x0002, "Short" )
@@ -770,18 +770,18 @@ static INPUT_PORTS_START( pigskin )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Joystick ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x0080, DEF_STR( Standard ) )
PORT_DIPSETTING( 0x0000, "Rotated" )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) /* player 2 joystick goes here */
+ PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) // Player 2 joystick goes here
- PORT_START("49WAYX1") /* converted to standard 49-way inputs */
+ PORT_START("49WAYX1") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_X ) PORT_PLAYER(1) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
- PORT_START("49WAYY1") /* converted to standard 49-way inputs */
+ PORT_START("49WAYY1") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_Y ) PORT_PLAYER(1) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
- PORT_START("49WAYX2") /* converted to standard 49-way inputs */
+ PORT_START("49WAYX2") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_X ) PORT_PLAYER(2) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
- PORT_START("49WAYY2") /* converted to standard 49-way inputs */
+ PORT_START("49WAYY2") // Converted to standard 49-way inputs
PORT_BIT( 0xff, 0x38, IPT_AD_STICK_Y ) PORT_PLAYER(2) PORT_MINMAX(0x00,0x6f) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
INPUT_PORTS_END
@@ -802,9 +802,9 @@ static INPUT_PORTS_START( trisport )
PORT_START("IN1")
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) /* analog controls go here */
+ PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED ) // Analog controls go here
- PORT_START("DSW") /* There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog */
+ PORT_START("DSW") // There are actually 10 switches; 9 is unconnected, 10 (freeze) connects to a PAL and disables the watchdog
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_1C ) )
@@ -913,7 +913,7 @@ GFXDECODE_END
void mcr68_state::mcr68(machine_config &config)
{
- /* basic machine hardware */
+ // Basic machine hardware
M68000(config, m_maincpu, 7723800);
m_maincpu->set_addrmap(AS_PROGRAM, &mcr68_state::mcr68_map);
@@ -922,10 +922,10 @@ void mcr68_state::mcr68(machine_config &config)
PTM6840(config, m_ptm, 7723800 / 10);
m_ptm->irq_callback().set_inputline("maincpu", 2);
- /* video hardware */
+ // Video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(30);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */ );
m_screen->set_size(32*16, 30*16);
m_screen->set_visarea(0, 32*16-1, 0, 30*16-1);
m_screen->set_screen_update(FUNC(mcr68_state::screen_update_mcr68));
@@ -936,7 +936,7 @@ void mcr68_state::mcr68(machine_config &config)
GFXDECODE(config, m_gfxdecode, "palette", gfx_mcr68);
PALETTE(config, "palette").set_format(palette_device::xRBG_333, 64);
- /* sound hardware -- determined by specific machine */
+ // Sound hardware -- determined by specific machine
SPEAKER(config, "speaker").front_center();
}
@@ -945,7 +945,7 @@ void mcr68_state::xenophob(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
MIDWAY_SOUNDS_GOOD(config, m_sounds_good).add_route(ALL_OUTPUTS, "speaker", 1.0);
}
@@ -953,7 +953,7 @@ void mcr68_state::intlaser(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
MIDWAY_SOUNDS_GOOD(config, m_sounds_good).add_route(ALL_OUTPUTS, "speaker", 1.0);
subdevice<watchdog_timer_device>("watchdog")->set_vblank_count("screen", 800);
@@ -964,7 +964,7 @@ void mcr68_state::spyhunt2(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
MIDWAY_SOUNDS_GOOD(config, m_sounds_good).add_route(ALL_OUTPUTS, "speaker", 1.0);
MIDWAY_TURBO_CHEAP_SQUEAK(config, m_turbo_cheap_squeak).add_route(ALL_OUTPUTS, "speaker", 1.0);
@@ -980,7 +980,7 @@ void mcr68_state::archrivl(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
S11_BG(config, m_bg).add_route(ALL_OUTPUTS, "speaker", 1.0); // uses a D-11581 w/o W10/W11 jumpers, older mix resistors
// The schematics actually imply on the parts list that this may use the even older mix resistors from the D-1129x board
// but the actual schematic shows the D-11581 resistors. This may be worth checking from an original board.
@@ -991,7 +991,7 @@ void mcr68_state::pigskin(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
S11C_BG(config, m_bg).add_route(ALL_OUTPUTS, "speaker", 1.0); // uses a D-11581-4xxx w/ W10/W11 jumpers, newer mix resistors
m_maincpu->set_addrmap(AS_PROGRAM, &mcr68_state::pigskin_map);
@@ -1002,7 +1002,7 @@ void mcr68_state::trisport(machine_config &config)
{
mcr68(config);
- /* basic machine hardware */
+ // Basic machine hardware
S11C_BG(config, m_bg).add_route(ALL_OUTPUTS, "speaker", 1.0); // uses a D-11581-4xxx w/ W10/W11 jumpers, newer mix resistors
// the above could use verification from the schematics, but based on the fact that it uses 3 roms, two 27512 and one 27256,
// and only the S11C_BG/D-11581-4xxx board properly supports that specific combination, it is almost certainly using
@@ -1028,14 +1028,14 @@ void mcr68_state::trisport(machine_config &config)
Sound Board: A080-91863-B000
*/
-ROM_START( xenophob ) /* Service mode shows "VERSION CO" */
+ROM_START( xenophob ) // Service mode shows "VERSION CO"
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "xeno_pro.3c", 0x00000, 0x10000, CRC(f44c2e60) SHA1(9130b26eb1e0e0a75f9fdec898e1f0976de8a766) )
ROM_LOAD16_BYTE( "xeno_pro.3b", 0x00001, 0x10000, CRC(01609a3b) SHA1(9e065bc72f56439a885bfdfc8eb60df666df7c37) )
ROM_LOAD16_BYTE( "xeno_pro.2c", 0x20000, 0x10000, CRC(e45bf669) SHA1(52b0ffd2311e4d300410de57fbddacab4b9857a1) )
ROM_LOAD16_BYTE( "xeno_pro.2b", 0x20001, 0x10000, CRC(da5d39d5) SHA1(f61b239eb3108faec2f3dbb8139c8d01b0e29873) )
- ROM_REGION( 0x40000, "sg:cpu", 0 ) /* Sounds Good board */
+ ROM_REGION( 0x40000, "sg:cpu", 0 ) // Sounds Good board
ROM_LOAD16_BYTE( "xeno_snd.u7", 0x00000, 0x10000, CRC(77561d15) SHA1(8c23a9270d54be6380f2d23939b6c6d8c31e334b) )
ROM_LOAD16_BYTE( "xeno_snd.u17", 0x00001, 0x10000, CRC(837a1a71) SHA1(d7d60ef1fd11e5e84dd1ffb9a077686bd2fb452e) )
ROM_LOAD16_BYTE( "xeno_snd.u8", 0x20000, 0x10000, CRC(6e2915c7) SHA1(df1f35f6b743afbab0a3a29adce3639a8c9dc66f) )
@@ -1051,41 +1051,41 @@ ROM_START( xenophob ) /* Service mode shows "VERSION CO" */
ROM_LOAD( "xeno_fg.9j", 0x20000, 0x10000, CRC(82fb3e09) SHA1(f06e9df20044244a6c174f4876e615ccc18e1cba) )
ROM_LOAD( "xeno_fg.10j", 0x30000, 0x10000, CRC(6a7a3516) SHA1(1def9c134220eac9ba5e46d38282ff18f51b6398) )
- /* PLD's located on the cpu/video board */
+ // PLDs located on the CPU/video board
ROM_REGION( 0x000C, "cpu_plds", 0 )
- ROM_LOAD( "b61a-49aaj-axad.bin", 0x00000, 0x00001, NO_DUMP ) /* PAL20L8 at 9B */
- ROM_LOAD( "b75a-50aaj-bxad.bin", 0x00001, 0x00001, NO_DUMP ) /* PAL16L8 at 1J */
- ROM_LOAD( "b75a-50aaj-axad.bin", 0x00002, 0x00001, NO_DUMP ) /* PAL16L8 at 2J */
- ROM_LOAD( "b75a-41aaj-axad.bin", 0x00003, 0x00001, NO_DUMP ) /* PAL16R4 at 2K */
- ROM_LOAD( "b75a-41aaj-bxab.bin", 0x00004, 0x00001, NO_DUMP ) /* PAL16R4 at 14K */
- ROM_LOAD( "a59a26axlaxhd.bin", 0x00005, 0x00001, NO_DUMP ) /* PLS153 at 11J */
- ROM_LOAD( "a59a26axlbxhd.bin", 0x00006, 0x00001, NO_DUMP ) /* PLS153 at 12J */
- ROM_LOAD( "a59a26axlcxhd.bin", 0x00007, 0x00001, NO_DUMP ) /* PLS153 at 14H */
- ROM_LOAD( "0066-316bx-xxqx.bin", 0x00008, 0x00001, NO_DUMP ) /* 20 Pin PLD? at 14E */
- ROM_LOAD( "0066-314bx-xxqx.bin", 0x00009, 0x00001, NO_DUMP ) /* 24 Pin PLD? at 14F */
- ROM_LOAD( "0066-315bx-xxqx.bin", 0x0000A, 0x00001, NO_DUMP ) /* 20 Pin PLD? at 15E */
- ROM_LOAD( "0066-313bx-xxqx.bin", 0x0000B, 0x00001, NO_DUMP ) /* 24 Pin PLD? at 15F */
-
- /* PLD located on the "Sounds Good" board */
+ ROM_LOAD( "b61a-49aaj-axad.bin", 0x00000, 0x00001, NO_DUMP ) // PAL20L8 at 9B
+ ROM_LOAD( "b75a-50aaj-bxad.bin", 0x00001, 0x00001, NO_DUMP ) // PAL16L8 at 1J
+ ROM_LOAD( "b75a-50aaj-axad.bin", 0x00002, 0x00001, NO_DUMP ) // PAL16L8 at 2J
+ ROM_LOAD( "b75a-41aaj-axad.bin", 0x00003, 0x00001, NO_DUMP ) // PAL16R4 at 2K
+ ROM_LOAD( "b75a-41aaj-bxab.bin", 0x00004, 0x00001, NO_DUMP ) // PAL16R4 at 14K
+ ROM_LOAD( "a59a26axlaxhd.bin", 0x00005, 0x00001, NO_DUMP ) // PLS153 at 11J
+ ROM_LOAD( "a59a26axlbxhd.bin", 0x00006, 0x00001, NO_DUMP ) // PLS153 at 12J
+ ROM_LOAD( "a59a26axlcxhd.bin", 0x00007, 0x00001, NO_DUMP ) // PLS153 at 14H
+ ROM_LOAD( "0066-316bx-xxqx.bin", 0x00008, 0x00001, NO_DUMP ) // 20 Pin PLD? at 14E
+ ROM_LOAD( "0066-314bx-xxqx.bin", 0x00009, 0x00001, NO_DUMP ) // 24 Pin PLD? at 14F
+ ROM_LOAD( "0066-315bx-xxqx.bin", 0x0000A, 0x00001, NO_DUMP ) // 20 Pin PLD? at 15E
+ ROM_LOAD( "0066-313bx-xxqx.bin", 0x0000B, 0x00001, NO_DUMP ) // 24 Pin PLD? at 15F
+
+ // PLD located on the "Sounds Good" board
ROM_REGION( 0x00100, "snd_pld", 0 )
- ROM_LOAD( "e36a31axnaxad.bin", 0x00000, 0x000cc, CRC(33e62608) SHA1(ab89ce32a5a351914a80e0e11830299425a22874) ) /* PAL20L10 at U15 */
+ ROM_LOAD( "e36a31axnaxad.bin", 0x00000, 0x000cc, CRC(33e62608) SHA1(ab89ce32a5a351914a80e0e11830299425a22874) ) // PAL20L10 at U15
ROM_END
-ROM_START( spyhunt2 ) /* Service menu reports as SPY HUNTER II REV 2 */
+ROM_START( spyhunt2 ) // Service menu reports as SPY HUNTER II REV 2
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "sh2_3c_rev2.3c", 0x00000, 0x10000, CRC(30b91c90) SHA1(5b76f4e512b17ee80de2694807aa4e2499c2ef8b) )
ROM_LOAD16_BYTE( "sh2_3b_rev2.3b", 0x00001, 0x10000, CRC(f64513c6) SHA1(e42cab599e489a0ba422b28c5cfda0f9c3a60601) )
ROM_LOAD16_BYTE( "sh2_2c_rev2.2c", 0x20000, 0x10000, CRC(8ee65009) SHA1(6adb00888f739b59e3ace1a6eaf1c58c4583d7fd) )
ROM_LOAD16_BYTE( "sh2_2b_rev2.2b", 0x20001, 0x10000, CRC(850c21ad) SHA1(3b944545cb469e2c53166a91eb2834c5f3891ddf) )
- ROM_REGION( 0x10000, "tcs:cpu", 0 ) /* 64k for the Turbo Cheap Squeak */
- ROM_LOAD( "spyhunter_ii_u5.u5", 0x08000, 0x4000, CRC(4b1d8a66) SHA1(a1a2f9fe3fc42b668ec97ad6c6ea6032f1dc0695) ) /* Dated 3/5/87 */
- ROM_LOAD( "spyhunter_ii_u4.u4", 0x0c000, 0x4000, CRC(3722ce48) SHA1(ae064be590c067bda66ca7a72c212ad47f3eb1c5) ) /* Dated 3/5/87 */
+ ROM_REGION( 0x10000, "tcs:cpu", 0 ) // 64k for the Turbo Cheap Squeak
+ ROM_LOAD( "spyhunter_ii_u5.u5", 0x08000, 0x4000, CRC(4b1d8a66) SHA1(a1a2f9fe3fc42b668ec97ad6c6ea6032f1dc0695) ) // Dated 3/5/87
+ ROM_LOAD( "spyhunter_ii_u4.u4", 0x0c000, 0x4000, CRC(3722ce48) SHA1(ae064be590c067bda66ca7a72c212ad47f3eb1c5) ) // Dated 3/5/87
- ROM_REGION( 0x40000, "sg:cpu", 0 ) /* Sounds Good board */
- ROM_LOAD16_BYTE( "spyhunter_ii_u7_sound.u7", 0x00000, 0x10000, CRC(02362ea4) SHA1(2d37f06c9156554b8140ed565f6fdd1ef67bb54f) ) /* Dated 3/18/87 */
- ROM_LOAD16_BYTE( "spyhunter_ii_u17_sound.u17", 0x00001, 0x10000, CRC(e29a2c37) SHA1(e0d4df90b533d3325c905d42ddc6876667f32c82) ) /* Dated 3/18/87 */
+ ROM_REGION( 0x40000, "sg:cpu", 0 ) // Sounds Good board
+ ROM_LOAD16_BYTE( "spyhunter_ii_u7_sound.u7", 0x00000, 0x10000, CRC(02362ea4) SHA1(2d37f06c9156554b8140ed565f6fdd1ef67bb54f) ) // Dated 3/18/87
+ ROM_LOAD16_BYTE( "spyhunter_ii_u17_sound.u17", 0x00001, 0x10000, CRC(e29a2c37) SHA1(e0d4df90b533d3325c905d42ddc6876667f32c82) ) // Dated 3/18/87
ROM_REGION( 0x10000, "gfx1", ROMREGION_INVERT )
ROM_LOAD( "sh2_bg0_rev2.11d", 0x00000, 0x08000, CRC(cb3c3d8e) SHA1(5135eefd311e21b62628a6b6dc483ff80e5594fd) )
@@ -1098,14 +1098,14 @@ ROM_START( spyhunt2 ) /* Service menu reports as SPY HUNTER II REV 2 */
ROM_LOAD( "fg3.10j", 0x60000, 0x20000, CRC(d3475ff8) SHA1(aa7a283a190a6c43e365fcd9242c5d0b920dbf32) )
ROM_REGION( 0x0006, "plds", 0 )
- /* According to the manual these pal's are located on the Video Game board */
- ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) /* marked COLARB in manual */
- ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) /* marked IODCD in manual */
- ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) /* marked MEMDCD in manual */
- ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) /* marked DTACK in manual */
- ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) /* marked HSYNC in manual*/
- /* According to the manual this pal is located on the "Sounds Good" board */
- ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) /* marked SG01R0 in manual, pal type not specified */
+ // According to the manual these pal's are located on the Video Game board
+ ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) // marked COLARB in manual
+ ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) // marked IODCD in manual
+ ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) // marked MEMDCD in manual
+ ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) // marked DTACK in manual
+ ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) // marked HSYNC in manual
+ // According to the manual this PAL is located on the "Sounds Good" board
+ ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) // marked SG01R0 in manual, pal type not specified
ROM_END
@@ -1116,13 +1116,13 @@ ROM_START( spyhunt2a )
ROM_LOAD16_BYTE( "sh2_2c.2c", 0x20000, 0x10000, CRC(bc834f3f) SHA1(05f6ab508ce2ebe55665e97114070e9d81db48c8) )
ROM_LOAD16_BYTE( "sh2_2b.2b", 0x20001, 0x10000, CRC(8a9f7ef3) SHA1(353ebb0a3782c183cc9be800584903e23ca507d9) )
- ROM_REGION( 0x10000, "tcs:cpu", 0 ) /* 64k for the Turbo Cheap Squeak */
- ROM_LOAD( "spyhunter_ii_u5.u5", 0x08000, 0x4000, CRC(4b1d8a66) SHA1(a1a2f9fe3fc42b668ec97ad6c6ea6032f1dc0695) ) /* Dated 3/5/87 */
- ROM_LOAD( "spyhunter_ii_u4.u4", 0x0c000, 0x4000, CRC(3722ce48) SHA1(ae064be590c067bda66ca7a72c212ad47f3eb1c5) ) /* Dated 3/5/87 */
+ ROM_REGION( 0x10000, "tcs:cpu", 0 ) // 64k for the Turbo Cheap Squeak
+ ROM_LOAD( "spyhunter_ii_u5.u5", 0x08000, 0x4000, CRC(4b1d8a66) SHA1(a1a2f9fe3fc42b668ec97ad6c6ea6032f1dc0695) ) // Dated 3/5/87
+ ROM_LOAD( "spyhunter_ii_u4.u4", 0x0c000, 0x4000, CRC(3722ce48) SHA1(ae064be590c067bda66ca7a72c212ad47f3eb1c5) ) // Dated 3/5/87
- ROM_REGION( 0x40000, "sg:cpu", 0 ) /* Sounds Good board */
- ROM_LOAD16_BYTE( "spyhunter_ii_u7_sound.u7", 0x00000, 0x10000, CRC(02362ea4) SHA1(2d37f06c9156554b8140ed565f6fdd1ef67bb54f) ) /* Dated 3/18/87 */
- ROM_LOAD16_BYTE( "spyhunter_ii_u17_sound.u17", 0x00001, 0x10000, CRC(e29a2c37) SHA1(e0d4df90b533d3325c905d42ddc6876667f32c82) ) /* Dated 3/18/87 */
+ ROM_REGION( 0x40000, "sg:cpu", 0 ) // Sounds Good board
+ ROM_LOAD16_BYTE( "spyhunter_ii_u7_sound.u7", 0x00000, 0x10000, CRC(02362ea4) SHA1(2d37f06c9156554b8140ed565f6fdd1ef67bb54f) ) // Dated 3/18/87
+ ROM_LOAD16_BYTE( "spyhunter_ii_u17_sound.u17", 0x00001, 0x10000, CRC(e29a2c37) SHA1(e0d4df90b533d3325c905d42ddc6876667f32c82) ) // Dated 3/18/87
ROM_REGION( 0x10000, "gfx1", ROMREGION_INVERT )
ROM_LOAD( "bg0.11d", 0x00000, 0x08000, CRC(81efef7a) SHA1(74a6757b374b9f1e0c5a33a13fa492ae2e4347a0) )
@@ -1135,25 +1135,25 @@ ROM_START( spyhunt2a )
ROM_LOAD( "fg3.10j", 0x60000, 0x20000, CRC(d3475ff8) SHA1(aa7a283a190a6c43e365fcd9242c5d0b920dbf32) )
ROM_REGION( 0x0006, "plds", 0 )
- /* According to the manual these pal's are located on the Video Game board */
- ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) /* marked COLARB in manual */
- ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) /* marked IODCD in manual */
- ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) /* marked MEMDCD in manual */
- ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) /* marked DTACK in manual */
- ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) /* marked HSYNC in manual*/
- /* According to the manual this pal is located on the "Sounds Good" board */
- ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) /* marked SG01R0 in manual, pal type not specified */
+ // According to the manual these PALs are located on the Video Game board
+ ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) // marked COLARB in manual
+ ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) // marked IODCD in manual
+ ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) // marked MEMDCD in manual
+ ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) // marked DTACK in manual
+ ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) // marked HSYNC in manual
+ // According to the manual this PAL is located on the "Sounds Good" board
+ ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) // marked SG01R0 in manual, pal type not specified
ROM_END
-ROM_START( blasted ) /* Service mode shows "prod. code v.1" and the date 4/27/88 */
+ROM_START( blasted ) // Service mode shows "prod. code v.1" and the date 4/27/88
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "3c", 0x00000, 0x10000, CRC(b243b7df) SHA1(b44179c30e5286362b0be4e2e9b0742e7e27f7c9) )
ROM_LOAD16_BYTE( "3b", 0x00001, 0x10000, CRC(627e30d3) SHA1(c430191dd539a22603e49df4c4cb697747a0cd02) )
ROM_LOAD16_BYTE( "2c", 0x20000, 0x10000, CRC(026f30bf) SHA1(de327ab5bd4dc9456fa5a91f3ccd293b3ab8c5c2) )
ROM_LOAD16_BYTE( "2b", 0x20001, 0x10000, CRC(8e0e91a9) SHA1(2dc2927a1fd552ead446606a902a2ba0c4595798) )
- ROM_REGION( 0x40000, "sg:cpu", 0 ) /* Sounds Good board */
+ ROM_REGION( 0x40000, "sg:cpu", 0 ) // Sounds Good board
ROM_LOAD16_BYTE( "blasted.u7", 0x00000, 0x10000, CRC(8d7c8ef6) SHA1(a414e91c20202f800f3e01e4c430e3f99e3df5bb) )
ROM_LOAD16_BYTE( "blasted.u17", 0x00001, 0x10000, CRC(c79040b9) SHA1(e6fa173ff5fb681ddfef831f1ef237a7c4303f32) )
ROM_LOAD16_BYTE( "blasted.u8", 0x20000, 0x10000, CRC(c53094c0) SHA1(8c54cefe8030bf18b9585008a4a6cf8a7dc23f71) )
@@ -1170,24 +1170,24 @@ ROM_START( blasted ) /* Service mode shows "prod. code v.1" and the date 4/27/88
ROM_LOAD( "fg3", 0x60000, 0x20000, CRC(18e4a130) SHA1(2412b45ca58b36515c80b0888a5d35303a5ce5a2) )
ROM_REGION( 0x0006, "plds", 0 )
- /* According to the manual these pal's are located on the Video Game board */
- ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) /* marked COLARB in manual */
- ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) /* marked IODCD in manual */
- ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) /* marked MEMDCD in manual */
- ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) /* marked DTACK in manual */
- ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) /* marked HSYNC in manual*/
- /* According to the manual this pal is located on the "Sounds Good" board */
- ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) /* marked SG01R0 in manual, pal type not specified */
+ // According to the manual these PALs are located on the Video Game board
+ ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) // marked COLARB in manual
+ ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) // marked IODCD in manual
+ ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) // marked MEMDCD in manual
+ ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) // marked DTACK in manual
+ ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) // marked HSYNC in manual
+ // According to the manual this PAL is located on the "Sounds Good" board
+ ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) // marked SG01R0 in manual, pal type not specified
ROM_END
-ROM_START( intlaser ) /* Service mode shows "TOP SECRET PROJ. #F01" and the date 10/01/87 */
+ROM_START( intlaser ) // Service mode shows "TOP SECRET PROJ. #F01" and the date 10/01/87
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "3c.bin", 0x00000, 0x10000, CRC(ddab582a) SHA1(db124e35b7b33d282f71104412a8dab71ce71cb4) )
ROM_LOAD16_BYTE( "3b.bin", 0x00001, 0x10000, CRC(e4498eca) SHA1(69cbc80ab9a801e957a74278475869d3b54e9a2a) )
ROM_LOAD16_BYTE( "2c.bin", 0x20000, 0x10000, CRC(d2cca853) SHA1(69e4ee8203c6dda7b4ec97c247fbcdc9fdc9ff8d) )
ROM_LOAD16_BYTE( "2b.bin", 0x20001, 0x10000, CRC(3802cfe2) SHA1(d10c802500bae14acc3230ca34c2d1806b68ce4a) )
- ROM_REGION( 0x40000, "sg:cpu", 0 ) /* Sounds Good board */
+ ROM_REGION( 0x40000, "sg:cpu", 0 ) // Sounds Good board
ROM_LOAD16_BYTE( "u7.bin", 0x00000, 0x10000, CRC(19ad1e45) SHA1(838ad7304248690d3fdf9e4edf3856936bf36d42) )
ROM_LOAD16_BYTE( "u17.bin", 0x00001, 0x10000, CRC(d6118949) SHA1(9e059f28d9eb8dee10301662a65588cffaf6fd16) )
ROM_LOAD16_BYTE( "u8.bin", 0x20000, 0x10000, CRC(d6cc99aa) SHA1(b970d6e87778959cf7322158b8df26c5028e3f45) )
@@ -1204,26 +1204,26 @@ ROM_START( intlaser ) /* Service mode shows "TOP SECRET PROJ. #F01" and the date
ROM_LOAD( "10j.bin", 0x60000, 0x20000, CRC(203b55b8) SHA1(72311af32039d09f3b0f4641b71eaf836302fc9a) )
ROM_REGION( 0x0006, "plds", 0 )
- /* According to the manual these pal's are located on the Video Game board */
- ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) /* marked COLARB in manual */
- ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) /* marked IODCD in manual */
- ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) /* marked MEMDCD in manual */
- ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) /* marked DTACK in manual */
- ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) /* marked HSYNC in manual*/
- /* According to the manual this pal is located on the "Sounds Good" board */
- ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) /* marked SG01R0 in manual, pal type not specified */
+ // According to the manual these PALs are located on the Video Game board
+ ROM_LOAD( "pal20l8.9b", 0x00000, 0x00001, NO_DUMP ) // marked COLARB in manual
+ ROM_LOAD( "pal16l8.1j", 0x00001, 0x00001, NO_DUMP ) // marked IODCD in manual
+ ROM_LOAD( "pal16l8.2j", 0x00002, 0x00001, NO_DUMP ) // marked MEMDCD in manual
+ ROM_LOAD( "pal16r4.2k", 0x00003, 0x00001, NO_DUMP ) // marked DTACK in manual
+ ROM_LOAD( "pal16r4.14k", 0x00004, 0x00001, NO_DUMP ) // marked HSYNC in manual
+ // According to the manual this PAL is located on the "Sounds Good" board
+ ROM_LOAD( "pal20.u15", 0x00005, 0x00001, NO_DUMP ) // marked SG01R0 in manual, pal type not specified
ROM_END
-ROM_START( archrivl ) /* Reports as rev 4.0 6/29/89 */
+ROM_START( archrivl ) // Reports as rev 4.0 6/29/89
ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "arch_rivals_3c_rev4.3c", 0x00000, 0x10000, CRC(60d4b760) SHA1(9c24c72f62310475b0dade85299cb661904f8f41) ) /* "REV4" portion of label is beige */
+ ROM_LOAD16_BYTE( "arch_rivals_3c_rev4.3c", 0x00000, 0x10000, CRC(60d4b760) SHA1(9c24c72f62310475b0dade85299cb661904f8f41) ) // "REV4" portion of label is beige
ROM_LOAD16_BYTE( "arch_rivals_3b_rev4.3b", 0x00001, 0x10000, CRC(e0c07a8d) SHA1(ace5b480d4c2cd3d78dff0e284cf13a8d28c40b7) )
ROM_LOAD16_BYTE( "arch_rivals_2c_rev4.2c", 0x20000, 0x10000, CRC(cc2893f7) SHA1(44931299cb98e27ac2f11b3922da76895fbfe0a7) )
ROM_LOAD16_BYTE( "arch_rivals_2b_rev4.2b", 0x20001, 0x10000, CRC(fa977050) SHA1(67c66995da755401162f7e668b97eb42ac769ec0) )
- ROM_REGION( 0x90000, "bg:cpu", 0 ) /* Audio System board */
- ROM_LOAD( "arch_rivals_u4_rev1.u4", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) ) /* "REV1" portion of label is brown */
+ ROM_REGION( 0x90000, "bg:cpu", 0 ) // Audio System board
+ ROM_LOAD( "arch_rivals_u4_rev1.u4", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) ) // "REV1" portion of label is brown
ROM_RELOAD( 0x08000, 0x08000 )
ROM_RELOAD( 0x10000, 0x08000 )
ROM_RELOAD( 0x18000, 0x08000 )
@@ -1237,11 +1237,11 @@ ROM_START( archrivl ) /* Reports as rev 4.0 6/29/89 */
ROM_RELOAD( 0x58000, 0x08000 )
ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "arch_rivals_11d_rev1.11d", 0x00000, 0x10000, CRC(7eb3d7c6) SHA1(8544d04929cdb36fa7f0dcb67e0b7fd8c7b0fc2b) ) /* "REV1" portion of label is brown */
+ ROM_LOAD( "arch_rivals_11d_rev1.11d", 0x00000, 0x10000, CRC(7eb3d7c6) SHA1(8544d04929cdb36fa7f0dcb67e0b7fd8c7b0fc2b) ) // "REV1" portion of label is brown
ROM_LOAD( "arch_rivals_12d_rev1.12d", 0x10000, 0x10000, CRC(31e68050) SHA1(e25871beb08a8706af70d277fa7305a1f4d7d3e2) )
ROM_REGION( 0x80000, "gfx2", 0 )
- ROM_LOAD( "arch_rivals_7j_rev1.7j", 0x00000, 0x20000, CRC(148ce28c) SHA1(d7dc59d9ae8dc61ecc58a6172fd40aa3926b1f6f) ) /* "REV1" portion of label is brown */
+ ROM_LOAD( "arch_rivals_7j_rev1.7j", 0x00000, 0x20000, CRC(148ce28c) SHA1(d7dc59d9ae8dc61ecc58a6172fd40aa3926b1f6f) ) // "REV1" portion of label is brown
ROM_LOAD( "arch_rivals_8j_rev1.8j", 0x20000, 0x20000, CRC(58187ac2) SHA1(0bd58598720c41b3c393d47b3b1d6b30696b3a6f) )
ROM_LOAD( "arch_rivals_9j_rev1.9j", 0x40000, 0x20000, CRC(0dd1204e) SHA1(bdc9b74e7ae8f071d2eb3ce957eec484f02ef876) )
ROM_LOAD( "arch_rivals_10j_rev1.10j", 0x60000, 0x20000, CRC(eb3d0344) SHA1(9db7c7bca45f56550c9a9623f96565901968d0c3) )
@@ -1250,27 +1250,27 @@ ROM_START( archrivl ) /* Reports as rev 4.0 6/29/89 */
ROM_LOAD( "pls153.11j", 0x0000, 0x00eb, CRC(761c3b56) SHA1(06c1717face55cc5b05ec45be9525a3d25419b85) )
ROM_LOAD( "pls153.12j", 0x0100, 0x00eb, CRC(48eed036) SHA1(146b47ecb341b074acad0e4da2d81ff921bbaf7a) )
ROM_LOAD( "pls153.14h", 0x0200, 0x00eb, CRC(d4203273) SHA1(59fde5850ad55e257f10db857dfb9a1e929fc1ec) )
- ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) // PAL is read protected
ROM_END
-ROM_START( archrivla ) /* Reports as rev 2.0 5/03/89 */
+ROM_START( archrivla ) // Reports as rev 2.0 5/03/89
ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "arch_rivals_3c_rev2.3c", 0x00000, 0x10000, CRC(3c545740) SHA1(84a467756c959385a3ec3b97026823470bbab7ab) ) /* "REV2" portion of label is red */
+ ROM_LOAD16_BYTE( "arch_rivals_3c_rev2.3c", 0x00000, 0x10000, CRC(3c545740) SHA1(84a467756c959385a3ec3b97026823470bbab7ab) ) // "REV2" portion of label is red
ROM_LOAD16_BYTE( "arch_rivals_3b_rev2.3b", 0x00001, 0x10000, CRC(bc4df2b9) SHA1(7314d03d4cf7e8a83135fa67969dda3088e212fb) )
ROM_LOAD16_BYTE( "arch_rivals_2c_rev2.2c", 0x20000, 0x10000, CRC(d6d08ff7) SHA1(bbbd4b5c3218c9bb461b17e536191d40ab39f67c) )
ROM_LOAD16_BYTE( "arch_rivals_2b_rev2.2b", 0x20001, 0x10000, CRC(92f3a43d) SHA1(45fdcbacd65f5898d54cc2ac95639b7ee2c097e6) )
- ROM_REGION( 0x90000, "bg:cpu", 0 ) /* Audio System board */
- ROM_LOAD( "arch_rivals_u4_rev1.u4", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) ) /* "REV1" portion of label is brown */
+ ROM_REGION( 0x90000, "bg:cpu", 0 ) // Audio System board
+ ROM_LOAD( "arch_rivals_u4_rev1.u4", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) ) // "REV1" portion of label is brown
ROM_RELOAD( 0x08000, 0x08000 )
ROM_RELOAD( 0x10000, 0x08000 )
ROM_RELOAD( 0x18000, 0x08000 )
@@ -1284,11 +1284,11 @@ ROM_START( archrivla ) /* Reports as rev 2.0 5/03/89 */
ROM_RELOAD( 0x58000, 0x08000 )
ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "arch_rivals_11d_rev1.11d", 0x00000, 0x10000, CRC(7eb3d7c6) SHA1(8544d04929cdb36fa7f0dcb67e0b7fd8c7b0fc2b) ) /* "REV1" portion of label is brown */
+ ROM_LOAD( "arch_rivals_11d_rev1.11d", 0x00000, 0x10000, CRC(7eb3d7c6) SHA1(8544d04929cdb36fa7f0dcb67e0b7fd8c7b0fc2b) ) // "REV1" portion of label is brown
ROM_LOAD( "arch_rivals_12d_rev1.12d", 0x10000, 0x10000, CRC(31e68050) SHA1(e25871beb08a8706af70d277fa7305a1f4d7d3e2) )
ROM_REGION( 0x80000, "gfx2", 0 )
- ROM_LOAD( "arch_rivals_7j_rev1.7j", 0x00000, 0x20000, CRC(148ce28c) SHA1(d7dc59d9ae8dc61ecc58a6172fd40aa3926b1f6f) ) /* "REV1" portion of label is brown */
+ ROM_LOAD( "arch_rivals_7j_rev1.7j", 0x00000, 0x20000, CRC(148ce28c) SHA1(d7dc59d9ae8dc61ecc58a6172fd40aa3926b1f6f) ) // "REV1" portion of label is brown
ROM_LOAD( "arch_rivals_8j_rev1.8j", 0x20000, 0x20000, CRC(58187ac2) SHA1(0bd58598720c41b3c393d47b3b1d6b30696b3a6f) )
ROM_LOAD( "arch_rivals_9j_rev1.9j", 0x40000, 0x20000, CRC(0dd1204e) SHA1(bdc9b74e7ae8f071d2eb3ce957eec484f02ef876) )
ROM_LOAD( "arch_rivals_10j_rev1.10j", 0x60000, 0x20000, CRC(eb3d0344) SHA1(9db7c7bca45f56550c9a9623f96565901968d0c3) )
@@ -1297,26 +1297,26 @@ ROM_START( archrivla ) /* Reports as rev 2.0 5/03/89 */
ROM_LOAD( "pls153.11j", 0x0000, 0x00eb, CRC(761c3b56) SHA1(06c1717face55cc5b05ec45be9525a3d25419b85) )
ROM_LOAD( "pls153.12j", 0x0100, 0x00eb, CRC(48eed036) SHA1(146b47ecb341b074acad0e4da2d81ff921bbaf7a) )
ROM_LOAD( "pls153.14h", 0x0200, 0x00eb, CRC(d4203273) SHA1(59fde5850ad55e257f10db857dfb9a1e929fc1ec) )
- ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) // PAL is read protected
ROM_END
-ROM_START( archrivlb ) /* Reports as rev 2.0 5/03/89 */
+ROM_START( archrivlb ) // Reports as rev 2.0 5/03/89
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "4.bin", 0x00000, 0x10000, CRC(1d99cce6) SHA1(738d651de0bf1b4a1524a1d8835a060bfc4649a8) )
ROM_LOAD16_BYTE( "2.bin", 0x00001, 0x10000, CRC(5d58a77b) SHA1(9a42bb89acd4e6b603215b14b4d411d14615f412) )
ROM_LOAD16_BYTE( "3.bin", 0x20000, 0x10000, CRC(d6d08ff7) SHA1(bbbd4b5c3218c9bb461b17e536191d40ab39f67c) )
ROM_LOAD16_BYTE( "1.bin", 0x20001, 0x10000, CRC(92f3a43d) SHA1(45fdcbacd65f5898d54cc2ac95639b7ee2c097e6) )
- ROM_REGION( 0x90000, "bg:cpu", 0 ) /* Audio System board */
+ ROM_REGION( 0x90000, "bg:cpu", 0 ) // Audio System board
ROM_LOAD( "13.bin", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) )
ROM_RELOAD( 0x08000, 0x08000 )
ROM_RELOAD( 0x10000, 0x08000 )
@@ -1344,19 +1344,66 @@ ROM_START( archrivlb ) /* Reports as rev 2.0 5/03/89 */
ROM_LOAD( "pls153.11j", 0x0000, 0x00eb, CRC(761c3b56) SHA1(06c1717face55cc5b05ec45be9525a3d25419b85) )
ROM_LOAD( "pls153.12j", 0x0100, 0x00eb, CRC(48eed036) SHA1(146b47ecb341b074acad0e4da2d81ff921bbaf7a) )
ROM_LOAD( "pls153.14h", 0x0200, 0x00eb, CRC(d4203273) SHA1(59fde5850ad55e257f10db857dfb9a1e929fc1ec) )
- ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP ) // PAL is read protected
ROM_END
-ROM_START( pigskin ) /* Initial boot screen reports KIT CODE REV 1.1K 8/01/90 */
+ROM_START( basketbal )
+ ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "4.bin", 0x00000, 0x10000, CRC(0db57977) SHA1(470c6d83f2412f717777870256ce0324dfc8d874) )
+ ROM_LOAD16_BYTE( "2.bin", 0x00001, 0x10000, CRC(181fb328) SHA1(f0122867054993dadb07363f82ed7c0d354ddab4) )
+ ROM_LOAD16_BYTE( "3.bin", 0x20000, 0x10000, CRC(f6b5cb89) SHA1(dc2507fc125f4df4a73dd3ef4b523bccb89c3842) )
+ ROM_LOAD16_BYTE( "1.bin", 0x20001, 0x10000, CRC(283d7995) SHA1(e740a7cbae74b9016183ed7ae7e719b74b332cd4) )
+
+ ROM_REGION( 0x90000, "bg:cpu", 0 ) // Audio System board
+ ROM_LOAD( "13.bin", 0x00000, 0x08000, CRC(96b3c652) SHA1(1bb576d0bf6b6b8df24e7b9352a33e97dd8ebdcb) )
+ ROM_RELOAD( 0x08000, 0x08000 )
+ ROM_RELOAD( 0x10000, 0x08000 )
+ ROM_RELOAD( 0x18000, 0x08000 )
+ ROM_LOAD( "12.bin", 0x20000, 0x08000, CRC(c4b3dc23) SHA1(87e6eaec82d749ad28e0fa3d0efecd8a4aaf5cd7) )
+ ROM_RELOAD( 0x28000, 0x08000 )
+ ROM_RELOAD( 0x30000, 0x08000 )
+ ROM_RELOAD( 0x38000, 0x08000 )
+ ROM_LOAD( "11.bin", 0x40000, 0x08000, CRC(f7907a02) SHA1(3fabb2b7fd82e773d7b6db53c5328b5866d70617) )
+ ROM_RELOAD( 0x48000, 0x08000 )
+ ROM_RELOAD( 0x50000, 0x08000 )
+ ROM_RELOAD( 0x58000, 0x08000 )
+
+ ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
+ ROM_LOAD( "5.bin", 0x00000, 0x10000, CRC(7eb3d7c6) SHA1(8544d04929cdb36fa7f0dcb67e0b7fd8c7b0fc2b) )
+ ROM_LOAD( "6.bin", 0x10000, 0x10000, CRC(31e68050) SHA1(e25871beb08a8706af70d277fa7305a1f4d7d3e2) )
+
+ ROM_REGION( 0x80000, "gfx2", 0 )
+ ROM_LOAD( "7.bin", 0x00000, 0x20000, CRC(148ce28c) SHA1(d7dc59d9ae8dc61ecc58a6172fd40aa3926b1f6f) )
+ ROM_LOAD( "8.bin", 0x20000, 0x20000, CRC(58187ac2) SHA1(0bd58598720c41b3c393d47b3b1d6b30696b3a6f) )
+ ROM_LOAD( "9.bin", 0x40000, 0x20000, CRC(0dd1204e) SHA1(bdc9b74e7ae8f071d2eb3ce957eec484f02ef876) )
+ ROM_LOAD( "10.bin", 0x60000, 0x20000, CRC(eb3d0344) SHA1(9db7c7bca45f56550c9a9623f96565901968d0c3) )
+
+ ROM_REGION( 0x1200, "plds", 0 )
+ ROM_LOAD( "pls153.11j", 0x0000, 0x00eb, NO_DUMP )
+ ROM_LOAD( "pls153.12j", 0x0100, 0x00eb, NO_DUMP )
+ ROM_LOAD( "pls153.14h", 0x0200, 0x00eb, NO_DUMP )
+ ROM_LOAD( "pal12h6.14e", 0x0300, 0x0034, NO_DUMP )
+ ROM_LOAD( "pal16r4a.14k", 0x0400, 0x0104, NO_DUMP )
+ ROM_LOAD( "pal16r4a.2k", 0x0600, 0x0104, NO_DUMP )
+ ROM_LOAD( "pal16r6a.15e", 0x0800, 0x0104, NO_DUMP )
+ ROM_LOAD( "pal16l8a.1j", 0x0a00, 0x0104, NO_DUMP )
+ ROM_LOAD( "pal16l8a.2j", 0x0c00, 0x0104, NO_DUMP )
+ ROM_LOAD( "pal20l8a.9b", 0x0e00, 0x0144, NO_DUMP )
+ ROM_LOAD( "pl20x10a.14f", 0x1000, 0x00cc, NO_DUMP )
+ ROM_LOAD( "pl20x10a.15f", 0x1100, 0x00cc, NO_DUMP )
+ROM_END
+
+
+ROM_START( pigskin ) // Initial boot screen reports KIT CODE REV 1.1K 8/01/90
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "pigskin-k_a5_la1.a5", 0x00000, 0x10000, CRC(ab61c29b) SHA1(01cf2d9b3f41442280e614541d5651c6e46b4a4b) )
ROM_LOAD16_BYTE( "pigskin-k_b5_la1.b5", 0x00001, 0x10000, CRC(55a802aa) SHA1(a75f54bce5aad3f7375ab15ad204744e2f6fdc92) )
@@ -1383,7 +1430,7 @@ ROM_START( pigskin ) /* Initial boot screen reports KIT CODE REV 1.1K 8/01/90 */
ROM_END
-ROM_START( pigskina ) /* Initial boot screen reports REV 2.0 7/06/90 */
+ROM_START( pigskina ) // Initial boot screen reports REV 2.0 7/06/90
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "pigskin_a5_la2.a5", 0x00000, 0x10000, CRC(f75d36dd) SHA1(6afc8fbc900e17f9281ee214097d8ebd651d9291) )
ROM_LOAD16_BYTE( "pigskin_b5_la2.b5", 0x00001, 0x10000, CRC(c5ffdfad) SHA1(3b234f3629c8f21199f4845df7f44c43fd775c9b) )
@@ -1410,7 +1457,7 @@ ROM_START( pigskina ) /* Initial boot screen reports REV 2.0 7/06/90 */
ROM_END
-ROM_START( pigskinb ) /* Initial boot screen reports REV 1.1 6/05/90 */
+ROM_START( pigskinb ) // Initial boot screen reports REV 1.1 6/05/90
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "pigskin_a5_la1.a5", 0x00000, 0x10000, CRC(6c10028d) SHA1(70080b9aa551a543b7b99d46963862f74b6cbd7a) )
ROM_LOAD16_BYTE( "pigskin_b5_la1.b5", 0x00001, 0x10000, CRC(2d03fbad) SHA1(445a161bdd6c09193c576c55c6b12b1c017aa188) )
@@ -1465,18 +1512,18 @@ ROM_START( trisport )
ROM_LOAD( "tri_sports_h14_la2.h14", 0x60000, 0x20000, CRC(403f9401) SHA1(6ff027943016d894b758dc8f189850bec1ee9360) )
ROM_REGION( 0x1400, "plds", 0 )
- ROM_LOAD( "pal20l8.g5", 0x0000, 0x0144, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20x10.f7", 0x0200, 0x00cc, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20x10.e9", 0x0300, 0x00cc, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal20l8.d4", 0x0400, 0x0144, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8.d6", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4a.c11", 0x0800, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r4.e10", 0x0a00, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal20l8.g5", 0x0000, 0x0144, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20x10.f7", 0x0200, 0x00cc, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20x10.e9", 0x0300, 0x00cc, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal20l8.d4", 0x0400, 0x0144, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8.d6", 0x0600, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4a.c11", 0x0800, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r4.e10", 0x0a00, 0x0104, NO_DUMP ) // PAL is read protected
ROM_LOAD( "pls153a.f14", 0x0c00, 0x00eb, CRC(48eed036) SHA1(146b47ecb341b074acad0e4da2d81ff921bbaf7a) )
ROM_LOAD( "pls153a.f15", 0x0d00, 0x00eb, CRC(761c3b56) SHA1(06c1717face55cc5b05ec45be9525a3d25419b85) )
- ROM_LOAD( "pls153a.e19", 0x0e00, 0x00eb, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16l8.f8", 0x1000, 0x0104, NO_DUMP ) /* PAL is read protected */
- ROM_LOAD( "pal16r6a.e11", 0x1200, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pls153a.e19", 0x0e00, 0x00eb, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16l8.f8", 0x1000, 0x0104, NO_DUMP ) // PAL is read protected
+ ROM_LOAD( "pal16r6a.e11", 0x1200, 0x0104, NO_DUMP ) // PAL is read protected
ROM_END
@@ -1500,10 +1547,10 @@ void mcr68_state::init_xenophob()
{
mcr68_common_init(0, -4);
- /* Xenophobe doesn't care too much about this value; currently taken from Blasted */
+ // Xenophobe doesn't care too much about this value; currently taken from Blasted
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* install control port handler */
+ // Install control port handler
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::xenophobe_control_w)));
}
@@ -1512,10 +1559,10 @@ void mcr68_state::init_spyhunt2()
{
mcr68_common_init(0, -6);
- /* Spy Hunter II doesn't care too much about this value; currently taken from Blasted */
+ // Spy Hunter II doesn't care too much about this value; currently taken from Blasted
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* analog port handling is a bit tricky */
+ // Analog port handling is a bit tricky
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::spyhunt2_control_w)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x0d0000, 0x0dffff, read16smo_delegate(*this, FUNC(mcr68_state::spyhunt2_port_0_r)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x0e0000, 0x0effff, read16smo_delegate(*this, FUNC(mcr68_state::spyhunt2_port_1_r)));
@@ -1526,12 +1573,12 @@ void mcr68_state::init_blasted()
{
mcr68_common_init(0, 0);
- /* Blasted checks the timing of VBLANK relative to the 493 interrupt */
- /* VBLANK is required to come within 220-256 E clocks (i.e., 2200-2560 CPU clocks) */
- /* after the 493; we also allow 16 E clocks for latency */
+ /* Blasted checks the timing of VBLANK relative to the 493 interrupt
+ VBLANK is required to come within 220-256 E clocks (i.e., 2200-2560 CPU clocks)
+ after the 493; we also allow 16 E clocks for latency. */
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* handle control writes */
+ // Handle control writes
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::blasted_control_w)));
}
@@ -1539,10 +1586,10 @@ void mcr68_state::init_intlaser()
{
mcr68_common_init(0, 0);
- /* Copied from Blasted */
+ // Copied from Blasted
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* handle control writes */
+ // handle control writes
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::blasted_control_w)));
}
@@ -1553,13 +1600,13 @@ void mcr68_state::init_archrivl()
{
mcr68_common_init(16, 0);
- /* Arch Rivals doesn't care too much about this value; currently taken from Blasted */
+ // Arch Rivals doesn't care too much about this value; currently taken from Blasted
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* handle control writes */
+ // Handle control writes
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::archrivl_control_w)));
- /* 49-way joystick handling is a bit tricky */
+ // 49-way joystick handling is a bit tricky
m_maincpu->space(AS_PROGRAM).install_read_handler(0x0e0000, 0x0effff, read16smo_delegate(*this, FUNC(mcr68_state::archrivl_port_1_r)));
}
@@ -1572,13 +1619,13 @@ void mcr68_state::init_archrivlb()
{
mcr68_common_init(16, 0);
- /* Arch Rivals doesn't care too much about this value; currently taken from Blasted */
+ // Arch Rivals doesn't care too much about this value; currently taken from Blasted
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * (256 + 16);
- /* handle control writes */
+ // Handle control writes
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0cffff, write16s_delegate(*this, FUNC(mcr68_state::archrivl_control_w)));
- /* 49-way joystick replaced by standard 8way stick */
+ // 49-way joystick replaced by standard 8way stick
m_maincpu->space(AS_PROGRAM).install_read_handler(0x0e0000, 0x0effff, read16smo_delegate(*this, FUNC(mcr68_state::archrivlb_port_1_r)));
}
@@ -1588,7 +1635,7 @@ void mcr68_state::init_pigskin()
{
mcr68_common_init(16, 0);
- /* Pigskin doesn't care too much about this value; currently taken from Tri-Sports */
+ // Pigskin doesn't care too much about this value; currently taken from Tri-Sports
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * 115;
save_item(NAME(m_protection_data));
@@ -1599,9 +1646,9 @@ void mcr68_state::init_trisport()
{
mcr68_common_init(0, 0);
- /* Tri-Sports checks the timing of VBLANK relative to the 493 interrupt */
- /* VBLANK is required to come within 87-119 E clocks (i.e., 870-1190 CPU clocks) */
- /* after the 493 */
+ /* Tri-Sports checks the timing of VBLANK relative to the 493 interrupt
+ VBLANK is required to come within 87-119 E clocks (i.e., 870-1190 CPU clocks)
+ after the 493 */
m_timing_factor = attotime::from_hz(m_maincpu->unscaled_clock() / 10) * 115;
}
@@ -1613,20 +1660,21 @@ void mcr68_state::init_trisport()
*
*************************************/
-GAME( 1987, xenophob, 0, xenophob, xenophob, mcr68_state, init_xenophob, ROT0, "Bally Midway", "Xenophobe", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, xenophob, 0, xenophob, xenophob, mcr68_state, init_xenophob, ROT0, "Bally Midway", "Xenophobe", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, spyhunt2, 0, spyhunt2, spyhunt2, mcr68_state, init_spyhunt2, ROT0, "Bally Midway", "Spy Hunter II (rev 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, spyhunt2a,spyhunt2, spyhunt2, spyhunt2, mcr68_state, init_spyhunt2, ROT0, "Bally Midway", "Spy Hunter II (rev 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, spyhunt2, 0, spyhunt2, spyhunt2, mcr68_state, init_spyhunt2, ROT0, "Bally Midway", "Spy Hunter II (rev 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, spyhunt2a, spyhunt2, spyhunt2, spyhunt2, mcr68_state, init_spyhunt2, ROT0, "Bally Midway", "Spy Hunter II (rev 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, blasted, 0, xenophob, blasted, mcr68_state, init_blasted, ROT0, "Bally Midway", "Blasted", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, intlaser, blasted, intlaser, intlaser, mcr68_state, init_intlaser, ROT0, "Bally Midway", "International Team Laser (prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, blasted, 0, xenophob, blasted, mcr68_state, init_blasted, ROT0, "Bally Midway", "Blasted", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, intlaser, blasted, intlaser, intlaser, mcr68_state, init_intlaser, ROT0, "Bally Midway", "International Team Laser (prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, archrivl, 0, archrivl, archrivl, mcr68_state, init_archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 4.0 6/29/89)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, archrivla,archrivl, archrivl, archrivl, mcr68_state, init_archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 2.0 5/03/89)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, archrivlb,archrivl, archrivl, archrivlb,mcr68_state, init_archrivlb,ROT0, "bootleg", "Arch Rivals (rev 2.0 5/03/89, 8-way Joystick bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, archrivl, 0, archrivl, archrivl, mcr68_state, init_archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 4.0 6/29/89)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, archrivla, archrivl, archrivl, archrivl, mcr68_state, init_archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 2.0 5/03/89)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, archrivlb, archrivl, archrivl, archrivlb, mcr68_state, init_archrivlb,ROT0, "bootleg", "Arch Rivals (rev 2.0 5/03/89, 8-way joystick bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, basketbal, archrivl, archrivl, archrivlb, mcr68_state, init_archrivlb,ROT0, "bootleg", "Basket Ball (8-way joystick bootleg of Arch Rivals)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, trisport, 0, trisport, trisport, mcr68_state, init_trisport, ROT270, "Bally Midway", "Tri-Sports", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, trisport, 0, trisport, trisport, mcr68_state, init_trisport, ROT270, "Bally Midway", "Tri-Sports", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, pigskin, 0, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1K 8/01/90)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, pigskina, pigskin, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 2.0 7/06/90)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, pigskinb, pigskin, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1 6/05/90)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, pigskin, 0, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1K 8/01/90)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, pigskina, pigskin, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 2.0 7/06/90)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, pigskinb, pigskin, pigskin, pigskin, mcr68_state, init_pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1 6/05/90)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mechatt.cpp b/src/mame/drivers/mechatt.cpp
index 260248dd5ef..d176230b408 100644
--- a/src/mame/drivers/mechatt.cpp
+++ b/src/mame/drivers/mechatt.cpp
@@ -137,7 +137,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "machine/gen_latch.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "video/bufsprite.h"
// src/emu
#include "emupal.h"
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index 26fd5e4eb3e..df333c522bb 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -127,8 +127,8 @@ RAM RW 0f0000-0f3fff 0e0000-0effff? <
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "machine/jalcrpt.h"
#include "speaker.h"
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 8d178724f7e..51a48102499 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -411,7 +411,7 @@ void mtech_state::set_genz80_as_md()
prg.install_ram(0x0000, 0x1fff, m_genz80.z80_prgram.get());
- prg.install_readwrite_handler(0x4000, 0x4003, read8sm_delegate(*m_ymsnd, FUNC(ym2612_device::read)), write8sm_delegate(*m_ymsnd, FUNC(ym2612_device::write)));
+ prg.install_readwrite_handler(0x4000, 0x4003, read8sm_delegate(*m_ymsnd, FUNC(ym_generic_device::read)), write8sm_delegate(*m_ymsnd, FUNC(ym_generic_device::write)));
prg.install_write_handler (0x6000, 0x6000, write8smo_delegate(*this, FUNC(mtech_state::megadriv_z80_z80_bank_w)));
prg.install_write_handler (0x6001, 0x6001, write8smo_delegate(*this, FUNC(mtech_state::megadriv_z80_z80_bank_w)));
prg.install_read_handler (0x6100, 0x7eff, read8smo_delegate(*this, FUNC(mtech_state::megadriv_z80_unmapped_read)));
diff --git a/src/mame/drivers/mephisto_brikett.cpp b/src/mame/drivers/mephisto_brikett.cpp
index e398ab9e2cc..cb69931e106 100644
--- a/src/mame/drivers/mephisto_brikett.cpp
+++ b/src/mame/drivers/mephisto_brikett.cpp
@@ -66,6 +66,10 @@ There are no other known external port peripherals.
The Brikett was also used in the 1983 Mephisto Excalibur, but the hardware
is completely different, based on a 68000.
+BTANB:
+- bad bug in mephistoj opening library: e4 e6 / d4 d5 / Nd2 c5 / exd5 Qd1xd5,
+ in other words: computer makes an illegal move with the WHITE queen
+
******************************************************************************/
#include "emu.h"
diff --git a/src/mame/drivers/mephisto_modular.cpp b/src/mame/drivers/mephisto_modular.cpp
index 4d7ae582cc0..f789c92b489 100644
--- a/src/mame/drivers/mephisto_modular.cpp
+++ b/src/mame/drivers/mephisto_modular.cpp
@@ -44,8 +44,8 @@ Undocumented buttons:
TODO:
- match I/S= diag speed test with real hardware (good test for proper waitstates)
-- gen32 waitstates emulation is preliminary (without it, sound pitch is too high
- and lcd write speed too fast)
+- gen32 waitstates emulation is preliminary (without it, sound pitch is way too high
+ and lcd write speed too fast). Real gen32 sound is a bit lower pitched than MAME.
===============================================================================
diff --git a/src/mame/drivers/mephisto_risc.cpp b/src/mame/drivers/mephisto_risc.cpp
index b4df69bf1e7..a81e5a6fd8d 100644
--- a/src/mame/drivers/mephisto_risc.cpp
+++ b/src/mame/drivers/mephisto_risc.cpp
@@ -5,7 +5,8 @@
Mephisto Risc 1MB/II (stylized "risc")
The chess engine in Mephisto Risc is also compatible with Tasc's The ChessMachine,
-see ROM defs for details.
+see ROM defs for details. "Main" CPU is slow, but all the chess calculations are
+done with the ARM.
Hardware notes:
- G65SC02P-4 @ 2.5MHz
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index cdbc1b87d78..6dc2a81dc7b 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -18,7 +18,7 @@
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
class mephisto_state : public driver_device
diff --git a/src/mame/drivers/merit.cpp b/src/mame/drivers/merit.cpp
index ffa8650e791..8c0201e9c25 100644
--- a/src/mame/drivers/merit.cpp
+++ b/src/mame/drivers/merit.cpp
@@ -603,7 +603,7 @@ void merit_state::couple_map(address_map &map)
static INPUT_PORTS_START( meritpoker )
- PORT_START("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_START("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME( "Hold 1 / Take / Lo" )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
@@ -613,7 +613,7 @@ static INPUT_PORTS_START( meritpoker )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME( "Cash Out / Hi-Score" )
- PORT_START("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_START("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK )
@@ -623,7 +623,7 @@ static INPUT_PORTS_START( meritpoker )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("IN2") /* Pins #46 through #41 of J3 in decending order (usually P2 controls - Not used!) */
+ PORT_START("IN2") /* Pins #46 through #41 of J3 in descending order (usually P2 controls - Not used!) */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* MUST be "LOW" or Riviera Hi-Score rev A will hang */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -678,10 +678,10 @@ INPUT_PORTS_END
static INPUT_PORTS_START( chkndraw )
PORT_INCLUDE( meritpoker )
- PORT_MODIFY("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_MODIFY("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME( "Hold 3 / Take Half / Dbl Half" )
- PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_COCKTAIL PORT_CODE(KEYCODE_W) PORT_NAME( "P2 Deal")
@@ -691,7 +691,7 @@ static INPUT_PORTS_START( chkndraw )
PORT_DIPSETTING( 0x40, "90%" )
PORT_DIPSETTING( 0x00, "85%" ) /* Duplicate setting - Likely not used */
- PORT_MODIFY("IN2") /* Pins #46 through #41 of J3 in decending order */
+ PORT_MODIFY("IN2") /* Pins #46 through #41 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CODE(KEYCODE_A) PORT_NAME( "P2 Hold 1 / Take / Lo" )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CODE(KEYCODE_S) PORT_NAME( "P2 Hold 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_CODE(KEYCODE_D) PORT_NAME( "P2 Hold 3 / Take Half / Dbl Half" )
@@ -775,11 +775,11 @@ INPUT_PORTS_END
static INPUT_PORTS_START( iowapp )
PORT_INCLUDE( meritpoker )
- PORT_MODIFY("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_MODIFY("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
-// PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in decending order */
+// PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in descending order */
// PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* If HIGH triggers a "TOKEN LOW" error - Hopper releated */
PORT_MODIFY("DSW")
@@ -815,7 +815,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( pitboss ) /* PCB pinout maps 12 lamp outputs - Where are they mapped? */
- PORT_START("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_START("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1/P2 Button 1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1/P2 Button 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1/P2 Button 3")
@@ -825,7 +825,7 @@ static INPUT_PORTS_START( pitboss ) /* PCB pinout maps 12 lamp outputs - Where a
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_Q) PORT_NAME("P1/P2 Cancel")
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // pulling this LOW causes "unathorized conversion" msg.
- PORT_START("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_START("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK )
@@ -838,7 +838,7 @@ static INPUT_PORTS_START( pitboss ) /* PCB pinout maps 12 lamp outputs - Where a
PORT_DIPSETTING( 0x40, "5" )
PORT_DIPSETTING( 0x00, "5" ) /* Duplicate setting - Likely not used */
- PORT_START("IN2") /* Pins #46 through #41 of J3 in decending order */
+ PORT_START("IN2") /* Pins #46 through #41 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CODE(KEYCODE_A) PORT_NAME("P2 Button 1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CODE(KEYCODE_S) PORT_NAME("P2 Button 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_CODE(KEYCODE_D) PORT_NAME("P2 Button 3")
@@ -877,7 +877,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( mroundup ) // todo: Find were Player 2 "Play" is mapped, all "IPT_UNKNOWN" below checked and nothing seems to work
- PORT_START("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_START("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C)
@@ -887,7 +887,7 @@ static INPUT_PORTS_START( mroundup ) // todo: Find were Player 2 "Play" is mappe
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_Q) PORT_NAME("Cancel")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset Points") /* Counts down player point if pressed instead of "Play" */
- PORT_START("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_START("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK )
@@ -901,7 +901,7 @@ static INPUT_PORTS_START( mroundup ) // todo: Find were Player 2 "Play" is mappe
PORT_DIPSETTING( 0x40, "90%" )
- PORT_START("IN2") /* Pins #46 through #41 of J3 in decending order */
+ PORT_START("IN2") /* Pins #46 through #41 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CODE(KEYCODE_A) PORT_NAME("P2 Button 1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CODE(KEYCODE_S) PORT_NAME("P2 Button 2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_CODE(KEYCODE_D) PORT_NAME("P2 Button 3")
@@ -988,7 +988,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( mpchoice ) /* pitbossc games but dips like The Round Up */
PORT_INCLUDE( pitboss )
- PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_DIPNAME( 0xc0, 0xc0, "Percentage Out" ) PORT_DIPLOCATION("Special:1,2") /* Pins #52 & #51?? Listed as "Switch Common Ground" */
PORT_DIPSETTING( 0x80, "80%" )
PORT_DIPSETTING( 0x00, "85%" ) /* Duplicate */
@@ -1021,9 +1021,45 @@ static INPUT_PORTS_START( mpchoice ) /* pitbossc games but dips like The Round U
PORT_DIPSETTING( 0x00, "50" )
INPUT_PORTS_END
+static INPUT_PORTS_START( mpchoicea ) /* pitbossc games but dips like The Round Up */
+ PORT_INCLUDE( pitboss )
+
+ PORT_MODIFY("IN1") /* Pins #57 through #51 of J3 in descending order */
+ PORT_DIPNAME( 0xc0, 0xc0, "Percentage Out" ) PORT_DIPLOCATION("Special:1,2") /* Pins #52 & #51?? Listed as "Switch Common Ground" */
+ PORT_DIPSETTING( 0x80, "80%" )
+ PORT_DIPSETTING( 0x00, "85%" ) /* Duplicate */
+ PORT_DIPSETTING( 0xc0, "85%" )
+ PORT_DIPSETTING( 0x40, "90%" )
+
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x01, 0x01, "Enable Draw Poker" ) PORT_DIPLOCATION("SW:1")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "Enable Acey Deucey" ) PORT_DIPLOCATION("SW:2")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "Enable Black Jack" ) PORT_DIPLOCATION("SW:3")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:4") /* 3 Games for this set, no dice game */
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:6")
+ PORT_DIPSETTING( 0x20, "Counter Top" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0xc0, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("SW:7,8")
+ PORT_DIPSETTING( 0x40, "1" )
+ PORT_DIPSETTING( 0xc0, "10" )
+ PORT_DIPSETTING( 0x80, "20" )
+ PORT_DIPSETTING( 0x00, "50" )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( casino5 )
- PORT_START("IN0") /* Pins #65 through #58 of J3 in decending order */
+ PORT_START("IN0") /* Pins #65 through #58 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C)
@@ -1033,7 +1069,7 @@ static INPUT_PORTS_START( casino5 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Play")
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pulling this LOW makes the horse racing game to not work */
- PORT_START("IN1") /* Pins #57 through #51 of J3 in decending order */
+ PORT_START("IN1") /* Pins #57 through #51 of J3 in descending order */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) /* Runs basic Diagnostics on roms */
@@ -1046,7 +1082,7 @@ static INPUT_PORTS_START( casino5 )
PORT_DIPSETTING( 0xc0, "85%" )
PORT_DIPSETTING( 0x40, "90%" )
- PORT_START("IN2") /* Pins #46 through #41 of J3 in decending order (usually P2 controls - Not used!) */
+ PORT_START("IN2") /* Pins #46 through #41 of J3 in descending order (usually P2 controls - Not used!) */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pulling this LOW causes "Unathorized conversion" */
@@ -1577,7 +1613,7 @@ ROM_START( pitboss04 ) /* Program roms on a CTR-202 daughter card - Internal des
ROM_LOAD( "chr7_u40a.u40", 0x0000, 0x2000, CRC(db62c5ec) SHA1(a9967eb51436f342902fa3ce9c43d4d1ec5e0f3c) )
ROM_END
-ROM_START( pitboss03 ) /* Roms also found labeled simply as "PBHD" U5 through U7 */
+ROM_START( pitboss03 ) /* Roms also found labeled simply as "PBHD" U5 through U7 (PBHD means Poker, Blackjack, Horse & Dice) */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "2214-03_u5-0c.u5", 0x0000, 0x2000, CRC(97f870bd) SHA1(b1b01abff0385e3b0585e49f78b93bcf56e434ef) ) /* Internal designation: M4A4REV0 */
ROM_LOAD( "2214-03_u6-0.u6", 0x2000, 0x2000, CRC(086e699b) SHA1(a1d1eafaac9262f924f175961aa52c6d8e779bf0) ) /* Games included in this set are: */
@@ -1607,6 +1643,21 @@ ROM_START( pitboss03a ) /* Specific build for localized region with no Free Hand
ROM_LOAD( "chr7_u40.u40", 0x0000, 0x2000, CRC(52298162) SHA1(79aa6c4ab6bec6450d882615e64f61cfef934153) )
ROM_END
+ROM_START( pitboss03b ) /* ROMs had no labels, Set has Free Hand Bonus so it might an earlier revision of pitboss03 */
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "u5.bin", 0x0000, 0x2000, CRC(f6b22d25) SHA1(418a1c3e671b5bb4823ea45a5b382b1cbde74f8a) ) /* Internal designation: M4A4REV0 */
+ ROM_LOAD( "2214-03_u6-0.u6", 0x2000, 0x2000, CRC(086e699b) SHA1(a1d1eafaac9262f924f175961aa52c6d8e779bf0) ) /* Games included in this set are: */
+ ROM_LOAD( "2214-03_u7-0.u7", 0x4000, 0x2000, CRC(023e8cb8) SHA1(cdb180a94d801137466c13ddfaf65918cb608c5a) ) /* Joker Poker, Blackjack, Foto Finish & The Dice Game */
+
+ ROM_REGION( 0x6000, "gfx1", 0 )
+ ROM_LOAD( "chr7_u39.u39", 0x0000, 0x2000, CRC(6662f607) SHA1(6b423f8de011d196700839af0be37effbf87383f) ) /* Shows: */
+ ROM_LOAD( "chr7_u38.u38", 0x2000, 0x2000, CRC(a014b44f) SHA1(906d426b1de75f26030c19dcd599b6570909f510) ) /* (c) 1983 Merit industries */
+ ROM_LOAD( "chr7_u37.u37", 0x4000, 0x2000, CRC(cb12e139) SHA1(06fe91281faae5d0c0ae4b3cd8ad103bd3995c38) ) /* Cheltenham PA. 19012 */
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "chr7_u40.u40", 0x0000, 0x2000, CRC(52298162) SHA1(79aa6c4ab6bec6450d882615e64f61cfef934153) )
+ROM_END
+
/* Known to exist is Pit Boss version M4A2 (confirmed via manual) and likely a M4A3 as well (not confirmed, but M4A4 is dumped) */
ROM_START( pitbossm4 )
@@ -1669,6 +1720,21 @@ ROM_START( mpchoice ) /* Same games as pitbossc but different dips & can control
ROM_LOAD( "chr2_u40.u40", 0x0000, 0x2000, CRC(40c94dce) SHA1(86611e3a1048b2a3fffcc0110811656a2d0fc4a5) )
ROM_END
+ROM_START( mpchoicea ) /* Like the M4C1 set above, but only 3 games here */
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "m3c1_u5b.u5", 0x0000, 0x2000, CRC(685eb48a) SHA1(31f41527f7a29379bf783f48ea50c3b74523d304) ) /* Internal designation: M3CG */
+ ROM_LOAD( "m3c1_u6b.u6", 0x2000, 0x2000, CRC(4cf91cca) SHA1(aaf685e66e153fa2c47b90c17af9f70751008e9a) ) /* Games included in this set are: */
+ ROM_LOAD( "m3c1_u7.u7", 0x4000, 0x2000, CRC(5a2aca08) SHA1(0fb4600f61ff1aef2d79ce7a63ee3fd9e79f7f3f) ) /* Draw Poker, Blackjack & Acey Deucey */
+
+ ROM_REGION( 0x6000, "gfx1", 0 ) /* NOTE: U37 & U38 were operator swaps and are not likely correct for this set */
+ ROM_LOAD( "hcg_u39.u39", 0x0000, 0x2000, CRC(6f82560d) SHA1(206acc5a0fcf391e03a5963bd344e3e15b7c691d) ) /* Shows: */
+ ROM_LOAD( "chr2_u38.u38", 0x2000, 0x2000, CRC(7af28902) SHA1(04f685389958d581aaf2c86940d1b8b8cec05d7a) ) /* (c) 1982 Merit industries Philadelphia PA. */
+ ROM_LOAD( "chr2_u37.u37", 0x4000, 0x2000, CRC(ea6f0c59) SHA1(f2c0ff99518c2cec3eb1b4042fa3754a702c0e34) ) /* All Rights Reserverd */
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "hcg_u40.u40", 0x0000, 0x2000, CRC(6e20ba8f) SHA1(675cee5b8c38e3b9101c3c0788d2663ce397e40f) )
+ROM_END
+
ROM_START( casino5 )
ROM_REGION( 0x10000, "maincpu", 0 ) /* Program roms on a CTR-202A daughter card */
ROM_LOAD( "3315-02_u5-2b.u5", 0x0000, 0x2000, CRC(31640f41) SHA1(22d22ea1b1ae1ff189629ffd4963fabcc300fca8) ) /* Internal designation: PACASINO FIVE 331502 U5-0B */
@@ -2553,12 +2619,14 @@ void merit_state::init_dtrvwz5()
GAME( 1983, pitboss, 0, pitboss, pitbossa, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-07, U5-0A)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) /* "7" hand written over a 5 */
GAME( 1983, pitboss04, pitboss, casino5, pitboss, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-04)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1983, pitboss03, pitboss, pitboss, pitbossa, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-03, U5-0C)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1983, pitboss03a, pitboss, pitboss, pitbossa1, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-03, U5-1C)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1983, pitboss03, pitboss, pitboss, pitbossa, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-03, U5-0C)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) /* Also M4A4 */
+GAME( 1983, pitboss03a, pitboss, pitboss, pitbossa1, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (2214-03, U5-1C)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) /* Also M4A4 */
+GAME( 1983, pitboss03b, pitboss, pitboss, pitbossa, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (M4A4)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) /* No labels, so use internal designation */
GAME( 1983, pitbossm4, pitboss, pitboss, pitbossb, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (M4A1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
GAME( 1983, pitbossps, pitboss, pitboss, pitbossa, merit_state, empty_init, ROT0, "Merit", "The Pit Boss (PSB1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
GAME( 1983, mdchoice, pitboss, pitboss, mdchoice, merit_state, empty_init, ROT0, "Merit", "Dealer's Choice (E4A1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) /* Copyright year based on other Pit Boss sets */
GAME( 1983, mpchoice, pitboss, pitboss, mpchoice, merit_state, empty_init, ROT0, "Merit", "Player's Choice (M4C1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1982, mpchoicea, pitboss, pitboss, mpchoicea, merit_state, empty_init, ROT0, "Merit", "Player's Choice (M3C1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
GAME( 1989, casino5, 0, casino5, casino5, merit_state, empty_init, ROT0, "Merit", "Casino Five (3315-02, U5-2B)", MACHINE_SUPPORTS_SAVE )
GAME( 1984, casino5a, casino5, casino5, casino5, merit_state, empty_init, ROT0, "Merit", "Casino Five (3315-02, U5-0)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/merits.cpp b/src/mame/drivers/merits.cpp
index 71c32dec4a6..864c89d35d8 100644
--- a/src/mame/drivers/merits.cpp
+++ b/src/mame/drivers/merits.cpp
@@ -2,7 +2,8 @@
// copyright-holders:
/*******************************************************************************
- Skeleton driver for Merit Scorpion darts machines
+ Skeleton driver for Merit Scorpion darts machines.
+ The same PCB is used also on other Merit darts machines, like Regent Darts.
Hardware overview:
Main CPU: Dallas DS80C3202-UM or compatible (80C31 on older models)
diff --git a/src/mame/drivers/metlclsh.cpp b/src/mame/drivers/metlclsh.cpp
index ce96ab4883a..4c481bfaf21 100644
--- a/src/mame/drivers/metlclsh.cpp
+++ b/src/mame/drivers/metlclsh.cpp
@@ -37,8 +37,8 @@ metlclsh:
#include "includes/metlclsh.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index 4a9c18233d3..ecb593d6970 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -100,9 +100,8 @@ driver modified by Hau
#include "cpu/z8/z8.h"
#include "machine/watchdog.h"
#include "sound/msm5205.h"
-#include "sound/ym2413.h"
-#include "sound/ym2610.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
+#include "sound/ymopn.h"
#include "speaker.h"
#include <algorithm>
diff --git a/src/mame/drivers/mg1.cpp b/src/mame/drivers/mg1.cpp
new file mode 100644
index 00000000000..397a8d2b63c
--- /dev/null
+++ b/src/mame/drivers/mg1.cpp
@@ -0,0 +1,397 @@
+// license:BSD-3-Clause
+// copyright-holders:Patrick Mackinlay
+
+/*
+ * Whitechapel Computer Works MG-1 (Milliard Gargantubrain)
+ *
+ * Sources:
+ * - http://www.cpu-ns32k.net/Whitechapel.html
+ *
+ * TODO:
+ * - skeleton only
+ */
+
+#include "emu.h"
+
+// cpus and memory
+#include "cpu/ns32000/ns32000.h"
+#include "cpu/m6800/m6801.h"
+#include "machine/ram.h"
+#include "machine/nvram.h"
+
+// various hardware
+#include "machine/ns32081.h"
+//#include "machine/ns32082.h"
+#include "machine/ns32202.h"
+#include "machine/am79c90.h"
+//#include "machine/am9516.h"
+#include "machine/i8251.h"
+#include "machine/pit8253.h"
+#include "machine/wd_fdc.h"
+//#include "machine/d7261.h"
+#include "machine/mm58174.h"
+
+// buses and connectors
+#include "bus/rs232/rs232.h"
+#include "imagedev/floppy.h"
+#include "formats/applix_dsk.h"
+#include "formats/pc_dsk.h"
+
+// video
+#include "screen.h"
+#include "video/mc6845.h"
+
+#include "mg1.lh"
+
+#define VERBOSE 0
+#include "logmacro.h"
+
+class mg1_state : public driver_device
+{
+public:
+ mg1_state(machine_config const &mconfig, device_type type, char const *tag)
+ : driver_device(mconfig, type, tag)
+ , m_cpu(*this, "cpu")
+ , m_fpu(*this, "fpu")
+ , m_icu(*this, "icu")
+ , m_ram(*this, "ram")
+ , m_sram(*this, "sram")
+ , m_iop(*this, "iop")
+ , m_iop_ram(*this, "iop_ram")
+ , m_iop_sram(*this, "iop_sram")
+ , m_iop_ctc(*this, "iop_ctc")
+ , m_usart(*this, "usart")
+ , m_serial(*this, "serial")
+ , m_rtc(*this, "rtc")
+ , m_fdc(*this, "fdc")
+ , m_fdd(*this, "fdc:0:35dd")
+ , m_net(*this, "net")
+ , m_crtc(*this, "crtc")
+ , m_screen(*this, "screen")
+ , m_vmram(*this, "vmram")
+ , m_led_err(*this, "led_err")
+ , m_led_fdd(*this, "led_fdd")
+ {
+ }
+
+ // machine config
+ void mg1(machine_config &config);
+
+ void init_common();
+
+protected:
+ // driver_device overrides
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ // address maps
+ template <unsigned ST> void cpu_map(address_map &map);
+ void iop_map(address_map &map);
+
+private:
+ MC6845_UPDATE_ROW(update_row);
+
+ static void floppy_formats(format_registration &fr);
+
+ // devices
+ required_device<ns32016_device> m_cpu;
+ required_device<ns32081_device> m_fpu;
+ required_device<ns32202_device> m_icu;
+ required_device<ram_device> m_ram;
+ required_device<nvram_device> m_sram;
+
+ required_device<m6800_cpu_device> m_iop;
+ required_shared_ptr<u8> m_iop_ram;
+ required_device<nvram_device> m_iop_sram;
+
+ required_device<pit8253_device> m_iop_ctc;
+
+ required_device<i8251_device> m_usart;
+ required_device<rs232_port_device> m_serial;
+ required_device<mm58174_device> m_rtc;
+ required_device<wd1770_device> m_fdc;
+ required_device<floppy_image_device> m_fdd;
+ required_device<am7990_device> m_net;
+
+ required_device<mc6845_device> m_crtc;
+ required_device<screen_device> m_screen;
+ required_shared_ptr<u16> m_vmram;
+
+ output_finder<> m_led_err;
+ output_finder<> m_led_fdd;
+
+ u8 m_sem[6] = { 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xc0 };
+};
+
+
+void mg1_state::machine_start()
+{
+}
+
+
+void mg1_state::machine_reset()
+{
+ m_fdc->set_floppy(m_fdd);
+}
+
+
+void mg1_state::init_common()
+{
+ m_led_err.resolve();
+ m_led_fdd.resolve();
+}
+
+
+template <unsigned ST> void mg1_state::cpu_map(address_map &map)
+{
+ // rom page
+ map(0x000000, 0x003fff).mirror(0xef4000).rom().region("prom", 0);
+ map(0x008000, 0x008fff).mirror(0xef3000).ram().share("sram"); // 2xTC5516AP 2048x8 SRAM
+ map(0x00c000, 0x00cfff).mirror(0xef3000).ram().share("vmram"); // 2xD4016C-3 2048x8 SRAM
+
+ // i/o page
+ //map(0x308000, 0x3081ff).mirror(0xcf6000); // wcw reserved
+ map(0x308200, 0x3083ff).mirror(0xcf6000).umask16(0x00ff).lw8(
+ [this](u8 data)
+ {
+ if (BIT(data, 2))
+ {
+ // DRAM-ON
+ m_cpu->space(0).unmap_readwrite(0x000000, 0xbfffff);
+ m_cpu->space(0).install_ram(0, m_ram->mask(), 0x7fffff ^ m_ram->mask(), m_ram->pointer());
+ }
+ }, "dma_reg_w");
+ //map(0x308400, 0x3085ff).mirror(0xcf6000); // wcw reserved
+ map(0x30862e, 0x30863b).mirror(0xcf6000).umask16(0x00ff).lrw8(
+ [this](offs_t offset)
+ {
+ u8 const data = m_sem[offset];
+ if (!BIT(data, 7))
+ m_sem[offset] |= 0x80;
+
+ return data;
+ }, "cpu_sem_r",
+ [this](offs_t offset, u8 data)
+ {
+ m_sem[offset] &= ~0x80;
+ }, "cpu_sem_w");
+ map(0x308700, 0x3087ff).mirror(0xcf6000).umask16(0x00ff).lrw8(
+ [this](offs_t offset)
+ {
+ return m_iop_ram[offset];
+ }, "iop_ram_r",
+ [this](offs_t offset, u8 data)
+ {
+ if (offset == 18 + m_iop_ram[3])
+ logerror("iop command %d\n", data);
+
+ m_iop_ram[offset] = data;
+ }, "iop_ram_w");
+ //map(0x308800, 0x3089ff).mirror(0xcf6000); // ctc
+ //map(0x308a00, 0x308bff).mirror(0xcf6000); // raster-op function ctl
+ //map(0x308c00, 0x308dff).mirror(0xcf6000); // raster-op
+ //map(0x308e00, 0x308fff).mirror(0xcf6000); // general/raster-op dma
+
+ map(0x309000, 0x309003).mirror(0xcf6000).umask16(0x00ff).rw(m_usart, FUNC(i8251_device::read), FUNC(i8251_device::write));
+ map(0x309200, 0x3093ff).mirror(0xcf6000).rw(m_net, FUNC(am7990_device::regs_r), FUNC(am7990_device::regs_w));
+ map(0x309400, 0x3095ff).mirror(0xcf6000).umask16(0x00ff).rw(m_rtc, FUNC(mm58174_device::read), FUNC(mm58174_device::write));
+
+ map(0x309600, 0x3097ff).mirror(0xcf6000).lr8( // hdc
+ [](offs_t offset)
+ {
+ return 0xff;
+ }, "hdc_r");
+
+ map(0x309800, 0x309807).mirror(0xcf6000).umask16(0x00ff).rw(m_fdc, FUNC(wd1770_device::read), FUNC(wd1770_device::write));
+
+ map(0x309a00, 0x309bff).mirror(0xcf6000).umask16(0x00ff).lw8(
+ [this](u8 data)
+ {
+ m_fdd->ss_w(!BIT(data, 0));
+ m_fdc->dden_w(BIT(data, 1));
+ m_led_fdd = !BIT(data, 2);
+ m_led_err = BIT(data, 3);
+ //BIT(data, 4); // upd-head-select3
+ }, "fdc_reg_w");
+
+ //map(0x309c00, 0x309dff).mirror(0xcf6000); // dma interrupt acknowledge
+ map(0x309e00, 0x309e3f).mirror(0xcf6000).umask16(0x00ff).m(m_icu, FUNC(ns32202_device::map<BIT(ST, 1)>));
+}
+
+
+void mg1_state::iop_map(address_map &map)
+{
+ map(0x0000, 0x001f).m(m_iop, FUNC(m6801_cpu_device::m6801_io));
+ map(0x0017, 0x001c).lrw8(
+ [this](offs_t offset)
+ {
+ u8 const data = m_sem[offset];
+ if (!BIT(data, 7))
+ m_sem[offset] |= 0xc0;
+
+ return data;
+ }, "iop_sem_r",
+ [this](offs_t offset, u8 data)
+ {
+ m_sem[offset] &= ~0x80;
+ }, "iop_sem_w");
+
+ map(0x0080, 0x00ff).ram().share("iop_ram");
+
+ // i/o area
+ //map(0x2000, 0x201f).mirror(0x1e00).lw8([this](u8 data) { logerror("mouse x counter 0x%02x\n", data); }, "mouse_x"); // mouse x counter
+ map(0x2020, 0x2020).mirror(0x1e00).lw8([this](offs_t offset, u8 data) { logerror("host reset %x,0x%02x\n", offset, data); }, "host_reset").select(0x0100);
+ //map(0x2040, 0x205f).mirror(0x1e00).lw8([this](u8 data) { logerror("cursor 0x%02x\n", data); }, "cursor"); // cursor pixel offset & cursor number
+ map(0x2060, 0x207f).mirror(0x1e00).lw8([this](u8 data) { m_icu->ir_w<10>(0); }, "iopint");
+ map(0x2080, 0x2080).mirror(0x1e00).rw(m_crtc, FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
+ map(0x2081, 0x2081).mirror(0x1e00).rw(m_crtc, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ //map(0x20a0, 0x20bf).mirror(0x1e00).lw8([this](u8 data) { logerror("mouse buttons 0x%02x\n", data); }, "mouse_b"); // mouse buttons
+ //map(0x20c0, 0x20df).mirror(0x1e00).lw8([this](u8 data) { logerror("mouse y counter 0x%02x\n", data); }, "mouse_y"); // mouse y counter
+ map(0x20e0, 0x20ff).mirror(0x1e00).rw(m_iop_ctc, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
+
+ map(0x4000, 0x47ff).mirror(0x3800).ram().share("iop_sram"); // D4016C-3 2048x8 SRAM
+ map(0x8000, 0xbfff).mirror(0x4000).rom().region("iop_prom", 0);
+}
+
+
+static INPUT_PORTS_START(mg1)
+INPUT_PORTS_END
+
+
+MC6845_UPDATE_ROW(mg1_state::update_row)
+{
+ // 16 columns x 50 rows of characters, each 64x16 pixels
+ // 10 bits look up video mapping ram -> va6-21 (16 bits)
+ // 6 bits give address of 64-bit character in page
+
+ for (unsigned column = 0; column < x_count; column++)
+ {
+ u16 const vma = ((ma & 0x0ff0) << 4) | ((ra & 0x0f) << 4) | column;
+ u16 const va = (u32(m_vmram[vma >> 6]) << 6) | (vma & 0x3f);
+
+ for (unsigned byte = 0; byte < 8; byte++)
+ {
+ u8 const data = m_ram->read((va << 3) | BYTE8_XOR_LE(byte));
+ unsigned const x = column * 64 + byte * 8;
+
+ bitmap.pix(y, x + 0) = BIT(data, 0) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 1) = BIT(data, 1) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 2) = BIT(data, 2) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 3) = BIT(data, 3) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 4) = BIT(data, 4) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 5) = BIT(data, 5) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 6) = BIT(data, 6) ? rgb_t::black() : rgb_t::white();
+ bitmap.pix(y, x + 7) = BIT(data, 7) ? rgb_t::black() : rgb_t::white();
+ }
+ }
+}
+
+
+void mg1_state::mg1(machine_config &config)
+{
+ NS32016(config, m_cpu, 16_MHz_XTAL / 2);
+ m_cpu->set_addrmap(0, &mg1_state::cpu_map<0>);
+ m_cpu->set_addrmap(6, &mg1_state::cpu_map<6>);
+ m_cpu->set_fpu(m_fpu);
+
+ NS32081(config, m_fpu, 16_MHz_XTAL / 2);
+
+ NS32202(config, m_icu, 5_MHz_XTAL);
+ m_icu->out_int().set_inputline(m_cpu, INPUT_LINE_IRQ0);
+ /*
+ * 2 busint2
+ * 3 winint
+ * 4 dma2int
+ * 5 busint3
+
+ * 7 busint4
+
+ * 9 busint5
+ * 10 iopint
+
+ * 12 busint6
+ * 13 (not used)
+ * 14 (not used)
+ * 15 (not used)
+ */
+
+ RAM(config, m_ram).set_default_size("2M").set_extra_options("4M,6M,8M").set_default_value(0);
+
+ NVRAM(config, m_sram); // 2xTC5516AP 2048x8 SRAM
+
+ M6801(config, m_iop, 8_MHz_XTAL / 8); // TODO: MC68121 (mode 2)
+ m_iop->set_addrmap(0, &mg1_state::iop_map);
+
+ NVRAM(config, m_iop_sram); // 1xD4016C-3 2048x8 SRAM
+
+ PIT8253(config, m_iop_ctc);
+
+ I8251(config, m_usart, m_iop->clock());
+ m_icu->out_cout().set(m_usart, FUNC(i8251_device::rx_clock_w));
+ m_icu->out_cout().append(m_usart, FUNC(i8251_device::tx_clock_w));
+ m_usart->rxrdy_handler().set(m_icu, FUNC(ns32202_device::ir_w<1>));
+ m_usart->txrdy_handler().set(m_icu, FUNC(ns32202_device::ir_w<11>));
+
+ RS232_PORT(config, m_serial, default_rs232_devices, nullptr);
+ m_serial->rxd_handler().set(m_usart, FUNC(i8251_device::write_rxd));
+ m_serial->dsr_handler().set(m_usart, FUNC(i8251_device::write_dsr));
+ m_serial->dcd_handler().set(m_usart, FUNC(i8251_device::write_cts));
+ m_usart->txd_handler().set(m_serial, FUNC(rs232_port_device::write_txd));
+ m_usart->dtr_handler().set(m_serial, FUNC(rs232_port_device::write_dtr));
+ m_usart->rts_handler().set(m_serial, FUNC(rs232_port_device::write_rts));
+ // TODO: tset/rset
+
+ MM58174(config, m_rtc, 32.768_kHz_XTAL);
+
+ HD6845S(config, m_crtc, 60_MHz_XTAL / 64);
+ m_crtc->set_show_border_area(false);
+ m_crtc->set_hpixels_per_column(64);
+ m_crtc->set_update_row_callback(FUNC(mg1_state::update_row));
+
+ // black & white crt, 56Hz refresh, 46.877kHz line, line sync 1.066uS, frame sync 341.32uS
+ // crtc sees it as 16 col x 50 rows, with 64x16 character cells
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(60_MHz_XTAL, 20*64, 0, 16*64, 51*16 + 4, 0, 50*16);
+ m_screen->set_screen_update(m_crtc, FUNC(mc6845_device::screen_update));
+
+ AM7990(config, m_net);
+ m_net->intr_out().set(m_icu, FUNC(ns32202_device::ir_w<6>));
+ m_net->dma_in().set([this](offs_t offset) { return m_cpu->space(0).read_word(offset); });
+ m_net->dma_out().set([this](offs_t offset, u16 data, u16 mem_mask) { m_cpu->space(0).write_word(offset, data, mem_mask); });
+
+ WD1770(config, m_fdc, 8_MHz_XTAL);
+ m_fdc->intrq_wr_callback().set(m_icu, FUNC(ns32202_device::ir_w<8>));
+ //m_fdc->drq_wr_callback().set(m_dma, FUNC(dmac_0448_device::drq<1>));
+
+ FLOPPY_CONNECTOR(config, "fdc:0", "35dd", FLOPPY_35_DD, true, floppy_formats).enable_sound(true);
+
+ //SOFTWARE_LIST(config, "flop_list").set_original("mg1_flop");
+ //SOFTWARE_LIST(config, "hdd_list").set_original("mg1_hdd");
+
+ config.set_default_layout(layout_mg1);
+}
+
+
+void mg1_state::floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_APPLIX_FORMAT);
+}
+
+
+ROM_START(mg1)
+ ROM_REGION16_LE(0x4000, "prom", 0)
+ ROM_SYSTEM_BIOS(0, "260", "v2.60")
+ ROMX_LOAD("sys_260_even.u291", 0x0000, 0x2000, CRC(24b45b73) SHA1(04d86587b104aa122ac395aa39eb92a1f4d68def), ROM_BIOS(0) | ROM_SKIP(1) )
+ ROMX_LOAD("sys_260_odd.u292", 0x0001, 0x2000, CRC(a46ebbf8) SHA1(a2ab9fa3a9576d63d8d49730bfcd58a0f508b30f), ROM_BIOS(0) | ROM_SKIP(1) )
+ ROM_SYSTEM_BIOS(1, "251", "v2.51")
+ ROMX_LOAD("sys_251.bin", 0x0000, 0x4000, CRC(aa6c7ccd) SHA1(ef52f0a014c209414f669b7a4d200e9bb9a09fea), ROM_BIOS(1))
+
+ ROM_REGION(0x4000, "iop_prom", 0)
+ ROM_LOAD("iop_30.u285", 0x0000, 0x2000, CRC(733cd089) SHA1(31ffdd85b4ae2ac35dcde292a0d42860baaba88d))
+ ROM_RELOAD( 0x2000, 0x2000)
+ROM_END
+
+
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+COMP(1984, mg1, 0, 0, mg1, mg1, mg1_state, init_common, "Whitechapel Computer Works", "MG-1", MACHINE_IS_SKELETON)
diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp
index bdc18b9559a..658dff5b85d 100644
--- a/src/mame/drivers/micro3d.cpp
+++ b/src/mame/drivers/micro3d.cpp
@@ -34,7 +34,7 @@
#include "machine/mc68901.h"
#include "machine/nvram.h"
#include "machine/z80scc.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/missb2.cpp b/src/mame/drivers/missb2.cpp
index bb9e974cf8b..a79c87d3182 100644
--- a/src/mame/drivers/missb2.cpp
+++ b/src/mame/drivers/missb2.cpp
@@ -19,7 +19,7 @@ written, so it may be normal behaviour.
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/missbamby.cpp b/src/mame/drivers/missbamby.cpp
index ff1021a5c95..a61736f9e46 100644
--- a/src/mame/drivers/missbamby.cpp
+++ b/src/mame/drivers/missbamby.cpp
@@ -234,7 +234,7 @@ ROM_START( gwinner )
ROM_LOAD( "reben_sa_gw-b_chk_f884_crc_7822.bin", 0x2000, 0x1000, CRC(0146a4ff) SHA1(d23048ba0f23daf5caba07affc57e88ab09ca91e) )
ROM_REGION(0x20, "prom", 0)
- ROM_LOAD( "dm74s188n.bin", 0x00, 0x20, NO_DUMP )
+ ROM_LOAD( "dm74s188n.bin", 0x00, 0x20, CRC(27ed5f29) SHA1(2d5f190fac6be15d3c5b344647333bbf47a04fc3) )
ROM_END
ROM_START( unkslot )
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp
index cbf911e4701..0b5762b5261 100644
--- a/src/mame/drivers/mitchell.cpp
+++ b/src/mame/drivers/mitchell.cpp
@@ -124,8 +124,7 @@ mw-9.rom = ST M27C1001 / GFX
#include "machine/kabuki.h" // needed for decoding functions only
#include "sound/okim6295.h"
#include "sound/msm5205.h"
-#include "sound/ym2413.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
@@ -1753,24 +1752,46 @@ ROM_END
ROM_START( dokaben )
ROM_REGION( 0x50000, "maincpu", 0 )
- ROM_LOAD( "db06.11h", 0x00000, 0x08000, CRC(413e0886) SHA1(e9e6117fbbd980bc0f5448ada6c1856919bf92b5) )
- ROM_LOAD( "db07.13h", 0x10000, 0x20000, CRC(8bdcf49e) SHA1(7d845ae2e640ec7d8d642e3aeef741d9f7b0a57c) )
- ROM_LOAD( "db08.14h", 0x30000, 0x20000, CRC(1643bdd9) SHA1(5805e749713dbffacbb1238b1b4d42e8473d3656) )
+ ROM_LOAD( "db_06.11h", 0x00000, 0x08000, CRC(413e0886) SHA1(e9e6117fbbd980bc0f5448ada6c1856919bf92b5) )
+ ROM_LOAD( "db_07.13h", 0x10000, 0x20000, CRC(8bdcf49e) SHA1(7d845ae2e640ec7d8d642e3aeef741d9f7b0a57c) )
+ ROM_LOAD( "db_08.14h", 0x30000, 0x20000, CRC(1643bdd9) SHA1(5805e749713dbffacbb1238b1b4d42e8473d3656) )
ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASEFF )
- ROM_LOAD( "db02.1e", 0x000000, 0x20000, CRC(9aa8470c) SHA1(8acbed381d6140e70045da232dee9b4b165953f9) ) /* chars */
- ROM_LOAD( "db03.2e", 0x020000, 0x20000, CRC(3324e43d) SHA1(ed273d4de56e382e24ab0f0a8bcd5e30a05a1c6d) )
+ ROM_LOAD( "db_02.1e", 0x000000, 0x20000, CRC(9aa8470c) SHA1(8acbed381d6140e70045da232dee9b4b165953f9) ) /* chars */
+ ROM_LOAD( "db_03.2e", 0x020000, 0x20000, CRC(3324e43d) SHA1(ed273d4de56e382e24ab0f0a8bcd5e30a05a1c6d) )
/* 40000-7ffff empty */
- ROM_LOAD( "db04.1g", 0x080000, 0x20000, CRC(c0c5b6c2) SHA1(5d66d8b2a62ccab9574e04a867df9bbb8c0d15aa) )
- ROM_LOAD( "db05.2g", 0x0a0000, 0x20000, CRC(d2ab25f2) SHA1(96eea06d1645e0aade4c1b3153c55e2b61fd52c7) )
+ ROM_LOAD( "db_04.1g", 0x080000, 0x20000, CRC(c0c5b6c2) SHA1(5d66d8b2a62ccab9574e04a867df9bbb8c0d15aa) )
+ ROM_LOAD( "db_05.2g", 0x0a0000, 0x20000, CRC(d2ab25f2) SHA1(96eea06d1645e0aade4c1b3153c55e2b61fd52c7) )
/* c0000-fffff empty */
ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "db10.2k", 0x000000, 0x20000, CRC(9e70f7ae) SHA1(ff3833a52d3d198f14e915ce52f7449cf04a0cca) ) /* sprites */
- ROM_LOAD( "db09.1k", 0x020000, 0x20000, CRC(2d9263f7) SHA1(fe2811ae47b9a250ea1485a91c2c3be742d90622) )
+ ROM_LOAD( "db_10.2k", 0x000000, 0x20000, CRC(9e70f7ae) SHA1(ff3833a52d3d198f14e915ce52f7449cf04a0cca) ) /* sprites */
+ ROM_LOAD( "db_09.1k", 0x020000, 0x20000, CRC(2d9263f7) SHA1(fe2811ae47b9a250ea1485a91c2c3be742d90622) )
ROM_REGION( 0x80000, "oki", 0 ) /* OKIM */
- ROM_LOAD( "db01.1d", 0x00000, 0x20000, CRC(62fa6b81) SHA1(0168b40df583f11cb28718aa8ab8be7cc08bf561) )
+ ROM_LOAD( "db_01.1d", 0x00000, 0x20000, CRC(62fa6b81) SHA1(0168b40df583f11cb28718aa8ab8be7cc08bf561) )
+ROM_END
+
+ROM_START( dokaben2 )
+ ROM_REGION( 0x50000, "maincpu", 0 )
+ ROM_LOAD( "d2_06.11h", 0x00000, 0x08000, CRC(9adcc38c) SHA1(0cacc58a14d63dfb1565ff517cc45f3d8fc9b77c) )
+ ROM_LOAD( "d2_07.13h", 0x10000, 0x20000, CRC(43076e32) SHA1(fca84da82d427b3dca28ed2ec1e811eeddcee666) )
+ ROM_LOAD( "d2_08.14h", 0x30000, 0x20000, CRC(cb9deb7a) SHA1(a3e359e991a64190e25cf1c589c82008af2cb9b5) )
+
+ ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASEFF )
+ ROM_LOAD( "d2_02.1e", 0x000000, 0x20000, CRC(5dd7b941) SHA1(b0e93e733b9bbabe68896c92af34b90daf8dcd7c) ) /* chars */
+ ROM_LOAD( "d2_03.2e", 0x020000, 0x20000, CRC(b615e696) SHA1(f1ec11202fce23af4af15682b158795f7ff4234f) )
+ /* 40000-7ffff empty */
+ ROM_LOAD( "d2_04.1g", 0x080000, 0x20000, CRC(56b35605) SHA1(c065b03b5cb00ac75b8b439a4f35d9b04a886626) )
+ ROM_LOAD( "d2_05.2g", 0x0a0000, 0x20000, CRC(ce98ff74) SHA1(ddae2e035369886ab03074e947405ef916cc425a) )
+ /* c0000-fffff empty */
+
+ ROM_REGION( 0x040000, "gfx2", 0 )
+ ROM_LOAD( "d2_10.2k", 0x000000, 0x20000, CRC(9b9bfb5f) SHA1(5969861e1fe900a3076785c7d1e304c10aa56435) ) /* sprites */
+ ROM_LOAD( "d2_09.1k", 0x020000, 0x20000, CRC(84de2e1d) SHA1(692304332b37ca3b26dc96bcad797ee81ab8b819) )
+
+ ROM_REGION( 0x80000, "oki", 0 ) /* OKIM */
+ ROM_LOAD( "db_01.1d", 0x00000, 0x20000, CRC(62fa6b81) SHA1(0168b40df583f11cb28718aa8ab8be7cc08bf561) )
ROM_END
ROM_START( pang )
@@ -2724,13 +2745,19 @@ void mitchell_state::init_mstworld()
GAME( 1988, mgakuen, 0, mgakuen, mgakuen, mitchell_state, init_mgakuen, ROT0, "Yuga", "Mahjong Gakuen", MACHINE_SUPPORTS_SAVE )
GAME( 1988, 7toitsu, mgakuen, mgakuen, mgakuen, mitchell_state, init_mgakuen, ROT0, "Yuga", "Chi-Toitsu", MACHINE_SUPPORTS_SAVE )
+
GAME( 1989, mgakuen2, 0, marukin, marukin, mitchell_state, init_mgakuen2, ROT0, "Face", "Mahjong Gakuen 2 Gakuen-chou no Fukushuu", MACHINE_SUPPORTS_SAVE )
+
GAME( 1989, pkladies, 0, marukin, pkladies, mitchell_state, init_pkladies, ROT0, "Mitchell", "Poker Ladies", MACHINE_SUPPORTS_SAVE )
GAME( 1989, pkladiesl, pkladies, marukin, pkladies, mitchell_state, init_pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 510)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, pkladiesla, pkladies, marukin, pkladies, mitchell_state, init_pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 401)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, pkladiesbl, pkladies, pkladiesbl, pkladiesbl, mitchell_state, init_pkladiesbl, ROT0, "bootleg", "Poker Ladies (Censored bootleg, encrypted)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // by Playmark? need to figure out CPU 'decryption' / ordering
GAME( 1989, pkladiesbl2, pkladies, pkladiesbl, pkladiesbl, mitchell_state, init_pkladiesbl, ROT0, "bootleg", "Poker Ladies (Censored bootleg, not encrypted)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // by Playmark? needs inputs, EEPROM (?), MSM5205 hook up, GFX fixes
+
GAME( 1989, dokaben, 0, pang, pang, mitchell_state, init_dokaben, ROT0, "Capcom", "Dokaben (Japan)", MACHINE_SUPPORTS_SAVE )
+
+GAME( 1989, dokaben2, 0, pang, pang, mitchell_state, init_dokaben, ROT0, "Capcom", "Dokaben 2 (Japan)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1989, pang, 0, pang, pang, mitchell_state, init_pang, ROT0, "Mitchell", "Pang (World)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, bbros, pang, pang, pang, mitchell_state, init_pang, ROT0, "Mitchell (Capcom license)", "Buster Bros. (USA)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, pompingw, pang, pang, pang, mitchell_state, init_pang, ROT0, "Mitchell", "Pomping World (Japan)", MACHINE_SUPPORTS_SAVE )
@@ -2741,17 +2768,25 @@ GAME( 1989, pangb2, pang, pang, pang, mitchell_state, init_
GAME( 1989, pangbb, pang, spangbl, pang, mitchell_state, init_pangb, ROT0, "bootleg", "Pang (bootleg, set 5)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1989, pangbp, pang, pang, pang, mitchell_state, init_pangb, ROT0, "bootleg", "Pang (bootleg, set 6)", MACHINE_NOT_WORKING ) // Missing the contents of a battery backed RAM
GAME( 1989, pangbc, pang, spangbl, pang, mitchell_state, init_pangb, ROT0, "bootleg", "Pang (bootleg, set 7)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1989, cworld, 0, pang, qtono1, mitchell_state, init_cworld, ROT0, "Capcom", "Capcom World (Japan)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1990, hatena, 0, pang, qtono1, mitchell_state, init_hatena, ROT0, "Capcom", "Adventure Quiz 2 - Hatena? no Daibouken (Japan 900228)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1990, spang, 0, pangnv, pang, mitchell_state, init_spang, ROT0, "Mitchell", "Super Pang (World 900914)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, sbbros, spang, pangnv, pang, mitchell_state, init_sbbros, ROT0, "Mitchell (Capcom license)", "Super Buster Bros. (USA 901001)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, spangj, spang, pangnv, pang, mitchell_state, init_spangj, ROT0, "Mitchell", "Super Pang (Japan 901023)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, spangbl, spang, spangbl, spangbl, mitchell_state, init_spangbl, ROT0, "bootleg", "Super Pang (World 900914, bootleg, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // different sound hardware
GAME( 1990, spangbl2, spang, spangbl, spangbl, mitchell_state, init_spangbl, ROT0, "bootleg", "Super Pang (World 900914, bootleg, set 2)", MACHINE_NOT_WORKING )
+
GAME( 1994, mstworld, 0, mstworld, mstworld, mitchell_state, init_mstworld, ROT0, "bootleg (TCH)", "Monsters World (bootleg of Super Pang)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+
GAME( 1990, marukin, 0, marukin, marukin, mitchell_state, init_marukin, ROT0, "Yuga", "Super Marukin-Ban (Japan 901017)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1991, qtono1, 0, pang, qtono1, mitchell_state, init_qtono1, ROT0, "Capcom", "Quiz Tonosama no Yabou (Japan)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1991, qsangoku, 0, pang, qtono1, mitchell_state, init_qsangoku, ROT0, "Capcom", "Quiz Sangokushi (Japan)", MACHINE_SUPPORTS_SAVE )
+
GAME( 1991, block, 0, pangnv, blockjoy, mitchell_state, init_block, ROT270, "Capcom", "Block Block (World 911219 Joystick)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, blockr1, block, pangnv, blockjoy, mitchell_state, init_block, ROT270, "Capcom", "Block Block (World 911106 Joystick)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, blockr2, block, pangnv, block, mitchell_state, init_block, ROT270, "Capcom", "Block Block (World 910910)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mlanding.cpp b/src/mame/drivers/mlanding.cpp
index b14c782900d..533022851e6 100644
--- a/src/mame/drivers/mlanding.cpp
+++ b/src/mame/drivers/mlanding.cpp
@@ -57,7 +57,7 @@
#include "machine/z80ctc.h"
#include "machine/taitoio_yoke.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index 442dcc18484..cb233c62586 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -1198,17 +1198,17 @@ ROM_START( vf )
ROM_LOAD( "epr-16080.4", 0xfc0000, 0x20000, CRC(3662e1a5) SHA1(6bfceb1a7c1c7912679c907f2b7516ae9c7dda67) )
ROM_LOAD( "epr-16081.5", 0xfe0000, 0x20000, CRC(6dec06ce) SHA1(7891544456bccd2fc647bccd058945ad50466636) )
- ROM_LOAD16_BYTE( "mpr-16084.6", 0x1000000, 0x80000, CRC(483f453b) SHA1(41a5527be73f5dd1c87b2a8113235bdd247ec049) )
- ROM_LOAD16_BYTE( "mpr-16085.7", 0x1000001, 0x80000, CRC(5fa01277) SHA1(dfa7ddff0a7daf29071431f26b93dd8e8e5793b6) )
- ROM_LOAD16_BYTE( "mpr-16086.8", 0x1100000, 0x80000, CRC(deac47a1) SHA1(3a8016124e4dc579d4aae745d4af1905ad0e4fbd) )
- ROM_LOAD16_BYTE( "mpr-16087.9", 0x1100001, 0x80000, CRC(7a64daac) SHA1(da6a9cad4b0cb2af4299e664c0889f3fbdc25530) )
+ ROM_LOAD16_BYTE( "mpr-16084.6", 0x1000000, 0x80000, CRC(483f453b) SHA1(41a5527be73f5dd1c87b2a8113235bdd247ec049) )
+ ROM_LOAD16_BYTE( "mpr-16085.7", 0x1000001, 0x80000, CRC(5fa01277) SHA1(dfa7ddff0a7daf29071431f26b93dd8e8e5793b6) )
+ ROM_LOAD16_BYTE( "mpr-16086.8", 0x1100000, 0x80000, CRC(deac47a1) SHA1(3a8016124e4dc579d4aae745d4af1905ad0e4fbd) )
+ ROM_LOAD16_BYTE( "mpr-16087.9", 0x1100001, 0x80000, CRC(7a64daac) SHA1(da6a9cad4b0cb2af4299e664c0889f3fbdc25530) )
ROM_LOAD16_BYTE( "mpr-16088.10", 0x1200000, 0x80000, CRC(fcda2d1e) SHA1(0f7d0f604d429a1da0d1c3f31694520bada49680) )
ROM_LOAD16_BYTE( "mpr-16089.11", 0x1200001, 0x80000, CRC(39befbe0) SHA1(362c493092cd0536fadee7326ecc7f973e23fb58) )
ROM_LOAD16_BYTE( "mpr-16090.12", 0x1300000, 0x80000, CRC(90c76831) SHA1(5a3c25f2a131cfbb2ad067bef1ab7b1c95645d41) )
ROM_LOAD16_BYTE( "mpr-16091.13", 0x1300001, 0x80000, CRC(53115448) SHA1(af798d5b1fcb720d7288a5ac48839d9ace16a2f2) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5724.bin", 0, 0x2000, CRC(4b4f330e) SHA1(8809d93d47593f808faca55161999677ac7a3eb0) BAD_DUMP )
+ ROM_LOAD( "315-5724.bin", 0, 0x2000, CRC(4b4f330e) SHA1(8809d93d47593f808faca55161999677ac7a3eb0) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-16120.7", 0x00000, 0x20000, CRC(2bff8378) SHA1(854b08ab983e4e98cb666f2f44de9a6829b1eb52) )
@@ -1260,7 +1260,7 @@ ROM_START( vr )
ROM_LOAD16_BYTE( "mpr-14889.13", 0x1300001, 0x80000, CRC(c49f0486) SHA1(cc2bb9059c016ba2c4f6e7508bd1687df07b8b48) )
ROM_REGION( 0x2000, "tgp_copro", 0 ) /* TGP program rom */
- ROM_LOAD("315-5573.bin", 0, 0x2000, CRC(3335a19b) SHA1(72eedfcc799ec4c7534fd7415de6631087ff6731) )
+ ROM_LOAD( "315-5573.bin", 0, 0x2000, CRC(3335a19b) SHA1(72eedfcc799ec4c7534fd7415de6631087ff6731) )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-14870a.7", 0x00000, 0x20000, CRC(919d9b75) SHA1(27be79881cc9a2b5cf37e18f1e2d87251426b428) )
@@ -1288,7 +1288,7 @@ ROM_START( vr )
ROM_LOAD32_BYTE( "mpr-14901.42", 0x000003, 0x80000, CRC(175b7a9a) SHA1(c86602e771cd49bab425b4ba7926d2f44858bd39) )
ROM_REGION16_LE(0x80, "ioboard:eeprom", 0)
- ROM_LOAD("93c45.bin", 0x00, 0x80, CRC(65aac303) SHA1(17687fedf1578e977cae4e7c3f5c00cad4aa490d) )
+ ROM_LOAD( "93c45.bin", 0x00, 0x80, CRC(65aac303) SHA1(17687fedf1578e977cae4e7c3f5c00cad4aa490d) )
ROM_END
ROM_START( vformula )
@@ -1311,7 +1311,7 @@ ROM_START( vformula )
ROM_LOAD16_BYTE( "mpr-14889.13", 0x1300001, 0x80000, CRC(c49f0486) SHA1(cc2bb9059c016ba2c4f6e7508bd1687df07b8b48) )
ROM_REGION( 0x2000, "tgp_copro", 0 ) /* TGP program rom */
- ROM_LOAD("315-5573.bin", 0, 0x2000, CRC(3335a19b) SHA1(72eedfcc799ec4c7534fd7415de6631087ff6731) )
+ ROM_LOAD( "315-5573.bin", 0, 0x2000, CRC(3335a19b) SHA1(72eedfcc799ec4c7534fd7415de6631087ff6731) )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-14870a.7", 0x00000, 0x20000, CRC(919d9b75) SHA1(27be79881cc9a2b5cf37e18f1e2d87251426b428) )
@@ -1351,11 +1351,11 @@ ROM_START( swa )
ROM_LOAD16_BYTE( "epr-16670.15", 0x200001, 0x80000, CRC(1e7ecabd) SHA1(62e8dd5d3a053426a1f3d94d15b04621d36d6a2c) )
ROM_LOAD( "epr-16668.5", 0xf80000, 0x80000, CRC(9e112425) SHA1(fc7be83b33b586780444e3426164e1cb5125f794) )
- ROM_RELOAD( 0x000000, 0x80000 )
- ROM_RELOAD( 0x080000, 0x80000 )
+ ROM_RELOAD( 0x000000, 0x80000 )
+ ROM_RELOAD( 0x080000, 0x80000 )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP)
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP)
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-16470.7", 0x000000, 0x020000, CRC(7da18cf7) SHA1(bd432d882d217277faee120e2577357a32eb4a6e) )
@@ -1399,11 +1399,11 @@ ROM_START( swaj )
ROM_LOAD16_BYTE( "epr-16469.15", 0x200001, 0x80000, CRC(6f281f7c) SHA1(6a9179e48d14838bb2a1a3f63fdd3a68ed009e03) )
ROM_LOAD( "epr-16467.5", 0xf80000, 0x80000, CRC(605068f5) SHA1(99d7e171ce3353477c282d7567dedb9947206f14) )
- ROM_RELOAD( 0x000000, 0x80000 )
- ROM_RELOAD( 0x080000, 0x80000 )
+ ROM_RELOAD( 0x000000, 0x80000 )
+ ROM_RELOAD( 0x080000, 0x80000 )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-16470.7", 0x000000, 0x020000, CRC(7da18cf7) SHA1(bd432d882d217277faee120e2577357a32eb4a6e) )
@@ -1447,10 +1447,10 @@ ROM_START( wingwar )
ROM_LOAD16_BYTE( "epr-16729.14", 0x200000, 0x80000, CRC(7edec2cc) SHA1(3e423a868ca7c8475fbb5bc1a10526e69d94d865) )
ROM_LOAD16_BYTE( "epr-16730.15", 0x200001, 0x80000, CRC(bab24dee) SHA1(26c95139c1aa7f34b6a5cce39e5bd1dd2ef0dd49) )
- ROM_LOAD( "epr16953.4", 0xfc0000, 0x20000, CRC(c821a920) SHA1(7fc9ea5d828aac664514fa6d38f708f1ffd26220) )
- ROM_RELOAD( 0x000000, 0x20000 )
- ROM_LOAD( "epr16952.5", 0xfe0000, 0x20000, CRC(03a3ecc5) SHA1(5c4aa221302b0a0800e1af99a41ab46fe4325184) )
- ROM_RELOAD( 0x020000, 0x20000 )
+ ROM_LOAD( "epr-16953.4", 0xfc0000, 0x20000, CRC(c821a920) SHA1(7fc9ea5d828aac664514fa6d38f708f1ffd26220) )
+ ROM_RELOAD( 0x000000, 0x20000 )
+ ROM_LOAD( "epr-16952.5", 0xfe0000, 0x20000, CRC(03a3ecc5) SHA1(5c4aa221302b0a0800e1af99a41ab46fe4325184) )
+ ROM_RELOAD( 0x020000, 0x20000 )
ROM_LOAD16_BYTE( "mpr-16738.6", 0x1000000, 0x80000, CRC(51518ffa) SHA1(e4674ddfed4205957b14e133c6fdf6454872f324) )
ROM_LOAD16_BYTE( "mpr-16737.7", 0x1000001, 0x80000, CRC(37b1379c) SHA1(98620c324268e1dd906c077ac8a8cd903b9de1f7) )
@@ -1460,20 +1460,20 @@ ROM_START( wingwar )
ROM_LOAD16_BYTE( "mpr-16733.11", 0x1200001, 0x80000, CRC(e105847b) SHA1(8489a6c91fd6d1e9ba81e8eaf36c514da30dccbe) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
- ROM_LOAD16_WORD_SWAP("epr-17126.7", 0x000000, 0x20000, CRC(50178e40) SHA1(fb01aecfbe4e90adc997de0d45a63c16ef353b37) )
- ROM_LOAD16_WORD_SWAP("epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
+ ROM_LOAD16_WORD_SWAP( "epr-17126.7", 0x000000, 0x20000, CRC(50178e40) SHA1(fb01aecfbe4e90adc997de0d45a63c16ef353b37) )
+ ROM_LOAD16_WORD_SWAP( "epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
ROM_RELOAD(0x80000, 0x20000)
ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
- ROM_LOAD("mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
+ ROM_LOAD( "mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
+ ROM_LOAD( "mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
- ROM_LOAD("mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
+ ROM_LOAD( "mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
+ ROM_LOAD( "mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
ROM_REGION32_LE( 0x1000000, "polygons", 0 ) /* TGP model roms */
ROM_LOAD32_WORD( "mpr-16743.26", 0x000000, 0x200000, CRC(a710d33c) SHA1(1d0184545b34789ed511caaa25d57db3cd9a8e2f) )
@@ -1508,10 +1508,10 @@ ROM_START( wingwaru )
ROM_LOAD16_BYTE( "epr-16729.14", 0x200000, 0x80000, CRC(7edec2cc) SHA1(3e423a868ca7c8475fbb5bc1a10526e69d94d865) )
ROM_LOAD16_BYTE( "epr-16730.15", 0x200001, 0x80000, CRC(bab24dee) SHA1(26c95139c1aa7f34b6a5cce39e5bd1dd2ef0dd49) )
- ROM_LOAD( "epr-16951.4", 0xfc0000, 0x20000, BAD_DUMP CRC(8df5a798) SHA1(ef2756f237933ecf429dab0f362e572eb1965f4d) )
- ROM_RELOAD( 0x000000, 0x20000 )
+ ROM_LOAD( "epr-16951.4", 0xfc0000, 0x20000, CRC(fbe12d15) SHA1(07e572d20babc47c14b20af51c567c36b1b9c7a9) )
+ ROM_RELOAD( 0x000000, 0x20000 )
ROM_LOAD( "epr-16950.5", 0xfe0000, 0x20000, CRC(841e2195) SHA1(66f465aaf71955496e6f83335f7b836ad1d8c724) )
- ROM_RELOAD( 0x020000, 0x20000 )
+ ROM_RELOAD( 0x020000, 0x20000 )
ROM_LOAD16_BYTE( "mpr-16738.6", 0x1000000, 0x80000, CRC(51518ffa) SHA1(e4674ddfed4205957b14e133c6fdf6454872f324) )
ROM_LOAD16_BYTE( "mpr-16737.7", 0x1000001, 0x80000, CRC(37b1379c) SHA1(98620c324268e1dd906c077ac8a8cd903b9de1f7) )
@@ -1521,20 +1521,20 @@ ROM_START( wingwaru )
ROM_LOAD16_BYTE( "mpr-16733.11", 0x1200001, 0x80000, CRC(e105847b) SHA1(8489a6c91fd6d1e9ba81e8eaf36c514da30dccbe) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
- ROM_LOAD16_WORD_SWAP("epr-16751.7", 0x000000, 0x20000, CRC(23ba5ebc) SHA1(b98aab546c5e980baeedbada4e7472eb4c588260) )
- ROM_LOAD16_WORD_SWAP("epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
+ ROM_LOAD16_WORD_SWAP( "epr-16751.7", 0x000000, 0x20000, CRC(23ba5ebc) SHA1(b98aab546c5e980baeedbada4e7472eb4c588260) )
+ ROM_LOAD16_WORD_SWAP( "epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
ROM_RELOAD(0x80000, 0x20000)
ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
- ROM_LOAD("mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
+ ROM_LOAD( "mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
+ ROM_LOAD( "mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
- ROM_LOAD("mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
+ ROM_LOAD( "mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
+ ROM_LOAD( "mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
ROM_REGION32_LE( 0x1000000, "polygons", 0 ) /* TGP model roms */
ROM_LOAD32_WORD( "mpr-16743.26", 0x000000, 0x200000, CRC(a710d33c) SHA1(1d0184545b34789ed511caaa25d57db3cd9a8e2f) )
@@ -1561,9 +1561,9 @@ ROM_START( wingwarj )
ROM_LOAD16_BYTE( "epr-16730.15", 0x200001, 0x80000, CRC(bab24dee) SHA1(26c95139c1aa7f34b6a5cce39e5bd1dd2ef0dd49) )
ROM_LOAD( "epr-16728.4", 0xfc0000, 0x20000, CRC(194d58ff) SHA1(281201cbb9bb148a06fe88edeccf680f837dcc10) )
- ROM_RELOAD( 0x000000, 0x20000 )
+ ROM_RELOAD( 0x000000, 0x20000 )
ROM_LOAD( "epr-16727.5", 0xfe0000, 0x20000, CRC(430380eb) SHA1(25bd81a69a9b4cdc644f912283b65b3eab988327) )
- ROM_RELOAD( 0x020000, 0x20000 )
+ ROM_RELOAD( 0x020000, 0x20000 )
ROM_LOAD16_BYTE( "mpr-16738.6", 0x1000000, 0x80000, CRC(51518ffa) SHA1(e4674ddfed4205957b14e133c6fdf6454872f324) )
ROM_LOAD16_BYTE( "mpr-16737.7", 0x1000001, 0x80000, CRC(37b1379c) SHA1(98620c324268e1dd906c077ac8a8cd903b9de1f7) )
@@ -1573,20 +1573,20 @@ ROM_START( wingwarj )
ROM_LOAD16_BYTE( "mpr-16733.11", 0x1200001, 0x80000, CRC(e105847b) SHA1(8489a6c91fd6d1e9ba81e8eaf36c514da30dccbe) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
- ROM_LOAD16_WORD_SWAP("epr-16751.7", 0x000000, 0x20000, CRC(23ba5ebc) SHA1(b98aab546c5e980baeedbada4e7472eb4c588260) )
- ROM_LOAD16_WORD_SWAP("epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
+ ROM_LOAD16_WORD_SWAP( "epr-16751.7", 0x000000, 0x20000, CRC(23ba5ebc) SHA1(b98aab546c5e980baeedbada4e7472eb4c588260) )
+ ROM_LOAD16_WORD_SWAP( "epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
ROM_RELOAD(0x80000, 0x20000)
ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
- ROM_LOAD("mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
+ ROM_LOAD( "mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
+ ROM_LOAD( "mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
- ROM_LOAD("mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
+ ROM_LOAD( "mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
+ ROM_LOAD( "mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
ROM_REGION32_LE( 0x1000000, "polygons", 0 ) /* TGP model roms */
ROM_LOAD32_WORD( "mpr-16743.26", 0x000000, 0x200000, CRC(a710d33c) SHA1(1d0184545b34789ed511caaa25d57db3cd9a8e2f) )
@@ -1615,32 +1615,32 @@ ROM_START( wingwar360 )
ROM_LOAD16_BYTE( "epr-16730.15", 0x200001, 0x80000, CRC(bab24dee) SHA1(26c95139c1aa7f34b6a5cce39e5bd1dd2ef0dd49) )
ROM_LOAD( "epr-17052.4", 0xfc0000, 0x20000, CRC(0f4743e7) SHA1(cc47fd1d25808728ed05d95d510733b8bd011b41) )
- ROM_RELOAD( 0x000000, 0x20000 )
+ ROM_RELOAD( 0x000000, 0x20000 )
ROM_LOAD( "epr-17053.5", 0xfe0000, 0x20000, CRC(83af2415) SHA1(46dfee9db95171a3942cd32c851ec75c3d9e03da) )
- ROM_RELOAD( 0x020000, 0x20000 )
+ ROM_RELOAD( 0x020000, 0x20000 )
- ROM_LOAD16_BYTE( "ic6_17056.bin", 0x1000000, 0x80000, CRC(5216de4d) SHA1(1463311d3f96ca7c46b8f676ee3963caddeec9e2) )
- ROM_LOAD16_BYTE( "ic7_17057.bin", 0x1000001, 0x80000, CRC(b21aa2db) SHA1(861e637b5ae9b2d7fe6d09a7e788a6a3ff09af6e) )
+ ROM_LOAD16_BYTE( "epr-17056.6", 0x1000000, 0x80000, CRC(5216de4d) SHA1(1463311d3f96ca7c46b8f676ee3963caddeec9e2) )
+ ROM_LOAD16_BYTE( "epr-17057.7", 0x1000001, 0x80000, CRC(b21aa2db) SHA1(861e637b5ae9b2d7fe6d09a7e788a6a3ff09af6e) )
ROM_LOAD16_BYTE( "mpr-16736.8", 0x1100000, 0x80000, CRC(10b6a025) SHA1(7a4f624ceb7c0b92044a5db8ff55440562ef836b) )
ROM_LOAD16_BYTE( "mpr-16735.9", 0x1100001, 0x80000, CRC(c82fd198) SHA1(d9e53ae1e14dfc8e84a14c0026ef0b904863bb1b) )
ROM_LOAD16_BYTE( "mpr-16734.10", 0x1200000, 0x80000, CRC(f76371c1) SHA1(0ff082db3877383d0dd977dc60c932b725e3d164) )
ROM_LOAD16_BYTE( "mpr-16733.11", 0x1200001, 0x80000, CRC(e105847b) SHA1(8489a6c91fd6d1e9ba81e8eaf36c514da30dccbe) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
- ROM_LOAD16_WORD_SWAP("epr-17126.7", 0x000000, 0x20000, CRC(50178e40) SHA1(fb01aecfbe4e90adc997de0d45a63c16ef353b37) )
- ROM_LOAD16_WORD_SWAP("epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
+ ROM_LOAD16_WORD_SWAP( "epr-17126.7", 0x000000, 0x20000, CRC(50178e40) SHA1(fb01aecfbe4e90adc997de0d45a63c16ef353b37) )
+ ROM_LOAD16_WORD_SWAP( "epr-16752.8", 0x020000, 0x20000, CRC(6541c48f) SHA1(9341eff160e31a8574b9545fafc1c4059323fa0c) )
ROM_RELOAD(0x80000, 0x20000)
ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
- ROM_LOAD("mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
+ ROM_LOAD( "mpr-16753.32", 0x000000, 0x200000, CRC(324a8333) SHA1(960342e08db637c6f72615d49cffd9fb0889620b) )
+ ROM_LOAD( "mpr-16754.33", 0x200000, 0x200000, CRC(144f3cf5) SHA1(d2f8cc9086affbbc5ef2195272200230f724e5d1) )
ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) /* Samples */
- ROM_LOAD("mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
- ROM_LOAD("mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
+ ROM_LOAD( "mpr-16755.4", 0x000000, 0x200000, CRC(4baaf878) SHA1(661d4ea9be6a4952852d0ef94becee7ed42bf4a1) )
+ ROM_LOAD( "mpr-16756.5", 0x200000, 0x200000, CRC(d9c40672) SHA1(83e6f1156b30888d3a00103f079dc74f4fca8446) )
ROM_REGION32_LE( 0x1000000, "polygons", 0 ) /* TGP model roms */
ROM_LOAD32_WORD( "mpr-16743.26", 0x000000, 0x200000, CRC(a710d33c) SHA1(1d0184545b34789ed511caaa25d57db3cd9a8e2f) )
@@ -1660,8 +1660,8 @@ ROM_START( wingwar360 )
// Dumper's note: Video & Drive is the control board in the attendants' tower, same hardware as G-Loc R360 with the two program roms being the only difference.
ROM_REGION( 0x400000, "controlboard", 0 )
- ROM_LOAD("ic22_18851.bin", 0x00000, 0x20000, CRC(85f75bd7) SHA1(43cc8f8c81631d71b661e55e15f3fe8803a8a7e9) )
- ROM_LOAD("ic67_18850.bin", 0x20000, 0x08000, CRC(45a3e9fc) SHA1(bf2d1a7acc35b72a62551bfbb55e5058d6fd6d5c) )
+ ROM_LOAD( "epr-18851.ic22", 0x00000, 0x20000, CRC(85f75bd7) SHA1(43cc8f8c81631d71b661e55e15f3fe8803a8a7e9) )
+ ROM_LOAD( "epr-18850.ic67", 0x20000, 0x08000, CRC(45a3e9fc) SHA1(bf2d1a7acc35b72a62551bfbb55e5058d6fd6d5c) )
ROM_END
ROM_START( netmerc )
@@ -1679,7 +1679,7 @@ ROM_START( netmerc )
ROM_LOAD16_BYTE( "epr-18127.ic11", 0x1200001, 0x80000, CRC(d307a4ca) SHA1(5555235f740c1b09f6e1587d0fceb35b23d4a8a8) )
ROM_REGION32_LE( 0x2000, "tgp_copro", 0)
- ROM_LOAD("315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
+ ROM_LOAD( "315-5711.bin", 0, 0x2000, CRC(c5ddb8fc) SHA1(9e21d3a07ffa315e0139483b664e3fa283ef4e06) BAD_DUMP )
ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT ) /* 68K code */
ROM_LOAD16_WORD_SWAP( "epr-18121.ic7", 0x00000, 0x80000, CRC(113285b5) SHA1(5d060cee41e8d6a4a918f890c2d169d87dbcad79) )
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index 9347f678a2e..e6828d5a31f 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -101,7 +101,7 @@
#include "machine/315_5649.h"
#include "machine/model1io.h"
#include "machine/model1io2.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "video/segaic24.h"
#include "speaker.h"
diff --git a/src/mame/drivers/momoko.cpp b/src/mame/drivers/momoko.cpp
index 956a1bffcf8..6cc102d0f7f 100644
--- a/src/mame/drivers/momoko.cpp
+++ b/src/mame/drivers/momoko.cpp
@@ -51,7 +51,7 @@ Stephh's notes (based on the game Z80 code and some tests) :
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index 0b2ba53e513..db8d89c01b6 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -123,7 +123,7 @@ Bucky:
#include "machine/eepromser.h"
#include "sound/k054539.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#define MOO_DEBUG 0
diff --git a/src/mame/drivers/mosaic.cpp b/src/mame/drivers/mosaic.cpp
index 800b0b0c354..c3ed3a9b75e 100644
--- a/src/mame/drivers/mosaic.cpp
+++ b/src/mame/drivers/mosaic.cpp
@@ -46,7 +46,7 @@ NOTE: PIC16C5x protection chip at 5A (UC02 as silkscreened on PCB)
#include "cpu/pic16c5x/pic16c5x.h"
#include "cpu/z180/z180.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp
index 1b1921e5139..47e7473be62 100644
--- a/src/mame/drivers/mpu4vid.cpp
+++ b/src/mame/drivers/mpu4vid.cpp
@@ -192,7 +192,7 @@ TODO:
#include "sound/okim6376.h"
#include "sound/saa1099.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/ef9369.h"
#include "video/scn2674.h"
diff --git a/src/mame/drivers/mugsmash.cpp b/src/mame/drivers/mugsmash.cpp
index aada15122c6..d5390742256 100644
--- a/src/mame/drivers/mugsmash.cpp
+++ b/src/mame/drivers/mugsmash.cpp
@@ -47,7 +47,7 @@ behavior we use .
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/multi8.cpp b/src/mame/drivers/multi8.cpp
index 576571d4da5..9db426d4f28 100644
--- a/src/mame/drivers/multi8.cpp
+++ b/src/mame/drivers/multi8.cpp
@@ -26,7 +26,7 @@
#include "machine/upd765.h"
#include "imagedev/cassette.h"
#include "sound/beep.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/mc6845.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp
index ff21ab1f1de..0f3eac01299 100644
--- a/src/mame/drivers/namcos1.cpp
+++ b/src/mame/drivers/namcos1.cpp
@@ -10,18 +10,18 @@ Blazer (c) 1987 Namco
Quester (c) 1987 Namco
Pac-Mania (c) 1987 Namco
Galaga '88 (c) 1987 Namco
-World Stadium (c) 1988 Namco
-Beraboh Man (c) 1988 Namco
+Pro Yakyuu World Stadium (c) 1988 Namco
+Chou Zetsurinjin Berabowman (c) 1988 Namco
Alice In Wonderland / Marchen Maze (c) 1988 Namco
Bakutotsu Kijuutei (c) 1988 Namco
-World Court (c) 1988 Namco
+Pro Tennis World Court (c) 1988 Namco
Splatter House (c) 1988 Namco
Face Off (c) 1988 Namco
Rompers (c) 1989 Namco
Blast Off (c) 1989 Namco
-World Stadium '89 (c) 1989 Namco
+Pro Yakyuu World Stadium '89 (c) 1989 Namco
Dangerous Seed (c) 1989 Namco
-World Stadium '90 (c) 1990 Namco
+Pro Yakyuu World Stadium '90 (c) 1990 Namco
Pistol Daimyo no Bouken (c) 1990 Namco
Boxy Boy / Souko Ban Deluxe (c) 1990 Namco
Puzzle Club (c) 1990 Namco (prototype)
@@ -311,19 +311,20 @@ Date Name Key Screen
11/87 Pac-Mania (Japanese version) 151 V
12/87 Galaga '88 153 V-FLIP
12/87 Galaga '88 (Japanese version) 153 V
- 3/88 World Stadium 154 H
- 5/88 Beraboh Man B H
-??/88 Beraboh Man (standard NS1 hardware) NONE H
+ 3/88 Pro Yakyuu World Stadium 154 H
+ 5/88 Chou Zetsurinjin Berabowman B H
+??/88 Chou Zetsurinjin Berabowman NONE H
+ (standard NS1 hardware)
7/88 Marchen Maze / Alice In Wonderland 152 H
8/88 Bakutotsu Kijuutei / Baraduke 2 155 H
-10/88 World Court 143 H
+10/88 Pro Tennis World Court 143 H
11/88 Splatter House 181 H
12/88 Face Off C H
2/89 Rompers 182 V
3/89 Blast Off 183 V
- 7/89 World Stadium '89 184 H
+ 7/89 Pro Yakyuu World Stadium '89 184 H
12/89 Dangerous Seed 308 V
- 7/90 World Stadium '90 310 H
+ 7/90 Pro Yakyuu World Stadium '90 310 H
10/90 Pistol Daimyo no Bouken 309 H-FLIP
11/90 Souko Ban Deluxe 311 H-FLIP
??/90 Puzzle Club (prototype) ? V
@@ -339,7 +340,7 @@ C - uses sub board with support for player 3 and 4 controls
#include "includes/namcos1.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
@@ -691,6 +692,9 @@ static INPUT_PORTS_START( berabohm )
PORT_DIPNAME( 0x04, 0x04, "Invulnerability" ) PORT_DIPLOCATION("SW:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW:4")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("SW:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1737,7 +1741,7 @@ ROM_START( galaga88a )
ROM_LOAD( "g8_obj-5.bin", 0xa0000, 0x20000, CRC(b0645169) SHA1(e55dc9bd532b6bd821b7bf6994c35175600c317c) ) // 12-11-87
ROM_END
-/* World Stadium */
+/* Pro Yakyuu World Stadium */
ROM_START( ws )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "ws1_snd0.bin", 0x00000, 0x10000, CRC(45a87810) SHA1(b6537500cc6e862d97074f636248446d6fae5d07) )
@@ -1778,7 +1782,7 @@ ROM_START( ws )
ROM_LOAD_HS( "ws1_obj3.bin", 0x60000, 0x10000, CRC(f2ed5309) SHA1(b7d9c0a617660ecceaf7db3fd53bc0377ed1b6c1) )
ROM_END
-/* Beraboh Man (revision C) */
+/* Chou Zetsurinjin Berabowman (revision C) */
ROM_START( berabohm )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "bm1_s0.bin", 0x00000, 0x10000, CRC(d5d53cb1) SHA1(af5db529550382dab61197eb46e02110efc4c21b) )
@@ -1823,7 +1827,7 @@ ROM_START( berabohm )
ROM_LOAD( "bm_obj-7.bin", 0xe0000, 0x20000, CRC(377c81ed) SHA1(85f4682c6079863793f5575d261a33309c221ba7) )
ROM_END
-/* Beraboh Man (revision B) */
+/* Chou Zetsurinjin Berabowman (revision B) */
ROM_START( berabohmb )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "bm1_s0.bin", 0x00000, 0x10000, CRC(d5d53cb1) SHA1(af5db529550382dab61197eb46e02110efc4c21b) )
@@ -1999,7 +2003,7 @@ ROM_START( bakutotu )
ROM_LOAD( "bk_obj-7.bin", 0xe0000, 0x20000, CRC(809aa0e6) SHA1(d5dbc04037001a0808e79da742f7c4a8f5d3bc2f) )
ROM_END
-/* World Court */
+/* Pro Tennis World Court */
ROM_START( wldcourt )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "wc1_snd0.bin", 0x00000, 0x10000, CRC(17a6505d) SHA1(773636173947a656c3b5a21049c28eedc40e4654) )
@@ -2461,7 +2465,7 @@ ROM_START( blastoff )
ROM_LOAD( "bo1_obj4.bin", 0x80000, 0x20000, CRC(c2c1b9cb) SHA1(754bf6136f4b1b4958474072dca5c6dbf54517bd) )
ROM_END
-/* World Stadium '89 */
+/* Pro Yakyuu World Stadium '89 */
ROM_START( ws89 )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "w91_snd0.bin", 0x00000, 0x10000, CRC(52b84d5a) SHA1(efe7921a565faa42793d581868aa3fa634d81103) )
@@ -2541,7 +2545,7 @@ ROM_START( dangseed )
ROM_LOAD( "dr_obj-2.bin", 0x40000, 0x20000, CRC(7e3a78c0) SHA1(d0026f70c05ef84dd9fc0588869ad7920949624a) )
ROM_END
-/* World Stadium '90 */
+/* Pro Yakyuu World Stadium '90 */
ROM_START( ws90 )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "w91_snd0.bin", 0x00000, 0x10000, CRC(52b84d5a) SHA1(efe7921a565faa42793d581868aa3fa634d81103) )
@@ -2897,13 +2901,13 @@ GAME( 1987, pacmaniaj, pacmania, ns1, pacmania, namcos1_state, init_pacmania
GAME( 1987, galaga88, 0, ns1, galaga88, namcos1_state, init_galaga88, ROT270, "Namco", "Galaga '88", MACHINE_SUPPORTS_SAVE )
GAME( 1987, galaga88a, galaga88, ns1, galaga88, namcos1_state, init_galaga88, ROT90, "Namco", "Galaga '88 (02-03-88)", MACHINE_SUPPORTS_SAVE )
GAME( 1987, galaga88j, galaga88, ns1, galaga88, namcos1_state, init_galaga88, ROT90, "Namco", "Galaga '88 (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, ws, 0, ns1, ns1, namcos1_state, init_ws, ROT180, "Namco", "World Stadium (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, berabohm, 0, ns1, berabohm, namcos1_state, init_berabohm, ROT180, "Namco", "Beraboh Man (Japan, Rev C)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, berabohmb, berabohm, ns1, berabohm, namcos1_state, init_berabohm, ROT180, "Namco", "Beraboh Man (Japan, Rev B)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, ws, 0, ns1, ns1, namcos1_state, init_ws, ROT180, "Namco", "Pro Yakyuu World Stadium (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, berabohm, 0, ns1, berabohm, namcos1_state, init_berabohm, ROT180, "Namco", "Chou Zetsurinjin Berabowman (Japan, Rev C)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, berabohmb, berabohm, ns1, berabohm, namcos1_state, init_berabohm, ROT180, "Namco", "Chou Zetsurinjin Berabowman (Japan, Rev B)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, mmaze, 0, ns1, mmaze, namcos1_state, init_alice, ROT180, "Namco", "Marchen Maze (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, mmaze2, mmaze, ns1, mmaze, namcos1_state, init_alice, ROT180, "Namco", "Marchen Maze (Japan, hack?)", MACHINE_SUPPORTS_SAVE ) // removed copyright screen, hacked for export? But still has and requires MCU
GAME( 1988, bakutotu, 0, ns1, bakutotu, namcos1_state, init_bakutotu, ROT180, "Namco", "Bakutotsu Kijuutei", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, wldcourt, 0, ns1, wldcourt, namcos1_state, init_wldcourt, ROT180, "Namco", "World Court (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, wldcourt, 0, ns1, wldcourt, namcos1_state, init_wldcourt, ROT180, "Namco", "Pro Tennis World Court (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, splatter, 0, ns1, splatter3,namcos1_state, init_splatter, ROT180, "Namco", "Splatter House (World, new version (SH3))", MACHINE_SUPPORTS_SAVE )
GAME( 1988, splatter2, splatter, ns1, splatter, namcos1_state, init_splatter, ROT180, "Namco", "Splatter House (World, old version (SH2))", MACHINE_SUPPORTS_SAVE )
GAME( 1988, splatterj, splatter, ns1, splatter, namcos1_state, init_splatter, ROT180, "Namco", "Splatter House (Japan, SH1)", MACHINE_SUPPORTS_SAVE )
@@ -2911,9 +2915,9 @@ GAME( 1988, faceoff, 0, ns1, faceoff, namcos1_state, init_faceoff,
GAME( 1989, rompers, 0, ns1, ns1, namcos1_state, init_rompers, ROT90, "Namco", "Rompers (Japan, new version (Rev B))", MACHINE_SUPPORTS_SAVE )
GAME( 1989, romperso, rompers, ns1, ns1, namcos1_state, init_rompers, ROT90, "Namco", "Rompers (Japan, old version)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, blastoff, 0, ns1, ns1, namcos1_state, init_blastoff, ROT90, "Namco", "Blast Off (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, ws89, ws, ns1, ws89, namcos1_state, init_ws89, ROT180, "Namco", "World Stadium '89 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, ws89, ws, ns1, ws89, namcos1_state, init_ws89, ROT180, "Namco", "Pro Yakyuu World Stadium '89 (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, dangseed, 0, ns1, dangseed, namcos1_state, init_dangseed, ROT90, "Namco", "Dangerous Seed (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, ws90, ws, ns1, ws90, namcos1_state, init_ws90, ROT180, "Namco", "World Stadium '90 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, ws90, ws, ns1, ws90, namcos1_state, init_ws90, ROT180, "Namco", "Pro Yakyuu World Stadium '90 (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, pistoldm, 0, ns1, ns1, namcos1_state, init_pistoldm, ROT0, "Namco", "Pistol Daimyo no Bouken (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, boxyboy, 0, ns1, boxyboy, namcos1_state, init_soukobdx, ROT0, "Namco", "Boxy Boy (World, SB2)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, boxyboya, boxyboy, ns1, boxyboy, namcos1_state, init_soukobdx, ROT0, "Namco", "Boxy Boy (SB?)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index 7b1f209f322..e1472c894e8 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -27,9 +27,6 @@ known issues:
Finest Hour:
- roz plane colors are bad in-game
- Final Lap:
- - sprite size bit is bogus during splash screen
-
Final Lap 3:
- uses unaligned 32x32 sprites, which aren't handled correctly in video/namcos2.cpp yet
@@ -547,7 +544,7 @@ C102 - Controls CPU access to ROZ Memory Area.
#include "cpu/m6805/m6805.h"
#include "cpu/m6809/m6809.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "finallap.lh"
@@ -1791,6 +1788,7 @@ void namcos2_state::configure_c45road_standard(machine_config &config)
{
NAMCO_C45_ROAD(config, m_c45_road);
m_c45_road->set_palette(m_c116);
+ m_c45_road->set_xoffset(-72);
}
void namcos2_state::configure_namcos2_sprite_standard(machine_config &config)
@@ -1935,12 +1933,22 @@ void namcos2_state::finallap_noio(machine_config &config)
YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */
}
-void namcos2_state::finallap(machine_config &config)
+void namcos2_state::base_fl(machine_config &config)
{
finallap_noio(config);
configure_c65_standard(config);
}
+void namcos2_state::finallap(machine_config &config)
+{
+ base_fl(config);
+
+ NAMCOS2_SPRITE_FINALLAP(config.replace(), m_ns2sprite, 0);
+ m_ns2sprite->set_gfxdecode_tag("gfxdecode");
+ m_ns2sprite->set_spriteram_tag("spriteram");
+}
+
+
void namcos2_state::finallap_c68(machine_config &config)
{
finallap_noio(config);
@@ -1951,7 +1959,7 @@ void namcos2_state::finallap_c68(machine_config &config)
// finalap2 has different mangle
void namcos2_state::finalap2(machine_config &config)
{
- finallap(config);
+ base_fl(config);
m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namcos2_state::TilemapCB_finalap2, this));
}
@@ -2084,7 +2092,10 @@ void namcos2_state::metlhawk(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_c116, gfx_metlhawk);
- configure_namcos2_sprite_standard(config);
+ NAMCOS2_SPRITE_METALHAWK(config, m_ns2sprite, 0);
+ m_ns2sprite->set_gfxdecode_tag("gfxdecode");
+ m_ns2sprite->set_spriteram_tag("spriteram");
+
configure_c123tmap_standard(config);
configure_c169roz_standard(config);
m_c169roz->set_tile_callback(namco_c169roz_device::c169_tilemap_delegate(&namcos2_state::RozCB_metlhawk, this));
@@ -2698,12 +2709,11 @@ ROM_START( finallap )
ROM_REGION( 0x8000, "c65mcu:external", ROMREGION_ERASE00 ) /* I/O MCU */
/* no external MCU ROM? previously loaded type C, but the game predates it */
- ROM_REGION( 0x400000, "sprite", 0 ) /* Sprites */
- ROM_FILL( 0, 0x200000, 0xff )
- ROM_LOAD32_BYTE( "obj-0b", 0x200003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
- ROM_LOAD32_BYTE( "obj-1b", 0x200002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
- ROM_LOAD32_BYTE( "obj-2b", 0x200001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
- ROM_LOAD32_BYTE( "obj-3b", 0x200000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
+ ROM_REGION( 0x200000, "sprite", 0 ) /* Sprites */
+ ROM_LOAD32_BYTE( "obj-0b", 0x000003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
+ ROM_LOAD32_BYTE( "obj-1b", 0x000002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
+ ROM_LOAD32_BYTE( "obj-2b", 0x000001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
+ ROM_LOAD32_BYTE( "obj-3b", 0x000000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
ROM_REGION( 0x400000, "c123tmap", 0 ) /* Tiles */
NAMCOS2_GFXROM_LOAD_128K( "fl1-c0", 0x000000, CRC(cd9d2966) SHA1(39671f846542ba6ae47764674509127cf73e3d71) )
@@ -2744,12 +2754,11 @@ ROM_START( finallapd )
ROM_REGION( 0x8000, "c65mcu:external", ROMREGION_ERASE00 ) /* I/O MCU */
/* no external MCU ROM? previously loaded type C, but the game predates it */
- ROM_REGION( 0x400000, "sprite", 0 ) /* Sprites */
- ROM_FILL( 0, 0x200000, 0xff )
- ROM_LOAD32_BYTE( "obj-0b", 0x200003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
- ROM_LOAD32_BYTE( "obj-1b", 0x200002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
- ROM_LOAD32_BYTE( "obj-2b", 0x200001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
- ROM_LOAD32_BYTE( "obj-3b", 0x200000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
+ ROM_REGION( 0x200000, "sprite", 0 ) /* Sprites */
+ ROM_LOAD32_BYTE( "obj-0b", 0x000003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
+ ROM_LOAD32_BYTE( "obj-1b", 0x000002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
+ ROM_LOAD32_BYTE( "obj-2b", 0x000001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
+ ROM_LOAD32_BYTE( "obj-3b", 0x000000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
ROM_REGION( 0x400000, "c123tmap", 0 ) /* Tiles */
NAMCOS2_GFXROM_LOAD_128K( "fl1-c0", 0x000000, CRC(cd9d2966) SHA1(39671f846542ba6ae47764674509127cf73e3d71) )
@@ -2790,12 +2799,11 @@ ROM_START( finallapc )
ROM_REGION( 0x8000, "c65mcu:external", ROMREGION_ERASE00 ) /* I/O MCU */
/* no external MCU ROM? previously loaded type C, but the game predates it */
- ROM_REGION( 0x400000, "sprite", 0 ) /* Sprites */
- ROM_FILL( 0, 0x200000, 0xff )
- ROM_LOAD32_BYTE( "obj-0b", 0x200003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
- ROM_LOAD32_BYTE( "obj-1b", 0x200002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
- ROM_LOAD32_BYTE( "obj-2b", 0x200001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
- ROM_LOAD32_BYTE( "obj-3b", 0x200000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
+ ROM_REGION( 0x200000, "sprite", 0 ) /* Sprites */
+ ROM_LOAD32_BYTE( "obj-0b", 0x000003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
+ ROM_LOAD32_BYTE( "obj-1b", 0x000002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
+ ROM_LOAD32_BYTE( "obj-2b", 0x000001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
+ ROM_LOAD32_BYTE( "obj-3b", 0x000000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
ROM_REGION( 0x400000, "c123tmap", 0 ) /* Tiles */
NAMCOS2_GFXROM_LOAD_128K( "fl1-c0", 0x000000, CRC(cd9d2966) SHA1(39671f846542ba6ae47764674509127cf73e3d71) )
@@ -2836,12 +2844,11 @@ ROM_START( finallapjc )
ROM_REGION( 0x8000, "c65mcu:external", ROMREGION_ERASE00 ) /* I/O MCU */
/* no external MCU ROM? previously loaded type C, but the game predates it */
- ROM_REGION( 0x400000, "sprite", 0 ) /* Sprites */
- ROM_FILL( 0, 0x200000, 0xff )
- ROM_LOAD32_BYTE( "obj-0b", 0x200003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
- ROM_LOAD32_BYTE( "obj-1b", 0x200002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
- ROM_LOAD32_BYTE( "obj-2b", 0x200001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
- ROM_LOAD32_BYTE( "obj-3b", 0x200000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
+ ROM_REGION( 0x200000, "sprite", 0 ) /* Sprites */
+ ROM_LOAD32_BYTE( "obj-0b", 0x000003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
+ ROM_LOAD32_BYTE( "obj-1b", 0x000002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
+ ROM_LOAD32_BYTE( "obj-2b", 0x000001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
+ ROM_LOAD32_BYTE( "obj-3b", 0x000000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
ROM_REGION( 0x400000, "c123tmap", 0 ) /* Tiles */
NAMCOS2_GFXROM_LOAD_128K( "fl1-c0", 0x000000, CRC(cd9d2966) SHA1(39671f846542ba6ae47764674509127cf73e3d71) )
@@ -2882,12 +2889,11 @@ ROM_START( finallapjb )
ROM_REGION( 0x8000, "c65mcu:external", ROMREGION_ERASE00 ) /* I/O MCU */
/* no external MCU ROM? previously loaded type C, but the game predates it */
- ROM_REGION( 0x400000, "sprite", 0 ) /* Sprites */
- ROM_FILL( 0, 0x200000, 0xff )
- ROM_LOAD32_BYTE( "obj-0b", 0x200003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
- ROM_LOAD32_BYTE( "obj-1b", 0x200002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
- ROM_LOAD32_BYTE( "obj-2b", 0x200001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
- ROM_LOAD32_BYTE( "obj-3b", 0x200000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
+ ROM_REGION( 0x200000, "sprite", 0 ) /* Sprites */
+ ROM_LOAD32_BYTE( "obj-0b", 0x000003, 0x80000, CRC(c6986523) SHA1(1a4b0e95ade6314850b6e44f2debda0ab6e91397) )
+ ROM_LOAD32_BYTE( "obj-1b", 0x000002, 0x80000, CRC(6af7d284) SHA1(c74f975c301ff15040be1b38359624ec9c83ac76) )
+ ROM_LOAD32_BYTE( "obj-2b", 0x000001, 0x80000, CRC(de45ca8d) SHA1(f476ff1719f60d721d55fd1e40e465f48e7ed019) )
+ ROM_LOAD32_BYTE( "obj-3b", 0x000000, 0x80000, CRC(dba830a2) SHA1(5bd899b39458978dd419bf01082782a02b2d9c20) )
ROM_REGION( 0x400000, "c123tmap", 0 ) /* Tiles */
NAMCOS2_GFXROM_LOAD_128K( "fl1-c0", 0x000000, CRC(cd9d2966) SHA1(39671f846542ba6ae47764674509127cf73e3d71) )
@@ -5683,12 +5689,12 @@ void namcos2_state::init_luckywld()
/* from sys2c65b to sys2c65c sometime between 1988 and 1990 as mirai ninja */
/* and metal hawk have the B version and dragon saber has the C version */
-/* YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY, FULLNAME */
-GAMEL( 1987, finallap, 0, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev E)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1987, finallapd, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev D)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1987, finallapc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1987, finallapjc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1987, finallapjb, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+/* YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY, FULLNAME */
+GAMEL( 1987, finallap, 0, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev E)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1987, finallapd, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev D)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1987, finallapc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1987, finallapjc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1987, finallapjb, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
GAME( 1988, assault, 0, base2, assault, namcos2_state, init_assault, ROT90, "Namco", "Assault (Rev B)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, assaultj, assault, base2, assault, namcos2_state, init_assaultj, ROT90, "Namco", "Assault (Japan)", MACHINE_SUPPORTS_SAVE )
@@ -5708,9 +5714,9 @@ GAME( 1988, pheliosj, phelios, base2, base, namcos2_state, init_pheli
GAME( 1989, dirtfoxj, 0, base2, dirtfox, namcos2_state, init_dirtfoxj, ROT90, "Namco", "Dirt Fox (Japan)", MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
-GAMEL( 1989, fourtrax, 0, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1989, fourtraxj, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1989, fourtraxa, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco (Atari license?)", "Four Trax (US?, censored banners)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap ) // boards using the ROM code FX4 were produced for Atari? there's no US region warning or Atari copyright tho, modded version of the World code
+GAMEL( 1989, fourtrax, 0, base_fl, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1989, fourtraxj, fourtrax, base_fl, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1989, fourtraxa, fourtrax, base_fl, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco (Atari license?)", "Four Trax (US?, censored banners)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap ) // boards using the ROM code FX4 were produced for Atari? there's no US region warning or Atari copyright tho, modded version of the World code
GAME( 1989, valkyrie, 0, base3, base, namcos2_state, init_valkyrie, ROT90, "Namco", "Valkyrie no Densetsu (Japan)", MACHINE_SUPPORTS_SAVE )
@@ -5729,8 +5735,8 @@ GAME( 1990, dsaber, 0, base3, base, namcos2_state, init_dsabe
GAME( 1990, dsabera, dsaber, base3, base, namcos2_state, init_dsaber, ROT90, "Namco", "Dragon Saber (World, older?)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, dsaberj, dsaber, base3, base, namcos2_state, init_dsaberj, ROT90, "Namco", "Dragon Saber (Japan, Rev B)", MACHINE_SUPPORTS_SAVE )
-GAMEL( 1990, finalap2, 0, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1990, finalap2j, finalap2, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1990, finalap2, 0, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1990, finalap2j, finalap2, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
GAME( 1990, gollygho, 0, gollygho, gollygho, namcos2_state, init_gollygho, ROT180, "Namco", "Golly! Ghost!", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
@@ -5751,24 +5757,24 @@ GAME( 1991, cosmogngj, cosmogng, base, base, namcos2_state, init_cosmo
GAME( 1992, bubbletr, 0, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (World, Rev B)", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
GAME( 1992, bubbletrj, bubbletr, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (Japan, Rev C)", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
-GAMEL( 1992, finalap3, 0, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1992, finalap3a, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1992, finalap3j, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1992, finalap3jc, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
-GAMEL( 1992, finalap3bl, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1992, finalap3, 0, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1992, finalap3a, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1992, finalap3j, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1992, finalap3jc, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
+GAMEL( 1992, finalap3bl, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
GAME( 1992, luckywld, 0, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild", MACHINE_SUPPORTS_SAVE )
GAME( 1992, luckywldj, luckywld, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, suzuka8h, 0, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
-GAME( 1992, suzuka8hj, suzuka8h, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
+GAME( 1992, suzuka8h, 0, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
+GAME( 1992, suzuka8hj, suzuka8h, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
GAME( 1992, sws, 0, base_c68, base, namcos2_state, init_sws, ROT0, "Namco", "Super World Stadium (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sws92, 0, base_c68, base, namcos2_state, init_sws92, ROT0, "Namco", "Super World Stadium '92 (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sws92g, sws92, base_c68, base, namcos2_state, init_sws92g, ROT0, "Namco", "Super World Stadium '92 Gekitouban (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, suzuk8h2, 0, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
-GAME( 1993, suzuk8h2j, suzuk8h2, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
+GAME( 1993, suzuk8h2, 0, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
+GAME( 1993, suzuk8h2j, suzuk8h2, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
GAME( 1993, sws93, 0, base_c68, base, namcos2_state, init_sws93, ROT0, "Namco", "Super World Stadium '93 (Japan)", MACHINE_SUPPORTS_SAVE ) // this appears to have a subtitle, what is it?
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index 1930e66cffb..77481edf007 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -295,7 +295,7 @@ Filter Board
#include "machine/namco_c148.h"
#include "video/namcos21_3d.h"
#include "sound/c140.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
namespace {
diff --git a/src/mame/drivers/namcos21_c67.cpp b/src/mame/drivers/namcos21_c67.cpp
index 24e0b88e459..cdc9f210738 100644
--- a/src/mame/drivers/namcos21_c67.cpp
+++ b/src/mame/drivers/namcos21_c67.cpp
@@ -268,7 +268,7 @@ Namco System 21 Video Hardware
#include "video/namco_c355spr.h"
#include "video/namcos21_3d.h"
#include "sound/c140.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#define ENABLE_LOGGING 0
diff --git a/src/mame/drivers/namcos21_de.cpp b/src/mame/drivers/namcos21_de.cpp
index d6cf7c0d379..08d7e3973d0 100644
--- a/src/mame/drivers/namcos21_de.cpp
+++ b/src/mame/drivers/namcos21_de.cpp
@@ -45,7 +45,7 @@ Driver's Eyes works,
#include "video/namco_c355spr.h"
#include "video/namcos21_3d.h"
#include "sound/c140.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index d96ba5f0483..ec1aa640991 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -2888,10 +2888,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos22s_state::propcycl_pedal_update)
if (pedal != 0)
{
- // the pedal has a simple 1-bit "light interrupted" sensor. the faster you pedal,
- // the faster it pulses. this is connected to the clock input for timer A3,
+ // The pedal has a simple 1-bit "light interrupted" sensor. The faster you pedal,
+ // the faster it pulses. This is connected to the clock input for timer A3,
// and timer A3 is configured by the MCU program to cause an interrupt each time
- // it's clocked. by counting the number of interrupts in a frame, we can determine
+ // it's clocked. By counting the number of interrupts in a frame, it can determine
// how fast the user is pedaling.
// these values(in usec) may need tweaking:
diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp
index 0443866311e..6deb1d0c3a0 100644
--- a/src/mame/drivers/namcos86.cpp
+++ b/src/mame/drivers/namcos86.cpp
@@ -178,7 +178,7 @@ TODO:
#include "includes/namcos86.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp
index fde9adf3cca..56031ccb4b5 100644
--- a/src/mame/drivers/naomi.cpp
+++ b/src/mame/drivers/naomi.cpp
@@ -731,6 +731,7 @@ Mushiking The King Of Beetles 2006 Second (Japan) 840-0171C not present 2
Pokasuka Ghost! 840-0170C not present 5 (512Mb) present 317-0461-COM present requires 837-14672 sensor board (SH4 based)
Radirgy Noa 841-0062C not present 4 (512Mb) present 317-5138-JPN present IC2# is labeled "VER.2" - IC4# is marked "8A"
Rhythm Tengoku 841-0177C not present 4 (512Mb) present 317-0503-JPN present IC2# is labeled "VER.2" - IC4# is marked "8A"
+Driving Simulator 841-0178C not present 8 (512Mb) present 317-0502-JPN present IC2# is labeled "VER.2" - IC4# is marked "8A", require 3 comm.bd. linked Naomi 2
Star Horse Progress Returns (main screen left) 840-0183C 24480 4 (512Mb) present not present present IC2# is labeled "VER.2", requires 837-13785 ARCNET&IO BD
Star Horse Progress Returns (main screen right) 840-0184C not present 2 (512Mb) present not present present IC2# is labeled "VER.2", requires 837-13785 ARCNET&IO BD
Star Horse Progress Returns (live and voice) 840-0185C not present 4 (512Mb) present not present present IC2# is labeled "VER.2", requires 837-13785 ARCNET&IO BD
@@ -3204,6 +3205,18 @@ void naomi2_state::naomi2m2(machine_config &config)
}
/*
+ * Naomi 2, M4 sub-board
+ */
+
+void naomi2_state::naomi2m4(machine_config &config)
+{
+ naomim4(config);
+ naomi2_base(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &naomi2_state::naomi2_map);
+}
+
+/*
* Atomiswave
*/
@@ -10339,6 +10352,26 @@ ROM_START( clubk2kpa )
ROM_PARAMETER( ":rom_board:segam2crypt:key", "-1") // 315-5881 populated, not used
ROM_END
+ROM_START( sgdrvsim )
+ NAOMI2_BIOS
+ NAOMI_DEFAULT_EEPROM
+
+ ROM_REGION( 0x20000000, "rom_board", ROMREGION_ERASEFF)
+ ROM_LOAD( "ic8.bin", 0x00000000, 0x4000000, CRC(3ef5e62f) SHA1(34385c21152881942be3f66cfeba6cb9d94343bc) )
+ ROM_LOAD( "ic9.bin", 0x04000000, 0x4000000, CRC(4edf67df) SHA1(bb5bca9bb0d13d47fd33790f28cdd0839e62b422) )
+ ROM_LOAD( "ic10.bin", 0x08000000, 0x4000000, CRC(a3b0f436) SHA1(4a8153bbb5c7314d33b65b6c724543afd4e6df15) )
+ ROM_LOAD( "ic11.bin", 0x0c000000, 0x4000000, CRC(200ad72c) SHA1(e3b30853f6368a0501f4b7c6fcd442cb4d7d9d24) )
+ ROM_LOAD( "ic12.bin", 0x10000000, 0x4000000, CRC(90d192a4) SHA1(43aae3d60c4b562f4f2ec50d6e9364eb2bad4ad4) )
+ ROM_LOAD( "ic13.bin", 0x14000000, 0x4000000, CRC(eed33acc) SHA1(d2bccd58efd4ef29883d90806ebaebd6ac89de3b) )
+ ROM_LOAD( "ic14.bin", 0x18000000, 0x4000000, CRC(349267e9) SHA1(333cd48238ad321023b587ffa8d5f1f926ce8780) )
+ ROM_LOAD( "ic15.bin", 0x1c000000, 0x4000000, CRC(acc0c039) SHA1(8f02dd8599adb0d6435e031b5dd146ed0db4d558) )
+
+ ROM_REGION( 0x800, "pic_readout", 0 )
+ ROM_LOAD( "317-0502-jpn.ic3", 0, 0x800, CRC(528ad9e7) SHA1(35795c663c4cd43142ad8196f604b4c67a0c16f4) )
+
+ ROM_PARAMETER( ":rom_board:id", "5508" )
+ROM_END
+
/**********************************************
*
@@ -11701,6 +11734,7 @@ ROM_END
/* 0103 */ GAME( 2002, shors2k2s, naomi, naomim2, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse 2002 (sound and backup, Rev A)", GAME_FLAGS )
/* 0104 */ GAME( 2002, shors2k2l, naomi, naomim2, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse 2002 (live)", GAME_FLAGS )
/* 0112 */ GAME( 2002, shors2k2, naomi, naomim1, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse 2002 (sound, Export/Taiwan)", GAME_FLAGS )
+// 0117 それいけ!アンパンマン ポップコーンこうじょう2 / Soreike! Anpanman Popcorn Kojo 2
/* 0120 */ GAME( 2003, shorsepm, shorsep, naomim2, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse Progress (main screens, Rev B)", GAME_FLAGS )
/* 0121 */ GAME( 2003, shorseps, shorsep, naomim2, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse Progress (sound & backup, Rev A)", GAME_FLAGS )
/* 0122 */ GAME( 2003, shorsepl, shorsep, naomim2, naomi, naomi_state, init_naomi, ROT0, "Sega", "Star Horse Progress (live, Rev A)", GAME_FLAGS )
@@ -11765,6 +11799,7 @@ ROM_END
/* 0139 */ GAME( 2003, clubk2k3, naomi2, naomi2m1, naomi, naomi2_state, init_naomi2, ROT0, "Sega", "Club Kart: European Session (2003, Rev A)", GAME_FLAGS )
/* none */ GAME( 2003, clubk2kp, clubk2k3,naomi2m2, naomi, naomi2_state, init_naomi2, ROT0, "Sega", "Club Kart: European Session (2003, prototype, set 1)", GAME_FLAGS )
/* none */ GAME( 2003, clubk2kpa,clubk2k3,naomi2m2, naomi, naomi2_state, init_naomi2, ROT0, "Sega", "Club Kart: European Session (2003, prototype, set 2)", GAME_FLAGS )
+/* 0178 */ GAME( 2007, sgdrvsim, naomi2, naomi2m4, naomi, naomi2_state, init_naomi2, ROT0, "Sega", "Driving Simulator", GAME_FLAGS )
/* 841-xxxxx ("Licensed by Sega" Naomi cart games)*/
/* 0001 */ GAME( 1999, pstone, naomi, naomim2, naomi, naomi_state, init_naomi, ROT0, "Capcom", "Power Stone", GAME_FLAGS )
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index a821e992a2a..59e2d7f54b7 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -37,7 +37,7 @@ TODO:
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index 1c13574e12e..b8b8a81e48b 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -47,7 +47,7 @@ TODO:
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp
index 51da2345fb2..a7d3a39b306 100644
--- a/src/mame/drivers/nbmj8900.cpp
+++ b/src/mame/drivers/nbmj8900.cpp
@@ -30,7 +30,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp
index 1744ebe0742..5963a61fe0c 100644
--- a/src/mame/drivers/nbmj8991.cpp
+++ b/src/mame/drivers/nbmj8991.cpp
@@ -37,7 +37,7 @@ Notes:
#include "machine/nvram.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index 8a75765f544..95babd256e4 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -27,7 +27,7 @@ Notes:
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "sound/dac.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp
index d3317e4a18d..0db0e56a69e 100644
--- a/src/mame/drivers/nemesis.cpp
+++ b/src/mame/drivers/nemesis.cpp
@@ -117,8 +117,8 @@ initials
#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "sound/k051649.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
#include "konamigt.lh"
diff --git a/src/mame/drivers/neoprint.cpp b/src/mame/drivers/neoprint.cpp
index 9b1bdb4461f..5e2444c6ba0 100644
--- a/src/mame/drivers/neoprint.cpp
+++ b/src/mame/drivers/neoprint.cpp
@@ -26,7 +26,7 @@
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/upd1990a.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nes_vt369_vtunknown.cpp b/src/mame/drivers/nes_vt369_vtunknown.cpp
index 1be6d6b7f1a..421691e63fb 100644
--- a/src/mame/drivers/nes_vt369_vtunknown.cpp
+++ b/src/mame/drivers/nes_vt369_vtunknown.cpp
@@ -617,6 +617,11 @@ ROM_START( rtvgc300fz )
ROM_LOAD( "jg7800fz.bin", 0x00000, 0x4000000, CRC(c9d319d2) SHA1(9d0d1435b802f63ce11b94ce54d11f4065b324cc) )
ROM_END
+ROM_START( lxccatv )
+ ROM_REGION( 0x2000000, "mainrom", 0 )
+ ROM_LOAD( "120n1.bin", 0x00000, 0x2000000, CRC(6b9cf537) SHA1(44276c3ef928c76a3ecf404d2e531cd3ce5561af) )
+ROM_END
+
// The maximum address space a VT chip can see is 32MB, so these 64MB roms are actually 2 programs (there are vectors in the first half and the 2nd half)
// there must be a bankswitch bit that switches the whole 32MB space. Loading the 2nd half in Star Wars does actually boot straight to a game.
ROM_START( lxcmcy )
@@ -901,25 +906,26 @@ CONS( 2017, fapocket, 0, 0, nes_vt369_vtunknown_fa_4x16mb, nes_vt369_v
// don't even get to menu. very enhanced chipset, VT368/9?
CONS( 2012, dgun2561, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "dreamGEAR", "My Arcade Portable Gaming System with 140 Games (DGUN-2561)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcy, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmc250, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcysw, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcyfz, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcydp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcysp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcycr, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Cars", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxcmcypj, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - PJ Masks", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 2012, lxccatv, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade TV - 120 in 1 (JL2370)", MACHINE_NOT_WORKING ) // 32MByte ROM, 2011 on case, 2012 on PCB
+CONS( 200?, lxcmcy, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmc250, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcysw, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcyfz, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcydp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcysp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcycr, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Cars", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcypj, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - PJ Masks", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
// the data order is swapped for this one, maybe other internal differences?
-CONS( 200?, lxcmcypp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, init_lxcmcypp, "Lexibook", "Lexibook Compact Cyber Arcade - Paw Patrol", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxcmcypp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Paw Patrol", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxccminn, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Console Colour - Minnie Mouse", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
-CONS( 200?, lxccplan, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Console Colour - Disney's Planes", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxccminn, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Console Colour - Minnie Mouse", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
+CONS( 200?, lxccplan, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Console Colour - Disney's Planes", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
// GB-NO13-Main-VT389-2 on PCBs
-CONS( 2016, rtvgc300, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
-CONS( 2017, rtvgc300fz,0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - Frozen - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 2016, rtvgc300, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
+CONS( 2017, rtvgc300fz,0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Retro TV Game Console - Frozen - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
/* The following are also confirmed to be NES/VT derived units, most having a standard set of games with a handful of lazy graphic mods thrown in to fit the unit theme
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index efe872d221d..23526104d2f 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -30,7 +30,7 @@ TODO:
#include "machine/clock.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/jangou_blitter.h"
#include "video/resnet.h"
#include "emupal.h"
@@ -451,9 +451,9 @@ void nightgal_state::sgaltrop_io(address_map &map)
common_sexygal_io(map);
// not actually a YM2203?
- map(0x01, 0x01).r("ymsnd", FUNC(ym2203_device::read_port_r));
- map(0x02, 0x02).w("ymsnd", FUNC(ym2203_device::write_port_w));
- map(0x03, 0x03).w("ymsnd", FUNC(ym2203_device::control_port_w));
+ map(0x01, 0x01).r("ymsnd", FUNC(ym2203_device::data_r));
+ map(0x02, 0x02).w("ymsnd", FUNC(ym2203_device::data_w));
+ map(0x03, 0x03).w("ymsnd", FUNC(ym2203_device::address_w));
}
void nightgal_state::sexygal_nsc_map(address_map &map)
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index 04e4ae37254..71726f50671 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -156,7 +156,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/mc8123.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ninjaw.cpp b/src/mame/drivers/ninjaw.cpp
index 6110f56d7b3..0928f5e6cd0 100644
--- a/src/mame/drivers/ninjaw.cpp
+++ b/src/mame/drivers/ninjaw.cpp
@@ -321,7 +321,7 @@ rumbling on a subwoofer in the cabinet.)
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/nitedrvr.cpp b/src/mame/drivers/nitedrvr.cpp
index 297c33f45a3..33b75b7376c 100644
--- a/src/mame/drivers/nitedrvr.cpp
+++ b/src/mame/drivers/nitedrvr.cpp
@@ -46,25 +46,25 @@
#include "screen.h"
#include "speaker.h"
-/* Memory Map */
+// Memory Map
-void nitedrvr_state::nitedrvr_map(address_map &map)
+void nitedrvr_state::main_map(address_map &map)
{
map(0x0000, 0x00ff).ram().mirror(0x100); // SCRAM
- map(0x0200, 0x027f).nopr().ram().mirror(0x180).share("videoram"); // PFW
- map(0x0400, 0x042f).nopr().writeonly().mirror(0x1c0).share("hvc"); // POSH, POSV, CHAR
+ map(0x0200, 0x027f).nopr().ram().mirror(0x180).share(m_videoram); // PFW
+ map(0x0400, 0x042f).nopr().writeonly().mirror(0x1c0).share(m_hvc); // POSH, POSV, CHAR
map(0x0430, 0x043f).w("watchdog", FUNC(watchdog_timer_device::reset_w)).mirror(0x1c0);
- map(0x0600, 0x07ff).r(FUNC(nitedrvr_state::nitedrvr_in0_r));
- map(0x0800, 0x09ff).r(FUNC(nitedrvr_state::nitedrvr_in1_r));
- map(0x0a00, 0x0bff).w(FUNC(nitedrvr_state::nitedrvr_out0_w));
- map(0x0c00, 0x0dff).w(FUNC(nitedrvr_state::nitedrvr_out1_w));
- map(0x8000, 0x807f).nopw().ram().mirror(0x380).share("videoram"); // PFR
- map(0x8400, 0x87ff).rw(FUNC(nitedrvr_state::nitedrvr_steering_reset_r), FUNC(nitedrvr_state::nitedrvr_steering_reset_w));
+ map(0x0600, 0x07ff).r(FUNC(nitedrvr_state::in0_r));
+ map(0x0800, 0x09ff).r(FUNC(nitedrvr_state::in1_r));
+ map(0x0a00, 0x0bff).w(FUNC(nitedrvr_state::out0_w));
+ map(0x0c00, 0x0dff).w(FUNC(nitedrvr_state::out1_w));
+ map(0x8000, 0x807f).nopw().ram().mirror(0x380).share(m_videoram); // PFR
+ map(0x8400, 0x87ff).rw(FUNC(nitedrvr_state::steering_reset_r), FUNC(nitedrvr_state::steering_reset_w));
map(0x9000, 0x9fff).rom(); // ROM1-ROM2
map(0xfff0, 0xffff).rom(); // ROM2 for 6502 vectors
}
-/* Input Ports */
+// Input Ports
static INPUT_PORTS_START( nitedrvr )
PORT_START("DSW0") // fake
@@ -119,7 +119,7 @@ static INPUT_PORTS_START( nitedrvr )
PORT_ADJUSTER( 60, "Motor RPM" )
INPUT_PORTS_END
-/* Graphics Layouts */
+// Graphics Layouts
static const gfx_layout charlayout =
{
@@ -132,43 +132,43 @@ static const gfx_layout charlayout =
8*8
};
-/* Graphics Decode Information */
+// Graphics Decode Information
static GFXDECODE_START( gfx_nitedrvr )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
GFXDECODE_END
-/* Machine Driver */
+// Machine Driver
void nitedrvr_state::nitedrvr(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
M6502(config, m_maincpu, 12.096_MHz_XTAL / 12); // 1 MHz
- m_maincpu->set_addrmap(AS_PROGRAM, &nitedrvr_state::nitedrvr_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &nitedrvr_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(nitedrvr_state::irq0_line_hold));
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 3);
- TIMER(config, "crash_timer").configure_periodic(FUNC(nitedrvr_state::nitedrvr_crash_toggle_callback), PERIOD_OF_555_ASTABLE(RES_K(180), 330, CAP_U(1)));
+ TIMER(config, "crash_timer").configure_periodic(FUNC(nitedrvr_state::crash_toggle_callback), PERIOD_OF_555_ASTABLE(RES_K(180), 330, CAP_U(1)));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(12.096_MHz_XTAL / 2, 384, 0, 256, 262, 0, 240);
// PROM derives VRESET, VBLANK, VSYNC, IRQ from vertical scan count and last VBLANK
- screen.set_screen_update(FUNC(nitedrvr_state::screen_update_nitedrvr));
+ screen.set_screen_update(FUNC(nitedrvr_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_nitedrvr);
PALETTE(config, m_palette, palette_device::MONOCHROME);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
DISCRETE(config, m_discrete, nitedrvr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}
-/* ROMs */
+// ROMs
/*
ROM_START( nitedrvo ) // early revision has the program code stored in 8 chips
@@ -197,6 +197,6 @@ ROM_START( nitedrvr )
ROM_LOAD( "006559-01.h7", 0x0000, 0x0100, CRC(5a8d0e42) SHA1(772220c4c24f18769696ddba26db2bc2e5b0909d) ) // PROM, Sync
ROM_END
-/* Game Drivers */
+// Game Drivers
GAME( 1976, nitedrvr, 0, nitedrvr, nitedrvr, nitedrvr_state, empty_init, ROT0, "Atari", "Night Driver", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nmg5.cpp b/src/mame/drivers/nmg5.cpp
index 02d52d46084..c43ecb34c51 100644
--- a/src/mame/drivers/nmg5.cpp
+++ b/src/mame/drivers/nmg5.cpp
@@ -226,7 +226,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/decospr.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index a1ea370b948..352fbb3a699 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -205,9 +205,9 @@ Reference of music tempo:
#include "machine/nmk004.h"
#include "machine/nmk112.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/novag_const.cpp b/src/mame/drivers/novag_const.cpp
index 4c5e12211d2..d9c4de4fbb2 100644
--- a/src/mame/drivers/novag_const.cpp
+++ b/src/mame/drivers/novag_const.cpp
@@ -393,7 +393,7 @@ void const_state::ssensor4(machine_config &config)
config.set_default_layout(layout_novag_ssensor4);
/* expansion */
- GENERIC_CARTSLOT(config, "exrom", generic_plain_slot, "novag_ssensor4");
+ GENERIC_SOCKET(config, "exrom", generic_plain_slot, "novag_ssensor4");
SOFTWARE_LIST(config, "cart_list").set_original("novag_ssensor4");
}
diff --git a/src/mame/drivers/nwk-tr.cpp b/src/mame/drivers/nwk-tr.cpp
index a01ec408020..6bd567d1732 100644
--- a/src/mame/drivers/nwk-tr.cpp
+++ b/src/mame/drivers/nwk-tr.cpp
@@ -308,6 +308,7 @@ public:
m_pcb_digit(*this, "pcbdigit%u", 0U),
m_palette(*this, "palette"),
m_generic_paletteram_32(*this, "paletteram"),
+ m_sharc_dataram(*this, "sharc%u_dataram", 0U),
m_cg_view(*this, "cg_view")
{ }
@@ -340,6 +341,7 @@ private:
output_finder<2> m_pcb_digit;
required_device<palette_device> m_palette;
required_shared_ptr<uint32_t> m_generic_paletteram_32;
+ optional_shared_ptr_array<uint32_t, 2> m_sharc_dataram;
memory_view m_cg_view;
emu_timer *m_sound_irq_timer;
@@ -533,7 +535,7 @@ void nwktr_state::sound_memmap(address_map &map)
void nwktr_state::sharc0_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc0_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[0]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[0][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
map(0x2400000, 0x27fffff).rw(m_konppc, FUNC(konppc_device::nwk_voodoo_0_r), FUNC(konppc_device::nwk_voodoo_0_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
@@ -544,7 +546,7 @@ void nwktr_state::sharc0_map(address_map &map)
void nwktr_state::sharc1_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_1_shared_sharc_r), FUNC(konppc_device::cgboard_1_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc1_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[1]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[1][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
map(0x2400000, 0x27fffff).rw(m_konppc, FUNC(konppc_device::nwk_voodoo_0_r), FUNC(konppc_device::nwk_voodoo_0_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_1_comm_sharc_r), FUNC(konppc_device::cgboard_1_comm_sharc_w));
@@ -663,8 +665,8 @@ void nwktr_state::nwktr(machine_config &config)
ADC12138(config, m_adc12138, 0);
m_adc12138->set_ipt_convert_callback(FUNC(nwktr_state::adc12138_input_callback));
- K033906(config, "k033906_1", 0, "voodoo0");
- K033906(config, "k033906_2", 0, "voodoo1");
+ K033906(config, "k033906_1", 0, m_voodoo[0]);
+ K033906(config, "k033906_2", 0, m_voodoo[1]);
// video hardware
VOODOO_1(config, m_voodoo[0], XTAL(50'000'000));
diff --git a/src/mame/drivers/oneshot.cpp b/src/mame/drivers/oneshot.cpp
index 20ff5c7e8a7..02ad3f745eb 100644
--- a/src/mame/drivers/oneshot.cpp
+++ b/src/mame/drivers/oneshot.cpp
@@ -132,7 +132,7 @@ Clock measurements:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/onetwo.cpp b/src/mame/drivers/onetwo.cpp
index 735e3e93a61..eea08cff2a5 100644
--- a/src/mame/drivers/onetwo.cpp
+++ b/src/mame/drivers/onetwo.cpp
@@ -46,7 +46,7 @@ Note: this is quite clearly a 'Korean bootleg' of Shisensho - Joshiryo-Hen / Mat
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp
index 67cb7cb239e..371d84e1368 100644
--- a/src/mame/drivers/opwolf.cpp
+++ b/src/mame/drivers/opwolf.cpp
@@ -277,7 +277,7 @@ register. So what is controlling priority.
#include "machine/timer.h"
#include "machine/taitocchip.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "includes/taitoipt.h"
#include "video/pc080sn.h"
#include "video/pc090oj.h"
diff --git a/src/mame/drivers/othunder.cpp b/src/mame/drivers/othunder.cpp
index 329e11a9f89..127469ee132 100644
--- a/src/mame/drivers/othunder.cpp
+++ b/src/mame/drivers/othunder.cpp
@@ -285,7 +285,7 @@ TODO:
#include "machine/adc0808.h"
#include "machine/eepromser.h"
#include "sound/flt_vol.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp
index d8c9e881486..54030633581 100644
--- a/src/mame/drivers/overdriv.cpp
+++ b/src/mame/drivers/overdriv.cpp
@@ -35,7 +35,7 @@
#include "machine/eepromser.h"
#include "machine/rescap.h"
#include "sound/k053260.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/k053250.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index 2dc0dd20629..5eec52304b3 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -31,8 +31,10 @@
* Pacman Club / Club Lambada
* Eeekk!
- Known issues:
+ TODO:
* Mystery items in Ali Baba don't work correctly because of protection.
+ * mspactwin shows a green "0" in the corner on the PCB at tilescreen, but "18" on MAME.
+ * mspactwin_map supposed ROM 0x2000 mirroring implementation doesn't make much sense, there's a bus conflict now
Known to exist but dumps needed
* Ms Pac Plus
@@ -1137,12 +1139,12 @@ void mspactwin_state::mspactwin_map(address_map &map)
{
map(0x0000, 0x1fff).rom();
map(0x2000, 0x3fff).mirror(0x4000).rom();
- map(0x4000, 0x43ff).mirror(0xa000).mirror(0x8000).ram().w(FUNC(mspactwin_state::mspactwin_videoram_w)).share("videoram");
- map(0x4400, 0x47ff).mirror(0xa000).mirror(0x8000).ram().w(FUNC(mspactwin_state::pacman_colorram_w)).share("colorram");
+ map(0x4000, 0x43ff).mirror(0x8000).ram().w(FUNC(mspactwin_state::mspactwin_videoram_w)).share("videoram");
+ map(0x4400, 0x47ff).mirror(0x8000).ram().w(FUNC(mspactwin_state::pacman_colorram_w)).share("colorram");
map(0x4800, 0x4bff).mirror(0xa000).r(FUNC(mspactwin_state::pacman_read_nop)).nopw();
map(0x4c00, 0x4fef).mirror(0xa000).ram();
map(0x4ff0, 0x4fff).mirror(0xa000).ram().share("spriteram");
- map(0x5000, 0x5007).mirror(0xaf38).mirror(0x0030).w(m_mainlatch, FUNC(ls259_device::write_d0));
+ map(0x5000, 0x5007).mirror(0x0030).w(m_mainlatch, FUNC(ls259_device::write_d0));
map(0x5040, 0x505f).mirror(0xaf00).w(m_namco_sound, FUNC(namco_device::pacman_sound_w));
map(0x5060, 0x506f).mirror(0xaf00).writeonly().share("spriteram2");
map(0x5070, 0x507f).mirror(0xaf00).nopw();
@@ -1157,8 +1159,8 @@ void mspactwin_state::mspactwin_map(address_map &map)
void mspactwin_state::mspactwin_decrypted_map(address_map &map)
{
- map(0x0000, 0x3fff).rom().share("decrypted_opcodes");
- map(0x6000, 0x7fff).rom().share("decrypted_opcodes_mirror");
+ map(0x0000, 0x3fff).mirror(0x4000).rom().share("decrypted_opcodes");
+ map(0x4000, 0x5fff).unmapr(); // mirror only 6000-7fff
map(0x8000, 0xbfff).rom().share("decrypted_opcodes_high");
}
@@ -1663,7 +1665,6 @@ static INPUT_PORTS_START( pacmanpe )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
-
INPUT_PORTS_END
static INPUT_PORTS_START( pacuman )
@@ -1881,16 +1882,16 @@ static INPUT_PORTS_START( mspactwin )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
- PORT_DIPNAME( 0x10, 0x10, "Jama" )
+ PORT_DIPNAME( 0x10, 0x10, "Jama" ) // Speed
PORT_DIPSETTING( 0x10, "Slow" )
PORT_DIPSETTING( 0x00, "Fast" )
PORT_MODIFY("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
- PORT_DIPNAME( 0x80, 0x80, "Skip Screen" ) // Used to skip level
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
+ PORT_DIPNAME( 0x80, 0x80, "Skip Screen" ) // Used to skip level
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -1901,7 +1902,7 @@ static INPUT_PORTS_START( mspactwin )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x0C, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:3,4")
+ PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:3,4")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x04, "2" )
PORT_DIPSETTING( 0x08, "3" )
@@ -1911,7 +1912,6 @@ static INPUT_PORTS_START( mspactwin )
PORT_DIPSETTING( 0x10, "15000" )
PORT_DIPSETTING( 0x20, "20000" )
PORT_DIPSETTING( 0x30, "None" )
-
INPUT_PORTS_END
static INPUT_PORTS_START( superabc )
@@ -4783,10 +4783,10 @@ ROM_END
/*****************************************************************************
- Ms PacMan Twin (SUSILU)
- -----------------------
+ Ms Pac Man Twin (SUSILU)
+ ------------------------
- Argentine official hack of Ms. PacMan that allows 2 players simultaneously.
+ Argentine official hack of Ms. Pac-Man that allows 2 players simultaneously.
Very rare PCB. Was avoiding us for more of 22 years...
The mainboard is a PacMan bootleg PCB, with a mini daughterboard
(normal in mspacman boards) plugged in the Z80 socket.
@@ -7876,19 +7876,10 @@ void pacman_state::init_eyes()
eyes_decode(&RAM[i]);
}
-
-#define BITSWAP12(val,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0) \
- bitswap<16>(val,15,14,13,12,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0)
-
-#define BITSWAP11(val,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0) \
- bitswap<16>(val,15,14,13,12,11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0)
-
void pacman_state::mspacman_install_patches(uint8_t *ROM)
{
- int i;
-
/* copy forty 8-byte patches into Pac-Man code */
- for (i = 0; i < 8; i++)
+ for (int i = 0; i < 8; i++)
{
ROM[0x0410+i] = ROM[0x8008+i];
ROM[0x08E0+i] = ROM[0x81D8+i];
@@ -7951,13 +7942,13 @@ void pacman_state::init_mspacman()
DROM[0x0000+i] = ROM[0x0000+i]; /* pacman.6e */
DROM[0x1000+i] = ROM[0x1000+i]; /* pacman.6f */
DROM[0x2000+i] = ROM[0x2000+i]; /* pacman.6h */
- DROM[0x3000+i] = bitswap<8>(ROM[0xb000+BITSWAP12(i,11,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt u7 */
+ DROM[0x3000+i] = bitswap<8>(ROM[0xb000+bitswap<12>(i,11,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt u7 */
}
for (int i = 0; i < 0x800; i++)
{
- DROM[0x8000+i] = bitswap<8>(ROM[0x8000+BITSWAP11(i, 8,7,5,9,10,6,3,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt u5 */
- DROM[0x8800+i] = bitswap<8>(ROM[0x9800+BITSWAP12(i,11,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt half of u6 */
- DROM[0x9000+i] = bitswap<8>(ROM[0x9000+BITSWAP12(i,11,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt half of u6 */
+ DROM[0x8000+i] = bitswap<8>(ROM[0x8000+bitswap<11>(i,8,7,5,9,10,6,3,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt u5 */
+ DROM[0x8800+i] = bitswap<8>(ROM[0x9800+bitswap<11>(i,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt half of u6 */
+ DROM[0x9000+i] = bitswap<8>(ROM[0x9000+bitswap<11>(i,3,7,9,10,8,6,5,4,2,1,0)],0,4,5,7,6,3,2,1); /* decrypt half of u6 */
DROM[0x9800+i] = ROM[0x1800+i]; /* mirror of pacman.6f high */
}
for (int i = 0; i < 0x1000; i++)
@@ -8070,15 +8061,15 @@ socket and run through the 74298. Clock is tied to system clock. */
void pacman_state::init_mspacmbe()
{
/* Address lines A1 and A0 swapped if A2=0 */
- uint8_t *RAM = memregion("maincpu")->base();
+ uint8_t *ROM = memregion("maincpu")->base();
for (int i = 0x1000; i < 0x2000; i += 4)
{
if (!(i & 8))
{
- uint8_t temp = RAM[i+1];
- RAM[i+1] = RAM[i+2];
- RAM[i+2] = temp;
- };
+ uint8_t temp = ROM[i+1];
+ ROM[i+1] = ROM[i+2];
+ ROM[i+2] = temp;
+ }
}
}
@@ -8183,8 +8174,8 @@ void mspactwin_state::init_mspactwin()
{
uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0x0000; A < 0x4000; A+=2) {
-
+ for (int A = 0x0000; A < 0x4000; A+=2)
+ {
// decode opcode
m_decrypted_opcodes [A ] = bitswap<8>(rom[ A ] , 4, 5, 6, 7, 0, 1, 2, 3);
m_decrypted_opcodes [A+1] = bitswap<8>(rom[ A+1] ^ 0x9A, 6, 4, 5, 7, 2, 0, 3, 1);
@@ -8196,13 +8187,7 @@ void mspactwin_state::init_mspactwin()
rom[ A+1] = bitswap<8>(rom[ A+1] ^ 0xA3, 2, 4, 6, 3, 7, 0, 5, 1);
rom[0x8000+A ] = bitswap<8>(rom[0x8000+A ] , 0, 1, 2, 3, 4, 5, 6, 7);
rom[0x8000+A+1] = bitswap<8>(rom[0x8000+A+1] ^ 0xA3, 2, 4, 6, 3, 7, 0, 5, 1);
-
- }
-
- for (int A = 0x0000; A < 0x2000; A++) {
- m_decrypted_opcodes_mirror[A] = m_decrypted_opcodes[A+0x2000];
}
-
}
@@ -8230,9 +8215,9 @@ GAME( 1980, newpuc2b, puckman, pacman, pacman, pacman_state, empty_init,
GAME( 1980, newpuckx, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "New Puck-X", MACHINE_SUPPORTS_SAVE )
GAME( 1981, pacheart, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Pac-Man (Hearts)", MACHINE_SUPPORTS_SAVE )
GAME( 198?, bucaner, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Buccaneer", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, hangly, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Hangly-Man (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, hangly2, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Hangly-Man (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, hangly3, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Hangly-Man (set 3)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, hangly, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack (Igleck)", "Hangly-Man (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, hangly2, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack (Igleck)", "Hangly-Man (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, hangly3, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack (Igleck)", "Hangly-Man (set 3)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, baracuda, puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack (Coinex)", "Barracuda", MACHINE_SUPPORTS_SAVE )
GAME( 1981, popeyeman,puckman, pacman, pacman, pacman_state, empty_init, ROT90, "hack", "Popeye-Man", MACHINE_SUPPORTS_SAVE )
GAME( 1980, pacuman, puckman, pacman, pacuman, pacman_state, empty_init, ROT90, "bootleg (Recreativos Franco S.A.)", "Pacu-Man (Spanish bootleg of Puck Man)", MACHINE_SUPPORTS_SAVE ) // common bootleg in Spain, code is shifted a bit compared to the Puck Man sets. Title & Manufacturer info from cabinet/PCB, not displayed ingame
@@ -8283,11 +8268,10 @@ GAME( 1992, mspacmanbco, mspacman, woodpek, mspacman, pacman_state, empty_init
GAME( 1993, mspacmanbi, mspacman, woodpek, mspacman, pacman_state, empty_init, ROT90, "bootleg (Impeuropex)", "Ms. Pac-Man (Impeuropex bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 198?, pacmansp, puckman, pacman, pacmansp, pacman_state, empty_init, ROT90, "bootleg (Video Game SA)", "Puck Man (Spanish, 'Made in Greece' bootleg)", MACHINE_SUPPORTS_SAVE ) // probably a further conversion of the mspacmanbg bootleg, still has some MS Pacman code + extra features
+GAME( 1992, mspactwin, 0, mspactwin, mspactwin, mspactwin_state, init_mspactwin, ROT90, "hack (Susilu)", "Ms Pac Man Twin (Argentina)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, mspactwin, 0, mspactwin, mspactwin, mspactwin_state, init_mspactwin, ROT90, "SUSILU", "Ms PacMan Twin (Argentina)", MACHINE_SUPPORTS_SAVE )
-
-GAME( 1989, clubpacm, 0, clubpacm, clubpacm, clubpacm_state, empty_init, ROT90, "Miky SRL", "Pacman Club / Club Lambada (Argentina)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, clubpacma, clubpacm, clubpacm, clubpacma, clubpacm_state, init_clubpacma, ROT90, "Miky SRL", "Pacman Club (Argentina)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, clubpacm, 0, clubpacm, clubpacm, clubpacm_state, empty_init, ROT90, "hack (Miky SRL)", "Pacman Club / Club Lambada (Argentina)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, clubpacma, clubpacm, clubpacm, clubpacma, clubpacm_state, init_clubpacma, ROT90, "hack (Miky SRL)", "Pacman Club (Argentina)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, jumpshot, 0, pacman, jumpshot, pacman_state, init_jumpshot, ROT90, "Bally Midway", "Jump Shot", MACHINE_SUPPORTS_SAVE )
GAME( 1985, jumpshotp,jumpshot, pacman, jumpshotp,pacman_state, init_jumpshot, ROT90, "Bally Midway", "Jump Shot Engineering Sample", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/parodius.cpp b/src/mame/drivers/parodius.cpp
index cd1d41e9e77..45c04850f61 100644
--- a/src/mame/drivers/parodius.cpp
+++ b/src/mame/drivers/parodius.cpp
@@ -15,7 +15,7 @@
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/k053260.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/pasha2.cpp b/src/mame/drivers/pasha2.cpp
index 74735b174af..13a99346def 100644
--- a/src/mame/drivers/pasha2.cpp
+++ b/src/mame/drivers/pasha2.cpp
@@ -68,8 +68,15 @@ Notes:
TODO:
- eeprom - is it used?
- irq2 - sound related? reads the 2 unmapped input registers.
- - irq3 - it only writes a 0 into memory and changes a registe
- - simulate music (DREAM chip)
+ - irq3 - it only writes a 0 into memory and changes a register
+ - pasha2: simulate music (DREAM chip)
+ - zdrum: with DRC it fatal errors with 'Unimplemented: generate_adds (c00013ae)' if let in attract for a while or at the end of the 'Flash memory check' in test mode)
+ with interpreter the game hangs itself with 'Assertion failed: file flash.dat'
+ - zdrum: proper inputs (coin seems to freeze the game - gets stuck in a loop at c0001386, can be forced out of it with do PC=c0001392 and the coin gets credited) -
+ right arrow not found yet, second left drum switch flickers on and off continuously in i/o test)
+ - zdrum: when coined up via debugger and then started, the game itself reports an assert with DRC, gets to the select character screen and then hangs with the interpreter
+ - zdrum: settings aren't kept after reset, possibly needs eeprom hook up
+ - zdrum: dump hard disc and emulate MP3 board
*********************************************************************/
@@ -97,17 +104,22 @@ public:
, m_lamps_g(*this, "lamp_p%u_g", 1U)
, m_lamps_b(*this, "lamp_p%u_b", 1U)
, m_maincpu(*this, "maincpu")
- , m_audiocpu(*this, "audiocpu")
, m_oki(*this, "oki%u", 1U)
, m_palette(*this, "palette")
{ }
void pasha2(machine_config &config);
+ void zdrum(machine_config &config);
void init_pasha2();
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint16_t> m_wram;
required_shared_ptr<uint16_t> m_paletteram;
@@ -117,14 +129,14 @@ private:
output_finder<3> m_lamps_g;
output_finder<3> m_lamps_b;
- /* video-related */
- int m_vbuffer;
+ // video-related
+ uint8_t m_vbuffer;
- /* memory */
+ // memory
std::unique_ptr<uint8_t[]> m_bitmap0[2];
std::unique_ptr<uint8_t[]> m_bitmap1[2];
- void pasha2_misc_w(offs_t offset, uint16_t data);
- void pasha2_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
+ void misc_w(offs_t offset, uint16_t data);
+ void palette_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void vbuffer_set_w(uint16_t data);
void vbuffer_clear_w(uint16_t data);
void bitmap_0_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0);
@@ -132,20 +144,17 @@ private:
void pasha2_lamps_w(uint16_t data);
uint16_t pasha2_speedup_r(offs_t offset);
template<int Chip> void oki_bank_w(offs_t offset, uint16_t data);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- uint32_t screen_update_pasha2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
- required_device<at89c52_device> m_audiocpu;
required_device_array<okim6295_device, 2> m_oki;
required_device<palette_device> m_palette;
void pasha2_io(address_map &map);
void pasha2_map(address_map &map);
+ void zdrum_audio_map(address_map &map);
};
-void pasha2_state::pasha2_misc_w(offs_t offset, uint16_t data)
+void pasha2_state::misc_w(offs_t offset, uint16_t data)
{
if (offset)
{
@@ -167,7 +176,7 @@ void pasha2_state::pasha2_misc_w(offs_t offset, uint16_t data)
}
}
-void pasha2_state::pasha2_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void pasha2_state::palette_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
int color;
@@ -236,7 +245,7 @@ void pasha2_state::pasha2_map(address_map &map)
map(0x40074000, 0x40074001).w(FUNC(pasha2_state::vbuffer_set_w));
map(0x40078000, 0x40078001).nopw(); //once at startup -> to disable the eeprom?
map(0x80000000, 0x803fffff).bankr("mainbank");
- map(0xe0000000, 0xe00003ff).ram().w(FUNC(pasha2_state::pasha2_palette_w)).share("paletteram"); //tilemap? palette?
+ map(0xe0000000, 0xe00003ff).ram().w(FUNC(pasha2_state::palette_w)).share("paletteram"); //tilemap? palette?
map(0xfff80000, 0xffffffff).rom().region("maincpu", 0);
}
@@ -249,13 +258,19 @@ void pasha2_state::pasha2_io(address_map &map)
map(0x60, 0x63).portr("DSW");
map(0x80, 0x83).portr("INPUTS");
map(0xa0, 0xa3).nopw(); //soundlatch?
- map(0xc0, 0xc3).w(FUNC(pasha2_state::pasha2_misc_w));
+ map(0xc0, 0xc3).w(FUNC(pasha2_state::misc_w));
map(0xe3, 0xe3).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xe7, 0xe7).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xe8, 0xeb).w(FUNC(pasha2_state::oki_bank_w<0>));
map(0xec, 0xef).w(FUNC(pasha2_state::oki_bank_w<1>));
}
+void pasha2_state::zdrum_audio_map(address_map &map)
+{
+ map(0x00000000, 0x001fffff).ram();
+ map(0xfff80000, 0xffffffff).rom().region("audiocpu", 0);
+}
+
static INPUT_PORTS_START( pasha2 )
PORT_START("COINS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -343,6 +358,94 @@ static INPUT_PORTS_START( pasha2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START3 )
INPUT_PORTS_END
+static INPUT_PORTS_START( zdrum )
+ PORT_START("COINS") // no apparent effects on gameplay or i/o test, but for otherwise noted
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) // coin, but game enters a loop when pressed
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service in i/o test, seems to have no effect during gameplay
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_SERVICE_NO_TOGGLE( 0x800, IP_ACTIVE_LOW )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ // 2 physical dip-switches, but the settings seem to be done via service mode, so possibly unused?
+ PORT_START("DSW")
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_START("INPUTS")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 2" )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) // TODO: what's up with this? should probably be // PORT_NAME( "Drum switch left 3" ), but it flickers on and off regardless
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME( "Drum switch left 1" )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME( "Drum switch left 2" )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 3" )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 1" )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME( "Left arrow" )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) // all the following but 0x800 don't seem to have any effect
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) // isn't shown in the i/o test but it's used to move between items in the service mode
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+INPUT_PORTS_END
+
void pasha2_state::video_start()
{
for (int i = 0; i < 2; i++)
@@ -354,9 +457,9 @@ void pasha2_state::video_start()
}
}
-uint32_t pasha2_state::screen_update_pasha2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t pasha2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- /* 2 512x256 bitmaps */
+ // 2 512x256 bitmaps
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
@@ -387,6 +490,10 @@ void pasha2_state::machine_start()
m_lamps_r.resolve();
m_lamps_g.resolve();
m_lamps_b.resolve();
+
+ m_mainbank->configure_entries(0, 6, memregion("bankeddata")->base(), 0x400000);
+ m_mainbank->set_entry(0);
+
save_item(NAME(m_vbuffer));
}
@@ -397,29 +504,29 @@ void pasha2_state::machine_reset()
void pasha2_state::pasha2(machine_config &config)
{
- /* basic machine hardware */
- E116XT(config, m_maincpu, 20000000*4); /* 4x internal multiplier */
+ // basic machine hardware
+ E116XT(config, m_maincpu, 20000000*4); // 4x internal multiplier
m_maincpu->set_addrmap(AS_PROGRAM, &pasha2_state::pasha2_map);
m_maincpu->set_addrmap(AS_IO, &pasha2_state::pasha2_io);
m_maincpu->set_vblank_int("screen", FUNC(pasha2_state::irq0_line_hold));
- AT89C52(config, m_audiocpu, 12000000); /* clock from docs */
- /* TODO : ports are unimplemented; P0,P1,P2,P3 and Serial Port Used */
+ AT89C52(config, "audiocpu", 12000000); // clock from docs
+ // TODO : ports are unimplemented; P0,P1,P2,P3 and Serial Port Used
EEPROM_93C46_16BIT(config, "eeprom");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(512, 512);
screen.set_visarea(0, 383, 0, 239);
- screen.set_screen_update(FUNC(pasha2_state::screen_update_pasha2));
+ screen.set_screen_update(FUNC(pasha2_state::screen_update));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_entries(0x200);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
@@ -429,30 +536,69 @@ void pasha2_state::pasha2(machine_config &config)
//and ATMEL DREAM SAM9773
}
+void pasha2_state::zdrum(machine_config &config)
+{
+ pasha2(config);
+
+ m_maincpu->set_force_no_drc(true); // gets a bit further
+
+ e116xt_device &audiocpu(E116XT(config.replace(), "audiocpu", 45_MHz_XTAL)); // type unknown, but it does look like Hyperstone code
+ audiocpu.set_addrmap(AS_PROGRAM, &pasha2_state::zdrum_audio_map);
+
+ // TODO: MP3 hw, also PCB should be stereo according to test mode
+}
+
ROM_START( pasha2 )
- ROM_REGION16_BE( 0x80000, "maincpu", 0 ) /* Hyperstone CPU Code */
+ ROM_REGION16_BE( 0x80000, "maincpu", 0 ) // Hyperstone CPU Code
ROM_LOAD( "pp2.u3", 0x00000, 0x80000, CRC(1c701273) SHA1(f465323a1d3f2fd752c51c178fafe4cc866e28d6) )
- ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) /* data roms */
+ ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) // data roms
ROM_LOAD16_BYTE( "pp2-u2.u101", 0x000000, 0x200000, CRC(85c4a2d0) SHA1(452b24b74bd0b65d2d6852486e2917f94e21ecc8) )
ROM_LOAD16_BYTE( "pp2-u1.u101", 0x000001, 0x200000, CRC(96cbd04e) SHA1(a4e7dd61194584b3c4217674d78ab2fd96b7b2e0) )
ROM_LOAD16_BYTE( "pp2-u2.u102", 0x400000, 0x200000, CRC(2097d88c) SHA1(7597578e6ddca00909feac35d9d7331f783b2bd6) )
ROM_LOAD16_BYTE( "pp2-u1.u102", 0x400001, 0x200000, CRC(7a3492fb) SHA1(de72c4d10e17eaf2b7531f637b42cbb3d07819b5) )
// empty space, but no empty sockets on the pcb
- ROM_REGION( 0x2000, "audiocpu", 0 ) /* AT89C52 */
+ ROM_REGION( 0x2000, "audiocpu", 0 ) // AT89C52
ROM_LOAD( "89c52.bin", 0x0000, 0x2000, CRC(9ce43ce4) SHA1(8027a3549b38e9a2e7bb8f518a0defcaf9743371) ) // music play 1.0
- ROM_REGION( 0x80000, "sam9773", 0 ) /* SAM9773 sound data */
+ ROM_REGION( 0x80000, "sam9773", 0 ) // SAM9773 sound data
ROM_LOAD( "pp2.um2", 0x00000, 0x80000, CRC(86814b37) SHA1(70f8a94410e362669570c39e00492c0d69de6b17) )
- ROM_REGION( 0x80000, "oki1", 0 ) /* Oki Samples */
+ ROM_REGION( 0x80000, "oki1", 0 ) // Oki Samples
ROM_LOAD( "pp2.um51", 0x00000, 0x80000, CRC(3b1b1a30) SHA1(1ea1266d280a2b96ac4ef9fe8ee7b1a5f7861672) )
- ROM_REGION( 0x80000, "oki2", 0 ) /* Oki Samples */
+ ROM_REGION( 0x80000, "oki2", 0 ) // Oki Samples
ROM_LOAD( "pp2.um53", 0x00000, 0x80000, CRC(8a29ad03) SHA1(3e9b0c86d8e3bb0b7691f68ad45431f6f9e8edbd) )
ROM_END
+// PARA8B16 main PCB, very similar to the Pasha Pasha 2 PCB but with no AT89C52 and SAM9773
+// PARA MP3 MAIN Ver. 1.00 2000.1 plug in PCB (Xilinx XC9536, Micronas MAS3507D F10, Micronas DAC3550A C2, 14.7456 XTAL)
+// MUTALISK V3.02 PCB which plugs in the MP3 PCB (stickered IC 'Catos Creative Staffs' - probably an Hyperstone core given the ROM content -, 45.0000000 MHz XTAL, GM71V65163CT5 RAM, D27C040 ROM)
+ROM_START( zdrum )
+ ROM_REGION16_BE( 0x80000, "maincpu", 0 ) // Hyperstone CPU Code
+ ROM_LOAD( "u3.bin", 0x00000, 0x80000, CRC(296c6ee8) SHA1(67814ac87828f578591ec2069ad96861fe29de6c) )
+
+ ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) // data roms
+ ROM_LOAD16_WORD_SWAP( "u101.bin", 0x000000, 0x400000, CRC(e9bc892e) SHA1(f50cde278693a38cfad1185a89c41e2e2029c5ac) ) // Dumped as 27C322, but actually E28F916S5 * 2
+ ROM_LOAD16_WORD_SWAP( "u102.bin", 0x400000, 0x400000, CRC(954e67a1) SHA1(cf1553fd70e27fab2d77df07ccd2866c198b5b35) ) // "
+
+ ROM_REGION( 0x80000, "audiocpu", 0 ) // on the MUTALISK PCB
+ ROM_LOAD( "mutalisk_u6.bin", 0x00000, 0x80000, CRC(7d044372) SHA1(41c63644ce048cec2079fb5ec8a2da9c66841c48) ) // 27C4000DC
+
+ ROM_REGION( 0x80000, "oki1", 0 )
+ ROM_LOAD( "um51.bin", 0x00000, 0x80000, CRC(b1a22ea2) SHA1(2814d212faf99504bd19602c4183fd8a4763c44c) ) // AM29F040
+
+ ROM_REGION( 0x80000, "oki2", 0 )
+ ROM_LOAD( "um53.bin", 0x00000, 0x80000, CRC(372022da) SHA1(809d103bdb365c9ff9e32b6a3032040b6a91ce88) ) // MBM29F040A
+
+ ROM_REGION( 0x117, "plds", 0 )
+ ROM_LOAD( "u507.bin", 0x000, 0x117, CRC(c89d2f52) SHA1(f9d52d9c42ef95b7b85bbf6d09888ebdeac11fd3) ) // PALCE16V8H, mostly 1, protected?
+
+ DISK_REGION( "ide:0:hdd:image" ) // should contain the songs
+ DISK_IMAGE( "zdrum", 0, NO_DUMP )
+ROM_END
+
uint16_t pasha2_state::pasha2_speedup_r(offs_t offset)
{
if(m_maincpu->pc() == 0x8302)
@@ -464,9 +610,7 @@ uint16_t pasha2_state::pasha2_speedup_r(offs_t offset)
void pasha2_state::init_pasha2()
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0x95744, 0x95747, read16sm_delegate(*this, FUNC(pasha2_state::pasha2_speedup_r)));
-
- m_mainbank->configure_entries(0, 6, memregion("bankeddata")->base(), 0x400000);
- m_mainbank->set_entry(0);
}
-GAMEL( 1998, pasha2, 0, pasha2, pasha2, pasha2_state, init_pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE, layout_pasha2 )
+GAMEL( 1998, pasha2, 0, pasha2, pasha2, pasha2_state, init_pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE, layout_pasha2 )
+GAME ( 2000, zdrum, 0, zdrum, zdrum, pasha2_state, empty_init, ROT0, "PARA Enterprises", "Zooty Drum", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // missing HD dump, MP3 board emulation. Inputs seem to be read differently.
diff --git a/src/mame/drivers/pass.cpp b/src/mame/drivers/pass.cpp
index e206a1ef9bc..cafd800bd62 100644
--- a/src/mame/drivers/pass.cpp
+++ b/src/mame/drivers/pass.cpp
@@ -108,7 +108,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 861a097c6e8..d551daa213c 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -15,8 +15,7 @@
- CMT support (-13/-36 cbus only, identify which models mounted it off the bat);
- Write a PC80S31K device for 2d type floppies
(also used on PC-8801 and PC-88VA, it's the FDC + Z80 sub-system);
- - Anything post-PC9801E/F/M should overwrite "speaker_device" to actually use a
- dac_bit_interface instead (cfr. DAC1BIT in SW list);
+ - DAC1BIT has a bit of clicking with start/end of samples, is it fixable or just a btanb?
- clean-ups & split into separate devices and driver flavours;
- derive romsets by default options (cfr. 3.5 2HD floppies vs. default 5.25, 2D/2DD etc.);
- Remove kludge for POR bit in a20_ctrl_w fn;
@@ -1877,11 +1876,19 @@ ch3 SCSI
*
****************************************/
-void pc9801_state::ppi_sys_portc_w(uint8_t data)
+void pc9801_state::ppi_sys_beep_portc_w(uint8_t data)
{
m_beeper->set_state(!(data & 0x08));
}
+void pc9801_state::ppi_sys_dac_portc_w(uint8_t data)
+{
+ m_dac_disable = BIT(data, 3);
+ // TODO: some models have a finer grained volume control at I/O port 0xae8e
+ // (98NOTE only?)
+ m_dac->set_output_gain(0, m_dac_disable ? 0.0 : 1.0);
+}
+
/*
* Mouse 8255 I/F
*
@@ -2083,6 +2090,8 @@ MACHINE_START_MEMBER(pc9801_state,pc9801rs)
{
MACHINE_START_CALL_MEMBER(pc9801_common);
+ save_item(NAME(m_dac_disable));
+
m_sys_type = 0x80 >> 6;
}
@@ -2112,8 +2121,6 @@ MACHINE_RESET_MEMBER(pc9801_state,pc9801_common)
{
memset(m_tvram.get(), 0, sizeof(uint16_t) * 0x2000);
- m_beeper->set_state(0);
-
m_nmi_ff = 0;
m_mouse.control = 0xff;
m_mouse.freq_reg = 0;
@@ -2143,6 +2150,8 @@ MACHINE_RESET_MEMBER(pc9801_state,pc9801f)
for(i=0;i<0x1000;i++)
ROM[i] = PRG[i+op_mode*0x8000+0x10000];
+
+ m_beeper->set_state(0);
}
MACHINE_RESET_MEMBER(pc9801_state,pc9801rs)
@@ -2162,6 +2171,8 @@ MACHINE_RESET_MEMBER(pc9801_state,pc9801rs)
else
m_maincpu->space(AS_PROGRAM).install_rom(0xd8000, 0xd9fff, memregion("ide")->base() + 0x2000);
}
+
+ m_dac_disable = true;
}
MACHINE_RESET_MEMBER(pc9801_state,pc9821)
@@ -2348,7 +2359,7 @@ void pc9801_state::pc9801_common(machine_config &config)
m_ppi_sys->in_pa_callback().set_ioport("DSW2");
m_ppi_sys->in_pb_callback().set_ioport("DSW1");
m_ppi_sys->in_pc_callback().set_constant(0xa0); // 0x80 cpu triple fault reset flag?
- m_ppi_sys->out_pc_callback().set(FUNC(pc9801_state::ppi_sys_portc_w));
+// m_ppi_sys->out_pc_callback().set(FUNC(pc9801_state::ppi_sys_portc_w));
I8255(config, m_ppi_prn, 0);
// TODO: check this one
@@ -2393,7 +2404,6 @@ void pc9801_state::pc9801_common(machine_config &config)
SPEAKER(config, "mono").front_center();
- BEEP(config, m_beeper, 2400).add_route(ALL_OUTPUTS, "mono", 0.15);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pc9801);
}
@@ -2405,6 +2415,7 @@ void pc9801_state::pc9801(machine_config &config)
m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
pc9801_common(config);
+ m_ppi_sys->out_pc_callback().set(FUNC(pc9801_state::ppi_sys_beep_portc_w));
MCFG_MACHINE_START_OVERRIDE(pc9801_state, pc9801f)
MCFG_MACHINE_RESET_OVERRIDE(pc9801_state, pc9801f)
@@ -2424,6 +2435,7 @@ void pc9801_state::pc9801(machine_config &config)
m_dmac->in_ior_callback<3>().set(m_fdc_2dd, FUNC(upd765a_device::dma_r));
m_dmac->out_iow_callback<3>().set(m_fdc_2dd, FUNC(upd765a_device::dma_w));
+ BEEP(config, m_beeper, 2400).add_route(ALL_OUTPUTS, "mono", 0.15);
PALETTE(config, m_palette, FUNC(pc9801_state::pc9801_palette), 16);
}
@@ -2435,6 +2447,9 @@ void pc9801_state::pc9801rs(machine_config &config)
m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
pc9801_common(config);
+ m_ppi_sys->out_pc_callback().set(FUNC(pc9801_state::ppi_sys_dac_portc_w));
+ // TODO: verify if it needs invert();
+ m_pit8253->out_handler<1>().set( m_dac, FUNC(speaker_sound_device::level_w));
ADDRESS_MAP_BANK(config, "ipl_bank").set_map(&pc9801_state::ipl_bank).set_options(ENDIANNESS_LITTLE, 16, 18, 0x18000);
@@ -2450,6 +2465,8 @@ void pc9801_state::pc9801rs(machine_config &config)
m_hgdc2->set_addrmap(0, &pc9801_state::upd7220_grcg_2_map);
+// DAC_1BIT(config, m_dac, 0).set_output_range(-1, 1).add_route(ALL_OUTPUTS, "mono", 0.15);
+ SPEAKER_SOUND(config, m_dac).add_route(ALL_OUTPUTS, "mono", 0.40);
PALETTE(config, m_palette, FUNC(pc9801_state::pc9801_palette), 16 + 16);
}
diff --git a/src/mame/drivers/pcktgal.cpp b/src/mame/drivers/pcktgal.cpp
index c2be156ea1c..7fb937bb41a 100644
--- a/src/mame/drivers/pcktgal.cpp
+++ b/src/mame/drivers/pcktgal.cpp
@@ -18,8 +18,8 @@
#include "includes/pcktgal.h"
#include "cpu/m6502/m6502.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "machine/deco222.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/philipsbo.cpp b/src/mame/drivers/philipsbo.cpp
new file mode 100644
index 00000000000..a15d9869749
--- /dev/null
+++ b/src/mame/drivers/philipsbo.cpp
@@ -0,0 +1,271 @@
+// license:BSD-3-Clause
+// copyright-holders:Ryan Holtz
+/******************************************************************************
+
+ Philips BO "Videosynthesizer Prototype" skeleton
+
+*******************************************************************************/
+
+#include "emu.h"
+
+#include "cpu/m68000/m68000.h"
+#include "imagedev/floppy.h"
+#include "machine/am79c90.h"
+#include "machine/hd63450.h"
+#include "machine/mc68681.h"
+#include "machine/ncr5380n.h"
+#include "machine/nscsi_bus.h"
+#include "machine/wd_fdc.h"
+#include "machine/z80scc.h"
+#include "bus/nscsi/cd.h"
+#include "bus/nscsi/hd.h"
+#include "bus/rs232/rs232.h"
+
+#define VERBOSE (1)
+#include "logmacro.h"
+
+namespace {
+
+class pbo_state : public driver_device
+{
+public:
+ pbo_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_netcpu(*this, "netcpu")
+ , m_scc(*this, "scc")
+ , m_rs232(*this, "rs232%u", 0U)
+ , m_fdc(*this, "fdc")
+ , m_hdc(*this, "scsi:7:ncr5380n")
+ , m_dmac(*this, "dmac")
+ , m_lance(*this, "lance")
+ , m_main_ram_share(*this, "main_ram")
+ , m_net_ram_share(*this, "net_ram")
+ { }
+
+ void pbo(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ void main_map(address_map &map);
+ void net_map(address_map &map);
+
+ required_device<m68010_device> m_maincpu;
+ required_device<m68010_device> m_netcpu;
+ required_device<scc85c30_device> m_scc;
+ required_device_array<rs232_port_device, 2> m_rs232;
+ required_device<mb8877_device> m_fdc;
+ required_device<ncr5380n_device> m_hdc;
+ required_device<hd63450_device> m_dmac;
+ required_device<am7990_device> m_lance;
+ required_shared_ptr<uint16_t> m_main_ram_share;
+ required_shared_ptr<uint16_t> m_net_ram_share;
+
+ uint16_t berr_r(offs_t offset);
+ void berr_w(offs_t offset, uint16_t data);
+ void scsi_irq_w(int state);
+ void dma_irq_w(int state);
+ void fdc_irq_w(int state);
+ void scc_irq_w(int state);
+ void net_irq_w(int state);
+ void floppy_select_w(uint8_t data);
+ uint8_t fa0101_read();
+ uint8_t net_fe00e1_read();
+};
+
+void pbo_state::main_map(address_map &map)
+{
+ map(0x000000, 0x07ffff).ram().share(m_main_ram_share);
+ map(0x080000, 0xbfffff).rw(FUNC(pbo_state::berr_r), FUNC(pbo_state::berr_w));
+ map(0xf80000, 0xf8ffff).rom().region("maincpu", 0);
+ map(0xfa0000, 0xfa0007).rw(m_fdc, FUNC(mb8877_device::read), FUNC(mb8877_device::write)).umask16(0x00ff);
+ map(0xfa0011, 0xfa0011).w(FUNC(pbo_state::floppy_select_w));
+ map(0xfa0030, 0xfa0037).rw(m_scc, FUNC(scc85c30_device::ab_dc_r), FUNC(scc85c30_device::ab_dc_w)).umask16(0x00ff);
+ map(0xfa8400, 0xfa840f).rw(m_hdc, FUNC(ncr5380n_device::read), FUNC(ncr5380n_device::write)).umask16(0x00ff);
+ map(0xfa0100, 0xfa0101).r(FUNC(pbo_state::fa0101_read)).umask16(0x00ff);
+}
+
+void pbo_state::net_map(address_map &map)
+{
+ map(0x000000, 0x000fff).ram().share(m_net_ram_share); // Unknown RAM size
+ map(0xf00000, 0xf1ffff).ram();
+ map(0xf80000, 0xf83fff).rom().region("netcpu", 0);
+ map(0xfe00e1, 0xfe00e1).r(FUNC(pbo_state::net_fe00e1_read));
+ map(0xfe0100, 0xfe011f).rw("duart", FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+}
+
+uint16_t pbo_state::berr_r(offs_t offset)
+{
+ if(!machine().side_effects_disabled())
+ {
+ m_maincpu->set_buserror_details(0x080000 + offset*2, true, m_maincpu->get_fc());
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
+ }
+ return 0xff;
+}
+
+void pbo_state::berr_w(offs_t offset, uint16_t data)
+{
+ if(!machine().side_effects_disabled())
+ {
+ m_maincpu->set_buserror_details(0x080000 + offset*2, false, m_maincpu->get_fc());
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
+ }
+}
+
+void pbo_state::scsi_irq_w(int state)
+{
+ LOG("SCSI IRQ: %d\n", state);
+ m_maincpu->set_input_line(M68K_IRQ_5, state);
+}
+
+void pbo_state::dma_irq_w(int state)
+{
+ LOG("DMA IRQ: %d\n", state);
+}
+
+void pbo_state::fdc_irq_w(int state)
+{
+ LOG("FDC IRQ: %d\n", state);
+}
+
+void pbo_state::scc_irq_w(int state)
+{
+ LOG("DMA IRQ: %d\n", state);
+}
+
+void pbo_state::net_irq_w(int state)
+{
+ LOG("LANCE IRQ: %d\n", state);
+}
+
+void pbo_state::floppy_select_w(uint8_t data)
+{
+ LOG("Floppy select: %02X\n", data);
+}
+
+// It's unclear what hardware this location corresponds to on the actual board.
+// If it's unmapped, which returns 0 by default, the system hangs with very little
+// meaningful external access.
+// If bit 7 is set, the system defaults to using the serial console.
+uint8_t pbo_state::fa0101_read()
+{
+ LOG("Read from FA0101: 80\n");
+ return 0x80;
+}
+
+uint8_t pbo_state::net_fe00e1_read()
+{
+ return 0;
+}
+
+static INPUT_PORTS_START( pbo )
+INPUT_PORTS_END
+
+void pbo_state::machine_start()
+{
+}
+
+void pbo_state::machine_reset()
+{
+ uint16_t *src = (uint16_t*)memregion("maincpu")->base();
+ uint16_t *dst = &m_main_ram_share[0];
+ memcpy(dst, src, 8);
+
+ src = (uint16_t*)memregion("netcpu")->base();
+ dst = &m_net_ram_share[0];
+ memcpy(dst, src, 8);
+}
+
+static void pbo_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("harddisk", NSCSI_HARDDISK);
+}
+
+static void pbo_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
+
+void pbo_state::pbo(machine_config &config)
+{
+ M68010(config, m_maincpu, 8_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &pbo_state::main_map);
+
+ SCC85C30(config, m_scc, 10_MHz_XTAL); // Unknown PCLK
+ m_scc->configure_channels(4'915'200, 4'915'200, 4'915'200, 4'915'200);
+ m_scc->out_txda_callback().set(m_rs232[0], FUNC(rs232_port_device::write_txd));
+ m_scc->out_dtra_callback().set(m_rs232[0], FUNC(rs232_port_device::write_dtr));
+ m_scc->out_rtsa_callback().set(m_rs232[0], FUNC(rs232_port_device::write_rts));
+ m_scc->out_txdb_callback().set(m_rs232[1], FUNC(rs232_port_device::write_txd));
+ m_scc->out_dtrb_callback().set(m_rs232[1], FUNC(rs232_port_device::write_dtr));
+ m_scc->out_rtsb_callback().set(m_rs232[1], FUNC(rs232_port_device::write_rts));
+ m_scc->out_int_callback().set(FUNC(pbo_state::scc_irq_w));
+
+ RS232_PORT(config, m_rs232[0], default_rs232_devices, "terminal");
+ m_rs232[0]->cts_handler().set(m_scc[0], FUNC(scc85c30_device::ctsa_w));
+ m_rs232[0]->dcd_handler().set(m_scc[0], FUNC(scc85c30_device::dcda_w));
+ m_rs232[0]->rxd_handler().set(m_scc[0], FUNC(scc85c30_device::rxa_w));
+
+ RS232_PORT(config, m_rs232[1], default_rs232_devices, nullptr);
+ m_rs232[1]->cts_handler().set(m_scc[0], FUNC(scc85c30_device::ctsb_w));
+ m_rs232[1]->dcd_handler().set(m_scc[0], FUNC(scc85c30_device::dcdb_w));
+ m_rs232[1]->rxd_handler().set(m_scc[0], FUNC(scc85c30_device::rxb_w));
+
+ HD63450(config, m_dmac, 8_MHz_XTAL, m_maincpu); // MC68450 compatible
+ m_dmac->set_clocks(attotime::from_usec(32), attotime::from_nsec(450), attotime::from_usec(4), attotime::from_hz(15625/2)); // Guesses
+ m_dmac->set_burst_clocks(attotime::from_usec(32), attotime::from_nsec(450), attotime::from_nsec(50), attotime::from_nsec(50)); // Guesses
+ m_dmac->irq_callback().set(FUNC(pbo_state::dma_irq_w));
+ //m_dmac->dma_read<0>().set(m_hdc, FUNC(ncr5380n_device::dma_r));
+ //m_dmac->dma_write<0>().set(m_hdc, FUNC(ncr5380n_device::dma_w));
+
+ MB8877(config, m_fdc, 8_MHz_XTAL / 8); // Unknown clock
+ //m_fdc->set_force_ready(true);
+ m_fdc->intrq_wr_callback().set(FUNC(pbo_state::fdc_irq_w));
+ //m_fdc->drq_wr_callback().set(FUNC(pbo_state::fdc_drq_w));
+ FLOPPY_CONNECTOR(config, "fdc:0", pbo_floppies, "35dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(false);
+
+ NSCSI_BUS(config, "scsi");
+
+ NSCSI_CONNECTOR(config, "scsi:0", pbo_scsi_devices, "harddisk");
+ NSCSI_CONNECTOR(config, "scsi:1", pbo_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:2", pbo_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:3", pbo_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:4", pbo_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:5", pbo_scsi_devices, nullptr);
+ NSCSI_CONNECTOR(config, "scsi:6", pbo_scsi_devices, nullptr);
+
+ NSCSI_CONNECTOR(config, "scsi:7").option_set("ncr5380n", NCR5380N).machine_config(
+ [this](device_t *device)
+ {
+ ncr5380n_device &adapter = downcast<ncr5380n_device &>(*device);
+
+ adapter.irq_handler().set(*this, FUNC(pbo_state::scsi_irq_w));
+ });
+
+ M68010(config, m_netcpu, 20_MHz_XTAL / 2); // Confirmed
+ m_netcpu->set_addrmap(AS_PROGRAM, &pbo_state::net_map);
+
+ AM7990(config, m_lance);
+ m_lance->intr_out().set(FUNC(pbo_state::net_irq_w));
+
+ MC68681(config, "duart", 3'686'400);
+}
+
+ROM_START( pbo )
+ ROM_REGION(0x10000, "maincpu", 0)
+ ROM_LOAD16_BYTE( "even_4.2.bin", 0x0000, 0x8000, CRC(4a10eac1) SHA1(77ef3b17565cd58ccf86df753b30e4ed6212d729) )
+ ROM_LOAD16_BYTE( "odd_4.2.bin", 0x0001, 0x8000, CRC(bed19ea4) SHA1(f69264c192965f65ecc6e39130f3a4861a475f92) )
+
+ ROM_REGION(0x4000, "netcpu", 0)
+ ROM_LOAD16_BYTE( "knlrom10_4.2_h.bin", 0x0000, 0x2000, CRC(28ecadca) SHA1(0eca5b407c7d4fc1312b96ccb486952206d627a9) )
+ ROM_LOAD16_BYTE( "knlrom10_4.2_l.bin", 0x0001, 0x2000, CRC(40bba894) SHA1(924979ea7e383cb76bc68c785933bb5595446eae) )
+ROM_END
+
+} // Anonymous namespace
+
+COMP( 1987, pbo, 0, 0, pbo, pbo, pbo_state, empty_init, "Philips", "BO (Videosynthesizer Prototype)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp
index 58e8c6390b0..268af7b27b4 100644
--- a/src/mame/drivers/phoenix.cpp
+++ b/src/mame/drivers/phoenix.cpp
@@ -1598,55 +1598,55 @@ void phoenix_state::init_oneprom_coindsw()
/*** Phoenix (& clones) ***/
-GAME( 1980, phoenix, 0, phoenix, phoenix, phoenix_state, empty_init, ROT90, "Amstar", "Phoenix (Amstar, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenix2, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "Amstar", "Phoenix (Amstar, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenixa, phoenix, phoenix, phoenixa, phoenix_state, empty_init, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenixb, phoenix, phoenix, phoenixa, phoenix_state, empty_init, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenixt, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "Amstar (Taito license)", "Phoenix (Taito)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenixj, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "Amstar (Taito Japan license)", "Phoenix (Taito Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenix3, phoenix, phoenix, phoenix3, phoenix_state, empty_init, ROT90, "bootleg (T.P.N.)", "Phoenix (T.P.N. bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, phoenixdal, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (D&L)", "Phoenix (D&L bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixc, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixc2, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixc3, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 3)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixc4, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa / G.G.I Corp)", "Phoenix (Irecsa / G.G.I Corp, set 4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixgu, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (G. Universal Video)", "Phoenix (G. Universal Video bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixi, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (IDI)", "Phoenix (IDI bootleg)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // Needs correct color PROM decode
-GAME( 1980, fenixn, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Niemer)", "Fenix (Niemer bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, condor, phoenix, condor, condor, phoenix_state, init_coindsw, ROT90, "bootleg (Sidam)", "Condor (Sidam bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, condorn, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (S C Novar)", "Condor (S C Novar bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenix, 0, phoenix, phoenix, phoenix_state, empty_init, ROT90, "Amstar", "Phoenix (Amstar, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenix2, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "Amstar", "Phoenix (Amstar, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenixa, phoenix, phoenix, phoenixa, phoenix_state, empty_init, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenixb, phoenix, phoenix, phoenixa, phoenix_state, empty_init, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenixt, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "Amstar (Taito license)", "Phoenix (Taito)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenixj, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "Amstar (Taito Japan license)", "Phoenix (Taito Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenix3, phoenix, phoenix, phoenix3, phoenix_state, empty_init, ROT90, "bootleg (T.P.N.)", "Phoenix (T.P.N. bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, phoenixdal, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (D&L)", "Phoenix (D&L bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixc, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa / G.G.I. Corporation)", "Phoenix (Irecsa / G.G.I. Corporation)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixc2, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (G.G.I. Corporation)", "Phoenix (G.G.I. Corporation, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixc3, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (G.G.I. Corporation)", "Phoenix (G.G.I. Corporation, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixc4, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (G.G.I. Corporation)", "Phoenix (G.G.I. Corporation, set 3)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixgu, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg? (G. Universal Video)", "Phoenix (G. Universal Video bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixi, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (IDI)", "Phoenix (IDI bootleg)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // Needs correct color PROM decode
+GAME( 1980, fenixn, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Niemer)", "Fenix (Niemer bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, condor, phoenix, condor, condor, phoenix_state, init_coindsw, ROT90, "bootleg (Sidam)", "Condor (Sidam bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, condorn, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (S C Novar)", "Condor (S C Novar bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
// the following 2 were common bootlegs in England & France respectively
-GAME( 1980, falcon, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (8085A CPU)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, vautour, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (8085A CPU)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, falconz, phoenix, condor, falconz, phoenix_state, empty_init, ROT90, "bootleg (Digimatic)", "Falcon (bootleg of Phoenix) (Z80 CPU)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, vautourz, phoenix, condor, condor, phoenix_state, init_coindsw, ROT90, "bootleg", "Vautour (bootleg of Phoenix) (Z80 CPU)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, vautourza, phoenix, condor , phoenixt, phoenix_state, init_oneprom, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (Z80 CPU, single PROM)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, falcon, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (8085A CPU)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, vautour, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (8085A CPU)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, falconz, phoenix, condor, falconz, phoenix_state, empty_init, ROT90, "bootleg (Digimatic)", "Falcon (bootleg of Phoenix) (Z80 CPU)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, vautourz, phoenix, condor, condor, phoenix_state, init_coindsw, ROT90, "bootleg", "Vautour (bootleg of Phoenix) (Z80 CPU)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, vautourza, phoenix, condor , phoenixt, phoenix_state, init_oneprom, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (Z80 CPU, single PROM)", MACHINE_SUPPORTS_SAVE )
// German bootlegs
-GAME( 1981, phoenixha, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (Hellomat Automaten)", "Phoenix (Hellomat Automaten bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixha, phoenix, phoenix, phoenixt, phoenix_state, empty_init, ROT90, "bootleg (Hellomat Automaten)", "Phoenix (Hellomat Automaten bootleg)", MACHINE_SUPPORTS_SAVE )
// fenix is an Italian bootleg based on vautourz (also an unrelated Spanish bootleg from Niemer)
-GAME( 1980, fenix, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Orio)", "Fenix (Orio bootleg of Phoenix)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1980, griffon, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Videotron)", "Griffon (Videotron bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, griffono, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Olympia)", "Griffon (Olympia bootleg of Phoenix)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1980, fenix, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Orio)", "Fenix (Orio bootleg of Phoenix)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1980, griffon, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Videotron)", "Griffon (Videotron bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, griffono, phoenix, condor, condor, phoenix_state, init_oneprom_coindsw, ROT90, "bootleg (Olympia)", "Griffon (Olympia bootleg of Phoenix)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
// nextfase is a Spanish bootleg
-GAME( 1981, nextfase, phoenix, phoenix, nextfase, phoenix_state, empty_init, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, nextfase, phoenix, phoenix, nextfase, phoenix_state, empty_init, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
// as is this
-GAME( 1981, phoenixs, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Sonic)", "Phoenix (Sonic, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, phoenixass, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Assa)", "Phoenix (Assa, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, avefenix, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Video Game)", "Ave Fenix (Electrogame, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE ) // Electrogame (Barcelona) made the dedicated cabinet and is likely the real manufacturer, ingame shows 'Video Game'
-GAME( 1980, avefenixrf, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Recreativos Franco S.A.)", "Ave Fenix (Recreativos Franco, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
-GAME( 1980, avefenixl, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Laguna)", "Ave Fenix (Laguna, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixs, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Sonic)", "Phoenix (Sonic, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, phoenixass, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Assa)", "Phoenix (Assa, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, avefenix, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Video Game)", "Ave Fenix (Electrogame, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE ) // Electrogame (Barcelona) made the dedicated cabinet. Ingame shows 'Video Game', as Electrogame changed its name to Video Game S.A.
+GAME( 1980, avefenixrf, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Recreativos Franco S.A.)", "Ave Fenix (Recreativos Franco, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1980, avefenixl, phoenix, phoenix, phoenix, phoenix_state, empty_init, ROT90, "bootleg (Laguna)", "Ave Fenix (Laguna, Spanish bootleg of Phoenix)", MACHINE_SUPPORTS_SAVE )
/*** Pleiads (& clones) ***/
-GAME( 1981, pleiads, 0, pleiads, pleiads, phoenix_state, empty_init, ROT90, "Tehkan", "Pleiads (Tehkan)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1981, pleiadsb2, pleiads, pleiads, pleiads, phoenix_state, empty_init, ROT90, "bootleg (ESG)", "Pleiads (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, pleiadbl, pleiads, pleiads, pleiadbl, phoenix_state, empty_init, ROT90, "bootleg", "Pleiads (bootleg set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1981, pleiadce, pleiads, pleiads, pleiadce, phoenix_state, empty_init, ROT90, "Tehkan (Centuri license)", "Pleiads (Centuri)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1981, pleiadsi, pleiads, pleiads, pleiadce, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa)", "Pleiads (Irecsa)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // possibly licensed, but some of the roms match the bootlegs
-GAME( 1981, pleiadsn, pleiads, phoenix, pleiadce, phoenix_state, empty_init, ROT90, "Niemer S.A.", "Pleiads (Niemer S.A.)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // possibly licensed, but some of the roms match the bootlegs
-GAME( 1981, pleiadss, pleiads, phoenix, pleiadce, phoenix_state, empty_init, ROT90, "bootleg", "Pleiads (Spanish bootleg)", MACHINE_SUPPORTS_SAVE ) // colours match PCB (but are ugly)
-GAME( 1981, capitol, pleiads, phoenix, capitol, phoenix_state, empty_init, ROT90, "bootleg? (Universal Video Spiel)", "Capitol", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, pleiads, 0, pleiads, pleiads, phoenix_state, empty_init, ROT90, "Tehkan", "Pleiads (Tehkan)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, pleiadsb2, pleiads, pleiads, pleiads, phoenix_state, empty_init, ROT90, "bootleg (ESG)", "Pleiads (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, pleiadbl, pleiads, pleiads, pleiadbl, phoenix_state, empty_init, ROT90, "bootleg", "Pleiads (bootleg set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, pleiadce, pleiads, pleiads, pleiadce, phoenix_state, empty_init, ROT90, "Tehkan (Centuri license)", "Pleiads (Centuri)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, pleiadsi, pleiads, pleiads, pleiadce, phoenix_state, empty_init, ROT90, "bootleg? (Irecsa)", "Pleiads (Irecsa)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // possibly licensed, but some of the ROMs match the bootlegs
+GAME( 1981, pleiadsn, pleiads, phoenix, pleiadce, phoenix_state, empty_init, ROT90, "Niemer S.A.", "Pleiads (Niemer S.A.)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // possibly licensed, but some of the ROMs match the bootlegs
+GAME( 1981, pleiadss, pleiads, phoenix, pleiadce, phoenix_state, empty_init, ROT90, "bootleg", "Pleiads (Spanish bootleg)", MACHINE_SUPPORTS_SAVE ) // colours match PCB (but are ugly)
+GAME( 1981, capitol, pleiads, phoenix, capitol, phoenix_state, empty_init, ROT90, "bootleg? (Universal Video Spiel)", "Capitol", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
/*** Others ***/
-GAME( 1982, survival, 0, survival, survival, phoenix_state, empty_init, ROT90, "Rock-Ola", "Survival", MACHINE_SUPPORTS_SAVE ) // colors match PCB
+GAME( 1982, survival, 0, survival, survival, phoenix_state, empty_init, ROT90, "Rock-Ola", "Survival", MACHINE_SUPPORTS_SAVE ) // colors match PCB
diff --git a/src/mame/drivers/pipedrm.cpp b/src/mame/drivers/pipedrm.cpp
index a6ca9fa918d..b879b7968c6 100644
--- a/src/mame/drivers/pipedrm.cpp
+++ b/src/mame/drivers/pipedrm.cpp
@@ -167,8 +167,7 @@ Added Multiple Coin Feature:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2608.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/pipeline.cpp b/src/mame/drivers/pipeline.cpp
index dadcec912ad..861ac1fd89b 100644
--- a/src/mame/drivers/pipeline.cpp
+++ b/src/mame/drivers/pipeline.cpp
@@ -74,7 +74,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "machine/i8255.h"
#include "machine/z80ctc.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/pkscram.cpp b/src/mame/drivers/pkscram.cpp
index b3c9e7294d8..63c7b181cb0 100644
--- a/src/mame/drivers/pkscram.cpp
+++ b/src/mame/drivers/pkscram.cpp
@@ -17,7 +17,7 @@ driver by David Haywood and few bits by Pierpaolo Prazzoli
#include "cpu/m68000/m68000.h"
#include "machine/nvram.h"
#include "machine/timer.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/plsonic4.cpp b/src/mame/drivers/plsonic4.cpp
new file mode 100644
index 00000000000..faf0a79ac6f
--- /dev/null
+++ b/src/mame/drivers/plsonic4.cpp
@@ -0,0 +1,195 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/*
+Play Sonic 4 by SegaSA / Sonic
+
+This is a multi-game system. Up to 4 JAMMA PCBs can be connected and the player can decide which game to play.
+The system offers digital counters for time of play and credits (configurable via dips), and game statistics.
+
+The PCB doesn't seem to have any markings.
+Main components are:
+Z8400AB1 main CPU
+3x 6116 RAMs
+8-dip bank
+4-dip bank
+8? MHz XTAL (near main CPU)
+20 MHz XTAL
+lots of TTL
+4x digital counters
+lots of wires
+
+There's a very small riser PCB marked 1B-2001-241 with a couple of TTL and a slightly bigger one marked 1B-2001-238 with 3 TTL.
+*/
+
+#include "emu.h"
+#include "cpu/z80/z80.h"
+#include "emupal.h"
+#include "screen.h"
+#include "tilemap.h"
+
+
+namespace {
+
+class plsonic4_state : public driver_device
+{
+public:
+ plsonic4_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu"),
+ m_gfxdecode(*this, "gfxdecode"),
+ m_videoram(*this, "videoram")
+ { }
+
+ void plsonic4(machine_config &config);
+
+protected:
+ virtual void video_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_shared_ptr<uint8_t> m_videoram;
+
+ tilemap_t *m_tilemap;
+
+ TILE_GET_INFO_MEMBER(tile_info);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ void prg_map(address_map &map);
+ void io_map(address_map &map);
+};
+
+
+void plsonic4_state::video_start()
+{
+ m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(plsonic4_state::tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+}
+
+TILE_GET_INFO_MEMBER(plsonic4_state::tile_info) // TODO: this is the bare minimum to see what's going on
+{
+ int code = m_videoram[tile_index * 2];
+
+ //uint8_t color = ; //TODO
+
+ tileinfo.set(0, code, 0, 0);
+}
+
+uint32_t plsonic4_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ m_tilemap->mark_all_dirty();
+ m_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+
+ return 0;
+}
+
+
+void plsonic4_state::prg_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().region("maincpu", 0);
+ map(0x8000, 0x8fff).ram();
+ map(0x9000, 0x97ff).ram().share(m_videoram); // TODO: really all this range?
+ map(0x9800, 0x99ff).ram(); // ??
+}
+
+void plsonic4_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+
+ // map(0x00, 0x1f).w(); // digital counters?
+ // map(0x00, 0x03).r(); // dips? coins? inputs? coin counters?
+}
+
+
+static INPUT_PORTS_START( plsonic4 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW0")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSW1") // 4 dip bank
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+
+static GFXDECODE_START( gfx_plsonic4 )
+ GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x3_planar, 0, 16 ) // TODO: check this
+GFXDECODE_END
+
+
+void plsonic4_state::plsonic4(machine_config &config)
+{
+ // basic machine hardware
+ Z80(config, m_maincpu, 8_MHz_XTAL / 2); // divider not verified
+ m_maincpu->set_addrmap(AS_PROGRAM, &plsonic4_state::prg_map);
+ m_maincpu->set_addrmap(AS_IO, &plsonic4_state::io_map);
+
+ // video hardware
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO: this is just copy-pasted, needs to be fixed
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(32 * 8, 32 * 8);
+ screen.set_visarea(0 * 8, 32 * 8 - 1, 2 * 8, 30 * 8 - 1);
+ screen.set_screen_update(FUNC(plsonic4_state::screen_update));
+
+ PALETTE(config, "palette").set_entries(16);
+ GFXDECODE(config, "gfxdecode", "palette", gfx_plsonic4);
+}
+
+
+ROM_START( plsonic4 )
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "segasa_m-12_play_sonic_4_1.bin", 0x0000, 0x8000, CRC(f7fb2259) SHA1(4525ad6c38b12e5abf6f57ed16963a4ce48f3c5d) ) // second half is almost empty
+
+ ROM_REGION( 0x6000, "gfx", 0 )
+ ROM_LOAD( "segasa_m-12_play_sonic_4_2.bin", 0x0000, 0x2000, CRC(58b2b6a0) SHA1(6271f83a0c7858add286e4faaf5999916debcb70) )
+ ROM_LOAD( "segasa_m-12_play_sonic_4_3.bin", 0x2000, 0x2000, CRC(d124045b) SHA1(a6e258582a80b411e718df87927a240ff9c59b2d) )
+ ROM_LOAD( "segasa_m-12_play_sonic_4_4.bin", 0x4000, 0x2000, CRC(3db5dd0a) SHA1(c9c17a5c696f2ded8362fab2658913cca630665d) )
+ROM_END
+
+} // Anonymous namespace
+
+
+GAME( 1991, plsonic4, 0, plsonic4, plsonic4, plsonic4_state, empty_init, ROT0, "SegaSA / Sonic", "Play Sonic 4", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/pokechmp.cpp b/src/mame/drivers/pokechmp.cpp
index a5b250a5f2a..c4b6c0ef3a1 100644
--- a/src/mame/drivers/pokechmp.cpp
+++ b/src/mame/drivers/pokechmp.cpp
@@ -45,8 +45,8 @@ ClawGrip, Jul 2006
#include "cpu/m6502/m6502.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/popobear.cpp b/src/mame/drivers/popobear.cpp
index 80a6ec1e430..2bc59fd57fe 100644
--- a/src/mame/drivers/popobear.cpp
+++ b/src/mame/drivers/popobear.cpp
@@ -81,7 +81,7 @@ Component Side A B Solder Side
#include "cpu/m68000/m68000.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp
index ebd2d1fcca6..fcbcf3cfec0 100644
--- a/src/mame/drivers/powerins.cpp
+++ b/src/mame/drivers/powerins.cpp
@@ -39,7 +39,7 @@ TODO:
#include "machine/gen_latch.h"
#include "machine/nmk112.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ppmast93.cpp b/src/mame/drivers/ppmast93.cpp
index 65108a605d3..9172a79e3e5 100644
--- a/src/mame/drivers/ppmast93.cpp
+++ b/src/mame/drivers/ppmast93.cpp
@@ -135,7 +135,7 @@ Dip locations added based on the notes above.
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/dac.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/prehisle.cpp b/src/mame/drivers/prehisle.cpp
index e21ee218ba5..77c48a10d2f 100644
--- a/src/mame/drivers/prehisle.cpp
+++ b/src/mame/drivers/prehisle.cpp
@@ -16,7 +16,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index 666662ef484..4f6ddeb786f 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -85,8 +85,8 @@ This was pointed out by Bart Puype
#include "cpu/m68000/m68000.h"
#include "cpu/pic16c5x/pic16c5x.h"
#include "sound/okim6295.h"
-#include "sound/ym2610.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp
index 3f7283040a7..27a104059d9 100644
--- a/src/mame/drivers/psikyosh.cpp
+++ b/src/mame/drivers/psikyosh.cpp
@@ -279,7 +279,7 @@ Notes:
#include "cpu/sh/sh2.h"
#include "machine/eepromser.h"
#include "machine/watchdog.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/psrockman.cpp b/src/mame/drivers/psrockman.cpp
index 41990637c99..3d5cdf25a4d 100644
--- a/src/mame/drivers/psrockman.cpp
+++ b/src/mame/drivers/psrockman.cpp
@@ -36,7 +36,7 @@ ZILOG Z80 CPU
#include "speaker.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
namespace {
diff --git a/src/mame/drivers/psychic5.cpp b/src/mame/drivers/psychic5.cpp
index bef4f9e5f9f..bdf5f4f3328 100644
--- a/src/mame/drivers/psychic5.cpp
+++ b/src/mame/drivers/psychic5.cpp
@@ -334,7 +334,7 @@ Notes (23-Jan-2016 AS):
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/puckpkmn.cpp b/src/mame/drivers/puckpkmn.cpp
index 4489ddc83f1..d7c0cbffd8e 100644
--- a/src/mame/drivers/puckpkmn.cpp
+++ b/src/mame/drivers/puckpkmn.cpp
@@ -48,7 +48,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
#include "sound/sn76496.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "includes/megadriv.h"
#include "includes/megadriv_acbl.h"
diff --git a/src/mame/drivers/quizdna.cpp b/src/mame/drivers/quizdna.cpp
index 0132394eb95..f682d0c6465 100644
--- a/src/mame/drivers/quizdna.cpp
+++ b/src/mame/drivers/quizdna.cpp
@@ -15,7 +15,7 @@ Quiz Gekiretsu Scramble (Gakuen Paradise 2) (c) 1993 Face
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/quizpun2.cpp b/src/mame/drivers/quizpun2.cpp
index 8166998f50b..805eb85698a 100644
--- a/src/mame/drivers/quizpun2.cpp
+++ b/src/mame/drivers/quizpun2.cpp
@@ -90,7 +90,7 @@ Notes:
#include "machine/eepromser.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp
index 484f9e13205..e631d2b18d0 100644
--- a/src/mame/drivers/r2dx_v33.cpp
+++ b/src/mame/drivers/r2dx_v33.cpp
@@ -69,7 +69,7 @@ Then it puts settings at 0x9e08 and 0x9e0a (bp 91acb)
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "machine/r2crypt.h"
#include "speaker.h"
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index e4564c2fd31..c2b9fbe9113 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -79,7 +79,7 @@
#include "cpu/nec/nec.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/seibu_crtc.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp
index ab0b89cf0d3..68732d64797 100644
--- a/src/mame/drivers/raiden2.cpp
+++ b/src/mame/drivers/raiden2.cpp
@@ -175,8 +175,8 @@ Protection Notes:
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "machine/r2crypt.h"
#include "debugger.h"
@@ -3130,7 +3130,7 @@ GAME( 1993, raiden2i, raiden2, raiden2, raiden2, raiden2_state, init_raiden
// code rev with first ROM having checksum 2abc848c
GAME( 1993, raiden2e, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (easier, Korea)", MACHINE_SUPPORTS_SAVE ) // (Region 0x04) - Korea, if regions are the same as RDX, no license or region message tho
-GAME( 1993, raiden2eub, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (easier, US set 3)", MACHINE_SUPPORTS_SAVE ) // (Region 0x01) - PRG0 is same as raiden2e, but PRG1 has region byte different than raiden2e, other ROMs match raiden2u
+GAME( 1993, raiden2eub, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (easier, US set 3)", MACHINE_SUPPORTS_SAVE ) // (Region 0x01) - PRG0 is same as raiden2e, but PRG1 has region byte different than raiden2e, other ROMs match raiden2u
// code rev with first ROM having checksum ed1514e3 (using 4x program ROM configuration, not 2) would have crc 2abc848c in 2 ROM config, so same rev as above
GAME( 1993, raiden2eua, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (easier, US set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, raiden2eg, raiden2, raiden2, raiden2, raiden2_state, init_raiden2, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden II (easier, Germany)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/raiden_ms.cpp b/src/mame/drivers/raiden_ms.cpp
index e2df9b8095e..3d54d0866af 100644
--- a/src/mame/drivers/raiden_ms.cpp
+++ b/src/mame/drivers/raiden_ms.cpp
@@ -202,7 +202,7 @@ _|_ 74LS86PC 74LS299N |RD4B3 | 74LS153PC|V|| _|_ 74LS86PC 74LS299N |RD4A3
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rastan.cpp b/src/mame/drivers/rastan.cpp
index e81fbcb0e75..2a7eaf5a6df 100644
--- a/src/mame/drivers/rastan.cpp
+++ b/src/mame/drivers/rastan.cpp
@@ -163,7 +163,7 @@ Note: The 'rastsagaa' set's rom numbers were named as RSxx_37 through RSxx_42
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index 137d40f2b62..5ede9320e40 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -326,8 +326,8 @@ Stephh's notes (based on the game M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp
index f7ef7d981ce..212031a2d84 100644
--- a/src/mame/drivers/rbmk.cpp
+++ b/src/mame/drivers/rbmk.cpp
@@ -59,7 +59,7 @@ Keep pressed 9 and press reset to enter service mode.
#include "cpu/mcs51/mcs51.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index 27320615147..1b035336e85 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -47,7 +47,7 @@ To Do:
#include "includes/realbrk.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "sound/ymz280b.h"
#include "speaker.h"
diff --git a/src/mame/drivers/regence.cpp b/src/mame/drivers/regence.cpp
index 2617c6c3e5a..d03f75fe4c0 100644
--- a/src/mame/drivers/regence.cpp
+++ b/src/mame/drivers/regence.cpp
@@ -14,10 +14,6 @@ Hardware notes:
- 2KB RAM (MSM5128-15RS), 3 sockets, only middle one used
- TTL, piezo, 8*8+4 LEDs, magnetic sensors
-TODO:
-- verify irq source/frequency, probably a 555 ic, current approximation is from
- comparing led blink rate with a video recording
-
******************************************************************************/
#include "emu.h"
@@ -181,7 +177,7 @@ void regence_state::regence(machine_config &config)
Z80(config, m_maincpu, 8_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &regence_state::main_map);
- m_maincpu->set_periodic_int(FUNC(regence_state::irq0_line_hold), attotime::from_hz(400)); // approximation
+ m_maincpu->set_periodic_int(FUNC(regence_state::irq0_line_hold), attotime::from_hz(448)); // from 555, measured
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
@@ -204,9 +200,9 @@ void regence_state::regence(machine_config &config)
ROM_START( regence )
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD("ic13", 0x0000, 0x1000, CRC(ac6a0a67) SHA1(52b115c7cd372dfbad14b00854aa4f6f75a937d3) )
- ROM_LOAD("ic12", 0x4000, 0x1000, CRC(5c2fb0c7) SHA1(811ab3d7cefcf872741eb2265115080aaf913f0f) )
- ROM_LOAD("ic11", 0x8000, 0x1000, CRC(e4c39dbd) SHA1(b6a6d1d39f73a2ff1ade6205bdf180be13e84df3) )
+ ROM_LOAD("arc0.ic13", 0x0000, 0x1000, CRC(ac6a0a67) SHA1(52b115c7cd372dfbad14b00854aa4f6f75a937d3) ) // M5L2732K
+ ROM_LOAD("arc1.ic12", 0x4000, 0x1000, CRC(5c2fb0c7) SHA1(811ab3d7cefcf872741eb2265115080aaf913f0f) ) // "
+ ROM_LOAD("arc2.ic11", 0x8000, 0x1000, CRC(e4c39dbd) SHA1(b6a6d1d39f73a2ff1ade6205bdf180be13e84df3) ) // "
ROM_END
} // anonymous namespace
diff --git a/src/mame/drivers/relief.cpp b/src/mame/drivers/relief.cpp
index acba77eefbb..16b6b824001 100644
--- a/src/mame/drivers/relief.cpp
+++ b/src/mame/drivers/relief.cpp
@@ -93,7 +93,7 @@ ROM labels are in this format:
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp
index 14e4b2ec327..5eec5476e31 100644
--- a/src/mame/drivers/renegade.cpp
+++ b/src/mame/drivers/renegade.cpp
@@ -119,7 +119,7 @@ $8000 - $ffff ROM
#include "cpu/m6502/m6502.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym3526.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rfslotsmcs48.cpp b/src/mame/drivers/rfslotsmcs48.cpp
index a82e32c74be..235ac52ccc4 100644
--- a/src/mame/drivers/rfslotsmcs48.cpp
+++ b/src/mame/drivers/rfslotsmcs48.cpp
@@ -54,7 +54,7 @@ protected:
required_device<i8035_device> m_maincpu;
required_device<i8748_device> m_audiocpu;
};
-
+
INPUT_PORTS_START(ajofrin)
INPUT_PORTS_END
diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp
index d07492a7809..099eccd1026 100644
--- a/src/mame/drivers/rmnimbus.cpp
+++ b/src/mame/drivers/rmnimbus.cpp
@@ -214,11 +214,11 @@ void rmnimbus_state::nimbus(machine_config &config)
/*
Known unavailable BIOS set:
- Another version of v1.31a labelled: SYS1 16128 31/10/86, SYS2 16129 28/10/86
- Another version of v1.32c labelled: SYS1 17130 10.03.87, SYS 2. 17131 09.03.87
- Another version of v1.32c labelled: SYS 1 21323 2/12/88, SYS 2 21324 5/1/89
- v1.33c labelled "RESEARCH MACHINE P.N. 32857(32858) PC186 SYS1(SYS2) V1.33C", no date labelled
- Another version of v1.40d labelled: 24693 IC30 02/7/91(AA), 24694 IC27 28/6/91(AA)
+ Another version of v1.31a labelled: SYS1 16128 31/10/86, SYS2 16129 28/10/86
+ Another version of v1.32c labelled: SYS1 17130 10.03.87, SYS 2. 17131 09.03.87
+ Another version of v1.32c labelled: SYS 1 21323 2/12/88, SYS 2 21324 5/1/89
+ v1.33c labelled "RESEARCH MACHINE P.N. 32857(32858) PC186 SYS1(SYS2) V1.33C", no date labelled
+ Another version of v1.40d labelled: 24693 IC30 02/7/91(AA), 24694 IC27 28/6/91(AA)
*/
ROM_START( nimbus )
ROM_REGION( 0x100000, MAINCPU_TAG, 0 )
@@ -226,7 +226,7 @@ ROM_START( nimbus )
ROM_SYSTEM_BIOS(0, "v125a", "Nimbus BIOS v1.25a (1985-12-02)")
ROMX_LOAD("sys1-1.25a_13484_6-11-85_m5m27256p.rom", 0xf0001, 0x8000, CRC(5870df28) SHA1(12e1a7d22439d512b221c355d641d113f0e6568e), ROM_SKIP(1) | ROM_BIOS(0))
ROMX_LOAD("sys2-1.25a_13485_2-12-85_m5m27256p.rom", 0xf0000, 0x8000, CRC(15888320) SHA1(32cc2485468c6a9944e505162e319a283eef8a84), ROM_SKIP(1) | ROM_BIOS(0))
-
+
ROM_SYSTEM_BIOS(1, "v131a", "Nimbus BIOS v1.31a (1986-06-18)")
ROMX_LOAD("sys1-1.31a-16128-1986-06-18.rom", 0xf0001, 0x8000, CRC(6416eb05) SHA1(1b640163a7efbc24381c7b24976a8609c066959b), ROM_SKIP(1) | ROM_BIOS(1))
ROMX_LOAD("sys2-1.31a-16129-1986-06-18.rom", 0xf0000, 0x8000, CRC(b224359d) SHA1(456bbe37afcd4429cca76ba2d6bd534dfda3fc9c), ROM_SKIP(1) | ROM_BIOS(1))
@@ -238,7 +238,7 @@ ROM_START( nimbus )
ROM_SYSTEM_BIOS(3, "v132d", "Nimbus BIOS v1.32d (1989-01-20)")
ROMX_LOAD("sys1-1.32d_21323_17-1-89_m5m27256p_63210c.rom", 0xf0001, 0x8000, CRC(e0ecbc02) SHA1(b5cb16df23bd30af5556660364e4733790f99164), ROM_SKIP(1) | ROM_BIOS(3))
ROMX_LOAD("sys2-1.32d_21324_20-1-89_m5m27256p_63210c.rom", 0xf0000, 0x8000, CRC(8ef4a357) SHA1(29309cb8bfe9256d4684f3e6575e3720b0dcacd4), ROM_SKIP(1) | ROM_BIOS(3))
-
+
ROM_SYSTEM_BIOS(4, "v132f", "Nimbus BIOS v1.32f (1989-11-29)")
ROMX_LOAD("sys-1-1.32f-22779-1989-11-29.rom", 0xf0001, 0x8000, CRC(786c31e8) SHA1(da7f828f7f96087518bea1a3d89fee59b283b4ba), ROM_SKIP(1) | ROM_BIOS(4))
ROMX_LOAD("sys-2-1.32f-22778-1989-11-29.rom", 0xf0000, 0x8000, CRC(0be3db64) SHA1(af806405ec6fbc20385705f90d5059a47de17b08), ROM_SKIP(1) | ROM_BIOS(4))
diff --git a/src/mame/drivers/rockrage.cpp b/src/mame/drivers/rockrage.cpp
index 654acd12e7e..bf4959b48c8 100644
--- a/src/mame/drivers/rockrage.cpp
+++ b/src/mame/drivers/rockrage.cpp
@@ -56,7 +56,7 @@ Notes:
#include "cpu/m6809/m6809.h"
#include "cpu/m6809/hd6309.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index 1af9b32eb22..4e3cfabd10f 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -119,7 +119,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/decocrpt.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
#include <algorithm>
@@ -1721,6 +1721,51 @@ ROM_START( nitrobala )
ROM_LOAD( "jn-00.17l", 0x00000, 0x400, CRC(6ac77b84) SHA1(9e1e2cabdb20b819e592a0f07d15658062227fa4) ) /* Priority (unused) */
ROM_END
+ROM_START( nitrobalb )
+ ROM_REGION(0x200000, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_BYTE( "mm-01.d3", 0x000000, 0x20000, CRC(81ca7ef0) SHA1(7090dc77eaee57805f723ef1c21e245d8c9e5c20) )
+ ROM_LOAD16_BYTE( "mm-00.b3", 0x000001, 0x20000, CRC(e3416c4f) SHA1(8cbe6e1d5248c85112d7059aeecc1e185fdd77d7) )
+ ROM_LOAD16_BYTE( "mm-03.d5", 0x040000, 0x20000, CRC(ed9792aa) SHA1(b540a828b5d7f4859e2b927b8ca843f0462d0b0b) )
+ ROM_LOAD16_BYTE( "mm-02.b5", 0x040001, 0x20000, CRC(9a568ed3) SHA1(acc254af3c9079eb91af52fcfda18c1cfadfd1ce) )
+ ROM_LOAD16_BYTE( "mm-05.d6", 0x080000, 0x40000, CRC(b820fa20) SHA1(8509567cf988fe27552d37241b25b66a6e1a9c39) )
+ ROM_LOAD16_BYTE( "mm-04.b6", 0x080001, 0x40000, CRC(1fd8995b) SHA1(75d77835500e4b7caca92ba634859d7a2ad9b84c) )
+ /* Two empty rom slots at d7, b7 */
+
+ ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_LOAD( "mm-08.r20", 0x00000, 0x10000, CRC(93d93fe1) SHA1(efc618724251d23a23b3019d475f7739a7e88751) )
+
+ ROM_REGION( 0x020000, "gfx1", 0 )
+ ROM_LOAD16_BYTE( "mm-06.d10", 0x00000, 0x10000, CRC(91cf668e) SHA1(fc153eaa09777f79369037a139470ad1118e8d7e) ) /* Chars */
+ ROM_LOAD16_BYTE( "mm-07.d12", 0x00001, 0x10000, CRC(e61d0e42) SHA1(80d6ada356c721b0be826554ec6731dbbc19e0ab) )
+
+ ROM_REGION( 0x100000, "gfx2", 0 )
+ ROM_LOAD( "mav00.b10", 0x00000, 0x80000, CRC(34785d97) SHA1(094f881cd699d1b9fd079778f20f8c9d83283e6e) ) /* Tiles */
+ ROM_LOAD( "mav01.b12", 0x80000, 0x80000, CRC(8b531b16) SHA1(f734286f4510b2c09dc2d6d2b8c8da9dc4424287) )
+
+ ROM_REGION( 0x200000, "gfx3", 0 )
+ ROM_LOAD( "mav02.b16", 0x000000, 0x100000, CRC(20723bf7) SHA1(b3491d98ff415701fec2b58d85f99c743d71b013) ) /* Tiles */
+ ROM_LOAD( "mav03.e16", 0x100000, 0x100000, CRC(ef6195f0) SHA1(491bc030519c78b84396f7f8a21df9daf8acc140) )
+
+ ROM_REGION( 0x300000, "gfx4", 0 )
+ ROM_LOAD( "mav04.b19", 0x000000, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) ) /* Sprites #1 */
+ ROM_LOAD( "mav05.e19", 0x180000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) )
+ ROM_LOAD( "mav06.b20", 0x100000, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
+ ROM_LOAD( "mav07.e20", 0x280000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
+
+ ROM_REGION( 0x80000, "gfx5", 0 )
+ ROM_LOAD( "mav08.b23", 0x000000, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) ) /* Sprites #2 */
+ ROM_LOAD( "mav09.e23", 0x040000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) )
+
+ ROM_REGION(0x80000, "oki1", 0 ) /* Oki samples */
+ ROM_LOAD( "mav10.r17", 0x00000, 0x80000, CRC(8ad734b0) SHA1(768b9f54bbf4b54591cafecb7a27960da919ce84) )
+
+ ROM_REGION(0x80000, "oki2", 0 ) /* Oki samples */
+ ROM_LOAD( "mav11.r19", 0x00000, 0x80000, CRC(ef513908) SHA1(72db6c704071d7a784b3768c256fc51087e9e93c) )
+
+ ROM_REGION( 1024, "proms", 0 )
+ ROM_LOAD( "jn-00.17l", 0x00000, 0x400, CRC(6ac77b84) SHA1(9e1e2cabdb20b819e592a0f07d15658062227fa4) ) /* Priority (unused) */
+ROM_END
+
ROM_START( gunball )
ROM_REGION(0x200000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "jc01.3d", 0x000000, 0x20000, CRC(61bfa998) SHA1(bee57cf5f1759d68948d27a2aaa817c4fc1e5e5a) )
@@ -1897,6 +1942,7 @@ GAME( 1992, darkseal2, wizdfire, wizdfire, wizdfire, rohga_state, init_wizdfire,
GAME( 1992, nitrobal, 0, nitrobal, nitrobal, rohga_state, init_nitrobal, ROT270, "Data East Corporation", "Nitro Ball (World, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1992, nitrobala, nitrobal, nitrobal, nitrobal, rohga_state, init_nitrobal, ROT270, "Data East Corporation", "Nitro Ball (World, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // was marked 'US' but doesn't seem to have a 'Winners Don't Use Drugs' screen, so unlikely
+GAME( 1992, nitrobalb, nitrobal, nitrobal, nitrobal, rohga_state, init_nitrobal, ROT270, "Data East Corporation", "Nitro Ball (World, set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1992, gunball, nitrobal, nitrobal, nitrobal, rohga_state, init_nitrobal, ROT270, "Data East Corporation", "Gun Ball (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1993, schmeisr, 0, schmeisr, schmeisr, rohga_state, init_schmeisr, ROT0, "Hot-B", "Schmeiser Robo (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
diff --git a/src/mame/drivers/rollerg.cpp b/src/mame/drivers/rollerg.cpp
index 4faae5fa505..fac7639efcc 100644
--- a/src/mame/drivers/rollerg.cpp
+++ b/src/mame/drivers/rollerg.cpp
@@ -18,7 +18,7 @@
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/k053260.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp
index 43c514ad970..85053a78030 100644
--- a/src/mame/drivers/rpunch.cpp
+++ b/src/mame/drivers/rpunch.cpp
@@ -112,7 +112,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/input_merger.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/saitek_corona.cpp b/src/mame/drivers/saitek_corona.cpp
index bd8f277bc56..96f76a325c3 100644
--- a/src/mame/drivers/saitek_corona.cpp
+++ b/src/mame/drivers/saitek_corona.cpp
@@ -71,26 +71,18 @@ private:
u8 chessboard_r();
void lcd_reset_w(u8 data);
- u8 m_control1;
- u8 m_control2;
- u8 m_select1;
- u8 m_select2;
- u8 m_led_data1;
- u8 m_led_data2;
+ u8 m_control1 = 0;
+ u8 m_control2 = 0;
+ u8 m_select1 = 0;
+ u8 m_select2 = 0;
+ u8 m_led_data1 = 0;
+ u8 m_led_data2 = 0;
};
void corona_state::machine_start()
{
saitek_stratos_state::machine_start();
- // zerofill
- m_control1 = 0;
- m_control2 = 0;
- m_select1 = 0;
- m_select2 = 0;
- m_led_data1 = 0;
- m_led_data2 = 0;
-
// register for savestates
save_item(NAME(m_control1));
save_item(NAME(m_control2));
@@ -288,7 +280,7 @@ void corona_state::corona(machine_config &config)
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
/* extension rom */
- GENERIC_CARTSLOT(config, "extrom", generic_plain_slot, "saitek_egr");
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_egr");
SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr").set_filter("egr2");
}
diff --git a/src/mame/drivers/saitek_leonardo.cpp b/src/mame/drivers/saitek_leonardo.cpp
index 29717221f5a..915e03d61a9 100644
--- a/src/mame/drivers/saitek_leonardo.cpp
+++ b/src/mame/drivers/saitek_leonardo.cpp
@@ -42,23 +42,26 @@ Expansion modules released:
- Sparc (SPARClite, Spracklen's)
TODO:
-- OSA module support (softwarelist, devices/bus)
-- OSA PC link (probably uses MCU serial interface)
-- add nvram
-- finish internal artwork
+- OSA module comms is not completely understood
+- OSA PC link, uses MCU serial interface
+- add nvram (MCU port $14?)
+- add power-off, not useful with missing nvram support
******************************************************************************/
#include "emu.h"
+#include "bus/saitek_osa/expansion.h"
#include "cpu/m6800/m6801.h"
+#include "machine/input_merger.h"
#include "machine/sensorboard.h"
-#include "sound/dac.h"
+#include "sound/spkrdev.h"
#include "video/pwm.h"
#include "speaker.h"
// internal artwork
+#include "saitek_galileo.lh" // clickable
#include "saitek_leonardo.lh" // clickable
@@ -70,24 +73,30 @@ public:
leo_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_expansion(*this, "exp"),
+ m_stb(*this, "stb"),
m_board(*this, "board"),
m_display(*this, "display"),
m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0)
{ }
- void leo(machine_config &config);
- void leoa(machine_config &config);
+ void leonardo(machine_config &config);
+ void leonardoa(machine_config &config);
+ void galileo(machine_config &config);
protected:
virtual void machine_start() override;
+ virtual void machine_reset() override;
private:
// devices/pointers
required_device<hd6303y_cpu_device> m_maincpu;
+ required_device<saitekosa_expansion_device> m_expansion;
+ required_device<input_merger_device> m_stb;
required_device<sensorboard_device> m_board;
required_device<pwm_display_device> m_display;
- optional_device<dac_bit_interface> m_dac;
+ optional_device<speaker_sound_device> m_dac;
required_ioport_array<9> m_inputs;
void main_map(address_map &map);
@@ -97,6 +106,7 @@ private:
void leds_w(u8 data);
u8 unk_r();
void unk_w(u8 data);
+ void exp_rts_w(int state);
u8 p2_r();
void p2_w(u8 data);
@@ -115,6 +125,11 @@ void leo_state::machine_start()
save_item(NAME(m_led_data));
}
+void leo_state::machine_reset()
+{
+ m_stb->in_clear<0>();
+}
+
/******************************************************************************
@@ -138,7 +153,7 @@ void leo_state::mux_w(u8 data)
update_display();
// d4: speaker out
- m_dac->write(BIT(data, 4));
+ m_dac->level_w(BIT(data, 4));
}
void leo_state::leds_w(u8 data)
@@ -159,6 +174,11 @@ void leo_state::unk_w(u8 data)
// ?
}
+void leo_state::exp_rts_w(int state)
+{
+ // NAND with ACK-P (not used by module)
+}
+
// MCU ports
@@ -186,29 +206,39 @@ void leo_state::p2_w(u8 data)
u8 leo_state::p5_r()
{
- // ?
+ // d1: N/C, d4: IS strobe (handled with inputline)
return 0xff ^ 0x10;
}
void leo_state::p5_w(u8 data)
{
+ // d2: expansion NMI-P
+ m_expansion->nmi_w(BIT(data, 2));
+
+ // d3: NAND with STB-P
+ m_stb->in_w<1>(BIT(data, 3));
+
+ // d5: expansion ACK-P
+ m_expansion->ack_w(BIT(data, 5));
+
// d6,d7: chessboard led row data
m_led_data[0] = (m_led_data[0] & 3) | (~data >> 4 & 0xc);
update_display();
- // d0: power-off
- // other: ?
+ // d0: power-off on falling edge
+ m_expansion->pw_w(data & 1);
}
u8 leo_state::p6_r()
{
- // read chessboard sensors
- return ~m_board->read_file(m_inp_mux & 0xf);
+ // read chessboard sensors and module data
+ return ~m_board->read_file(m_inp_mux & 0xf) & m_expansion->data_r();
}
void leo_state::p6_w(u8 data)
{
// module data
+ m_expansion->data_w(data);
}
@@ -234,46 +264,46 @@ void leo_state::main_map(address_map &map)
Input Ports
******************************************************************************/
-static INPUT_PORTS_START( leo )
+static INPUT_PORTS_START( leonardo )
PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) // king
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) // rook
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) // knight
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("King")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Rook")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Knight")
PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) // queen
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) // bishop
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) // pawn
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Queen")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Bishop")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Pawn")
PORT_START("IN.2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) // tab/color
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) // +
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Tab / Color")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_CODE(KEYCODE_EQUALS) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+")
PORT_START("IN.3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) // freq sel
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) // function?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) // sound
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("Function")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Sound")
PORT_START("IN.4")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) // freq sel
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // stop?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) // library?
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J) PORT_NAME("Stop")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("Library")
PORT_START("IN.5")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) // info
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) // play?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) // level
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_NAME("Info")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Play")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
PORT_START("IN.6")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) // -
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) // normal?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) // analysis?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Normal")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Analysis")
PORT_START("IN.7")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNKNOWN)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) // new game
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) // setup?
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_CUSTOM) // freq sel
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("Set Up")
PORT_START("IN.8")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
@@ -281,6 +311,43 @@ static INPUT_PORTS_START( leo )
PORT_CONFNAME( 0x04, 0x04, "Battery Status" )
PORT_CONFSETTING( 0x00, "Low" )
PORT_CONFSETTING( 0x04, DEF_STR( Normal ) )
+
+ PORT_START("RESET")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("Go")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_NAME("ACL")
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( galileo ) // same buttons, but different locations
+ PORT_INCLUDE( leonardo )
+
+ PORT_MODIFY("IN.2")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Tab / Color")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_EQUALS) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+")
+
+ PORT_MODIFY("IN.3")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("Function")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Sound")
+
+ PORT_MODIFY("IN.4")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("Stop")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Library")
+
+ PORT_MODIFY("IN.5")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("Info")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Play")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
+
+ PORT_MODIFY("IN.6")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Normal")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Analysis")
+
+ PORT_MODIFY("IN.7")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("Set Up")
+
+ PORT_MODIFY("RESET")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("Go")
INPUT_PORTS_END
@@ -289,9 +356,9 @@ INPUT_PORTS_END
Machine Configs
******************************************************************************/
-void leo_state::leo(machine_config &config)
+void leo_state::leonardo(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD6303Y(config, m_maincpu, 12_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &leo_state::main_map);
m_maincpu->in_p2_cb().set(FUNC(leo_state::p2_r));
@@ -301,25 +368,39 @@ void leo_state::leo(machine_config &config)
m_maincpu->in_p6_cb().set(FUNC(leo_state::p6_r));
m_maincpu->out_p6_cb().set(FUNC(leo_state::p6_w));
+ INPUT_MERGER_ANY_LOW(config, m_stb).initial_state(~u32(3));
+ m_stb->output_handler().set_inputline(m_maincpu, M6801_IS_LINE);
+
+ config.set_maximum_quantum(attotime::from_hz(6000));
+
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
m_board->set_delay(attotime::from_msec(150));
- /* video hardware */
+ // video hardware
PWM_DISPLAY(config, m_display).set_size(8+2, 8+2);
config.set_default_layout(layout_saitek_leonardo);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ SPEAKER_SOUND(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
+
+ // expansion module
+ SAITEKOSA_EXPANSION(config, m_expansion, saitekosa_expansion_modules);
+ m_expansion->stb_handler().set(m_stb, FUNC(input_merger_device::in_w<0>));
+ m_expansion->rts_handler().set(FUNC(leo_state::exp_rts_w));
}
-void leo_state::leoa(machine_config &config)
+void leo_state::leonardoa(machine_config &config)
{
- leo(config);
+ leonardo(config);
+ m_board->set_delay(attotime::from_msec(250)); // slower chessboard response?
+}
- // slower chessboard response?
- m_board->set_delay(attotime::from_msec(250));
+void leo_state::galileo(machine_config &config)
+{
+ leonardo(config);
+ config.set_default_layout(layout_saitek_galileo);
}
@@ -351,8 +432,8 @@ ROM_END
Drivers
******************************************************************************/
-// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
-CONS( 1986, leonardo, 0, 0, leo, leo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
-CONS( 1986, leonardoa, leonardo, 0, leoa, leo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
+// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
+CONS( 1986, leonardo, 0, 0, leonardo, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1986, leonardoa, leonardo, 0, leonardoa, leonardo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1988, galileo, 0, 0, leo, leo, leo_state, empty_init, "Saitek", "Kasparov Galileo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
+CONS( 1988, galileo, leonardo, 0, galileo, galileo, leo_state, empty_init, "Saitek", "Kasparov Galileo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/saitek_renaissance.cpp b/src/mame/drivers/saitek_renaissance.cpp
index b8864e307f8..8838ffc46ff 100644
--- a/src/mame/drivers/saitek_renaissance.cpp
+++ b/src/mame/drivers/saitek_renaissance.cpp
@@ -19,11 +19,11 @@ The 6301Y0 seen on one of them, was a SX8A 6301Y0G84P, this is in fact the
MCU(+internal maskrom, disabled here) used in Saitek Conquistador.
The LCD screen is fairly large, it's the same one as in Saitek Simultano,
-so a chessboard display + 7seg info.
+so a chessboard display + 7seg info. It's on a small drawer that can be
+pushed in to hide the chessboard display.
TODO:
-- not sure about comm/module leds
-- finish internal artwork
+- fart noise at boot if maestroa module is inserted
- make it a subdriver of saitek_leonardo.cpp? or too many differences
- same TODO list as saitek_leonardo.cpp
@@ -31,12 +31,15 @@ TODO:
#include "emu.h"
+#include "bus/saitek_osa/expansion.h"
#include "cpu/m6800/m6801.h"
+#include "machine/input_merger.h"
#include "machine/sensorboard.h"
-#include "sound/dac.h"
+#include "sound/spkrdev.h"
#include "video/pwm.h"
#include "video/sed1500.h"
+#include "render.h"
#include "screen.h"
#include "speaker.h"
@@ -52,6 +55,8 @@ public:
ren_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_expansion(*this, "exp"),
+ m_stb(*this, "stb"),
m_board(*this, "board"),
m_display(*this, "display"),
m_lcd_pwm(*this, "lcd_pwm"),
@@ -61,20 +66,25 @@ public:
m_out_lcd(*this, "s%u.%u", 0U, 0U)
{ }
+ template <int N> DECLARE_INPUT_CHANGED_MEMBER(change_view);
+
// machine configs
void ren(machine_config &config);
protected:
virtual void machine_start() override;
+ virtual void machine_reset() override;
private:
// devices/pointers
required_device<hd6303y_cpu_device> m_maincpu;
+ required_device<saitekosa_expansion_device> m_expansion;
+ required_device<input_merger_device> m_stb;
required_device<sensorboard_device> m_board;
required_device<pwm_display_device> m_display;
required_device<pwm_display_device> m_lcd_pwm;
required_device<sed1502_device> m_lcd;
- optional_device<dac_bit_interface> m_dac;
+ optional_device<speaker_sound_device> m_dac;
required_ioport_array<8+1> m_inputs;
output_finder<16, 34> m_out_lcd;
@@ -88,6 +98,7 @@ private:
void leds_w(u8 data);
void control_w(u8 data);
u8 control_r();
+ void exp_rts_w(int state);
u8 p2_r();
void p2_w(u8 data);
@@ -108,6 +119,21 @@ void ren_state::machine_start()
save_item(NAME(m_led_data));
}
+void ren_state::machine_reset()
+{
+ m_stb->in_clear<0>();
+}
+
+template <int N> INPUT_CHANGED_MEMBER(ren_state::change_view)
+{
+ if (oldval && !newval)
+ {
+ // meant for changing lcd drawer view
+ render_target *target = machine().render().first_target();
+ target->set_view(target->view() + N);
+ }
+}
+
/******************************************************************************
@@ -132,18 +158,17 @@ void ren_state::lcd_output_w(offs_t offset, u64 data)
void ren_state::update_display()
{
m_display->matrix_partial(0, 9, 1 << (m_inp_mux & 0xf), (m_inp_mux << 4 & 0x100) | m_led_data[0]);
- m_display->matrix_partial(9, 1, 1, (m_inp_mux >> 2 & 0x30) | m_led_data[1]);
+ m_display->matrix_partial(9, 1, 1, (m_inp_mux >> 2 & 0x38) | m_led_data[1]);
}
void ren_state::mux_w(u8 data)
{
// d0-d3 input/chessboard led mux
// d4: chessboard led data
+ // d5: module led
// d6,d7: mode led
- m_inp_mux = data;
+ m_inp_mux = data ^ 0x20;
update_display();
-
- // d5: ?
}
void ren_state::leds_w(u8 data)
@@ -156,14 +181,12 @@ void ren_state::leds_w(u8 data)
void ren_state::control_w(u8 data)
{
// d1: speaker out
- m_dac->write(BIT(data, 1));
+ m_dac->level_w(BIT(data, 1));
- // d2,d3: comm/module leds?
- m_led_data[1] = (m_led_data[1] & ~0xc) | (~data & 0xc);
+ // d2: comm led
+ m_led_data[1] = (m_led_data[1] & ~0x4) | (~data & 0x4);
update_display();
- // d6: power off?
-
// other: ?
}
@@ -174,6 +197,11 @@ u8 ren_state::control_r()
return 0;
}
+void ren_state::exp_rts_w(int state)
+{
+ // NAND with ACK-P (not used by module)
+}
+
// MCU ports
@@ -186,7 +214,6 @@ u8 ren_state::p2_r()
data = m_inputs[m_inp_mux & 7]->read();
// d3: ?
-
return ~data;
}
@@ -202,24 +229,38 @@ u8 ren_state::p5_r()
// d6: battery status
u8 b = m_inputs[8]->read() & 0x40;
+ // d4: IS strobe (handled with inputline)
// other: ?
- return b | 0xbf;
+ return b | (0xff ^ 0x50);
}
void ren_state::p5_w(u8 data)
{
- // ?
+ // d1: expansion NMI-P
+ m_expansion->nmi_w(BIT(data, 1));
+
+ // d3: NAND with STB-P
+ m_stb->in_w<1>(BIT(data, 3));
+
+ // d5: expansion ACK-P
+ m_expansion->ack_w(BIT(data, 5));
+
+ // d0: power-off on falling edge
+ m_expansion->pw_w(data & 1);
+
+ // other: ?
}
u8 ren_state::p6_r()
{
- // read chessboard sensors
- return ~m_board->read_file(m_inp_mux & 0xf);
+ // read chessboard sensors and module data
+ return ~m_board->read_file(m_inp_mux & 0xf) & m_expansion->data_r();
}
void ren_state::p6_w(u8 data)
{
// module data
+ m_expansion->data_w(data);
}
@@ -248,49 +289,57 @@ void ren_state::main_map(address_map &map)
static INPUT_PORTS_START( ren )
PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) // king
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) // rook
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) // knight
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("King")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Rook")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Knight")
PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) // queen
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) // bishop
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) // pawn
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Queen")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Bishop")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Pawn")
PORT_START("IN.2")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) // scroll?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) // tab
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) // +
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("Scroll")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Tab / Color")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_EQUALS) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+")
PORT_START("IN.3")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) // n
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) // function?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) // sound
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("Function")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Sound")
PORT_START("IN.4")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) // n
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // stop?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) // library
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("Stop")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Library")
PORT_START("IN.5")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) // info
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) // play?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) // level
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("Info")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Play")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
PORT_START("IN.6")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) // -
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) // normal?
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) // analysis
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Normal")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Analysis")
PORT_START("IN.7")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) // n
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) // new game
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) // setup
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("Set Up")
PORT_START("IN.8")
PORT_CONFNAME( 0x40, 0x00, "Battery Status" )
PORT_CONFSETTING( 0x40, "Low" )
PORT_CONFSETTING( 0x00, DEF_STR( Normal ) )
+
+ PORT_START("RESET")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("Go")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_NAME("ACL")
+
+ PORT_START("VIEW")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CHANGED_MEMBER(DEVICE_SELF, ren_state, change_view<+1>, 0)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CHANGED_MEMBER(DEVICE_SELF, ren_state, change_view<-1>, 0)
INPUT_PORTS_END
@@ -301,7 +350,7 @@ INPUT_PORTS_END
void ren_state::ren(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD6303Y(config, m_maincpu, 10_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &ren_state::main_map);
m_maincpu->in_p2_cb().set(FUNC(ren_state::p2_r));
@@ -311,17 +360,22 @@ void ren_state::ren(machine_config &config)
m_maincpu->in_p6_cb().set(FUNC(ren_state::p6_r));
m_maincpu->out_p6_cb().set(FUNC(ren_state::p6_w));
+ INPUT_MERGER_ANY_LOW(config, m_stb).initial_state(~u32(3));
+ m_stb->output_handler().set_inputline(m_maincpu, M6801_IS_LINE);
+
+ config.set_maximum_quantum(attotime::from_hz(6000));
+
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
m_board->set_delay(attotime::from_msec(150));
- /* video hardware */
+ // video hardware
SED1502(config, m_lcd, 32768).write_segs().set(FUNC(ren_state::lcd_output_w));
PWM_DISPLAY(config, m_lcd_pwm).set_size(16, 34);
m_lcd_pwm->set_refresh(attotime::from_hz(30));
m_lcd_pwm->output_x().set(FUNC(ren_state::lcd_pwm_w));
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
+ auto &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(873/2, 1080/2);
screen.set_visarea_full();
@@ -329,9 +383,14 @@ void ren_state::ren(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9+1, 9);
config.set_default_layout(layout_saitek_renaissance);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ SPEAKER_SOUND(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
+
+ // expansion module
+ SAITEKOSA_EXPANSION(config, m_expansion, saitekosa_expansion_modules);
+ m_expansion->stb_handler().set(m_stb, FUNC(input_merger_device::in_w<0>));
+ m_expansion->rts_handler().set(FUNC(ren_state::exp_rts_w));
}
@@ -365,5 +424,5 @@ ROM_END
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
-CONS( 1989, renaissa, 0, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
-CONS( 1989, renaissaa, renaissa, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
+CONS( 1989, renaissa, 0, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1989, renaissaa, renaissa, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/saitek_simultano.cpp b/src/mame/drivers/saitek_simultano.cpp
index eaf53b38382..e31769e5a0c 100644
--- a/src/mame/drivers/saitek_simultano.cpp
+++ b/src/mame/drivers/saitek_simultano.cpp
@@ -359,7 +359,7 @@ void simultano_state::simultano(machine_config &config)
m_maincpu->set_periodic_int(FUNC(simultano_state::irq0_line_hold), attotime::from_hz(76)); // approximation
/* extension rom */
- GENERIC_CARTSLOT(config, "extrom", generic_plain_slot, "saitek_egr");
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_egr");
SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr").set_filter("egr2");
}
diff --git a/src/mame/drivers/saitek_stratos.cpp b/src/mame/drivers/saitek_stratos.cpp
index b186e3e3b11..fe4fdf5d82f 100644
--- a/src/mame/drivers/saitek_stratos.cpp
+++ b/src/mame/drivers/saitek_stratos.cpp
@@ -72,9 +72,9 @@ class stratos_state : public saitek_stratos_state
public:
stratos_state(const machine_config &mconfig, device_type type, const char *tag) :
saitek_stratos_state(mconfig, type, tag),
- m_nvram(*this, "nvram.u7"),
- m_rombank(*this, "rombank"),
+ m_banked_nvram(*this, "nvram.u7", 0x2000, ENDIANNESS_LITTLE),
m_nvrambank(*this, "nvrambank"),
+ m_rombank(*this, "rombank"),
m_extrom(*this, "extrom"),
m_board(*this, "board"),
m_dac(*this, "dac"),
@@ -94,9 +94,9 @@ protected:
private:
// devices/pointers
- required_device<nvram_device> m_nvram;
- required_memory_bank m_rombank;
+ memory_share_creator<u8> m_banked_nvram;
required_memory_bank m_nvrambank;
+ required_memory_bank m_rombank;
required_device<generic_slot_device> m_extrom;
required_device<sensorboard_device> m_board;
required_device<dac_bit_interface> m_dac;
@@ -115,11 +115,9 @@ private:
u8 lcd_data_r();
u8 extrom_r(offs_t offset);
- std::unique_ptr<u8[]> m_nvram_data;
-
- u8 m_select;
- u8 m_control;
- u8 m_led_data;
+ u8 m_select = 0;
+ u8 m_control = 0;
+ u8 m_led_data = 0;
};
// saitek_stratos_state
@@ -130,12 +128,6 @@ void saitek_stratos_state::machine_start()
m_out_digit.resolve();
m_out_lcd.resolve();
- // zerofill
- m_power = false;
- m_lcd_ready = false;
- m_lcd_count = 0;
- m_lcd_command = 0;
-
// register for savestates
save_item(NAME(m_power));
save_item(NAME(m_lcd_ready));
@@ -158,8 +150,8 @@ void saitek_stratos_state::set_cpu_freq()
{
// known officially* released CPU speeds: 5MHz, 5.626MHz, 5.67MHz
// *not including reseller overclocks, user mods, or the "Turbo Kit"
- u8 inp = ioport("FAKE")->read();
- m_maincpu->set_unscaled_clock((inp & 2) ? 5.67_MHz_XTAL : ((inp & 1) ? 5.626_MHz_XTAL : 5_MHz_XTAL));
+ static const XTAL xtal[3] = { 5.626_MHz_XTAL, 5.67_MHz_XTAL, 5_MHz_XTAL };
+ m_maincpu->set_unscaled_clock(xtal[ioport("FAKE")->read() % 3]);
}
// stratos_state
@@ -170,16 +162,7 @@ void stratos_state::machine_start()
// init banks
m_rombank->configure_entries(0, 2, memregion("maincpu")->base(), 0x8000);
-
- m_nvram_data = make_unique_clear<u8[]>(0x2000);
- save_pointer(NAME(m_nvram_data), 0x2000);
- m_nvram->set_base(m_nvram_data.get(), 0x2000);
- m_nvrambank->configure_entries(0, 2, m_nvram_data.get(), 0x1000);
-
- // zerofill
- m_select = 0;
- m_control = 0;
- m_led_data = 0;
+ m_nvrambank->configure_entries(0, 2, m_banked_nvram, 0x1000);
// register for savestates
save_item(NAME(m_select));
@@ -342,7 +325,7 @@ void stratos_state::control_w(u8 data)
// d0: main rom bank
// d1: ext rom bank
- // d1: nvram bank?
+ // d1: nvram bank
m_rombank->set_entry(data & 1);
m_nvrambank->set_entry(data >> 1 & 1);
@@ -493,7 +476,7 @@ void stratos_state::stratos(machine_config &config)
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
/* extension rom */
- GENERIC_CARTSLOT(config, "extrom", generic_plain_slot, "saitek_egr");
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_egr");
SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr");
}
@@ -559,6 +542,6 @@ ROM_END
CONS( 1987, stratos, 0, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, stratosa, stratos, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
-CONS( 1988, tkinga, tking, 0, tking, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1988, tkingb, tking, 0, tking, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, tking, stratos, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
+CONS( 1988, tkinga, stratos, 0, tking, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1988, tkingb, stratos, 0, tking, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/saitek_superstar.cpp b/src/mame/drivers/saitek_superstar.cpp
index 88642fd02ce..5ad20a7669f 100644
--- a/src/mame/drivers/saitek_superstar.cpp
+++ b/src/mame/drivers/saitek_superstar.cpp
@@ -39,13 +39,14 @@ TODO:
******************************************************************************/
#include "emu.h"
+
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
#include "cpu/m6502/m6502.h"
#include "cpu/m6502/r65c02.h"
#include "machine/sensorboard.h"
#include "sound/dac.h"
#include "video/pwm.h"
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
#include "softlist.h"
#include "speaker.h"
@@ -228,7 +229,7 @@ void star_state::tstar432(machine_config &config)
config.set_default_layout(layout_saitek_tstar432);
/* extension rom */
- GENERIC_CARTSLOT(config, "extrom", generic_plain_slot, "saitek_kso");
+ GENERIC_SOCKET(config, "extrom", generic_plain_slot, "saitek_kso");
SOFTWARE_LIST(config, "cart_list").set_original("saitek_kso");
}
diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp
index 5ca90cb4526..afe64ddfd83 100644
--- a/src/mame/drivers/sandscrp.cpp
+++ b/src/mame/drivers/sandscrp.cpp
@@ -78,7 +78,7 @@ Is there another alt program rom set labeled 9 & 10?
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/kan_pand.h"
#include "machine/kaneko_hit.h"
#include "video/kaneko_tmap.h"
diff --git a/src/mame/drivers/sangho.cpp b/src/mame/drivers/sangho.cpp
index 4267df6106f..41f91d0233d 100644
--- a/src/mame/drivers/sangho.cpp
+++ b/src/mame/drivers/sangho.cpp
@@ -48,7 +48,7 @@ TODO:
#include "emu.h"
#include "cpu/z80/z80.h"
#include "video/v9938.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sauro.cpp b/src/mame/drivers/sauro.cpp
index 01311d12f32..5fc013ae3a0 100644
--- a/src/mame/drivers/sauro.cpp
+++ b/src/mame/drivers/sauro.cpp
@@ -131,7 +131,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "cpu/z80/z80.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sbmjb.cpp b/src/mame/drivers/sbmjb.cpp
index 099d284191e..2894ec5febb 100644
--- a/src/mame/drivers/sbmjb.cpp
+++ b/src/mame/drivers/sbmjb.cpp
@@ -28,7 +28,7 @@
#include "machine/tc009xlvc.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/scotrsht.cpp b/src/mame/drivers/scotrsht.cpp
index 717f58302f8..b9c52f34ec8 100644
--- a/src/mame/drivers/scotrsht.cpp
+++ b/src/mame/drivers/scotrsht.cpp
@@ -41,7 +41,7 @@ Stephh's notes (based on the game M6502 code and some tests) :
#include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index 4b5571e67f0..11b349cfc00 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -84,7 +84,7 @@
#include "sound/okim6295.h"
#include "sound/sn76496.h"
#include "sound/upd7759.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segacoin.cpp b/src/mame/drivers/segacoin.cpp
index d28792d58b7..768c673e64b 100644
--- a/src/mame/drivers/segacoin.cpp
+++ b/src/mame/drivers/segacoin.cpp
@@ -21,7 +21,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "machine/315_5338a.h"
#include "machine/pit8253.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segahang.cpp b/src/mame/drivers/segahang.cpp
index 4a52f0f39f0..919f9c7c23d 100644
--- a/src/mame/drivers/segahang.cpp
+++ b/src/mame/drivers/segahang.cpp
@@ -22,8 +22,8 @@
#include "machine/fd1089.h"
#include "machine/fd1094.h"
#include "sound/segapcm.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segajw.cpp b/src/mame/drivers/segajw.cpp
index 721d1e4cc2c..98d3b7da163 100644
--- a/src/mame/drivers/segajw.cpp
+++ b/src/mame/drivers/segajw.cpp
@@ -33,7 +33,7 @@ Also seem to be running on the same/similar hardware:
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/315_5296.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "video/hd63484.h"
#include "video/ramdac.h"
#include "screen.h"
diff --git a/src/mame/drivers/segam1.cpp b/src/mame/drivers/segam1.cpp
index 480ea9fddad..786bd323b0e 100644
--- a/src/mame/drivers/segam1.cpp
+++ b/src/mame/drivers/segam1.cpp
@@ -39,7 +39,7 @@ uses s24 style tilemaps (ram based?)
#include "machine/gen_latch.h"
#include "machine/i8251.h"
#include "machine/mb8421.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "video/segaic24.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/segaorun.cpp b/src/mame/drivers/segaorun.cpp
index 6c76e2516f0..44790c6739d 100644
--- a/src/mame/drivers/segaorun.cpp
+++ b/src/mame/drivers/segaorun.cpp
@@ -282,7 +282,7 @@ Notes:
#include "machine/fd1089.h"
#include "sound/segapcm.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "outrun.lh"
diff --git a/src/mame/drivers/segas18.cpp b/src/mame/drivers/segas18.cpp
index 5460a5a7045..3a39b5a3fc6 100644
--- a/src/mame/drivers/segas18.cpp
+++ b/src/mame/drivers/segas18.cpp
@@ -37,7 +37,7 @@
#include "machine/nvram.h"
#include "sound/rf5c68.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "speaker.h"
/*************************************
diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp
index ee1399a310c..750e8074bac 100644
--- a/src/mame/drivers/segas24.cpp
+++ b/src/mame/drivers/segas24.cpp
@@ -347,7 +347,7 @@ Notes:
#include "machine/upd4701.h"
#include "machine/315_5296.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/segaic24.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segas32.cpp b/src/mame/drivers/segas32.cpp
index af9d0bd2584..b5250c0abc9 100644
--- a/src/mame/drivers/segas32.cpp
+++ b/src/mame/drivers/segas32.cpp
@@ -542,7 +542,7 @@ orunners: Interleaved with the dj and << >> buttons is the data the drives the
#include "machine/upd4701.h"
#include "machine/315_5296.h"
#include "sound/rf5c68.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "speaker.h"
#include "layout/generic.h"
diff --git a/src/mame/drivers/segasp.cpp b/src/mame/drivers/segasp.cpp
index 9a3edfe3e9c..a73116c762e 100644
--- a/src/mame/drivers/segasp.cpp
+++ b/src/mame/drivers/segasp.cpp
@@ -393,6 +393,7 @@ ROM_START( segasp )
ROM_END
// probably satellite screen-less player I/O and hoppers controller units, while actual game running on main Lindbergh unit
+// actual size is 16Mbyte, the rest is garbage leftover from some other game
ROM_START( aminosan )
SEGASP_BIOS
ROM_DEFAULT_BIOS( "v201" )
diff --git a/src/mame/drivers/segaufo.cpp b/src/mame/drivers/segaufo.cpp
index f7ad78fa8a1..586f1f1ebe2 100644
--- a/src/mame/drivers/segaufo.cpp
+++ b/src/mame/drivers/segaufo.cpp
@@ -48,7 +48,7 @@
#include "machine/315_5338a.h"
#include "machine/timer.h"
#include "sound/upd7759.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "speaker.h"
// the layouts are very similar to eachother
diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp
index e4f57825d9c..eb0f2c48b9a 100644
--- a/src/mame/drivers/segaxbd.cpp
+++ b/src/mame/drivers/segaxbd.cpp
@@ -273,7 +273,7 @@ ROMs:
#include "machine/fd1094.h"
#include "machine/nvram.h"
#include "sound/segapcm.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/segaybd.cpp b/src/mame/drivers/segaybd.cpp
index 3680effcb31..06d9a48e61b 100644
--- a/src/mame/drivers/segaybd.cpp
+++ b/src/mame/drivers/segaybd.cpp
@@ -67,7 +67,7 @@ MB89372 - Uses 3 serial data transfer protocols: ASYNC, COP & BOP. Has a built
#include "machine/segaic16.h"
#include "machine/315_5296.h"
#include "sound/segapcm.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "pdrift.lh"
diff --git a/src/mame/drivers/sengokmj.cpp b/src/mame/drivers/sengokmj.cpp
index 56bcf37dd49..254c0d0139d 100644
--- a/src/mame/drivers/sengokmj.cpp
+++ b/src/mame/drivers/sengokmj.cpp
@@ -59,7 +59,7 @@ RSSENGO2.72 chr.
#include "cpu/nec/nec.h"
#include "machine/nvram.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/seibu_crtc.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index 5f271a4f580..31b4306a1ea 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -1422,10 +1422,9 @@ Note: on screen copyright is (c)1998 Coinmaster.
#include "machine/pit8253.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
-#include "sound/ym2612.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "diserial.h"
#include "screen.h"
@@ -12320,7 +12319,7 @@ GAME( 1989, metafox, 0, metafox, metafox, downtown_state, init_meta
GAME( 1989?,setaroul, 0, setaroul, setaroul, setaroul_state, empty_init, ROT270, "Visco", "The Roulette (Visco)", MACHINE_CLICKABLE_ARTWORK )
-GAME( 1989, drgnunit, 0, drgnunit, drgnunit, seta_state, empty_init, ROT0, "Seta", "Dragon Unit / Castle of Dragon", 0 )
+GAME( 1989, drgnunit, 0, drgnunit, drgnunit, seta_state, empty_init, ROT0, "Athena / Seta", "Dragon Unit / Castle of Dragon", 0 ) // Country/License: DSW
GAME( 1989, wits, 0, wits, wits, seta_state, empty_init, ROT0, "Athena (Visco license)", "Wit's (Japan)" , 0) // Country/License: DSW
@@ -12357,7 +12356,7 @@ GAME( 1992, umanclub, 0, umanclub, umanclub, seta_state, empty_ini
GAME( 1992, zingzip, 0, zingzip, zingzip, seta_state, empty_init, ROT270, "Allumer / Tecmo", "Zing Zing Zip", 0 ) // This set has Chinese Characters in Title screen, it distributed for Chinese market/or Title: DSW?
GAME( 1992, zingzipbl, zingzip, zingzipbl, zingzip, seta_state, empty_init, ROT270, "bootleg", "Zing Zing Zip (bootleg)", MACHINE_NOT_WORKING )
-GAME( 1993, atehate, 0, atehate, atehate, seta_state, empty_init, ROT0, "Athena", "Athena no Hatena ?", 0 )
+GAME( 1993, atehate, 0, atehate, atehate, seta_state, empty_init, ROT0, "Athena", "Athena no Hatena?", 0 )
GAME( 1993, daioh, 0, daioh, daioh, seta_state, empty_init, ROT270, "Athena", "Daioh", 0 )
GAME( 1993, daioha, daioh, daioh, daioh, seta_state, empty_init, ROT270, "Athena", "Daioh (earlier)", 0 )
diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp
index 7c07de69911..b25bfeb0c40 100644
--- a/src/mame/drivers/sf.cpp
+++ b/src/mame/drivers/sf.cpp
@@ -17,7 +17,7 @@
#include "machine/gen_latch.h"
#include "screen.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "tilemap.h"
diff --git a/src/mame/drivers/sfkick.cpp b/src/mame/drivers/sfkick.cpp
index 5fd87c3119b..381f25f2d00 100644
--- a/src/mame/drivers/sfkick.cpp
+++ b/src/mame/drivers/sfkick.cpp
@@ -158,7 +158,7 @@ DIPSW-2
#include "machine/bankdev.h"
#include "machine/gen_latch.h"
#include "machine/i8255.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/shadfrce.cpp b/src/mame/drivers/shadfrce.cpp
index d024d389bf7..fd6188faad5 100644
--- a/src/mame/drivers/shadfrce.cpp
+++ b/src/mame/drivers/shadfrce.cpp
@@ -145,7 +145,7 @@ lev 7 : 0x7c : 0000 11d0 - just rte
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/shangha3.cpp b/src/mame/drivers/shangha3.cpp
index 152c7deb032..607fb4d0842 100644
--- a/src/mame/drivers/shangha3.cpp
+++ b/src/mame/drivers/shangha3.cpp
@@ -47,7 +47,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp
index 5307612a4d9..5cddfe8c473 100644
--- a/src/mame/drivers/shanghai.cpp
+++ b/src/mame/drivers/shanghai.cpp
@@ -26,7 +26,7 @@ displayed.
#include "video/hd63484.h"
#include "audio/seibu.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp
index 56de5144a3d..0d39df17f11 100644
--- a/src/mame/drivers/shisen.cpp
+++ b/src/mame/drivers/shisen.cpp
@@ -14,7 +14,7 @@ driver by Nicola Salmoria
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/rstbuf.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/shootout.cpp b/src/mame/drivers/shootout.cpp
index 027a518a74c..32caab96293 100644
--- a/src/mame/drivers/shootout.cpp
+++ b/src/mame/drivers/shootout.cpp
@@ -46,7 +46,7 @@
#include "includes/shootout.h"
#include "cpu/m6502/m6502.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/deco222.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp
index c2c41a24413..692af6bcfc8 100644
--- a/src/mame/drivers/sidearms.cpp
+++ b/src/mame/drivers/sidearms.cpp
@@ -56,8 +56,8 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sidepckt.cpp b/src/mame/drivers/sidepckt.cpp
index 50004db0d79..70180cfef33 100644
--- a/src/mame/drivers/sidepckt.cpp
+++ b/src/mame/drivers/sidepckt.cpp
@@ -136,8 +136,8 @@ Additional notes:
#include "cpu/m6809/m6809.h"
#include "cpu/m6502/m6502.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sigmab31.cpp b/src/mame/drivers/sigmab31.cpp
index ffad2d67198..2fc8ad03946 100644
--- a/src/mame/drivers/sigmab31.cpp
+++ b/src/mame/drivers/sigmab31.cpp
@@ -95,7 +95,7 @@ chip at location ic50 28 pin dip stamped Hitachi logo? 1A1 R
#include "machine/6840ptm.h"
#include "machine/6850acia.h"
#include "machine/nvram.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sigmab52.cpp b/src/mame/drivers/sigmab52.cpp
index df7e8b6068f..915027bb38b 100644
--- a/src/mame/drivers/sigmab52.cpp
+++ b/src/mame/drivers/sigmab52.cpp
@@ -111,7 +111,7 @@
#include "machine/6850acia.h"
#include "machine/gen_latch.h"
#include "machine/nvram.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/hd63484.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/silkroad.cpp b/src/mame/drivers/silkroad.cpp
index c5e631df318..19c0685f4d8 100644
--- a/src/mame/drivers/silkroad.cpp
+++ b/src/mame/drivers/silkroad.cpp
@@ -11,7 +11,7 @@
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/silvmil.cpp b/src/mame/drivers/silvmil.cpp
index ea83e4b8e0c..7b1a7c98a84 100644
--- a/src/mame/drivers/silvmil.cpp
+++ b/src/mame/drivers/silvmil.cpp
@@ -28,7 +28,7 @@ Very likely to be 'whatever crystals we had on hand which were close enough for
#include "cpu/m68000/m68000.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/decospr.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/simpsons.cpp b/src/mame/drivers/simpsons.cpp
index 7323c81793b..c0f7e7aadb3 100644
--- a/src/mame/drivers/simpsons.cpp
+++ b/src/mame/drivers/simpsons.cpp
@@ -104,7 +104,7 @@ Notes:
#include "machine/eepromser.h"
#include "machine/watchdog.h"
#include "sound/k053260.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/skyfox.cpp b/src/mame/drivers/skyfox.cpp
index 5233f869e1c..f7d201c64ba 100644
--- a/src/mame/drivers/skyfox.cpp
+++ b/src/mame/drivers/skyfox.cpp
@@ -27,7 +27,7 @@ Verified Dip locations and recommended settings with manual
#include "includes/skyfox.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/slapshot.cpp b/src/mame/drivers/slapshot.cpp
index 8704204c9e4..f4e733af497 100644
--- a/src/mame/drivers/slapshot.cpp
+++ b/src/mame/drivers/slapshot.cpp
@@ -138,7 +138,7 @@ Region byte at offset 0x031:
#include "cpu/z80/z80.h"
#include "machine/adc0808.h"
#include "machine/timekpr.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
@@ -249,7 +249,7 @@ void slapshot_state::sound_map(address_map &map)
map(0x0000, 0x3fff).rom();
map(0x4000, 0x7fff).bankr("z80bank");
map(0xc000, 0xdfff).ram();
- map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610b_device::read), FUNC(ym2610b_device::write));
map(0xe200, 0xe200).nopr().w(m_tc0140syt, FUNC(tc0140syt_device::slave_port_w));
map(0xe201, 0xe201).rw(m_tc0140syt, FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w));
map(0xe400, 0xe403).nopw(); /* pan */
diff --git a/src/mame/drivers/smotor.cpp b/src/mame/drivers/smotor.cpp
index 7bca82cc50d..f62d990fd68 100644
--- a/src/mame/drivers/smotor.cpp
+++ b/src/mame/drivers/smotor.cpp
@@ -127,7 +127,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "video/resnet.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sms_bootleg.cpp b/src/mame/drivers/sms_bootleg.cpp
index edf57ffeaad..e6abb0a9cdc 100644
--- a/src/mame/drivers/sms_bootleg.cpp
+++ b/src/mame/drivers/sms_bootleg.cpp
@@ -229,18 +229,39 @@ A Korean version has been seen too (unless this can be switched?)
*/
#include "emu.h"
-#include "includes/sms_bootleg.h"
+#include "includes/sms.h"
#include "cpu/z80/z80.h"
#include "speaker.h"
+namespace {
+
+class smsbootleg_state : public sms_state
+{
+public:
+ smsbootleg_state(const machine_config &mconfig, device_type type, const char *tag)
+ : sms_state(mconfig, type, tag)
+ {}
+
+ void sms_supergame(machine_config &config);
+
+ void init_sms_supergame();
+
+private:
+ void port08_w(uint8_t data);
+ void port18_w(uint8_t data);
+
+ void sms_supergame_io(address_map &map);
+ void sms_supergame_map(address_map &map);
+};
+
void smsbootleg_state::sms_supergame_map(address_map &map)
{
map(0x0000, 0xbfff).rom();
map(0xc000, 0xfff7).ram();
-// map(0xfffc, 0xffff).rw(FUNC(smsbootleg_state::sms_mapper_r), FUNC(smsbootleg_state::sms_mapper_w)); /* Bankswitch control */
+// map(0xfffc, 0xffff).rw(FUNC(smsbootleg_state::sms_mapper_r), FUNC(smsbootleg_state::sms_mapper_w)); // Bankswitch control
}
void smsbootleg_state::port08_w(uint8_t data)
@@ -272,38 +293,6 @@ void smsbootleg_state::sms_supergame_io(address_map &map)
}
-
-void smsbootleg_state::sms_supergame(machine_config &config)
-{
- /* basic machine hardware */
- Z80(config, m_maincpu, XTAL(10'738'635)/3);
- m_maincpu->set_addrmap(AS_PROGRAM, &smsbootleg_state::sms_supergame_map);
- m_maincpu->set_addrmap(AS_IO, &smsbootleg_state::sms_supergame_io);
-
- config.set_maximum_quantum(attotime::from_hz(60));
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- SCREEN(config, m_main_scr, SCREEN_TYPE_RASTER);
- m_main_scr->set_raw(XTAL(10'738'635)/2, \
- sega315_5124_device::WIDTH , sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH - 2, sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH + 256 + 10, \
- sega315_5124_device::HEIGHT_NTSC, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT + 224);
- m_main_scr->set_refresh_hz(XTAL(10'738'635)/2 / (sega315_5124_device::WIDTH * sega315_5124_device::HEIGHT_NTSC));
- m_main_scr->set_screen_update(FUNC(sms_state::screen_update_sms));
-
- SEGA315_5246(config, m_vdp, XTAL(10'738'635));
- m_vdp->set_screen(m_main_scr);
- m_vdp->set_is_pal(false);
- m_vdp->n_int().set_inputline(m_maincpu, 0);
- m_vdp->n_nmi().set_inputline(m_maincpu, INPUT_LINE_NMI);
- m_vdp->add_route(ALL_OUTPUTS, "mono", 1.00);
-}
-
-
-
-
-
static INPUT_PORTS_START( sms_supergame )
PORT_START("PAUSE")
PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -372,6 +361,35 @@ static INPUT_PORTS_START( sms_supergame )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
+
+void smsbootleg_state::sms_supergame(machine_config &config)
+{
+ // basic machine hardware
+ Z80(config, m_maincpu, XTAL(10'738'635)/3);
+ m_maincpu->set_addrmap(AS_PROGRAM, &smsbootleg_state::sms_supergame_map);
+ m_maincpu->set_addrmap(AS_IO, &smsbootleg_state::sms_supergame_io);
+
+ config.set_maximum_quantum(attotime::from_hz(60));
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center();
+
+ SCREEN(config, m_main_scr, SCREEN_TYPE_RASTER);
+ m_main_scr->set_raw(XTAL(10'738'635)/2, \
+ sega315_5124_device::WIDTH , sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH - 2, sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH + 256 + 10, \
+ sega315_5124_device::HEIGHT_NTSC, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_224_TBORDER_HEIGHT + 224);
+ m_main_scr->set_refresh_hz(XTAL(10'738'635)/2 / (sega315_5124_device::WIDTH * sega315_5124_device::HEIGHT_NTSC));
+ m_main_scr->set_screen_update(FUNC(sms_state::screen_update_sms));
+
+ SEGA315_5246(config, m_vdp, XTAL(10'738'635));
+ m_vdp->set_screen(m_main_scr);
+ m_vdp->set_is_pal(false);
+ m_vdp->n_int().set_inputline(m_maincpu, 0);
+ m_vdp->n_nmi().set_inputline(m_maincpu, INPUT_LINE_NMI);
+ m_vdp->add_route(ALL_OUTPUTS, "mono", 1.00);
+}
+
+
void smsbootleg_state::init_sms_supergame()
{
uint8_t* rom = memregion("maincpu")->base();
@@ -430,6 +448,8 @@ ROM_START( smssgamea )
// there seems to be some kind of MCU for the timer?
ROM_END
+} // Anonymous namespace
+
// these haven't been set as clones because they contain different games
GAME( 199?, smssgame, 0, sms_supergame, sms_supergame, smsbootleg_state, init_sms_supergame, ROT0, "Sono Corp Japan", "Super Game (Sega Master System Multi-game bootleg)", MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index f47f37c77bf..8dbc37cf45e 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -578,9 +578,7 @@ TODO:
#include "cpu/z80/z80.h"
#include "sound/snkwave.h"
#include "sound/ay8910.h"
-#include "sound/y8950.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp
index 7c5b561a6d6..6c39236c678 100644
--- a/src/mame/drivers/snk68.cpp
+++ b/src/mame/drivers/snk68.cpp
@@ -48,7 +48,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/msm5205.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index fce614b698d..558dde3e9fb 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -81,8 +81,8 @@ a joystick. This is not an emulation bug.
#include "cpu/mcs51/mcs51.h" // for semicom mcu
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
@@ -664,6 +664,23 @@ static INPUT_PORTS_START( snowbroj )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( ballboy3p )
+ PORT_INCLUDE(snowbros)
+
+ PORT_MODIFY("DSW1") // on the PCB in place of the dips there's the plug for the controls of the 3rd player
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_MODIFY("SYSTEM")
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_START3 )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( honeydol )
PORT_START("DSW1")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) )
@@ -2766,6 +2783,27 @@ ROM_START( ballboy )
ROM_END
+ROM_START( ballboy3p ) //PCB etched JOYCUS10 (or JOYCU510) 2081627 (0, 6 and 8 aren't clearly readable)
+ ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
+ ROM_LOAD16_BYTE( "ur4", 0x00000, 0x20000, CRC(32153d8f) SHA1(1fa698b93507fb775dfff6da8701ab65c986cac5) )
+ ROM_LOAD16_BYTE( "ur3", 0x00001, 0x20000, CRC(4d462a75) SHA1(30a84a618bea5c64201329d02847382c2d0c84ba) )
+
+ // the sound is driven by an MCU
+ ROM_REGION( 0x10000, "cpu2", 0 )
+ ROM_LOAD( "sound.mcu", 0x00000, 0x10000 , NO_DUMP )
+
+ ROM_REGION( 0x80000, "gfx1", 0 )
+ ROM_LOAD( "ua5", 0x000000, 0x80000, CRC(fc72011f) SHA1(f1f10b34fd3365c6542299bd0224dad926d650b4) ) // 16x16 tiles
+
+ ROM_REGION( 0x400000, "gfx2", 0 ) // 16x16 BG Tiles
+ ROM_LOAD( "un7", 0x000000, 0x400000, CRC(fe427e9d) SHA1(6932ad18b6807af860f8430e2a00e959d6c36a23) )
+
+ ROM_REGION( 0x100000, "oki", 0 ) // OKIM6295 samples
+ ROM_LOAD( "us5", 0x00000, 0x20000, CRC(7c6368ef) SHA1(53393c570c605f7582b61c630980041e2ed32e2d) ) // only ROM identical to the 2 player version
+ ROM_CONTINUE(0x80000,0x60000)
+ROM_END
+
+
/*
Information from Korean arcade gaming magazine
@@ -2912,6 +2950,13 @@ void snowbros_state::init_snowbro3()
save_item(NAME(m_sb3_music));
}
+void snowbros_state::init_ballboy3p()
+{
+ init_snowbro3();
+
+ m_maincpu->space(AS_PROGRAM).unmap_write(0x400000, 0x400001); // unmap flipscreen as the DSW has been removed in favor of the controls for the 3rd player
+}
+
uint16_t snowbros_state::_3in1_read()
{
return 0x000a;
@@ -3028,9 +3073,9 @@ GAME( 1996, multi96, twinadv, twinadv, twinadv, snowbros_state, empty_i
// The Korean games database shows an earlier version of this called Ball Boy with a different title screen to the version of Ball Boy we have
// http://mamedev.emulab.it/undumped/images/Ballboy.jpg
// it is possible this 'ball boy' is the original bootleg, with snwobro3 being a hack of that, and the ballboy set we have a further hack of that
-// there is also a later 2004 version with 3 player support
// these use an MCU to drive the sound
-GAME( 2002, snowbro3, 0, snowbro3, snowbroj, snowbros_state, init_snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // hacked from SnowBros code but released as an original game
-GAME( 2003, ballboy, snowbro3, snowbro3, snowbroj, snowbros_state, init_snowbro3, ROT0, "bootleg", "Ball Boy", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 2002, snowbro3, 0, snowbro3, snowbroj, snowbros_state, init_snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // hacked from SnowBros code but released as an original game
+GAME( 2003, ballboy, snowbro3, snowbro3, snowbroj, snowbros_state, init_snowbro3, ROT0, "bootleg", "Ball Boy (2 players)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 2004, ballboy3p, snowbro3, snowbro3, ballboy3p, snowbros_state, init_ballboy3p, ROT0, "bootleg", "Ball Boy (3 players)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
// protection appears to handle the sound, should check if it's just a block of code that is conditionally executed like some of the Semicom titles.
-GAME( 1999, yutnori, 0, yutnori, yutnori, snowbros_state, init_yutnori, ROT0, "Nunal", "Puzzle Yutnori (Korea)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND ) // Nunal is apparently Korean slang for Eyeball, hence the logo. Some places report 'JCC Soft' as the manufacturer
+GAME( 1999, yutnori, 0, yutnori, yutnori, snowbros_state, init_yutnori, ROT0, "Nunal", "Puzzle Yutnori (Korea)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND ) // Nunal is apparently Korean slang for Eyeball, hence the logo. Some places report 'JCC Soft' as the manufacturer
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index 75e3b6fca95..1bffa307d8c 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -173,19 +173,11 @@ Exidy Sorcerer Video/Disk Unit:
void sorcerer_state::sorcerer_mem(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0xbfff).ram();
+ map(0x0000, 0xffff).ram();
//map(0xc000, 0xdfff).rom(); // mapped by the cartslot
map(0xe000, 0xefff).rom().region("maincpu", 0).nopw(); // bios
- map(0xf000, 0xf7ff).ram(); // screen ram
map(0xf800, 0xfbff).rom().region("chargen", 0).nopw(); // inbuilt characters
- map(0xfc00, 0xffff).ram().share("pcg"); // PCG
-}
-
-void sorcerer_state::sorcererb_mem(address_map &map)
-{
- map.unmap_value_high();
- sorcerer_mem(map);
- map(0xc000, 0xdfff).ram();
+ map(0xfc00, 0xffff).share("pcg"); // PCG
}
void sorcererd_state::sorcererd_mem(address_map &map)
@@ -477,8 +469,9 @@ void sorcerer_state::sorcerer(machine_config &config)
INPUT_BUFFER(config, "cent_status_in");
/* quickload */
- SNAPSHOT(config, "snapshot", "snp", attotime::from_seconds(4)).set_load_callback(FUNC(sorcerer_state::snapshot_cb));
- QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(4)).set_load_callback(FUNC(sorcerer_state::quickload_cb));
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "bin,snp", attotime::from_seconds(4)));
+ quickload.set_load_callback(FUNC(sorcerer_state::quickload_cb));
+ quickload.set_interface("sorcerer_quik");
CASSETTE(config, m_cassette1);
m_cassette1->set_formats(sorcerer_cassette_formats);
@@ -498,6 +491,7 @@ void sorcerer_state::sorcerer(machine_config &config)
/* software lists */
SOFTWARE_LIST(config, "cart_list").set_original("sorcerer_cart");
SOFTWARE_LIST(config, "cass_list").set_original("sorcerer_cass");
+ SOFTWARE_LIST(config, "quik_list").set_original("sorcerer_quik");
// internal ram
RAM(config, RAM_TAG).set_default_size("48K").set_extra_options("8K,16K,32K");
@@ -559,7 +553,6 @@ void sorcerer_state::sorcerera(machine_config &config)
void sorcerer_state::sorcererb(machine_config &config)
{
sorcerer(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &sorcerer_state::sorcererb_mem);
m_maincpu->set_addrmap(AS_IO, &sorcerer_state::sorcererb_io);
Z80DMA(config, m_dma, ES_CPU_CLOCK);
diff --git a/src/mame/drivers/sothello.cpp b/src/mame/drivers/sothello.cpp
index 76ddefc79c2..fdc4b532680 100644
--- a/src/mame/drivers/sothello.cpp
+++ b/src/mame/drivers/sothello.cpp
@@ -41,7 +41,7 @@ OSC : 8.0000MHz(X1) 21.477 MHz(X2) 384kHz(X3)
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/v9938.h"
#include "speaker.h"
diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp
index f3bd6a4d9ce..3d56c375ac3 100644
--- a/src/mame/drivers/spbactn.cpp
+++ b/src/mame/drivers/spbactn.cpp
@@ -137,7 +137,7 @@ cpu #0 (PC=00001A1A): unmapped memory word write to 00090030 = 00F7 & 00FF
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/spdheat.cpp b/src/mame/drivers/spdheat.cpp
index 2decbb2515f..cf8c800b7f2 100644
--- a/src/mame/drivers/spdheat.cpp
+++ b/src/mame/drivers/spdheat.cpp
@@ -20,7 +20,7 @@
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/flt_vol.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
static constexpr XTAL MASTER_CLOCK = 16_MHz_XTAL;
diff --git a/src/mame/drivers/spdodgeb.cpp b/src/mame/drivers/spdodgeb.cpp
index 1a839aa959f..ea59b2e2436 100644
--- a/src/mame/drivers/spdodgeb.cpp
+++ b/src/mame/drivers/spdodgeb.cpp
@@ -28,7 +28,7 @@ Notes:
#include "cpu/m6502/m6502.h"
#include "cpu/m6800/m6801.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/speedbal.cpp b/src/mame/drivers/speedbal.cpp
index 85dfb06cb4b..e6972aae1b8 100644
--- a/src/mame/drivers/speedbal.cpp
+++ b/src/mame/drivers/speedbal.cpp
@@ -33,7 +33,7 @@ Interrupt frequency on audio CPU is not a periodical signal, but there are a lot
#include "includes/speedbal.h"
#include "cpu/z80/z80.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/spg110.cpp b/src/mame/drivers/spg110.cpp
index f67fe1e9d14..d3b783c880d 100644
--- a/src/mame/drivers/spg110.cpp
+++ b/src/mame/drivers/spg110.cpp
@@ -526,7 +526,7 @@ void spg110_game_state::spg110_base(machine_config &config)
m_maincpu->portb_in().set_ioport("PB");
m_maincpu->portc_in().set_ioport("PC");
m_maincpu->adc_in<0>().set_ioport("JOYX");
- m_maincpu->adc_in<1>().set_ioport("JOYY");
+ m_maincpu->adc_in<3>().set_ioport("JOYY");
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
diff --git a/src/mame/drivers/spg2xx_jakks_gkr.cpp b/src/mame/drivers/spg2xx_jakks_gkr.cpp
index 8801a7280ff..eabcc506ef1 100644
--- a/src/mame/drivers/spg2xx_jakks_gkr.cpp
+++ b/src/mame/drivers/spg2xx_jakks_gkr.cpp
@@ -529,7 +529,7 @@ void jakks_gkr_state::jakks_gkr_dp_i2c(machine_config &config)
void jakks_gkr_state::jakks_gkr_sw_i2c(machine_config &config)
{
jakks_gkr_i2c(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_2m);
m_maincpu->adc_in<0>().set(FUNC(jakks_gkr_state::joy_x_read));
m_maincpu->adc_in<1>().set(FUNC(jakks_gkr_state::joy_x_read));
m_maincpu->adc_in<2>().set(FUNC(jakks_gkr_state::joy_y_read));
@@ -668,6 +668,22 @@ ROM_START( jak_sdoo )
ROM_LOAD16_WORD_SWAP( "jakksscoobydoogkr.bin", 0x000000, 0x400000, CRC(61062ce5) SHA1(9d21767fd855385ef83e4209c429ecd4bf7e5384) )
ROM_END
+ROM_START( jak_dwmn )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "dreamworks.bin", 0x000000, 0x400000, CRC(3ae9f786) SHA1(46451be3af459fbdb75d1155b3817543afe183d5) )
+ROM_END
+
+ROM_START( jak_dwmno )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "dw_spg300_test.bin", 0x000000, 0x400000, CRC(1ca2817b) SHA1(39ae519457c102c4420fae3699b2db0557ef1cf5) )
+ROM_END
+
+ROM_START( jak_xmenp )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "xmen.bin", 0x000000, 0x400000, CRC(1fa271e0) SHA1(c32652e9eddf82ab496e3609f8fa444e447fb509) )
+ROM_END
+
+
ROM_START( jak_dbz )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "jakksdragonballzgkr.bin", 0x000000, 0x200000, CRC(d52c3b20) SHA1(fd5ce41c143cad9bca3372054f4ff98b52c33874) )
@@ -676,6 +692,17 @@ ROM_END
ROM_START( jak_sith )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "jakksstarwarsgkr.bin", 0x000000, 0x200000, CRC(932cde19) SHA1(b88b748c235e9eeeda574e4d5b4077ae9da6fbd0) )
+ ROM_RELOAD(0x200000,0x200000)
+ROM_END
+
+ROM_START( jak_sithp )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "starwars_prototype.bin", 0x000000, 0x400000, CRC(796b7d90) SHA1(9bcb9899dcaae57288316fe60e7724512e80c905) )
+ROM_END
+
+ROM_START( jak_swot )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "starwars_originaltrilogy_prototype.bin", 0x000000, 0x400000, CRC(3dda7aff) SHA1(970044a6b2f14863353e559f5d2a4e928c8de439) )
ROM_END
ROM_START( jak_capc )
@@ -689,26 +716,37 @@ ROM_END
// Some of these were available in versions without Game-Key ports, it is unconfirmed if code was the same unless otherwise stated
// For units released AFTER the GameKey promotion was cancelled it appears the code is the same as the PCB inside is the same, just the external port closed off, earlier units might be different hardware in some cases.
// units released BEFORE the GameKey support were sometimes different hardware, eg. the Spider-Man and Disney units were SPG110 based
-CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "WWE (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WW (no game-keys released)
-CONS( 2005, jak_fan4, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Fantastic Four (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // F4 (no game-keys released)
-CONS( 2005, jak_just, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
-CONS( 2005, jak_dora, 0, 0, jakks_gkr_nk, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Nursery Rhyme Adventure (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
-CONS( 2005, jak_dorr, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is blue
-CONS( 2004, jak_nick, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Nicktoons (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
-CONS( 2005, jak_sbfc, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "SpongeBob SquarePants - The Fry Cook Games (JAKKS Pacific TV Game, Game-Key Ready) (AUG 18 2005 21:31:56)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
-CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m_i2c, jak_sdoo_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Jolliford Management", "Scooby-Doo! and the Mystery of the Castle (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // SD (no game-keys released) (was dumped from a later unit with GameKey port missing, but internal PCB still supported it, code likely the same)
-CONS( 2005, jak_disn, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney (JAKKS Pacific TV Game, Game-Key Ready) (08 FEB 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
-CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
-CONS( 2005, jak_dpr, 0, 0, jakks_gkr_dp_i2c, jak_dpr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princess (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released)
-CONS( 2005, jak_dprs, 0, 0, jakks_gkr_dp_i2c, jak_dpr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princesses (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released) (unit looks identical to above, including just having 'Disney Princess' logo, but this one has the 'board game' as a frontend and a slightly different on-screen title)
-CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses SW keys (1 released)
-CONS( 2005, jak_dbz, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DB (no game-keys released, 1 in development but cancelled)
-CONS( 2005, jak_mpac, 0, 0, jakks_gkr_nm_i2c, jak_nm_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) (07 FEB 2005 A SKU F)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
-CONS( 2005, jak_capc, 0, 0, jakks_gkr_cc_i2c, jak_cc_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Capcom / HotGen Ltd", "Capcom 3-in-1 (1942, Commando, Ghosts'n Goblins) (JAKKS Pacific TV Game, Game-Key Ready) (29 MAR 2005 B)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses CC keys (no game-keys released)
-CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) (Jul 11 2005 ORIG)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
+CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "WWE (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WW (no game-keys released)
+CONS( 2005, jak_fan4, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Fantastic Four (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // F4 (no game-keys released)
+CONS( 2005, jak_just, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
+CONS( 2005, jak_dora, 0, 0, jakks_gkr_nk, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Nursery Rhyme Adventure (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
+CONS( 2005, jak_dorr, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is blue
+CONS( 2004, jak_nick, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Nicktoons (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
+CONS( 2005, jak_sbfc, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "SpongeBob SquarePants - The Fry Cook Games (JAKKS Pacific TV Game, Game-Key Ready) (AUG 18 2005 21:31:56)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
+CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m_i2c, jak_sdoo_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Jolliford Management", "Scooby-Doo! and the Mystery of the Castle (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // SD (no game-keys released) (was dumped from a later unit with GameKey port missing, but internal PCB still supported it, code likely the same)
+CONS( 2005, jak_disn, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney (JAKKS Pacific TV Game, Game-Key Ready) (08 FEB 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
+CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
+CONS( 2005, jak_dpr, 0, 0, jakks_gkr_dp_i2c, jak_dpr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princess (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released)
+CONS( 2005, jak_dprs, 0, 0, jakks_gkr_dp_i2c, jak_dpr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princesses (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released) (unit looks identical to above, including just having 'Disney Princess' logo, but this one has the 'board game' as a frontend and a slightly different on-screen title)
+// Some versions of the 'Revenge of the Sith' box art show 'Classic Battles' below the Star Wars logo
+CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses SW keys (1 released)
+CONS( 2005, jak_sithp, jak_sith, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // ^
+// release version of Star Wars Original Trilogy not dumped yet
+CONS( 2006, jak_swot, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Star Wars - Original Trilogy (JAKKS Pacific TV Game, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // was designed with SW keys in mind, but retail lacked the port
+CONS( 2005, jak_dbz, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DB (no game-keys released, 1 in development but cancelled)
+CONS( 2005, jak_mpac, 0, 0, jakks_gkr_nm_i2c, jak_nm_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) (07 FEB 2005 A SKU F)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
+CONS( 2005, jak_capc, 0, 0, jakks_gkr_cc_i2c, jak_cc_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Capcom / HotGen Ltd", "Capcom 3-in-1 (1942, Commando, Ghosts'n Goblins) (JAKKS Pacific TV Game, Game-Key Ready) (29 MAR 2005 B)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses CC keys (no game-keys released)
+CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) (Jul 11 2005 ORIG)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
// There is a 'Second Edition' version of Wheel of Fortune with a Gold case, GameKey port removed, and a '2' over the usual Game Key Ready logo, internals are different too, not Game-Key Ready
-CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // MV (1 key available)
-CONS( 2005, jak_pooh, 0, 0, jakks_gkr_wp, jak_pooh, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
-CONS( 2005, jak_care, 0, 0, jakks_gkr_cb, jak_care, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Care Bears TV Games (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // CB (no game-keys released)
+CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // MV (1 key available)
+CONS( 2005, jak_pooh, 0, 0, jakks_gkr_wp, jak_pooh, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
+CONS( 2005, jak_care, 0, 0, jakks_gkr_cb, jak_care, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Care Bears TV Games (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // CB (no game-keys released)
+
+// release version of X-Men is not dumped yet
+CONS( 2005, jak_xmenp, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "X-Men - Mutant Reign (JAKKS Pacific TV Game, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+
+// Dreamworks Movie Night was never manufactured
+CONS( 2006, jak_dwmn, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Oct 18 2006, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+CONS( 2006, jak_dwmno,jak_dwmn, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Apr 24 2006, test program)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// Some versions of the Shrek - Over the Hedge unit show the GameKey logo on startup (others don't) there is no evidence to suggest it was ever released with a GameKey port tho, and the internal PCB has no place for one on the versions we've seen (which show the logo)
diff --git a/src/mame/drivers/spinb.cpp b/src/mame/drivers/spinb.cpp
index 7a5aa461939..0794e9bf27e 100644
--- a/src/mame/drivers/spinb.cpp
+++ b/src/mame/drivers/spinb.cpp
@@ -818,6 +818,29 @@ ROM_START(bushidoa)
ROM_LOAD("f-musica.bin", 0x80000, 0x80000, CRC(80f3a6df) SHA1(e09ad4660e511779c6e55559fa0c2c0b0c6600c8))
ROM_END
+ROM_START(bushidob)
+ ROM_REGION(0x4000, "maincpu", 0)
+ ROM_LOAD("inder_sa_m-17_pb-in_a-1954-93_b4_cpu rom_0_06-a.bin", 0x0000, 0x2000, CRC(7c8561f7) SHA1(d81338160f6eb8898a7b779f57e327d2db3f7dab))
+ ROM_LOAD("inder_sa_m-17_pb-in_a-1954-93_b4_cpu rom_1_06-a.bin", 0x2000, 0x2000, CRC(4a41865c) SHA1(f597d5dd42b804ab637408b90d05bdb234559a48))
+
+ ROM_REGION(0x10000, "dmdcpu", 0)
+ ROM_LOAD("g-disply.bin", 0x00000, 0x10000, CRC(9a1df82f) SHA1(4ad6a12ae36ec898b8ac5243da6dec3abcd9dc33))
+
+ ROM_REGION(0x2000, "audiocpu", 0)
+ ROM_LOAD("a-sonido.bin", 0x0000, 0x2000, CRC(cf7d5399) SHA1(c79145826cfa6be2487e3add477d9b452c553762))
+
+ ROM_REGION(0x180000, "audiorom", 0)
+ ROM_LOAD("b-sonido.bin", 0x00000, 0x80000, CRC(cb4fc885) SHA1(569f389fa8f91f886b58f44f701d2752ef01f3fa))
+ ROM_LOAD("c-sonido.bin", 0x80000, 0x80000, CRC(35a43dd8) SHA1(f2b1994f67f749c65a88c95d970b655990d85b96))
+
+ ROM_REGION(0x2000, "musiccpu", 0)
+ ROM_LOAD("d-musica.bin", 0x0000, 0x2000, CRC(2cb9697c) SHA1(d5c66d616ccd5e299832704e494743429dafd569))
+
+ ROM_REGION(0x180000, "musicrom", 0)
+ ROM_LOAD("e-musica.bin", 0x00000, 0x80000, CRC(1414b921) SHA1(5df9e538ee109df28953ec8f162c60cb8c6e4d96))
+ ROM_LOAD("f-musica.bin", 0x80000, 0x80000, CRC(80f3a6df) SHA1(e09ad4660e511779c6e55559fa0c2c0b0c6600c8))
+ROM_END
+
/*-------------------------------------------------------------------
/ Mach 2 (1995)
/-------------------------------------------------------------------*/
@@ -921,9 +944,10 @@ ROM_START(vrnwrld)
ROM_LOAD("vws7ic27.rom", 0x100000, 0x80000, CRC(7335b29c) SHA1(4de6de09f069feecbad2e5ef50032e8d381ff9b1))
ROM_END
-GAME(1993, bushido, 0, spinb, spinb, spinb_state, init_game0, ROT0, "Inder/Spinball", "Bushido (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, bushidoa, bushido, spinb, spinb, spinb_state, init_game0, ROT0, "Inder/Spinball", "Bushido (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1995, mach2, 0, spinb, spinb, spinb_state, init_game0, ROT0, "Spinball", "Mach 2 (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1995, mach2a, mach2, spinb, spinb, spinb_state, init_game0, ROT0, "Spinball", "Mach 2 (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1996, jolypark, 0, jolypark, spinb, spinb_state, init_game1, ROT0, "Spinball", "Jolly Park", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1996, vrnwrld, 0, vrnwrld, spinb, spinb_state, init_game2, ROT0, "Spinball", "Verne's World", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, bushido, 0, spinb, spinb, spinb_state, init_game0, ROT0, "Inder/Spinball", "Bushido (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, bushidoa, bushido, spinb, spinb, spinb_state, init_game0, ROT0, "Inder/Spinball", "Bushido (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, bushidob, bushido, spinb, spinb, spinb_state, init_game0, ROT0, "Inder/Spinball", "Bushido (set 3)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1995, mach2, 0, spinb, spinb, spinb_state, init_game0, ROT0, "Spinball", "Mach 2 (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1995, mach2a, mach2, spinb, spinb, spinb_state, init_game0, ROT0, "Spinball", "Mach 2 (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1996, jolypark, 0, jolypark, spinb, spinb_state, init_game1, ROT0, "Spinball", "Jolly Park", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1996, vrnwrld, 0, vrnwrld, spinb, spinb_state, init_game2, ROT0, "Spinball", "Verne's World", MACHINE_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/splash.cpp b/src/mame/drivers/splash.cpp
index f00ae2a8c49..f5be982e578 100644
--- a/src/mame/drivers/splash.cpp
+++ b/src/mame/drivers/splash.cpp
@@ -50,8 +50,8 @@ More notes about Funny Strip protection issues at the bottom of source file (ini
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/splash_ms.cpp b/src/mame/drivers/splash_ms.cpp
index 4128071a99a..5d74debbe5c 100644
--- a/src/mame/drivers/splash_ms.cpp
+++ b/src/mame/drivers/splash_ms.cpp
@@ -14,7 +14,7 @@
#include "speaker.h"
#include "tilemap.h"
#include "sound/msm5205.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "machine/gen_latch.h"
#include "machine/bankdev.h"
diff --git a/src/mame/drivers/spoker.cpp b/src/mame/drivers/spoker.cpp
index 7588e1362cf..0e9cbb5c288 100644
--- a/src/mame/drivers/spoker.cpp
+++ b/src/mame/drivers/spoker.cpp
@@ -32,7 +32,7 @@
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/nvram.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp
index 85bfeaae94a..856056f586f 100644
--- a/src/mame/drivers/sprint2.cpp
+++ b/src/mame/drivers/sprint2.cpp
@@ -30,6 +30,18 @@
#define MACHINE_IS_SPRINT2 (m_game == 2)
#define MACHINE_IS_DOMINOS (m_game == 3)
+
+void sprint2_state::machine_start()
+{
+ m_gear_sel.resolve();
+
+ save_item(NAME(m_steering));
+ save_item(NAME(m_gear));
+ save_item(NAME(m_dial));
+ save_item(NAME(m_collision));
+}
+
+
void sprint2_state::init_sprint1()
{
m_game = 1;
@@ -49,9 +61,9 @@ void sprint2_state::init_dominos4()
m_maincpu->space(AS_PROGRAM).install_read_port(0x0880, 0x0880, "SELFTTEST");
}
-int sprint2_state::service_mode()
+uint8_t sprint2_state::service_mode()
{
- uint8_t v = ioport("INB")->read();
+ uint8_t v = m_in[1]->read();
if (MACHINE_IS_SPRINT1)
{
@@ -70,17 +82,15 @@ int sprint2_state::service_mode()
}
-INTERRUPT_GEN_MEMBER(sprint2_state::sprint2_irq)
+INTERRUPT_GEN_MEMBER(sprint2_state::irq)
{
- /* handle steering wheels */
+ // handle steering wheels
if (MACHINE_IS_SPRINT1 || MACHINE_IS_SPRINT2)
{
- int i;
-
- for (i = 0; i < 2; i++)
+ for (int i = 0; i < 2; i++)
{
- signed char delta = ioport(i ? "DIAL_P2" : "DIAL_P1")->read() - m_dial[i];
+ signed char delta = m_dials[i]->read() - m_dial[i];
if (delta < 0)
{
@@ -93,15 +103,15 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2_irq)
m_dial[i] += delta;
- switch (ioport(i ? "GEAR_P2" : "GEAR_P1")->read() & 15)
+ switch (m_gears[i]->read() & 15)
{
case 1: m_gear[i] = 1; break;
case 2: m_gear[i] = 2; break;
case 4: m_gear[i] = 3; break;
case 8: m_gear[i] = 4; break;
}
- output().set_value("P1gear", m_gear[0]);
- output().set_value("P2gear", m_gear[1]);
+ m_gear_sel[0] = m_gear[0];
+ m_gear_sel[1] = m_gear[1];
}
}
@@ -109,7 +119,7 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2_irq)
m_discrete->write(SPRINT2_MOTORSND2_DATA, m_video_ram[0x395] & 15);
m_discrete->write(SPRINT2_CRASHSND_DATA, m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA
- /* interrupts and watchdog are disabled during service mode */
+ // interrupts and watchdog are disabled during service mode
m_watchdog->watchdog_enable(!service_mode());
@@ -118,21 +128,21 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2_irq)
}
-uint8_t sprint2_state::sprint2_wram_r(offs_t offset)
+uint8_t sprint2_state::wram_r(offs_t offset)
{
return m_video_ram[0x380 + offset % 0x80];
}
-uint8_t sprint2_state::sprint2_dip_r(offs_t offset)
+uint8_t sprint2_state::dip_r(offs_t offset)
{
- return (ioport("DSW")->read() << (2 * ((offset & 3) ^ 3))) & 0xc0;
+ return (m_dsw->read() << (2 * ((offset & 3) ^ 3))) & 0xc0;
}
-uint8_t sprint2_state::sprint2_input_A_r(offs_t offset)
+uint8_t sprint2_state::input_A_r(offs_t offset)
{
- uint8_t val = ioport("INA")->read();
+ uint8_t val = m_in[0]->read();
if (m_game == 2)// (MACHINE_IS_SPRINT2)
{
@@ -148,9 +158,9 @@ uint8_t sprint2_state::sprint2_input_A_r(offs_t offset)
}
-uint8_t sprint2_state::sprint2_input_B_r(offs_t offset)
+uint8_t sprint2_state::input_B_r(offs_t offset)
{
- uint8_t val = ioport("INB")->read();
+ uint8_t val = m_in[1]->read();
if (m_game == 1) // (MACHINE_IS_SPRINT1)
{
@@ -163,7 +173,7 @@ uint8_t sprint2_state::sprint2_input_B_r(offs_t offset)
}
-uint8_t sprint2_state::sprint2_sync_r()
+uint8_t sprint2_state::sync_r()
{
uint8_t val = 0;
@@ -171,39 +181,33 @@ uint8_t sprint2_state::sprint2_sync_r()
val |= 0x10;
if (m_screen->vpos() == 261)
- val |= 0x20; /* VRESET */
+ val |= 0x20; // VRESET
if (m_screen->vpos() >= 224)
- val |= 0x40; /* VBLANK */
+ val |= 0x40; // VBLANK
if (m_screen->vpos() >= 131)
- val |= 0x80; /* 60 Hz? */
+ val |= 0x80; // 60 Hz?
return val;
}
-uint8_t sprint2_state::sprint2_steering1_r()
-{
- return m_steering[0];
-}
-uint8_t sprint2_state::sprint2_steering2_r()
+template <uint8_t Which>
+uint8_t sprint2_state::steering_r()
{
- return m_steering[1];
+ return m_steering[Which];
}
-void sprint2_state::sprint2_steering_reset1_w(uint8_t data)
+template <uint8_t Which>
+void sprint2_state::steering_reset_w(uint8_t data)
{
- m_steering[0] |= 0x80;
-}
-void sprint2_state::sprint2_steering_reset2_w(uint8_t data)
-{
- m_steering[1] |= 0x80;
+ m_steering[Which] |= 0x80;
}
-void sprint2_state::sprint2_wram_w(offs_t offset, uint8_t data)
+void sprint2_state::wram_w(offs_t offset, uint8_t data)
{
m_video_ram[0x380 + offset % 0x80] = data;
}
@@ -215,72 +219,72 @@ void sprint2_state::output_latch_w(offs_t offset, uint8_t data)
}
-void sprint2_state::sprint2_noise_reset_w(uint8_t data)
+void sprint2_state::noise_reset_w(uint8_t data)
{
m_discrete->write(SPRINT2_NOISE_RESET, 0);
}
-void sprint2_state::sprint2_map(address_map &map)
+void sprint2_state::main_map(address_map &map)
{
map.global_mask(0x3fff);
- map(0x0000, 0x03ff).rw(FUNC(sprint2_state::sprint2_wram_r), FUNC(sprint2_state::sprint2_wram_w));
- map(0x0400, 0x07ff).ram().w(FUNC(sprint2_state::sprint2_video_ram_w)).share("video_ram");
- map(0x0818, 0x081f).r(FUNC(sprint2_state::sprint2_input_A_r));
- map(0x0828, 0x082f).r(FUNC(sprint2_state::sprint2_input_B_r));
- map(0x0830, 0x0837).r(FUNC(sprint2_state::sprint2_dip_r));
+ map(0x0000, 0x03ff).rw(FUNC(sprint2_state::wram_r), FUNC(sprint2_state::wram_w));
+ map(0x0400, 0x07ff).ram().w(FUNC(sprint2_state::video_ram_w)).share(m_video_ram);
+ map(0x0818, 0x081f).r(FUNC(sprint2_state::input_A_r));
+ map(0x0828, 0x082f).r(FUNC(sprint2_state::input_B_r));
+ map(0x0830, 0x0837).r(FUNC(sprint2_state::dip_r));
map(0x0840, 0x087f).portr("COIN");
- map(0x0880, 0x08bf).r(FUNC(sprint2_state::sprint2_steering1_r));
- map(0x08c0, 0x08ff).r(FUNC(sprint2_state::sprint2_steering2_r));
- map(0x0c00, 0x0fff).r(FUNC(sprint2_state::sprint2_sync_r));
+ map(0x0880, 0x08bf).r(FUNC(sprint2_state::steering_r<0>));
+ map(0x08c0, 0x08ff).r(FUNC(sprint2_state::steering_r<1>));
+ map(0x0c00, 0x0fff).r(FUNC(sprint2_state::sync_r));
map(0x0c00, 0x0c7f).w(FUNC(sprint2_state::output_latch_w));
map(0x0c80, 0x0cff).w(m_watchdog, FUNC(watchdog_timer_device::reset_w));
- map(0x0d00, 0x0d7f).w(FUNC(sprint2_state::sprint2_collision_reset1_w));
- map(0x0d80, 0x0dff).w(FUNC(sprint2_state::sprint2_collision_reset2_w));
- map(0x0e00, 0x0e7f).w(FUNC(sprint2_state::sprint2_steering_reset1_w));
- map(0x0e80, 0x0eff).w(FUNC(sprint2_state::sprint2_steering_reset2_w));
- map(0x0f00, 0x0f7f).w(FUNC(sprint2_state::sprint2_noise_reset_w));
- map(0x1000, 0x13ff).r(FUNC(sprint2_state::sprint2_collision1_r));
- map(0x1400, 0x17ff).r(FUNC(sprint2_state::sprint2_collision2_r));
- map(0x1800, 0x1800).nopr(); /* debugger ROM location? */
+ map(0x0d00, 0x0d7f).lw8(NAME([this] (uint8_t data) { m_collision[0] = 0; }));
+ map(0x0d80, 0x0dff).lw8(NAME([this] (uint8_t data) { m_collision[1] = 0; }));
+ map(0x0e00, 0x0e7f).w(FUNC(sprint2_state::steering_reset_w<0>));
+ map(0x0e80, 0x0eff).w(FUNC(sprint2_state::steering_reset_w<1>));
+ map(0x0f00, 0x0f7f).w(FUNC(sprint2_state::noise_reset_w));
+ map(0x1000, 0x13ff).lr8(NAME([this] () -> uint8_t { return m_collision[0]; }));
+ map(0x1400, 0x17ff).lr8(NAME([this] () -> uint8_t { return m_collision[1]; }));
+ map(0x1800, 0x1800).nopr(); // debugger ROM location?
map(0x2000, 0x3fff).rom();
}
static INPUT_PORTS_START( sprint2 )
PORT_START("DSW")
- PORT_DIPNAME( 0x01, 0x00, "Tracks on Demo" )
+ PORT_DIPNAME( 0x01, 0x00, "Tracks on Demo" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00, "Easy Track Only" )
PORT_DIPSETTING( 0x01, "Cycle 12 Tracks" )
- PORT_DIPNAME( 0x02, 0x00, "Oil Slicks" )
+ PORT_DIPNAME( 0x02, 0x00, "Oil Slicks" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, "Extended Play" )
+ PORT_DIPNAME( 0x20, 0x00, "Extended Play" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0x00, "Play Time" )
+ PORT_DIPNAME( 0xc0, 0x00, "Play Time" ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0xc0, "60 seconds" )
PORT_DIPSETTING( 0x80, "90 seconds" )
PORT_DIPSETTING( 0x40, "120 seconds" )
PORT_DIPSETTING( 0x00, "150 seconds" )
- PORT_START("INA") /* input A */
- PORT_BIT (0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* P1 1st gear */
- PORT_BIT (0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* P2 1st gear */
- PORT_BIT (0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* P1 2nd gear */
- PORT_BIT (0x08, IP_ACTIVE_LOW, IPT_UNUSED ) /* P2 2nd gear */
- PORT_BIT (0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* P1 3rd gear */
- PORT_BIT (0x20, IP_ACTIVE_LOW, IPT_UNUSED ) /* P2 3rd gear */
+ PORT_START("INA") // input A
+ PORT_BIT (0x01, IP_ACTIVE_LOW, IPT_UNUSED ) // P1 1st gear
+ PORT_BIT (0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // P2 1st gear
+ PORT_BIT (0x04, IP_ACTIVE_LOW, IPT_UNUSED ) // P1 2nd gear
+ PORT_BIT (0x08, IP_ACTIVE_LOW, IPT_UNUSED ) // P2 2nd gear
+ PORT_BIT (0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // P1 3rd gear
+ PORT_BIT (0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // P2 3rd gear
- PORT_START("INB") /* input B */
+ PORT_START("INB") // input B
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 1 Gas") PORT_PLAYER(1)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 2 Gas") PORT_PLAYER(2)
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
@@ -319,37 +323,37 @@ static INPUT_PORTS_START( sprint2 )
INPUT_PORTS_END
-static INPUT_PORTS_START( sprint1 )
+ static INPUT_PORTS_START( sprint1 )
PORT_START("DSW")
- PORT_DIPNAME( 0x01, 0x00, "Change Track" )
+ PORT_DIPNAME( 0x01, 0x00, "Change Track" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, "Every Lap" )
PORT_DIPSETTING( 0x00, "Every 2 Laps" )
- PORT_DIPNAME( 0x02, 0x00, "Oil Slicks" )
+ PORT_DIPNAME( 0x02, 0x00, "Oil Slicks" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, "Extended Play" )
+ PORT_DIPNAME( 0x20, 0x00, "Extended Play" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0x00, "Play Time" )
+ PORT_DIPNAME( 0xc0, 0x00, "Play Time" ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0xc0, "60 seconds" )
PORT_DIPSETTING( 0x80, "90 seconds" )
PORT_DIPSETTING( 0x40, "120 seconds" )
PORT_DIPSETTING( 0x00, "150 seconds" )
- PORT_START("INA") /* input A */
+ PORT_START("INA") // input A
- PORT_START("INB") /* input B */
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* 1st gear */
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* 2nd gear */
- PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* 3rd gear */
+ PORT_START("INB") // input B
+ PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) // 1st gear
+ PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // 2nd gear
+ PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) // 3rd gear
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gas")
PORT_SERVICE( 0x10, IP_ACTIVE_LOW )
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_START1 )
@@ -378,35 +382,35 @@ INPUT_PORTS_END
static INPUT_PORTS_START( dominos )
PORT_START("DSW")
- PORT_DIPNAME( 0x03, 0x01, "Points to Win" )
+ PORT_DIPNAME( 0x03, 0x01, "Points to Win" ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x03, "6" )
PORT_DIPSETTING( 0x02, "5" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x00, "3" )
- PORT_DIPNAME( 0x0C, 0x08, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0x0C, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") // Manual says "Always on" for dips 5-8
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_START("INA") /* input A */
+ PORT_START("INA") // input A
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_START("INB") /* input B */
+ PORT_START("INB") // input B
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
@@ -426,7 +430,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( dominos4 )
PORT_INCLUDE(dominos)
- PORT_MODIFY("INA") /* input A */
+ PORT_MODIFY("INA") // input A
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
@@ -436,7 +440,7 @@ static INPUT_PORTS_START( dominos4 )
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_MODIFY("INB") /* input A */
+ PORT_MODIFY("INB") // input B
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(3)
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(3)
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(3)
@@ -484,31 +488,31 @@ static const gfx_layout car_layout =
static GFXDECODE_START( gfx_sprint2 )
- GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0, 2 )
- GFXDECODE_ENTRY( "gfx2", 0, car_layout, 4, 4 )
+ GFXDECODE_ENTRY( "tiles", 0, tile_layout, 0, 2 )
+ GFXDECODE_ENTRY( "sprites", 0, car_layout, 4, 4 )
GFXDECODE_END
void sprint2_state::sprint2(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
M6502(config, m_maincpu, 12.096_MHz_XTAL / 16);
- m_maincpu->set_addrmap(AS_PROGRAM, &sprint2_state::sprint2_map);
- m_maincpu->set_vblank_int("screen", FUNC(sprint2_state::sprint2_irq));
+ m_maincpu->set_addrmap(AS_PROGRAM, &sprint2_state::main_map);
+ m_maincpu->set_vblank_int("screen", FUNC(sprint2_state::irq));
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8);
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(12.096_MHz_XTAL, 768, 0, 512, 262, 0, 224);
- m_screen->set_screen_update(FUNC(sprint2_state::screen_update_sprint2));
- m_screen->screen_vblank().set(FUNC(sprint2_state::screen_vblank_sprint2));
+ m_screen->set_screen_update(FUNC(sprint2_state::screen_update));
+ m_screen->screen_vblank().set(FUNC(sprint2_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_sprint2);
- PALETTE(config, m_palette, FUNC(sprint2_state::sprint2_palette), 12, 4);
+ PALETTE(config, m_palette, FUNC(sprint2_state::palette), 12, 4);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -518,7 +522,7 @@ void sprint2_state::sprint2(machine_config &config)
m_outlatch->q_out_cb<2>().set("discrete", FUNC(discrete_device::write_line<SPRINT2_SKIDSND2_EN>));
m_outlatch->q_out_cb<3>().set_output("led0"); // START LAMP1
m_outlatch->q_out_cb<4>().set_output("led1"); // START LAMP2
- //m_outlatch->q_out_cb<6>().set(FUNC(sprint2_state::sprint2_spare_w));
+ //m_outlatch->q_out_cb<6>().set(FUNC(sprint2_state::spare_w));
DISCRETE(config, m_discrete, sprint2_discrete);
m_discrete->add_route(0, "lspeaker", 1.0);
@@ -530,29 +534,21 @@ void sprint2_state::sprint1(machine_config &config)
{
sprint2(config);
- /* sound hardware */
+ // sound hardware
config.device_remove("lspeaker");
config.device_remove("rspeaker");
SPEAKER(config, "mono").front_center();
- config.device_remove("discrete");
-
- DISCRETE(config, m_discrete, sprint1_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
+ DISCRETE(config.replace(), m_discrete, sprint1_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}
void sprint2_state::dominos(machine_config &config)
{
- sprint2(config);
-
- /* sound hardware */
- config.device_remove("lspeaker");
- config.device_remove("rspeaker");
- SPEAKER(config, "mono").front_center();
-
- config.device_remove("discrete");
+ sprint1(config);
- DISCRETE(config, m_discrete, dominos_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
+ // sound hardware
+ DISCRETE(config.replace(), m_discrete, dominos_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}
void sprint2_state::dominos4(machine_config &config)
@@ -569,17 +565,17 @@ ROM_START( sprint1 )
ROM_LOAD( "6442-01.d1", 0x3000, 0x0800, CRC(e9ff0124) SHA1(42fe028e2e595573ccc0821de3bb6970364c585d) )
ROM_LOAD( "6443-01.e1", 0x3800, 0x0800, CRC(d6bb00d0) SHA1(cdcd4bb7b32be7a11480d3312fcd8d536e2d0caf) )
- ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x0200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) )
ROM_LOAD_NIB_LOW ( "6397-01.r4", 0x0000, 0x0200, CRC(135ba1aa) SHA1(0465259440f73e1a2c8d8101f29e99b4885420e4) )
- ROM_REGION( 0x0200, "gfx2", 0 ) /* cars */
+ ROM_REGION( 0x0200, "sprites", 0 ) // cars
ROM_LOAD_NIB_HIGH( "6399-01.j6", 0x0000, 0x0200, CRC(63d685b2) SHA1(608746163e25dbc14cde43c17aecbb9a14fac875) )
ROM_LOAD_NIB_LOW ( "6398-01.k6", 0x0000, 0x0200, CRC(c9e1017e) SHA1(e7279a13e4a812d2e0218be0bc5162f2e56c6b66) )
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
@@ -590,17 +586,17 @@ ROM_START( sprint2 )
ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) )
ROM_LOAD( "6405.e1", 0x3800, 0x0800, CRC(6c991c80) SHA1(c30a5b340f05dd702c7a186eb62607a48fa19f72) )
- ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x0200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) )
ROM_LOAD_NIB_LOW ( "6397-01.r4", 0x0000, 0x0200, CRC(135ba1aa) SHA1(0465259440f73e1a2c8d8101f29e99b4885420e4) )
- ROM_REGION( 0x0200, "gfx2", 0 ) /* cars */
+ ROM_REGION( 0x0200, "sprites", 0 ) // cars
ROM_LOAD_NIB_HIGH( "6399-01.j6", 0x0000, 0x0200, CRC(63d685b2) SHA1(608746163e25dbc14cde43c17aecbb9a14fac875) )
ROM_LOAD_NIB_LOW ( "6398-01.k6", 0x0000, 0x0200, CRC(c9e1017e) SHA1(e7279a13e4a812d2e0218be0bc5162f2e56c6b66) )
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
@@ -611,17 +607,17 @@ ROM_START( sprint2a )
ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) )
ROM_LOAD( "6405-02.e1", 0x3800, 0x0800, CRC(e80fd249) SHA1(7bcf7dfd72ca83fdd80593eaf392570da1f71298) ) // sldh
- ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x0200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) )
ROM_LOAD_NIB_LOW ( "6397-01.r4", 0x0000, 0x0200, CRC(135ba1aa) SHA1(0465259440f73e1a2c8d8101f29e99b4885420e4) )
- ROM_REGION( 0x0200, "gfx2", 0 ) /* cars */
+ ROM_REGION( 0x0200, "sprites", 0 ) // cars
ROM_LOAD_NIB_HIGH( "6399-01.j6", 0x0000, 0x0200, CRC(63d685b2) SHA1(608746163e25dbc14cde43c17aecbb9a14fac875) )
ROM_LOAD_NIB_LOW ( "6398-01.k6", 0x0000, 0x0200, CRC(c9e1017e) SHA1(e7279a13e4a812d2e0218be0bc5162f2e56c6b66) )
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
@@ -632,17 +628,17 @@ ROM_START( sprint2h )
ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) )
ROM_LOAD( "6405-02.e1", 0x3800, 0x0800, CRC(6de291f1) SHA1(00c2826011d80ac0784649a7bc156a97c26565fd) ) // sldh
- ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x0200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) )
ROM_LOAD_NIB_LOW ( "6397-01.r4", 0x0000, 0x0200, CRC(135ba1aa) SHA1(0465259440f73e1a2c8d8101f29e99b4885420e4) )
- ROM_REGION( 0x0200, "gfx2", 0 ) /* cars */
+ ROM_REGION( 0x0200, "sprites", 0 ) // cars
ROM_LOAD_NIB_HIGH( "6399-01.j6", 0x0000, 0x0200, CRC(63d685b2) SHA1(608746163e25dbc14cde43c17aecbb9a14fac875) )
ROM_LOAD_NIB_LOW ( "6398-01.k6", 0x0000, 0x0200, CRC(c9e1017e) SHA1(e7279a13e4a812d2e0218be0bc5162f2e56c6b66) )
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
@@ -651,16 +647,15 @@ ROM_START( dominos )
ROM_LOAD( "7352-02.d1", 0x3000, 0x0800, CRC(738b4413) SHA1(3a90ab25bb5f65504692f97da43f03e21392dcd8) )
ROM_LOAD( "7438-02.e1", 0x3800, 0x0800, CRC(c84e54e2) SHA1(383b388a1448a195f28352fc5e4ff1a2af80cc95) )
- ROM_REGION( 0x200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "7439-01.p4", 0x0000, 0x0200, CRC(4f42fdd6) SHA1(f8ea4b582e26cad37b746174cdc9f1c7ae0819c3) )
ROM_LOAD_NIB_LOW ( "7440-01.r4", 0x0000, 0x0200, CRC(957dd8df) SHA1(280457392f40cd66eae34d2fcdbd4d2142793402) )
- ROM_REGION( 0x200, "gfx2", 0 ) /* sprites, not used */
- ROM_FILL( 0x0000, 0x0200, 0x00 )
+ ROM_REGION( 0x200, "sprites", ROMREGION_ERASE00 ) // not used
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
ROM_START( dominos4 ) // built from original Atari source code
@@ -674,21 +669,20 @@ ROM_START( dominos4 ) // built from original Atari source code
ROM_LOAD_NIB_HIGH( "007760-01.p1", 0x3c00, 0x0400, CRC(7dc2a7a1) SHA1(9d02572cf689c6476b33226a5358dd1f72c4e61d) )
ROM_LOAD_NIB_LOW ( "007761-01.p0", 0x3c00, 0x0400, CRC(04365e0d) SHA1(fefc3c04e55f1aa8c80b1e5e1e403af8698c3530) )
- ROM_REGION( 0x200, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x200, "tiles", 0 )
ROM_LOAD_NIB_HIGH( "007764-01.p4", 0x0000, 0x0200, CRC(e4332dc0) SHA1(1f16c5b9f9fd7d478fd729cc79968f17746111f4) )
ROM_LOAD_NIB_LOW ( "007765-01.r4", 0x0000, 0x0200, CRC(6e4e6c75) SHA1(0fc77fecaa73eac57baf778bc51387c75883aad4) )
- ROM_REGION( 0x200, "gfx2", 0 ) /* sprites, not used */
- ROM_FILL( 0x0000, 0x0200, 0x00 )
+ ROM_REGION( 0x200, "sprites", ROMREGION_ERASE00 ) // not used
ROM_REGION( 0x0120, "proms", 0 )
- ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */
- ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */
+ ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // SYNC
+ ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) // address
ROM_END
-GAME( 1978, sprint1, 0, sprint1, sprint1, sprint2_state, init_sprint1, ROT0, "Atari (Kee Games)", "Sprint 1", 0 )
-GAME( 1976, sprint2, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 1)", 0 )
-GAME( 1976, sprint2a, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 2)", 0 )
-GAME( 1976, sprint2h, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "hack", "Sprint 2 (color kit, Italy)", MACHINE_WRONG_COLORS ) // Italian hack, supposedly is color instead of b/w? how?
-GAME( 1977, dominos, 0, dominos, dominos, sprint2_state, init_dominos, ROT0, "Atari", "Dominos", 0 )
-GAME( 1977, dominos4, dominos, dominos4,dominos4,sprint2_state, init_dominos4,ROT0, "Atari", "Dominos 4 (Cocktail)", 0 )
+GAME( 1978, sprint1, 0, sprint1, sprint1, sprint2_state, init_sprint1, ROT0, "Atari (Kee Games)", "Sprint 1", MACHINE_SUPPORTS_SAVE )
+GAME( 1976, sprint2, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1976, sprint2a, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1976, sprint2h, sprint1, sprint2, sprint2, sprint2_state, init_sprint2, ROT0, "hack", "Sprint 2 (color kit, Italy)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // Italian hack, supposedly is color instead of b/w? how?
+GAME( 1977, dominos, 0, dominos, dominos, sprint2_state, init_dominos, ROT0, "Atari", "Dominos", MACHINE_SUPPORTS_SAVE )
+GAME( 1977, dominos4, dominos, dominos4,dominos4,sprint2_state, init_dominos4,ROT0, "Atari", "Dominos 4 (Cocktail)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/spy.cpp b/src/mame/drivers/spy.cpp
index 8098c63308f..83376a86ccb 100644
--- a/src/mame/drivers/spy.cpp
+++ b/src/mame/drivers/spy.cpp
@@ -27,7 +27,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/srumbler.cpp b/src/mame/drivers/srumbler.cpp
index 20ea98f9006..cf4923d0714 100644
--- a/src/mame/drivers/srumbler.cpp
+++ b/src/mame/drivers/srumbler.cpp
@@ -18,7 +18,7 @@
#include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sshangha.cpp b/src/mame/drivers/sshangha.cpp
index e5cd145654d..1d754b723aa 100644
--- a/src/mame/drivers/sshangha.cpp
+++ b/src/mame/drivers/sshangha.cpp
@@ -83,7 +83,7 @@ HB-PCB-A5 M6100691A (distributed by Taito)
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/stadhero.cpp b/src/mame/drivers/stadhero.cpp
index 87e78216670..819d0b3093f 100644
--- a/src/mame/drivers/stadhero.cpp
+++ b/src/mame/drivers/stadhero.cpp
@@ -95,8 +95,8 @@
#include "cpu/m68000/m68000.h"
#include "cpu/m6502/m6502.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/stfight.cpp b/src/mame/drivers/stfight.cpp
index 37142211586..f1faef1dbce 100644
--- a/src/mame/drivers/stfight.cpp
+++ b/src/mame/drivers/stfight.cpp
@@ -267,7 +267,7 @@ TODO:
#include "includes/stfight.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/storio.cpp b/src/mame/drivers/storio.cpp
index 7e3b6560bd8..da45315139a 100644
--- a/src/mame/drivers/storio.cpp
+++ b/src/mame/drivers/storio.cpp
@@ -45,7 +45,6 @@ public:
{ }
void vtech_storio(machine_config &config);
- void vtech_innotab(machine_config &config);
private:
virtual void machine_start() override;
@@ -122,12 +121,6 @@ void vtech_storio_state::vtech_storio(machine_config &config)
SOFTWARE_LIST(config, "cart_list").set_original("vtech_storio_cart");
}
-void vtech_storio_state::vtech_innotab(machine_config &config)
-{
- vtech_storio_base(config);
- SOFTWARE_LIST(config, "cart_list").set_original("vtech_innotab_cart");
-}
-
// BIOS is 1 GBIT (128M × 8 BIT) CMOS NAND EEPROM (Toshiba TC58NVG0S3ETA00)
// ROM image from VTech, not padded to the real ROM size
@@ -185,11 +178,6 @@ ROM_START( storionl )
ROM_LOAD( "nldut-pack_20111017.bin", 0x000000, 0x03af81c6, CRC(6cfac599) SHA1(d16b45fd287c9d823bde13b88eb6c8158ac2b475) )
ROM_END
-ROM_START( innotab2 )
- ROM_REGION( 0x08400000, "maincpu", ROMREGION_ERASEFF )
- ROM_LOAD( "innotab2.bin", 0x000000, 0x08400000, NO_DUMP )
-ROM_END
-
// year, name, parent, compat, machine, input, class, init, company, fullname, flags
CONS( 2011, vreader, 0, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (US, English, 2011-10-17)", MACHINE_IS_SKELETON )
CONS( 2011, vreadercaen, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "V.Reader (CA, English, 2011-10-17)", MACHINE_IS_SKELETON )
@@ -200,5 +188,3 @@ CONS( 2011, storioes, vreader, 0, vtech_storio, vtech_storio, vtech_sto
CONS( 2011, storioesa, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (ES, Spanish, 2011-06-17?)", MACHINE_IS_SKELETON )
CONS( 2011, storiofr, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (FR, French, 2011-10-17)", MACHINE_IS_SKELETON )
CONS( 2011, storionl, vreader, 0, vtech_storio, vtech_storio, vtech_storio_state, empty_init, "VTech", "Storio (NL, Dutch, 2011-10-17)", MACHINE_IS_SKELETON )
-// the InnoTAB 1/2/3 seem closely related?
-CONS( 2011, innotab2, 0, 0, vtech_innotab, vtech_storio, vtech_storio_state, empty_init, "VTech", "InnoTAB 2 (UK)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index 73db1cafa6c..6123b188b2a 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -229,8 +229,7 @@ To Do:
#include "machine/subsino.h"
#include "machine/ticket.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index 726ee99f967..a44d340e171 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -50,7 +50,7 @@ To do:
#include "machine/subsino.h"
#include "machine/ticket.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/ramdac.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp
index 6dfe218b395..fbbd9e963ab 100644
--- a/src/mame/drivers/suna16.cpp
+++ b/src/mame/drivers/suna16.cpp
@@ -31,8 +31,8 @@ Year + Game By Board Hardware
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
-#include "sound/ym3526.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index f4fad3465ff..18a42183dc4 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -42,8 +42,8 @@ Notes:
#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym2203.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/supduck.cpp b/src/mame/drivers/supduck.cpp
index b2e87589d6f..26f1f01315e 100644
--- a/src/mame/drivers/supduck.cpp
+++ b/src/mame/drivers/supduck.cpp
@@ -131,6 +131,12 @@ void supduck_state::video_start()
m_text_tilemap->set_transparent_pen(0x3);
m_fore_tilemap->set_transparent_pen(0xf);
+ m_text_tilemap->set_scrolldx(128, 128);
+ m_text_tilemap->set_scrolldy( 6, 6);
+ m_fore_tilemap->set_scrolldx(128, 128);
+ m_fore_tilemap->set_scrolldy( 6, 6);
+ m_back_tilemap->set_scrolldx(128, 128);
+ m_back_tilemap->set_scrolldy( 6, 6);
}
uint32_t supduck_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -425,11 +431,8 @@ void supduck_state::supduck(machine_config &config)
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_raw(6000000, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(supduck_state::screen_update));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_palette(m_palette);
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index bc98ef74fba..57f6747b098 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -722,7 +722,9 @@ void super80_state::super80(machine_config &config)
INPUT_BUFFER(config, "cent_status_in", 0);
/* quickload */
- QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(super80_state::quickload_cb));
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)));
+ quickload.set_load_callback(FUNC(super80_state::quickload_cb));
+ quickload.set_interface("super80_quik");
/* cassette */
CASSETTE(config, m_cassette);
@@ -736,6 +738,7 @@ void super80_state::super80(machine_config &config)
// software list
SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("DEF");
+ SOFTWARE_LIST(config, "quik_list").set_original("super80_quik").set_filter("DEF");
}
void super80_state::super80d(machine_config &config)
@@ -745,8 +748,8 @@ void super80_state::super80d(machine_config &config)
m_screen->set_screen_update(FUNC(super80_state::screen_update_super80d));
// software list
- config.device_remove("cass_list");
- SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("D");
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("super80_cass").set_filter("D");
+ SOFTWARE_LIST(config.replace(), "quik_list").set_original("super80_quik").set_filter("D");
}
void super80_state::super80e(machine_config &config)
@@ -757,8 +760,8 @@ void super80_state::super80e(machine_config &config)
m_screen->set_screen_update(FUNC(super80_state::screen_update_super80e));
// software list
- config.device_remove("cass_list");
- SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("E");
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("super80_cass").set_filter("E");
+ SOFTWARE_LIST(config.replace(), "quik_list").set_original("super80_quik").set_filter("E");
}
void super80_state::super80m(machine_config &config)
@@ -772,8 +775,8 @@ void super80_state::super80m(machine_config &config)
m_screen->screen_vblank().set([this](bool state) { super80_state::screen_vblank_super80m(state); });
// software list
- config.device_remove("cass_list");
- SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("M");
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("super80_cass").set_filter("M");
+ SOFTWARE_LIST(config.replace(), "quik_list").set_original("super80_quik").set_filter("M");
}
void super80v_state::super80v(machine_config &config)
@@ -825,7 +828,9 @@ void super80v_state::super80v(machine_config &config)
INPUT_BUFFER(config, "cent_status_in", 0);
/* quickload */
- QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)).set_load_callback(FUNC(super80v_state::quickload_cb));
+ quickload_image_device &quickload(QUICKLOAD(config, "quickload", "bin", attotime::from_seconds(3)));
+ quickload.set_load_callback(FUNC(super80v_state::quickload_cb));
+ quickload.set_interface("super80_quik");
/* cassette */
CASSETTE(config, m_cassette);
@@ -854,6 +859,7 @@ void super80v_state::super80v(machine_config &config)
// software list
SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("V");
+ SOFTWARE_LIST(config, "quik_list").set_original("super80_quik").set_filter("V");
SOFTWARE_LIST(config, "flop_list").set_original("super80_flop");
}
@@ -863,8 +869,8 @@ void super80r_state::super80r(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &super80r_state::super80r_map);
// software list
- config.device_remove("cass_list");
- SOFTWARE_LIST(config, "cass_list").set_original("super80_cass").set_filter("R");
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("super80_cass").set_filter("R");
+ SOFTWARE_LIST(config.replace(), "quik_list").set_original("super80_quik").set_filter("R");
}
/**************************** ROMS *****************************************************************/
diff --git a/src/mame/drivers/suprgolf.cpp b/src/mame/drivers/suprgolf.cpp
index 2d01acd70a9..7dbce61d3a7 100644
--- a/src/mame/drivers/suprgolf.cpp
+++ b/src/mame/drivers/suprgolf.cpp
@@ -26,7 +26,7 @@
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/suprslam.cpp b/src/mame/drivers/suprslam.cpp
index 6bf1f7a08c5..6e94674721c 100644
--- a/src/mame/drivers/suprslam.cpp
+++ b/src/mame/drivers/suprslam.cpp
@@ -88,7 +88,7 @@ EB26IC73.BIN 27C240 / Main Program
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "machine/vs9209.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp
index f92ea976600..e93db52a150 100644
--- a/src/mame/drivers/surpratk.cpp
+++ b/src/mame/drivers/surpratk.cpp
@@ -15,7 +15,7 @@
#include "includes/konamipt.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/sweetland.cpp b/src/mame/drivers/sweetland.cpp
index 205e66b4093..7773c5cb95d 100644
--- a/src/mame/drivers/sweetland.cpp
+++ b/src/mame/drivers/sweetland.cpp
@@ -84,7 +84,7 @@ SWEET LAND III (1998) main PCB layout
#include "speaker.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
class sweetland_state : public driver_device
{
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index 8f99d4caf7e..e59e40ea826 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -96,9 +96,8 @@
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
#include "sound/rf5c68.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
-#include "sound/ym2612.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tail2nos.cpp b/src/mame/drivers/tail2nos.cpp
index 95bb2406d30..542540cc3b2 100644
--- a/src/mame/drivers/tail2nos.cpp
+++ b/src/mame/drivers/tail2nos.cpp
@@ -19,7 +19,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "video/vsystem_gga.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index 95c8ab2d7a4..e4b12830015 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -188,8 +188,7 @@ TODO!
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
@@ -585,7 +584,7 @@ void taitob_state::sound_map(address_map &map)
map(0x0000, 0x3fff).rom();
map(0x4000, 0x7fff).bankr("audiobank");
map(0xc000, 0xdfff).ram();
- map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym_generic_device::read), FUNC(ym_generic_device::write));
map(0xe200, 0xe200).nopr().w("tc0140syt", FUNC(tc0140syt_device::slave_port_w));
map(0xe201, 0xe201).rw("tc0140syt", FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w));
map(0xe400, 0xe403).nopw(); /* pan */
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index 3b526451b6d..bfcf2214bdd 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -273,8 +273,7 @@ Notes:
#include "machine/te7750.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_h.cpp b/src/mame/drivers/taito_h.cpp
index 075036e3cdd..4de6c2b8d3b 100644
--- a/src/mame/drivers/taito_h.cpp
+++ b/src/mame/drivers/taito_h.cpp
@@ -150,7 +150,7 @@ some kind of zoom table?
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index 4a94764e2d0..b6ab9a91530 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -67,8 +67,7 @@ puzznici note
#include "machine/mb8421.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_o.cpp b/src/mame/drivers/taito_o.cpp
index 9264067a7c3..8245f412187 100644
--- a/src/mame/drivers/taito_o.cpp
+++ b/src/mame/drivers/taito_o.cpp
@@ -35,7 +35,7 @@ TODO:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp
index b2ed469d0af..3315cfbd08a 100644
--- a/src/mame/drivers/taito_x.cpp
+++ b/src/mame/drivers/taito_x.cpp
@@ -323,8 +323,8 @@ Stephh's notes (based on the game M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
-#include "sound/ym2610.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index b47ab62b425..601629847ad 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -1274,7 +1274,7 @@ DIP switches are not verified
#include "cpu/z80/z80.h"
#include "machine/adc0808.h"
#include "machine/eepromser.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
#include "chasehq.lh"
diff --git a/src/mame/drivers/taitoair.cpp b/src/mame/drivers/taitoair.cpp
index 784fe303c45..4c7ccf8b041 100644
--- a/src/mame/drivers/taitoair.cpp
+++ b/src/mame/drivers/taitoair.cpp
@@ -201,7 +201,7 @@ perhaps? The two writes seem to take only two values.
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/taitotz.cpp b/src/mame/drivers/taitotz.cpp
index 739a54743a5..af492a6df32 100644
--- a/src/mame/drivers/taitotz.cpp
+++ b/src/mame/drivers/taitotz.cpp
@@ -213,6 +213,7 @@ Notes:
0x7004: 0x4003d554()
0x7005: 0x4003d168()
0x8000: ? Used by vibration (force feedback?) on pwrshovl
+ 0x9100: ? Dendego3 speedometer and brake meter. io_shared[0x1c3c] = speed, io_shared[0x1c3e] = brake
0xa000: ? Used by vibration (force feedback?) on pwrshovl
0xf000: 0x4002f328() TLCS_Init
0xf010: 0x4002f074() Enables TLCS watchdog timer
@@ -1988,7 +1989,7 @@ void taitotz_state::ppc_common_w(offs_t offset, uint64_t data, uint64_t mem_mask
/*
if (m_io_share_ram[0xfff] == 0x1010)
{
- printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]);
+ printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]);
}
*/
@@ -2025,7 +2026,7 @@ void taitotz_state::ppc_common_w(offs_t offset, uint64_t data, uint64_t mem_mask
m_io_share_ram[0xfff] == 0x6000 || m_io_share_ram[0xfff] == 0x6010)
{
//m_maincpu->spin_until_trigger(PPC_TLCS_COMM_TRIGGER);
- m_maincpu->spin_until_interrupt();
+ //m_maincpu->spin_until_interrupt();
}
// pwrshovl sometimes writes commands during command handling... make sure that doesn't happen
@@ -2546,6 +2547,56 @@ static INPUT_PORTS_START( styphp )
PORT_START("ANALOG8")
INPUT_PORTS_END
+static INPUT_PORTS_START(dendego3)
+ PORT_START("INPUTS1")
+ PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_SERVICE_NO_TOGGLE(0x00000002, IP_ACTIVE_LOW) /* Test Button */
+ PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Service") PORT_CODE(KEYCODE_7)
+ PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("INPUTS2")
+ PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_COIN1) // Coin
+ PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("INPUTS3")
+ PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_START1) // Start
+ PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_BUTTON7) // Train Horn
+ PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_BUTTON1) // "NOCH0"
+ PORT_BIT(0x000000e0, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("INPUTS4")
+ PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_BUTTON3) // "NOCH2"
+ PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_BUTTON5) // "NOCH4"
+ PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_BUTTON2) // "NOCH1"
+ PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_BUTTON4) // "NOCH3"
+ PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_BUTTON6) // "NOCH5"
+ PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("ANALOG1")
+ PORT_BIT(0x3ff, 0x000, IPT_PADDLE) PORT_MINMAX(0x000, 0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_CENTERDELTA(0) PORT_NAME("Brake Lever")
+ PORT_START("ANALOG2")
+ PORT_START("ANALOG3")
+ PORT_START("ANALOG4")
+ PORT_START("ANALOG5")
+ PORT_START("ANALOG6")
+ PORT_START("ANALOG7")
+ PORT_START("ANALOG8")
+INPUT_PORTS_END
+
void taitotz_state::machine_reset()
{
if (m_hdd_serial_number != nullptr)
@@ -3012,7 +3063,7 @@ GAME( 1999, pwrshovl, taitotz, taitotz, pwrshovl, taitotz_state, init_pwrshov
GAME( 1999, pwrshovla, pwrshovl, taitotz, pwrshovl, taitotz_state, init_pwrshovl, ROT0, "Taito", "Power Shovel ni Norou!! - Power Shovel Simulator (v2.07J, alt)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // seem to be some differences in drive content, but identifies as the same revision, is it just user data changes??
GAME( 2000, batlgr2, taitotz, taitotz, batlgr2, taitotz_state, init_batlgr2, ROT0, "Taito", "Battle Gear 2 (v2.04J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_NODEVICE_LAN )
GAME( 2000, batlgr2a, batlgr2, taitotz, batlgr2, taitotz_state, init_batlgr2a, ROT0, "Taito", "Battle Gear 2 (v2.01J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_NODEVICE_LAN )
-GAME( 2000, dendego3, taitotz, taitotz, taitotz, taitotz_state, init_dendego3, ROT0, "Taito", "Densha de GO 3! Tsukin-hen (V2.03J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 2001/01/27 09:52:56
+GAME( 2000, dendego3, taitotz, taitotz, dendego3, taitotz_state, init_dendego3, ROT0, "Taito", "Densha de GO 3! Tsukin-hen (V2.03J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 2001/01/27 09:52:56
GAME( 2000, styphp, taitotz, taitotz, styphp, taitotz_state, init_styphp, ROT0, "Taito", "Stunt Typhoon Plus (Ver 2.04 J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 2002, raizpin, taitotz, taitotz, taitotz, taitotz_state, init_raizpin, ROT0, "Taito", "Raizin Ping Pong (V2.01O)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 2002, raizpinj, raizpin, taitotz, taitotz, taitotz_state, init_raizpinj, ROT0, "Taito", "Raizin Ping Pong (V2.01J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
diff --git a/src/mame/drivers/taotaido.cpp b/src/mame/drivers/taotaido.cpp
index 73243df4108..39ee90c1d9f 100644
--- a/src/mame/drivers/taotaido.cpp
+++ b/src/mame/drivers/taotaido.cpp
@@ -69,7 +69,7 @@ zooming might be wrong
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "machine/vs9209.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tbowl.cpp b/src/mame/drivers/tbowl.cpp
index 59247dc2169..f0002421a1b 100644
--- a/src/mame/drivers/tbowl.cpp
+++ b/src/mame/drivers/tbowl.cpp
@@ -18,7 +18,7 @@ Might be some priority glitches
#include "includes/tbowl.h"
#include "cpu/z80/z80.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "layout/generic.h"
#include "screen.h"
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp
index 9d403a3a8b7..d38c5ff9402 100644
--- a/src/mame/drivers/tceptor.cpp
+++ b/src/mame/drivers/tceptor.cpp
@@ -17,7 +17,7 @@
#include "machine/adc0808.h"
#include "machine/nvram.h"
#include "sound/dac.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "tceptor2.lh"
@@ -345,6 +345,7 @@ void tceptor_state::tceptor(machine_config &config)
NAMCO_C45_ROAD(config, m_c45_road);
m_c45_road->set_palette(m_palette);
+ m_c45_road->set_xoffset(-64);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60.606060);
diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp
index b75ea23d208..6f3ca2f43a3 100644
--- a/src/mame/drivers/tecmo.cpp
+++ b/src/mame/drivers/tecmo.cpp
@@ -232,8 +232,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index 5bcc9ff5dfd..f91a6ae266b 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -39,7 +39,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tecmosys.cpp b/src/mame/drivers/tecmosys.cpp
index 0f8c3dc930e..16162d81945 100644
--- a/src/mame/drivers/tecmosys.cpp
+++ b/src/mame/drivers/tecmosys.cpp
@@ -192,7 +192,7 @@ ae500w07.ad1 - M6295 Samples (23c4001)
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ymf262.h"
+#include "sound/ymopl.h"
#include "sound/ymz280b.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tek410x.cpp b/src/mame/drivers/tek410x.cpp
index 46e9cae713e..0008fc7a21e 100644
--- a/src/mame/drivers/tek410x.cpp
+++ b/src/mame/drivers/tek410x.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Curt Coder
+// copyright-holders:Curt Coder, AJR
/***************************************************************************
Tektronix 4107A/4109A
@@ -8,17 +8,11 @@
****************************************************************************/
-/*
-
- TODO:
-
- - everything
-
-*/
-
-
#include "emu.h"
#include "cpu/i86/i186.h"
+#include "machine/i8255.h"
+#include "machine/mc68681.h"
+#include "machine/tek410x_kbd.h"
#include "video/crt9007.h"
#include "emupal.h"
#include "screen.h"
@@ -29,6 +23,19 @@ class tek4107a_state : public driver_device
public:
tek4107a_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
+ , m_duart(*this, "duart%u", 0U)
+ , m_keyboard(*this, "keyboard")
+ , m_vpac(*this, "vpac")
+ , m_ppi_pc(0)
+ , m_kb_rdata(true)
+ , m_kb_tdata(true)
+ , m_kb_rclamp(false)
+ , m_graphics_control(0)
+ , m_alpha_control(0)
+ , m_x_position(0)
+ , m_y_position(0)
+ , m_x_cursor(0)
+ , m_y_cursor(0)
{ }
void tek4109a(machine_config &config);
@@ -39,22 +46,200 @@ protected:
virtual void video_start() override;
private:
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ u8 vpac_r(offs_t offset);
+
+ u16 nmi_enable_r();
+ u16 nmi_disable_r();
+ u16 system_reset_r();
+
+ void ppi_pc_w(u8 data);
+ DECLARE_WRITE_LINE_MEMBER(kb_rdata_w);
+ DECLARE_WRITE_LINE_MEMBER(kb_tdata_w);
+ DECLARE_WRITE_LINE_MEMBER(kb_rclamp_w);
+
+ void xpos_w(u16 data);
+ void ypos_w(u16 data);
+ void xcur_w(u16 data);
+ void ycur_w(u16 data);
+ void tbwin_w(u16 data);
+ u16 gcntl_r();
+ void gcntl_w(u16 data);
+ u16 acntl_r();
+ void acntl_w(u16 data);
+ u16 test_r();
+ u8 font_r();
+
void tek4107a_io(address_map &map);
void tek4107a_mem(address_map &map);
+
+ required_device_array<scn2681_device, 2> m_duart;
+ required_device<tek410x_keyboard_device> m_keyboard;
+ required_device<crt9007_device> m_vpac;
+
+ u8 m_ppi_pc;
+ bool m_kb_rdata;
+ bool m_kb_tdata;
+ bool m_kb_rclamp;
+
+ u16 m_graphics_control;
+ u16 m_alpha_control;
+ u16 m_x_position;
+ u16 m_y_position;
+ u16 m_x_cursor;
+ u16 m_y_cursor;
};
+u8 tek4107a_state::vpac_r(offs_t offset)
+{
+ return m_vpac->read(offset + 0x20);
+}
+
+u16 tek4107a_state::nmi_enable_r()
+{
+ // TODO
+ return 0;
+}
+
+u16 tek4107a_state::nmi_disable_r()
+{
+ // TODO
+ return 0;
+}
+
+u16 tek4107a_state::system_reset_r()
+{
+ // TODO
+ return 0;
+}
+
+void tek4107a_state::ppi_pc_w(u8 data)
+{
+ if (!m_kb_rclamp && BIT(m_ppi_pc, 2) != BIT(data, 2))
+ m_keyboard->kdo_w(!BIT(data, 2) || m_kb_tdata);
+
+ m_ppi_pc = data;
+}
+
+WRITE_LINE_MEMBER(tek4107a_state::kb_rdata_w)
+{
+ m_kb_rdata = state;
+ if (!m_kb_rclamp)
+ m_duart[0]->rx_a_w(state);
+}
+
+WRITE_LINE_MEMBER(tek4107a_state::kb_rclamp_w)
+{
+ if (m_kb_rclamp != !state)
+ {
+ m_kb_rclamp = !state;
+
+ // Clamp RXDA to 1 and KBRDATA to 0 when DUART asserts RxRDYA
+ if (m_kb_tdata || !BIT(m_ppi_pc, 2))
+ m_keyboard->kdo_w(state);
+ m_duart[0]->rx_a_w(state ? m_kb_rdata : 1);
+ }
+}
+
+WRITE_LINE_MEMBER(tek4107a_state::kb_tdata_w)
+{
+ if (m_kb_tdata != state)
+ {
+ m_kb_tdata = state;
+
+ m_duart[0]->ip4_w(!state);
+ if (BIT(m_ppi_pc, 2) && m_kb_rdata && !m_kb_rclamp)
+ m_keyboard->kdo_w(state);
+ }
+}
+
+void tek4107a_state::xpos_w(u16 data)
+{
+ m_x_position = data & 0x03ff;
+}
+
+void tek4107a_state::ypos_w(u16 data)
+{
+ m_y_position = data & 0x01ff;
+}
+
+void tek4107a_state::xcur_w(u16 data)
+{
+ m_x_cursor = data & 0x03ff;
+}
+
+void tek4107a_state::ycur_w(u16 data)
+{
+ m_y_cursor = data & 0x01ff;
+}
+
+void tek4107a_state::tbwin_w(u16 data)
+{
+ // TODO
+}
+
+u16 tek4107a_state::gcntl_r()
+{
+ return m_graphics_control;
+}
+
+void tek4107a_state::gcntl_w(u16 data)
+{
+ m_graphics_control = data;
+}
+
+u16 tek4107a_state::acntl_r()
+{
+ return m_alpha_control;
+}
+
+void tek4107a_state::acntl_w(u16 data)
+{
+ m_alpha_control = data;
+}
+
+u16 tek4107a_state::test_r()
+{
+ // TODO
+ return 0;
+}
+
+u8 tek4107a_state::font_r()
+{
+ // TODO
+ return 0;
+}
+
+
/* Memory Maps */
void tek4107a_state::tek4107a_mem(address_map &map)
{
- map(0x00000, 0xbffff).ram();
- map(0xc0000, 0xfffff).rom().region("firmware", 0);
+ map(0x00000, 0x3ffff).ram();
+ map(0x40000, 0x7ffff).ram().share("gfxram");
+ map(0x80000, 0xbffff).rom().region("firmware", 0);
+ map(0xf0000, 0xfffff).rom().region("firmware", 0x30000);
}
void tek4107a_state::tek4107a_io(address_map &map)
{
- map(0x0080, 0x00bf).w("vpac", FUNC(crt9007_device::write)).umask16(0x00ff);
+ map(0x0000, 0x001f).rw(m_duart[0], FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask16(0x00ff);
+ map(0x0000, 0x001f).rw(m_duart[1], FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask16(0xff00);
+ map(0x0080, 0x00bf).r(FUNC(tek4107a_state::vpac_r)).w(m_vpac, FUNC(crt9007_device::write)).umask16(0x00ff);
+ map(0x00c0, 0x00c1).w(FUNC(tek4107a_state::xpos_w));
+ map(0x00c2, 0x00c3).w(FUNC(tek4107a_state::ypos_w));
+ map(0x00c4, 0x00c5).w(FUNC(tek4107a_state::xcur_w));
+ map(0x00c6, 0x00c7).w(FUNC(tek4107a_state::ycur_w));
+ map(0x00c8, 0x00c9).r(FUNC(tek4107a_state::test_r));
+ map(0x00ca, 0x00ca).r(FUNC(tek4107a_state::font_r));
+ map(0x00ca, 0x00cb).w(FUNC(tek4107a_state::tbwin_w));
+ map(0x00cc, 0x00cd).rw(FUNC(tek4107a_state::gcntl_r), FUNC(tek4107a_state::gcntl_w));
+ map(0x00ce, 0x00cf).rw(FUNC(tek4107a_state::acntl_r), FUNC(tek4107a_state::acntl_w));
+ map(0x0100, 0x0107).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0xff00);
+ map(0x0200, 0x0201).r(FUNC(tek4107a_state::nmi_enable_r));
+ map(0x0280, 0x0281).r(FUNC(tek4107a_state::system_reset_r));
+ map(0x0300, 0x0301).r(FUNC(tek4107a_state::nmi_disable_r));
}
/* Input Ports */
@@ -66,9 +251,15 @@ INPUT_PORTS_END
void tek4107a_state::video_start()
{
+ save_item(NAME(m_graphics_control));
+ save_item(NAME(m_alpha_control));
+ save_item(NAME(m_x_position));
+ save_item(NAME(m_y_position));
+ save_item(NAME(m_x_cursor));
+ save_item(NAME(m_y_cursor));
}
-uint32_t tek4107a_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+u32 tek4107a_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
@@ -92,6 +283,10 @@ GFXDECODE_END
void tek4107a_state::machine_start()
{
+ save_item(NAME(m_ppi_pc));
+ save_item(NAME(m_kb_rdata));
+ save_item(NAME(m_kb_tdata));
+ save_item(NAME(m_kb_rclamp));
}
/* Machine Driver */
@@ -99,18 +294,37 @@ void tek4107a_state::machine_start()
void tek4107a_state::tek4107a(machine_config &config)
{
/* basic machine hardware */
- i80186_cpu_device &maincpu(I80186(config, "maincpu", 21000000));
+ i80186_cpu_device &maincpu(I80186(config, "maincpu", 14.7456_MHz_XTAL));
maincpu.set_addrmap(AS_PROGRAM, &tek4107a_state::tek4107a_mem);
maincpu.set_addrmap(AS_IO, &tek4107a_state::tek4107a_io);
+ SCN2681(config, m_duart[0], 14.7456_MHz_XTAL / 4);
+ m_duart[0]->irq_cb().set("maincpu", FUNC(i80186_cpu_device::int0_w));
+ m_duart[0]->outport_cb().set_inputline("maincpu", INPUT_LINE_NMI).bit(5).invert(); // RxRDYB
+ m_duart[0]->outport_cb().append(FUNC(tek4107a_state::kb_rclamp_w)).bit(4);
+ m_duart[0]->outport_cb().append(m_keyboard, FUNC(tek410x_keyboard_device::reset_w)).bit(3);
+ m_duart[0]->a_tx_cb().set(m_keyboard, FUNC(tek410x_keyboard_device::kdi_w));
+
+ SCN2681(config, m_duart[1], 14.7456_MHz_XTAL / 4);
+ m_duart[1]->irq_cb().set("maincpu", FUNC(i80186_cpu_device::int2_w));
+
+ i8255_device &ppi(I8255(config, "ppi"));
+ ppi.in_pb_callback().set_constant(0x30);
+ ppi.out_pc_callback().set(FUNC(tek4107a_state::ppi_pc_w));
+
+ TEK410X_KEYBOARD(config, m_keyboard);
+ m_keyboard->tdata_callback().set(FUNC(tek4107a_state::kb_tdata_w));
+ m_keyboard->rdata_callback().set(FUNC(tek4107a_state::kb_rdata_w));
+
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(25200000, 800, 0, 640, 525, 0, 480);
+ screen.set_raw(25.2_MHz_XTAL, 800, 0, 640, 525, 0, 480);
screen.set_screen_update(FUNC(tek4107a_state::screen_update));
- crt9007_device &vpac(CRT9007(config, "vpac", 25200000 / 8));
- vpac.set_screen("screen");
- vpac.set_character_width(8);
+ CRT9007(config, m_vpac, 25.2_MHz_XTAL / 8);
+ m_vpac->set_screen("screen");
+ m_vpac->set_character_width(8);
+ m_vpac->int_callback().set("maincpu", FUNC(i80186_cpu_device::int1_w));
PALETTE(config, "palette").set_entries(64);
GFXDECODE(config, "gfxdecode", "palette", gfx_tek4107a);
diff --git a/src/mame/drivers/tek440x.cpp b/src/mame/drivers/tek440x.cpp
index e04123889ee..e1b7076fa2f 100644
--- a/src/mame/drivers/tek440x.cpp
+++ b/src/mame/drivers/tek440x.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:R. Belmont
+// copyright-holders:R. Belmont, AJR
/***************************************************************************
Tektronix 440x "AI Workstations"
@@ -45,12 +45,12 @@
#include "bus/rs232/rs232.h"
#include "cpu/m68000/m68000.h"
#include "cpu/m6502/m6502.h"
-#include "cpu/mcs48/mcs48.h"
#include "machine/am9513.h"
#include "machine/bankdev.h"
#include "machine/mos6551.h" // debug tty
#include "machine/mc146818.h"
#include "machine/mc68681.h"
+#include "machine/tek410x_kbd.h"
#include "sound/sn76496.h"
#include "emupal.h"
#include "screen.h"
@@ -65,10 +65,20 @@ public:
m_maincpu(*this, "maincpu"),
m_fdccpu(*this, "fdccpu"),
m_vm(*this, "vm"),
+ m_duart(*this, "duart"),
+ m_keyboard(*this, "keyboard"),
m_snsnd(*this, "snsnd"),
m_prom(*this, "maincpu"),
m_mainram(*this, "mainram"),
- m_vram(*this, "vram")
+ m_vram(*this, "vram"),
+ m_map(*this, "map", 0x1000, ENDIANNESS_BIG),
+ m_map_view(*this, "map"),
+ m_boot(false),
+ m_map_control(0),
+ m_kb_rdata(true),
+ m_kb_tdata(true),
+ m_kb_rclamp(false),
+ m_kb_loop(false)
{ }
void tek4404(machine_config &config);
@@ -80,7 +90,16 @@ private:
u16 memory_r(offs_t offset, u16 mem_mask);
void memory_w(offs_t offset, u16 data, u16 mem_mask);
+ u16 map_r(offs_t offset);
+ void map_w(offs_t offset, u16 data, u16 mem_mask);
+ u8 mapcntl_r();
+ void mapcntl_w(u8 data);
void sound_w(u8 data);
+ void diag_w(u8 data);
+
+ DECLARE_WRITE_LINE_MEMBER(kb_rdata_w);
+ DECLARE_WRITE_LINE_MEMBER(kb_tdata_w);
+ DECLARE_WRITE_LINE_MEMBER(kb_rclamp_w);
void logical_map(address_map &map);
void physical_map(address_map &map);
@@ -89,12 +108,21 @@ private:
required_device<m68010_device> m_maincpu;
required_device<m6502_device> m_fdccpu;
required_device<address_map_bank_device> m_vm;
+ required_device<mc68681_device> m_duart;
+ required_device<tek410x_keyboard_device> m_keyboard;
required_device<sn76496_device> m_snsnd;
required_region_ptr<u16> m_prom;
required_shared_ptr<u16> m_mainram;
required_shared_ptr<u16> m_vram;
+ memory_share_creator<u16> m_map;
+ memory_view m_map_view;
bool m_boot;
+ u8 m_map_control;
+ bool m_kb_rdata;
+ bool m_kb_tdata;
+ bool m_kb_rclamp;
+ bool m_kb_loop;
};
/*************************************
@@ -106,6 +134,11 @@ private:
void tek440x_state::machine_start()
{
save_item(NAME(m_boot));
+ save_item(NAME(m_map_control));
+ save_item(NAME(m_kb_rdata));
+ save_item(NAME(m_kb_tdata));
+ save_item(NAME(m_kb_rclamp));
+ save_item(NAME(m_kb_loop));
}
@@ -119,6 +152,9 @@ void tek440x_state::machine_start()
void tek440x_state::machine_reset()
{
m_boot = true;
+ diag_w(0);
+ m_keyboard->kdo_w(1);
+ mapcntl_w(0);
}
@@ -162,25 +198,109 @@ u16 tek440x_state::memory_r(offs_t offset, u16 mem_mask)
if (m_boot)
return m_prom[offset & 0x3fff];
- // TODO: banking
+ const offs_t offset0 = offset;
+ if (BIT(m_map_control, 4))
+ offset = BIT(offset, 0, 11) | BIT(m_map[offset >> 11], 0, 11) << 11;
+ if (offset < 0x300000 && offset >= 0x100000 && !machine().side_effects_disabled())
+ {
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
+ m_maincpu->set_buserror_details(offset0 << 1, 1, m_maincpu->get_fc());
+ }
+
return m_vm->read16(offset, mem_mask);
}
void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
{
- // TODO: banking
+ const offs_t offset0 = offset;
+ if (BIT(m_map_control, 4))
+ offset = BIT(offset, 0, 11) | BIT(m_map[offset >> 11], 0, 11) << 11;
+ if (offset < 0x300000 && offset >= 0x100000 && !machine().side_effects_disabled())
+ {
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
+ m_maincpu->set_buserror_details(offset0 << 1, 0, m_maincpu->get_fc());
+ }
+
m_vm->write16(offset, data, mem_mask);
}
+u16 tek440x_state::map_r(offs_t offset)
+{
+ return m_map[offset >> 11];
+}
+
+void tek440x_state::map_w(offs_t offset, u16 data, u16 mem_mask)
+{
+ COMBINE_DATA(&m_map[offset >> 11]);
+}
+
+u8 tek440x_state::mapcntl_r()
+{
+ return m_map_control;
+}
+
+void tek440x_state::mapcntl_w(u8 data)
+{
+ if (BIT(data, 5))
+ m_map_view.select(0);
+ else
+ m_map_view.disable();
+ m_map_control = data & 0x1f;
+}
+
void tek440x_state::sound_w(u8 data)
{
m_snsnd->write(data);
m_boot = false;
}
+void tek440x_state::diag_w(u8 data)
+{
+ if (!m_kb_rclamp && m_kb_loop != BIT(data, 7))
+ m_keyboard->kdo_w(!BIT(data, 7) || m_kb_tdata);
+
+ m_kb_loop = BIT(data, 7);
+}
+
+WRITE_LINE_MEMBER(tek440x_state::kb_rdata_w)
+{
+ m_kb_rdata = state;
+ if (!m_kb_rclamp)
+ m_duart->rx_a_w(state);
+}
+
+WRITE_LINE_MEMBER(tek440x_state::kb_rclamp_w)
+{
+ if (m_kb_rclamp != !state)
+ {
+ m_kb_rclamp = !state;
+
+ // Clamp RXDA to 1 and KBRDATA to 0 when DUART asserts RxRDYA
+ if (m_kb_tdata || !m_kb_loop)
+ m_keyboard->kdo_w(state);
+ m_duart->rx_a_w(state ? m_kb_rdata : 1);
+ }
+}
+
+WRITE_LINE_MEMBER(tek440x_state::kb_tdata_w)
+{
+ if (m_kb_tdata != state)
+ {
+ m_kb_tdata = state;
+
+ m_duart->ip4_w(!state);
+ if (m_kb_loop && m_kb_rdata && !m_kb_rclamp)
+ m_keyboard->kdo_w(state);
+ }
+}
+
void tek440x_state::logical_map(address_map &map)
{
map(0x000000, 0x7fffff).rw(FUNC(tek440x_state::memory_r), FUNC(tek440x_state::memory_w));
+ map(0x800000, 0xffffff).view(m_map_view);
+ m_map_view[0](0x800000, 0xffffff).rw(FUNC(tek440x_state::map_r), FUNC(tek440x_state::map_w));
}
void tek440x_state::physical_map(address_map &map)
@@ -189,15 +309,16 @@ void tek440x_state::physical_map(address_map &map)
map(0x600000, 0x61ffff).ram().share("vram");
map(0x740000, 0x747fff).rom().mirror(0x8000).region("maincpu", 0);
map(0x760000, 0x760fff).ram().mirror(0xf000); // debug RAM
- map(0x780000, 0x781fff).ram(); // map registers
+ map(0x780000, 0x780000).rw(FUNC(tek440x_state::mapcntl_r), FUNC(tek440x_state::mapcntl_w));
// 782000-783fff: video address registers
// 784000-785fff: video control registers
map(0x788000, 0x788000).w(FUNC(tek440x_state::sound_w));
// 78a000-78bfff: NS32081 FPU
map(0x78c000, 0x78c007).rw("aica", FUNC(mos6551_device::read), FUNC(mos6551_device::write)).umask16(0xff00);
+ map(0x7b0000, 0x7b0000).w(FUNC(tek440x_state::diag_w));
// 7b1000-7b2fff: diagnostic registers
// 7b2000-7b3fff: Centronics printer data
- map(0x7b4000, 0x7b401f).rw("duart", FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0xff00);
+ map(0x7b4000, 0x7b401f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0xff00);
// 7b6000-7b7fff: Mouse
map(0x7b8000, 0x7b8003).mirror(0x100).rw("timer", FUNC(am9513_device::read16), FUNC(am9513_device::write16));
// 7ba000-7bbfff: MC146818 RTC
@@ -254,10 +375,15 @@ void tek440x_state::tek4404(machine_config &config)
aica.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
aica.irq_handler().set_inputline(m_maincpu, M68K_IRQ_7);
- mc68681_device &duart(MC68681(config, "duart", 3.6864_MHz_XTAL));
- duart.irq_cb().set_inputline(m_maincpu, M68K_IRQ_5);
+ MC68681(config, m_duart, 3.6864_MHz_XTAL);
+ m_duart->irq_cb().set_inputline(m_maincpu, M68K_IRQ_5); // auto-vectored
+ m_duart->outport_cb().set(FUNC(tek440x_state::kb_rclamp_w)).bit(4);
+ m_duart->outport_cb().append(m_keyboard, FUNC(tek410x_keyboard_device::reset_w)).bit(3);
+ m_duart->a_tx_cb().set(m_keyboard, FUNC(tek410x_keyboard_device::kdi_w));
- I8048(config, "kbdmcu", 4.608_MHz_XTAL).set_disable();
+ TEK410X_KEYBOARD(config, m_keyboard);
+ m_keyboard->tdata_callback().set(FUNC(tek440x_state::kb_tdata_w));
+ m_keyboard->rdata_callback().set(FUNC(tek440x_state::kb_rdata_w));
AM9513(config, "timer", 40_MHz_XTAL / 4 / 10); // from CPU E output
@@ -293,9 +419,6 @@ ROM_START( tek4404 )
ROM_REGION( 0x2000, "scsimfm", 0 )
ROM_LOAD( "scsi_mfm.bin", 0x000000, 0x002000, CRC(b4293435) SHA1(5e2b96c19c4f5c63a5afa2de504d29fe64a4c908) )
-
- ROM_REGION( 0x400, "kbdmcu", 0 )
- ROM_LOAD( "keytronic_8x48.bin", 0x000, 0x400, NO_DUMP )
ROM_END
/*************************************
diff --git a/src/mame/drivers/tekigw.cpp b/src/mame/drivers/tekigw.cpp
new file mode 100644
index 00000000000..ab292c97871
--- /dev/null
+++ b/src/mame/drivers/tekigw.cpp
@@ -0,0 +1,602 @@
+// license:BSD-3-Clause
+// copyright-holders:Patrick Mackinlay
+
+/*
+ * Tektronix Intelligent Graphics Workstatsions (62xx?, 6110?, 6120, 6130, 4132)
+ *
+ * Sources:
+ * - http://bitsavers.trailing-edge.com/pdf/tektronix/6130/6100_Series_Hardware_Descriptions.pdf
+ *
+ * TODO:
+ * - ns32082 mmu
+ * - am9516 dma controller
+ * - slots and cards
+ * - gpib devices
+ * - graphics and keyboard
+ */
+/*
+ * WIP
+ * - novram chip select not asserted when trying to read ethernet mac address?
+ * - aborts to firmware monitor on second serial port after failing to boot
+ */
+
+#include "emu.h"
+
+// cpus and memory
+#include "cpu/ns32000/ns32000.h"
+#include "machine/ram.h"
+
+// various hardware
+//#include "machine/am9516a.h"
+#include "machine/eepromser.h"
+#include "machine/i82586.h"
+#include "machine/mm58167.h"
+#include "machine/ns32081.h"
+//#include "machine/ns32082.h"
+#include "machine/ns32202.h"
+#include "machine/tms9914.h"
+#include "machine/wd_fdc.h"
+#include "machine/wd1010.h"
+#include "machine/z80scc.h"
+
+// busses and connectors
+#include "bus/ieee488/ieee488.h"
+#include "bus/rs232/rs232.h"
+#include "imagedev/floppy.h"
+#include "imagedev/harddriv.h"
+
+#define VERBOSE 0
+#include "logmacro.h"
+
+namespace {
+
+class tek6100_state : public driver_device
+{
+public:
+ tek6100_state(machine_config const &mconfig, device_type type, char const *tag)
+ : driver_device(mconfig, type, tag)
+ , m_cpu(*this, "cpu")
+ , m_fpu(*this, "fpu")
+ //, m_mmu(*this, "mmu")
+ , m_icu(*this, "icu")
+ , m_ram(*this, "ram")
+ , m_scc(*this, "scc")
+ , m_serial(*this, "port%u", 0U)
+ , m_gpib(*this, "gpib")
+ , m_rtc(*this, "rtc")
+ , m_nov(*this, "nov%u", 0U)
+ , m_fdc(*this, "fdc")
+ , m_fdd(*this, "fdc:%u:525dd", 0U)
+ //, m_dma(*this, "dma")
+ , m_hdc(*this, "hdc")
+ , m_hdd(*this, "hdc:0")
+ , m_lan(*this, "lan")
+ , m_led(*this, "led")
+ {
+ }
+
+protected:
+ // driver_device overrides
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ // address maps
+ template <unsigned ST> void cpu_map(address_map &map);
+ void lan_map(address_map &map);
+
+public:
+ // machine config
+ void tek6130(machine_config &config);
+
+ void init_common();
+
+protected:
+ // computer board control registers
+ u8 nov_r() { return m_nmr; }
+ u8 scr_r() { return m_scr; }
+ u8 ssr_r() { return m_ssr; }
+ void fcr_w(u8 data);
+ void gcr_w(u8 data);
+ void hcr_w(u8 data);
+ void led_w(u8 data) { m_led = data; }
+ void nov_w(u8 data);
+ void scr_w(u8 data);
+
+ // novram data out handler
+ void nov_do(int state);
+
+ // hard disk buffer handlers
+ template <typename T> T buf_r();
+ template <typename T> void buf_w(T data);
+
+ required_device<ns32016_device> m_cpu;
+ required_device<ns32081_device> m_fpu;
+ //required_device<ns32082_device> m_mmu;
+ required_device<ns32202_device> m_icu;
+ required_device<ram_device> m_ram;
+
+ required_device<scc8530_device> m_scc;
+ required_device_array<rs232_port_device, 2> m_serial;
+ required_device<tms9914_device> m_gpib;
+ required_device<mm58167_device> m_rtc;
+ optional_device_array<eeprom_serial_x24c44_16bit_device, 2> m_nov;
+ required_device<wd1770_device> m_fdc;
+ optional_device_array<floppy_image_device, 2> m_fdd;
+ //required_device<am9516a_device> m_dma;
+ required_device<wd1010_device> m_hdc;
+ required_device<harddisk_image_device> m_hdd;
+ required_device<i82586_device> m_lan;
+
+ output_finder<> m_led;
+
+private:
+ u8 m_hcr; // hard disk control register
+ u8 m_nmr; // nonvolatile memory register
+ u16 m_per; // parity error register
+ u8 m_scr; // system control register
+ u8 m_ssr; // system status register
+
+ // ram parity state
+ memory_passthrough_handler *m_parity_mph;
+ std::unique_ptr<u32[]> m_parity_flag;
+ unsigned m_parity_bad;
+
+ // hard disk controller buffer
+ u16 m_hdc_ptr;
+ std::unique_ptr<u8[]> m_hdc_buf;
+};
+
+void tek6100_state::machine_start()
+{
+ m_hdc_buf = std::make_unique<u8[]>(4096);
+
+ save_item(NAME(m_hcr));
+ save_item(NAME(m_nmr));
+ save_item(NAME(m_per));
+ save_item(NAME(m_scr));
+ save_item(NAME(m_ssr));
+
+ save_item(NAME(m_hdc_ptr));
+ save_pointer(NAME(m_hdc_buf), 4096);
+
+ m_per = 0;
+ m_ssr = 0;
+}
+
+void tek6100_state::machine_reset()
+{
+ hcr_w(0);
+ nov_w(0);
+ scr_w(0);
+ fcr_w(0);
+}
+
+void tek6100_state::init_common()
+{
+ m_led.resolve();
+
+ m_lan->space(0).install_ram(0, m_ram->mask(), m_ram->pointer());
+}
+
+enum fcr_mask : u8
+{
+ FCR_DRIVE = 0x01, // drive select
+ FCR_SIDE = 0x02, // side select
+ FCR_DDEN = 0x04, // double density enable
+ FCR_FDEN = 0x08, // flexible disk enable
+};
+
+void tek6100_state::fcr_w(u8 data)
+{
+ floppy_image_device *fdd = nullptr;
+ if (data & FCR_FDEN)
+ fdd = m_fdd[data & FCR_DRIVE];
+
+ m_fdc->set_floppy(fdd);
+ if (fdd)
+ fdd->ss_w(bool(data & FCR_SIDE));
+
+ m_fdc->dden_w(bool(data & FCR_DDEN));
+}
+
+enum gcr_mask : u8
+{
+ GCR_SYSCTL = 0x02, // gpib line driver enable
+};
+
+void tek6100_state::gcr_w(u8 data)
+{
+ // TODO: enable/disable line drivers
+}
+
+enum scr_mask : u8
+{
+ SCR_RAME = 0x01, // ram enable
+ SCR_NMIE = 0x04, // nmi enable
+ SCR_LLOP = 0x08, // lan loopback enable
+ SCR_BERRE = 0x10, // bus error enable
+ SCR_DMAE = 0x20, // dma enable
+ SCR_PARB = 0x40, // parity bad
+ SCR_PARE = 0x80, // parity enable
+};
+
+enum ssr_mask : u8
+{
+ SSR_DMACH = 0x0f, // dma channel
+ SSR_BERR = 0x10, // bus error
+ SSR_PWRSW = 0x20, // power switch
+ SSR_PFAIL = 0x40, // power fail
+ SSR_PERR = 0x80, // parity error
+};
+
+enum per_mask : u16
+{
+ PER_PARADR = 0x3fff, // parity address
+ PER_HIERR = 0x4000,
+ PER_LOERR = 0x8000,
+};
+
+void tek6100_state::scr_w(u8 data)
+{
+ if (!(m_scr & SCR_RAME) && (data & SCR_RAME))
+ m_cpu->space(0).install_ram(0, m_ram->mask(), m_ram->pointer());
+
+ if ((m_scr ^ data) & SCR_LLOP)
+ m_lan->set_loopback(data & SCR_LLOP);
+
+ // install parity handlers
+ if (!(m_scr & SCR_PARB) && (data & SCR_PARB) && !m_parity_mph)
+ {
+ m_parity_flag = std::make_unique<u32[]>(m_ram->size() / 32);
+ m_parity_bad = 0;
+
+ m_parity_mph = m_cpu->space(0).install_readwrite_tap(0, m_ram->mask(), "parity",
+ [this](offs_t offset, u16 &data, u16 mem_mask)
+ {
+ if (m_scr & SCR_PARE)
+ {
+ bool error = false;
+
+ // check bad parity (lo)
+ if ((mem_mask & 0x00ff) && BIT(m_parity_flag[offset / 32], (offset & 31) + 0))
+ {
+ m_ssr |= SSR_PERR;
+ m_per &= ~PER_PARADR;
+ m_per |= PER_LOERR | ((offset >> 9) & PER_PARADR);
+
+ error = true;
+ }
+
+ // check bad parity (hi)
+ if ((mem_mask & 0xff00) && BIT(m_parity_flag[offset / 32], (offset & 31) + 1))
+ {
+ m_ssr |= SSR_PERR;
+ m_per &= ~PER_PARADR;
+ m_per |= PER_HIERR | ((offset >> 9) & PER_PARADR);
+
+ error = true;
+ }
+
+ if (error && (m_scr & SCR_NMIE))
+ m_cpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
+ }
+ },
+ [this](offs_t offset, u16 &data, u16 mem_mask)
+ {
+ if (m_scr & SCR_PARB)
+ {
+ // mark bad parity (lo)
+ if ((mem_mask & 0x00ff) && !BIT(m_parity_flag[offset / 32], (offset & 31) + 0))
+ {
+ m_parity_flag[offset / 32] |= 1U << ((offset & 31) + 0);
+ m_parity_bad++;
+ }
+
+ // mark bad parity (hi)
+ if ((mem_mask & 0xff00) && !BIT(m_parity_flag[offset / 32], (offset & 31) + 1))
+ {
+ m_parity_flag[offset / 32] |= 1U << ((offset & 31) + 1);
+ m_parity_bad++;
+ }
+ }
+ else
+ {
+ // clear bad parity (lo)
+ if ((mem_mask & 0x00ff) && BIT(m_parity_flag[offset / 32], (offset & 31) + 0))
+ {
+ m_parity_flag[offset / 32] &= ~(1U << ((offset & 31) + 0));
+ m_parity_bad--;
+ }
+
+ // clear bad parity (hi)
+ if ((mem_mask & 0xff00) && BIT(m_parity_flag[offset / 32], (offset & 31) + 1))
+ {
+ m_parity_flag[offset / 32] &= ~(1U << ((offset & 31) + 1));
+ m_parity_bad--;
+ }
+
+ // stop checking parity if all clear
+ if (!m_parity_bad)
+ {
+ m_parity_flag.reset();
+ m_parity_mph->remove();
+ m_parity_mph = nullptr;
+ }
+ }
+ });
+ }
+
+ // stop checking parity if all clear
+ if ((m_scr & SCR_PARB) && !(data & SCR_PARB) && m_parity_mph && !m_parity_bad)
+ {
+ m_parity_flag.reset();
+ m_parity_mph->remove();
+ m_parity_mph = nullptr;
+ }
+
+ if (data & SCR_PARE)
+ m_per = 0;
+ else
+ m_ssr &= ~SSR_PERR;
+
+ m_scr = data;
+}
+
+enum nov_mask : u8
+{
+ NOV_NDAT = 0x01, // nonvolatile memory data
+ NOV_SK = 0x02, // serial clock
+ NOV_CS0 = 0x04, // chip select 0
+ NOV_CS1 = 0x08, // chip select 1
+ NOV_LED = 0x10, // power-on led
+ NOV_PON = 0x20, // system power enable
+ NOV_MSK = 0x3e,
+};
+
+void tek6100_state::nov_w(u8 data)
+{
+ bool const cs0 = data & NOV_CS0;
+ bool const cs1 = data & NOV_CS1;
+
+ if (m_nov[0] && ((m_nmr ^ data) & NOV_CS0))
+ m_nov[0]->cs_write(cs0);
+ if (m_nov[1] && ((m_nmr ^ data) & NOV_CS1))
+ m_nov[1]->cs_write(cs1);
+
+ if (m_nov[0] && cs0)
+ {
+ m_nov[0]->di_write(bool(data & NOV_NDAT));
+ m_nov[0]->clk_write(bool(data & NOV_SK));
+ }
+
+ if (m_nov[1] && cs1)
+ {
+ m_nov[1]->di_write(bool(data & NOV_NDAT));
+ m_nov[1]->clk_write(bool(data & NOV_SK));
+ }
+
+ m_nmr = (m_nmr & ~NOV_MSK) | (data & NOV_MSK);
+}
+
+void tek6100_state::nov_do(int state)
+{
+ if (state)
+ m_nmr |= NOV_NDAT;
+ else
+ m_nmr &= ~NOV_NDAT;
+}
+
+enum hcr_mask : u8
+{
+ HCR_HDSEL = 0x0f, // head select
+ HCR_DRSEL = 0x10, // drive select
+ HCR_MULT = 0x20, // multiple sector
+ HCR_BFRDY = 0x40, // buffer ready
+ HCR_BCCLR = 0x80, // buffer counter clear
+};
+
+void tek6100_state::hcr_w(u8 data)
+{
+ m_hdc->drdy_w(m_hdd->exists() && bool(data & HCR_DRSEL));
+ m_hdc->brdy_w(bool(data & HCR_BFRDY));
+
+ if (!(data & HCR_BCCLR))
+ m_hdc_ptr = 0;
+
+ m_hdc->head_w(data & HCR_HDSEL);
+ m_hdc->sc_w(bool(data & HCR_DRSEL));
+
+ m_hcr = data;
+}
+
+template <typename T> T tek6100_state::buf_r()
+{
+ T data = 0;
+
+ for (unsigned i = 0; i < sizeof(T); i++)
+ data |= T(m_hdc_buf[m_hdc_ptr++ & 0xfff]) << (i * 8);
+
+ return data;
+}
+
+template <typename T> void tek6100_state::buf_w(T data)
+{
+ for (unsigned i = 0; i < sizeof(T); i++)
+ m_hdc_buf[m_hdc_ptr++ & 0xfff] = u8(data >> (i * 8));
+}
+
+template <unsigned ST> void tek6100_state::cpu_map(address_map &map)
+{
+ map(0x000000, 0x007fff).rom().region("kernel", 0);
+ map(0x800000, 0x807fff).rom().region("kernel", 0);
+
+ map(0xff0000, 0xff7fff).rw(FUNC(tek6100_state::buf_r<u16>), FUNC(tek6100_state::buf_w<u16>));
+
+ map(0xfff000, 0xfff000).w(FUNC(tek6100_state::fcr_w));
+ map(0xfff002, 0xfff002).w(FUNC(tek6100_state::gcr_w));
+ map(0xfff004, 0xfff005).lw16([this](u16 data) { m_lan->ca(1); }, "lan_ca");
+ map(0xfff006, 0xfff006).rw(FUNC(tek6100_state::nov_r), FUNC(tek6100_state::nov_w));
+ map(0xfff008, 0xfff009).portr("config");
+ map(0xfff008, 0xfff008).w(FUNC(tek6100_state::led_w));
+ map(0xfff00a, 0xfff00b).lr16([this]() { return m_per; }, "per_r");
+ map(0xfff00c, 0xfff00c).rw(FUNC(tek6100_state::scr_r), FUNC(tek6100_state::scr_w));
+ map(0xfff00e, 0xfff00e).r(FUNC(tek6100_state::ssr_r));
+
+ map(0xfff800, 0xfff83f).rw(m_rtc, FUNC(mm58167_device::read), FUNC(mm58167_device::write)).umask16(0xff);
+ map(0xfff900, 0xfff90f).rw(m_gpib, FUNC(tms9914_device::read), FUNC(tms9914_device::write)).umask16(0xff);
+ map(0xfffa00, 0xfffa07).rw(m_scc, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask16(0xff);
+ map(0xfffb00, 0xfffb0f).rw(m_hdc, FUNC(wd1010_device::read), FUNC(wd1010_device::write)).umask16(0xff);
+ map(0xfffb10, 0xfffb10).w(FUNC(tek6100_state::hcr_w));
+ map(0xfffc00, 0xfffc07).rw(m_fdc, FUNC(wd1770_device::read), FUNC(wd1770_device::write)).umask16(0xff);
+ //map(0xfffd00, 0xfffdff); // dma controller
+ map(0xfffe00, 0xfffeff).m(m_icu, FUNC(ns32202_device::map<BIT(ST, 1)>)).umask16(0xff);
+ map(0xffff00, 0xffffff).rom().region("kernel", 0x7f00);
+}
+
+void tek6100_state::lan_map(address_map &map)
+{
+ map.global_mask(0x3fffff);
+
+ map(0x3fff00, 0x3fffff).rom().region("kernel", 0x7f00); // 0xf00000-0xffffff
+}
+
+void tek6100_state::tek6130(machine_config &config)
+{
+ NS32016(config, m_cpu, 20_MHz_XTAL / 2);
+ m_cpu->set_addrmap(0, &tek6100_state::cpu_map<0>);
+ m_cpu->set_addrmap(6, &tek6100_state::cpu_map<6>);
+
+ NS32081(config, m_fpu, 20_MHz_XTAL / 2);
+ m_cpu->set_fpu(m_fpu);
+
+ NS32202(config, m_icu, 20_MHz_XTAL / 1000);
+ m_icu->out_int().set_inputline(m_cpu, INPUT_LINE_IRQ0).invert();
+ /*
+ * 0 mmu configuration link
+ * 1 l rs-232-c
+ * 2 l hard disk interface
+ * 3 l display system
+ * 4 l backplane slot 1
+ * 5 l backplane slot 2
+ * 6 l backplane slot 3
+ * 7 l backplane slot 4
+ * 8 l backplane slot 5
+ * 9 l backplane slot 6
+ * 10 l gpib
+ * 11 h local area network
+ * 12 h power switch interrupt
+ * 13 h flexible disk interrupt
+ * 14 fpu configuration link
+ * 15 software interrupt 0
+ */
+
+ RAM(config, m_ram);
+ m_ram->set_default_size("1M");
+ m_ram->set_default_value(0);
+
+ SCC8530N(config, m_scc, 16_MHz_XTAL / 4);
+ m_scc->out_int_callback().set(m_icu, FUNC(ns32202_device::ir_w<1>)).invert();
+ m_scc->configure_channels(2'457'600, 0, 2'457'600, 0);
+
+ RS232_PORT(config, m_serial[0], default_rs232_devices, "terminal");
+ m_serial[0]->cts_handler().set(m_scc, FUNC(z80scc_device::ctsa_w));
+ m_serial[0]->dcd_handler().set(m_scc, FUNC(z80scc_device::dcda_w));
+ m_serial[0]->rxd_handler().set(m_scc, FUNC(z80scc_device::rxa_w));
+ m_scc->out_dtra_callback().set(m_serial[0], FUNC(rs232_port_device::write_dtr));
+ m_scc->out_rtsa_callback().set(m_serial[0], FUNC(rs232_port_device::write_rts));
+ m_scc->out_txda_callback().set(m_serial[0], FUNC(rs232_port_device::write_txd));
+
+ RS232_PORT(config, m_serial[1], default_rs232_devices, nullptr);
+ m_serial[1]->cts_handler().set(m_scc, FUNC(z80scc_device::ctsb_w));
+ m_serial[1]->dcd_handler().set(m_scc, FUNC(z80scc_device::dcdb_w));
+ m_serial[1]->rxd_handler().set(m_scc, FUNC(z80scc_device::rxb_w));
+ m_scc->out_dtrb_callback().set(m_serial[1], FUNC(rs232_port_device::write_dtr));
+ m_scc->out_rtsb_callback().set(m_serial[1], FUNC(rs232_port_device::write_rts));
+ m_scc->out_txdb_callback().set(m_serial[1], FUNC(rs232_port_device::write_txd));
+
+ MM58167(config, m_rtc, 32.768_kHz_XTAL);
+
+ EEPROM_X24C44_16BIT(config, m_nov[0]);
+ m_nov[0]->do_callback().set(FUNC(tek6100_state::nov_do));
+ EEPROM_X24C44_16BIT(config, m_nov[1]);
+ m_nov[1]->do_callback().set(FUNC(tek6100_state::nov_do));
+
+ WD1770(config, m_fdc, 8_MHz_XTAL); // clock?
+ m_fdc->intrq_wr_callback().set(m_icu, FUNC(ns32202_device::ir_w<13>));
+ //m_fdc->drq_wr_callback().set(m_dma, FUNC(::));
+ FLOPPY_CONNECTOR(config, "fdc:0", "525dd", FLOPPY_525_DD, true, floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
+
+ WD1010(config, m_hdc, 20_MHz_XTAL / 4);
+ m_hdc->out_intrq_callback().set(m_icu, FUNC(ns32202_device::ir_w<2>));
+ m_hdc->in_data_callback().set(FUNC(tek6100_state::buf_r<u8>));
+ m_hdc->out_data_callback().set(FUNC(tek6100_state::buf_w<u8>));
+ m_hdc->out_bcr_callback().set([this](int state) { if (state) m_hdc_ptr = 0; });
+
+ HARDDISK(config, m_hdd, 0);
+
+ I82586(config, m_lan, 16_MHz_XTAL / 2);
+ m_lan->set_addrmap(0, &tek6100_state::lan_map);
+ m_lan->out_irq_cb().set(m_icu, FUNC(ns32202_device::ir_w<11>)).invert();
+
+ TMS9914(config, m_gpib, 20_MHz_XTAL / 4);
+ m_gpib->int_write_cb().set(m_icu, FUNC(ns32202_device::ir_w<10>));
+ m_gpib->dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
+ m_gpib->dio_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dio_w));
+ m_gpib->eoi_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
+ m_gpib->dav_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
+ m_gpib->nrfd_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
+ m_gpib->ndac_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
+ m_gpib->ifc_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
+ m_gpib->srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
+ m_gpib->atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
+ m_gpib->ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
+
+ ieee488_device &ieee(IEEE488(config, IEEE488_TAG));
+ ieee.eoi_callback().set(m_gpib, FUNC(tms9914_device::eoi_w));
+ ieee.dav_callback().set(m_gpib, FUNC(tms9914_device::dav_w));
+ ieee.nrfd_callback().set(m_gpib, FUNC(tms9914_device::nrfd_w));
+ ieee.ndac_callback().set(m_gpib, FUNC(tms9914_device::ndac_w));
+ ieee.ifc_callback().set(m_gpib, FUNC(tms9914_device::ifc_w));
+ ieee.srq_callback().set(m_gpib, FUNC(tms9914_device::srq_w));
+ ieee.atn_callback().set(m_gpib, FUNC(tms9914_device::atn_w));
+ ieee.ren_callback().set(m_gpib, FUNC(tms9914_device::ren_w));
+
+ IEEE488_SLOT(config, "ieee_rem", 0, remote488_devices, nullptr);
+}
+
+static INPUT_PORTS_START(tek6100)
+ PORT_START("config")
+ PORT_DIPNAME(0x80, 0x00, "Mode") PORT_DIPLOCATION("SW:1")
+ PORT_DIPSETTING( 0x00, "Normal")
+ PORT_DIPSETTING( 0x80, "Service")
+ PORT_DIPNAME(0x60, 0x20, "Console") PORT_DIPLOCATION("SW:3,2")
+ PORT_DIPSETTING( 0x00, "Display")
+ PORT_DIPSETTING( 0x20, "9600 baud RS-232-C terminal (port 0)")
+ PORT_DIPSETTING( 0x40, "1200 baud RS-232-C modem/terminal (port 1)")
+ PORT_DIPSETTING( 0x60, "300 baud model/terminal (port 1)")
+ PORT_DIPNAME(0x10, 0x00, "Boot") PORT_DIPLOCATION("SW:4")
+ PORT_DIPSETTING( 0x00, "UTek")
+ PORT_DIPSETTING( 0x10, "File")
+ PORT_DIPNAME(0x0c, 0x00, "Boot Device") PORT_DIPLOCATION("SW:6,5")
+ PORT_DIPSETTING( 0x00, "Autoboot")
+ PORT_DIPSETTING( 0x04, "Hard disk")
+ PORT_DIPSETTING( 0x08, "Diskette drive")
+ PORT_DIPSETTING( 0x0c, "LAN port")
+ PORT_DIPNAME(0x03, 0x00, "Diagnostic") PORT_DIPLOCATION("SW:8,7")
+ PORT_DIPSETTING( 0x00, "0")
+ PORT_DIPSETTING( 0x01, "1")
+ PORT_DIPSETTING( 0x02, "2")
+ PORT_DIPSETTING( 0x03, "3")
+INPUT_PORTS_END
+
+ROM_START(tek6130)
+ ROM_REGION16_LE(0x8000, "kernel", 0)
+ ROM_SYSTEM_BIOS(0, "kernel", "PWR UP 5.105 ADB 20")
+ ROMX_LOAD("pwr_up__5.105__adb_lo.bin", 0x00000, 0x4000, CRC(429a6a4a) SHA1(5ec5a045ec14a1b546d75e9406f0ad21163298f6), ROM_BIOS(0) | ROM_SKIP(1))
+ ROMX_LOAD("pwr_up__5.105__adb_hi.bin", 0x00001, 0x4000, CRC(1ad7a762) SHA1(98472c30f1148c43f43d2131ebc9644d8ebf376a), ROM_BIOS(0) | ROM_SKIP(1))
+ROM_END
+
+} // anonymous namespace
+
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+COMP(1984, tek6130, 0, 0, tek6130, tek6100, tek6100_state, init_common, "Tektronix", "6130", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW)
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index cbf40df3279..9475d97b0ce 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -86,8 +86,8 @@ AT-2
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/dac.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/thedeep.cpp b/src/mame/drivers/thedeep.cpp
index a58d15e2c25..a16662eb800 100644
--- a/src/mame/drivers/thedeep.cpp
+++ b/src/mame/drivers/thedeep.cpp
@@ -38,7 +38,7 @@ NOTE: There is manual for Run Deep which is (c) 1988 by World Games. Is Cream Co
#include "cpu/m6502/r65c02.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp
index 1f387232efc..f2fa77c45e5 100644
--- a/src/mame/drivers/thunderx.cpp
+++ b/src/mame/drivers/thunderx.cpp
@@ -39,7 +39,7 @@
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
//#define VERBOSE 1
diff --git a/src/mame/drivers/tigeroad.cpp b/src/mame/drivers/tigeroad.cpp
index 49b83e36797..03655143e3c 100644
--- a/src/mame/drivers/tigeroad.cpp
+++ b/src/mame/drivers/tigeroad.cpp
@@ -632,11 +632,9 @@ void tigeroad_state::tigeroad(machine_config &config)
// video hardware
BUFFERED_SPRITERAM16(config, "spriteram");
+ // Timings may be different, driver originally had 60.08Hz vblank.
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60.08); // verified on pcb
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(6000000, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(tigeroad_state::screen_update));
screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram16_device::vblank_copy_rising));
screen.set_palette(m_palette);
@@ -715,10 +713,7 @@ void tigeroad_state::f1dream_comad(machine_config &config)
BUFFERED_SPRITERAM16(config, "spriteram");
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60.08); // verified on pcb
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(6000000, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(tigeroad_state::screen_update));
screen.screen_vblank().set("spriteram", FUNC(buffered_spriteram16_device::vblank_copy_rising));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index 84e3affa34d..f84f09c515d 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -72,9 +72,9 @@ Updates:
#include "sound/k054539.h"
#include "sound/okim6295.h"
#include "sound/samples.h"
-#include "sound/ym2151.h"
-#include "sound/ymfm.h"
+#include "sound/ymopm.h"
#include "speaker.h"
+#include "ymfm/src/ymfm.h"
uint16_t tmnt_state::k052109_word_noA12_r(offs_t offset)
@@ -235,7 +235,7 @@ SAMPLES_START_CB_MEMBER(tmnt_state::tmnt_decode_sample)
for (i = 0; i < 0x40000; i++)
{
int val = source[2 * i] + source[2 * i + 1] * 256;
- m_sampledata[i] = ymfm_decode_fp(val >> 3);
+ m_sampledata[i] = ymfm::decode_fp(val >> 3);
}
}
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index 1835fe6f280..f45b24a7125 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -625,8 +625,8 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/11/06
#include "includes/taitoipt.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index 4bc4a5ba14e..6769ec1ea4e 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -397,8 +397,8 @@ To reset the NVRAM in Othello Derby, hold P1 Button 1 down while booting.
#include "cpu/z80/z80.h"
#include "cpu/z180/hd647180x.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "sound/ymz280b.h"
#include "speaker.h"
diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp
index 88f13f850e9..a8ec5551b5b 100644
--- a/src/mame/drivers/toki.cpp
+++ b/src/mame/drivers/toki.cpp
@@ -99,7 +99,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/toki_ms.cpp b/src/mame/drivers/toki_ms.cpp
index 70c21399271..9aecff5187e 100644
--- a/src/mame/drivers/toki_ms.cpp
+++ b/src/mame/drivers/toki_ms.cpp
@@ -262,7 +262,7 @@ IC46->PAL16V8H 74LS393N 74LS368AP 74LS377B1|U|| | |
#include "tilemap.h"
#include "video/bufsprite.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
class toki_ms_state : public driver_device
diff --git a/src/mame/drivers/tomcat.cpp b/src/mame/drivers/tomcat.cpp
index dd2cb50d4f3..01842bf6cdf 100644
--- a/src/mame/drivers/tomcat.cpp
+++ b/src/mame/drivers/tomcat.cpp
@@ -38,7 +38,7 @@
#include "machine/6532riot.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/topspeed.cpp b/src/mame/drivers/topspeed.cpp
index 2cd71f6691d..f95cecbf611 100644
--- a/src/mame/drivers/topspeed.cpp
+++ b/src/mame/drivers/topspeed.cpp
@@ -164,7 +164,7 @@ From JP manual
#include "machine/z80ctc.h"
#include "sound/flt_vol.h"
#include "sound/msm5205.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tryout.cpp b/src/mame/drivers/tryout.cpp
index 65ea084a47c..c59536e5ec7 100644
--- a/src/mame/drivers/tryout.cpp
+++ b/src/mame/drivers/tryout.cpp
@@ -23,7 +23,7 @@ $208 strikes count
#include "includes/tryout.h"
#include "cpu/m6502/m6502.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index 426ba8f7ec2..6eaa1d4a072 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -412,7 +412,7 @@ static INPUT_PORTS_START( tsamurai )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_START("DSW1")
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:!1,!2,!3")
PORT_DIPSETTING( 0x07, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
@@ -421,7 +421,7 @@ static INPUT_PORTS_START( tsamurai )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW1:!4,!5,!6")
PORT_DIPSETTING( 0x38, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
@@ -430,33 +430,33 @@ static INPUT_PORTS_START( tsamurai )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x40, 0x00, "Freeze" )
+ PORT_DIPNAME( 0x40, 0x00, "Freeze" ) PORT_DIPLOCATION("DSW1:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
PORT_START("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x02, "7" )
PORT_DIPSETTING( 0x03, "254 (Cheat)")
- PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" )
+ PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" ) PORT_DIPLOCATION("DSW2:!3,!4")
PORT_DIPSETTING( 0x00, "00" )
PORT_DIPSETTING( 0x04, "30" )
PORT_DIPSETTING( 0x08, "50" )
PORT_DIPSETTING( 0x0c, "70" )
- PORT_DIPNAME( 0x30, 0x30, "DSW2 Unknown 2" )
+ PORT_DIPNAME( 0x30, 0x30, "DSW2 Unknown 2" ) PORT_DIPLOCATION("DSW2:!5,!6")
PORT_DIPSETTING( 0x00, "0x00" )
PORT_DIPSETTING( 0x10, "0x01" )
PORT_DIPSETTING( 0x20, "0x02" )
PORT_DIPSETTING( 0x30, "0x03" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSW2:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 3" )
+ PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 3" ) PORT_DIPLOCATION("DSW2:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
@@ -465,7 +465,7 @@ static INPUT_PORTS_START( tsamuraih )
PORT_INCLUDE( tsamurai )
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:!1,!2")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x02, "4" )
@@ -492,25 +492,25 @@ static INPUT_PORTS_START( nunchaku )
PORT_INCLUDE( ladymstr )
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x02, "7" )
PORT_DIPSETTING( 0x03, "255 (Cheat)")
- PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" )
+ PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" ) PORT_DIPLOCATION("DSW2:!3,!4")
PORT_DIPSETTING( 0x00, "00" )
PORT_DIPSETTING( 0x04, "30" )
PORT_DIPSETTING( 0x08, "50" )
PORT_DIPSETTING( 0x0c, "70" )
- PORT_DIPNAME( 0x30, 0x30, "DSW2 Unknown 2" )
+ PORT_DIPNAME( 0x30, 0x30, "DSW2 Unknown 2" ) PORT_DIPLOCATION("DSW2:!5,!6")
PORT_DIPSETTING( 0x00, "0x00" )
PORT_DIPSETTING( 0x10, "0x01" )
PORT_DIPSETTING( 0x20, "0x02" )
PORT_DIPSETTING( 0x30, "0x03" )
- PORT_DIPNAME( 0x40, 0x40, "DSW2 Unknown 3" )
+ PORT_DIPNAME( 0x40, 0x40, "DSW2 Unknown 3" ) PORT_DIPLOCATION("DSW2:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 4" )
+ PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 4" ) PORT_DIPLOCATION("DSW2:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
@@ -532,28 +532,28 @@ static INPUT_PORTS_START( vsgongf )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!1")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!2")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!3")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!4")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!5")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
@@ -583,26 +583,26 @@ static INPUT_PORTS_START( yamagchi )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x02, "7" )
PORT_DIPSETTING( 0x03, "255 (Cheat)")
- PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" )
+ PORT_DIPNAME( 0x0c, 0x0c, "DSW2 Unknown 1" ) PORT_DIPLOCATION("DSW2:!3,!4")
PORT_DIPSETTING( 0x00, "00" )
PORT_DIPSETTING( 0x04, "30" )
PORT_DIPSETTING( 0x08, "50" )
PORT_DIPSETTING( 0x0c, "70" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Language ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Language ) ) PORT_DIPLOCATION("DSW2:!5")
PORT_DIPSETTING( 0x10, DEF_STR( English ) )
PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0x20, 0x20, "DSW2 Unknown 2" )
+ PORT_DIPNAME( 0x20, 0x20, "DSW2 Unknown 2" ) PORT_DIPLOCATION("DSW2:!6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSW2:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 3" )
+ PORT_DIPNAME( 0x80, 0x80, "DSW2 Unknown 3" ) PORT_DIPLOCATION("DSW2:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
@@ -624,7 +624,7 @@ static INPUT_PORTS_START( m660 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:!1,!2,!3")
PORT_DIPSETTING( 0x04, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
@@ -633,7 +633,7 @@ static INPUT_PORTS_START( m660 )
PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW1:!4,!5,!6")
PORT_DIPSETTING( 0x20, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
@@ -642,33 +642,33 @@ static INPUT_PORTS_START( m660 )
PORT_DIPSETTING( 0x38, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x28, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x40, 0x00, "Freeze" )
+ PORT_DIPNAME( 0x40, 0x00, "Freeze" ) PORT_DIPLOCATION("DSW1:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Continues ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Continues ) ) PORT_DIPLOCATION("DSW1:!8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:!1,!2")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_DIPSETTING( 0x03, "6" )
- PORT_DIPNAME( 0x0c, 0x0c, "Bonus" )
+ PORT_DIPNAME( 0x0c, 0x0c, "Bonus" ) PORT_DIPLOCATION("DSW2:!3,!4")
PORT_DIPSETTING( 0x00, "10,30,50" )
PORT_DIPSETTING( 0x04, "20,50,80" )
PORT_DIPSETTING( 0x08, "30,70,110" )
PORT_DIPSETTING( 0x0c, "50,100,150" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x30, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:!5,!6")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x10, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x30, DEF_STR( Very_Hard ) )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW2:!7")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) /* listed as screen flip (hardware) */
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW2:!8") // listed as screen flip (hardware)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 2700f3d7b0d..bca6b4df9a3 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -308,8 +308,8 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "cpu/pic16c5x/pic16c5x.h"
#include "machine/decocrpt.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp
index 1916b5d66c5..16cf79efcf2 100644
--- a/src/mame/drivers/twin16.cpp
+++ b/src/mame/drivers/twin16.cpp
@@ -54,7 +54,7 @@ Known Issues:
#include "machine/gen_latch.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index 80649733cad..8b4925ab355 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -384,7 +384,7 @@ Shark Zame
#include "cpu/m68000/m68000.h"
#include "cpu/mcs48/mcs48.h"
#include "cpu/z80/z80.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ultraman.cpp b/src/mame/drivers/ultraman.cpp
index 7a2dc31416a..a0976b8eeb8 100644
--- a/src/mame/drivers/ultraman.cpp
+++ b/src/mame/drivers/ultraman.cpp
@@ -18,7 +18,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/umipoker.cpp b/src/mame/drivers/umipoker.cpp
index fcbefe0e963..c2e5846de2a 100644
--- a/src/mame/drivers/umipoker.cpp
+++ b/src/mame/drivers/umipoker.cpp
@@ -21,7 +21,7 @@
#include "cpu/z80/z80.h"
#include "machine/nvram.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/unico.cpp b/src/mame/drivers/unico.cpp
index 9f561c8d8fe..6aef71f5c90 100644
--- a/src/mame/drivers/unico.cpp
+++ b/src/mame/drivers/unico.cpp
@@ -30,8 +30,8 @@ Year + Game PCB Notes
#include "cpu/m68000/m68000.h"
#include "machine/eepromser.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym3812.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp
index 9d3518d71ac..4f9f3ebba4b 100644
--- a/src/mame/drivers/unixpc.cpp
+++ b/src/mame/drivers/unixpc.cpp
@@ -260,7 +260,8 @@ void unixpc_state::disk_control_w(uint8_t data)
{
logerror("disk_control_w: %02x\n", data);
- // TODO: bits 0-2 = head select
+ // bits 0-2 = head select
+ m_hdc->head_w(BIT(data, 0, 2));
m_hdc->drdy_w(BIT(data, 3) && m_hdr0->exists());
diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp
index d4dd23fead6..9a4c21f090d 100644
--- a/src/mame/drivers/vamphalf.cpp
+++ b/src/mame/drivers/vamphalf.cpp
@@ -66,7 +66,7 @@ TODO:
#include "machine/nvram.h"
#include "sound/okim6295.h"
#include "sound/qs1000.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -537,7 +537,7 @@ void vamphalf_state::vamphalf_io(address_map &map)
{
map(0x0c0, 0x0c1).noprw(); // return 0, when oki chip is read / written
map(0x0c3, 0x0c3).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x140, 0x143).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x140, 0x143).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x147, 0x147).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w));
map(0x1c0, 0x1c3).r(FUNC(vamphalf_state::eeprom_r));
map(0x240, 0x243).w(FUNC(vamphalf_state::flipscreen_w));
@@ -564,7 +564,7 @@ void vamphalf_state::coolmini_io(address_map &map)
map(0x308, 0x30b).w(FUNC(vamphalf_state::eeprom_w));
map(0x4c0, 0x4c1).noprw(); // return 0, when oki chip is read / written
map(0x4c3, 0x4c3).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x540, 0x543).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x540, 0x543).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x544, 0x547).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w)).umask16(0x00ff);
map(0x7c0, 0x7c3).r(FUNC(vamphalf_state::eeprom_r));
}
@@ -582,7 +582,7 @@ void vamphalf_state::suplup_io(address_map &map)
map(0x060, 0x063).portr("SYSTEM");
map(0x080, 0x081).noprw(); // return 0, when oki chip is read / written
map(0x083, 0x083).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x0c0, 0x0c3).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x0c0, 0x0c3).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x0c4, 0x0c7).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w)).umask16(0x00ff);
map(0x100, 0x103).r(FUNC(vamphalf_state::eeprom_r));
}
@@ -641,7 +641,7 @@ void vamphalf_state::jmpbreak_io(address_map &map)
map(0x440, 0x441).noprw(); // return 0, when oki chip is read / written
map(0x443, 0x443).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x540, 0x543).portr("SYSTEM");
- map(0x680, 0x683).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x680, 0x683).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x684, 0x687).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w)).umask16(0x00ff);
}
@@ -652,7 +652,7 @@ void vamphalf_state::worldadv_io(address_map &map)
map(0x340, 0x343).portr("SYSTEM");
map(0x640, 0x641).noprw(); // return 0, when oki chip is read / written
map(0x643, 0x643).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x700, 0x703).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x700, 0x703).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x704, 0x707).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w)).umask16(0x00ff);
map(0x780, 0x783).r(FUNC(vamphalf_state::eeprom_r));
}
@@ -661,7 +661,7 @@ void vamphalf_state::mrdig_io(address_map &map)
{
map(0x080, 0x081).noprw(); // return 0, when oki chip is read / written
map(0x083, 0x083).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x0c0, 0x0c3).w("ymsnd", FUNC(ym2151_device::register_w)).umask16(0x00ff);
+ map(0x0c0, 0x0c3).w("ymsnd", FUNC(ym2151_device::address_w)).umask16(0x00ff);
map(0x0c4, 0x0c7).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w)).umask16(0x00ff);
map(0x180, 0x183).r(FUNC(vamphalf_state::eeprom_r));
map(0x280, 0x283).portr("SYSTEM");
@@ -701,7 +701,7 @@ void vamphalf_state::boonggab_io(address_map &map)
map(0x600, 0x603).w(FUNC(vamphalf_state::boonggab_oki_bank_w));
map(0x700, 0x701).noprw(); // return 0, when oki chip is read / written
map(0x702, 0x703).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write)).umask32(0x000000ff);
- map(0x743, 0x743).w("ymsnd", FUNC(ym2151_device::register_w));
+ map(0x743, 0x743).w("ymsnd", FUNC(ym2151_device::address_w));
map(0x747, 0x747).rw("ymsnd", FUNC(ym2151_device::status_r), FUNC(ym2151_device::data_w));
}
diff --git a/src/mame/drivers/vaportra.cpp b/src/mame/drivers/vaportra.cpp
index 100e9f102e7..203877d77da 100644
--- a/src/mame/drivers/vaportra.cpp
+++ b/src/mame/drivers/vaportra.cpp
@@ -21,8 +21,8 @@
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/vball.cpp b/src/mame/drivers/vball.cpp
index ac34b9c48a4..9f4b5e3c694 100644
--- a/src/mame/drivers/vball.cpp
+++ b/src/mame/drivers/vball.cpp
@@ -90,7 +90,7 @@ VBlank = 58Hz
#include "cpu/m6502/m6502.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#define MAIN_CLOCK XTAL(12'000'000)
diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp
index 9b2c8c9a5aa..67276bd5e45 100644
--- a/src/mame/drivers/vendetta.cpp
+++ b/src/mame/drivers/vendetta.cpp
@@ -95,7 +95,7 @@
#include "machine/eepromser.h"
#include "machine/watchdog.h"
#include "sound/k053260.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/vgmplay.cpp b/src/mame/drivers/vgmplay.cpp
index f1fae2f6905..3a80f633a10 100644
--- a/src/mame/drivers/vgmplay.cpp
+++ b/src/mame/drivers/vgmplay.cpp
@@ -38,18 +38,10 @@
#include "sound/upd7759.h"
#include "sound/vgm_visualizer.h"
#include "sound/x1_010.h"
-#include "sound/y8950.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
-#include "sound/ym2413.h"
-#include "sound/ym2608.h"
-#include "sound/ym2610.h"
-#include "sound/ym2612.h"
-#include "sound/ym3526.h"
-#include "sound/ym3812.h"
#include "sound/ymf271.h"
-#include "sound/ymf262.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "sound/ymz280b.h"
#include "audio/vboy.h"
#include "audio/wswan.h"
diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp
index b764c1677be..6ced81325a1 100644
--- a/src/mame/drivers/vigilant.cpp
+++ b/src/mame/drivers/vigilant.cpp
@@ -28,8 +28,8 @@ Bottom board - M75-B-A (all versions regardless of mask ROM/EPROM)
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/rstbuf.h"
-#include "sound/ym2151.h"
-#include "sound/ym2203.h"
+#include "sound/ymopm.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index 88435f75906..423b5cbc9ef 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -7,7 +7,7 @@
#include "machine/8042kbdc.h"
#include "machine/at.h"
#include "sound/dac.h"
-#include "sound/ymf262.h"
+#include "sound/ymopl.h"
#include "video/pc_vga.h"
#include "speaker.h"
diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp
index 91f834e2f32..b1b6c35a516 100644
--- a/src/mame/drivers/volfied.cpp
+++ b/src/mame/drivers/volfied.cpp
@@ -52,7 +52,7 @@ Stephh's notes (based on the game M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/vt1682.cpp b/src/mame/drivers/vt1682.cpp
index 5d71a8fb594..24fcc151e88 100644
--- a/src/mame/drivers/vt1682.cpp
+++ b/src/mame/drivers/vt1682.cpp
@@ -574,7 +574,7 @@ private:
void vt1682_timer_enable_trampoline_w(uint8_t data)
{
- // this is used for raster interrpt effects, despite not being a scanline timer, so knowing when it triggers is useful, so trampoline it to avoid passing m_screen to the device
+ // this is used for raster interrupt effects, despite not being a scanline timer, so knowing when it triggers is useful, so trampoline it to avoid passing m_screen to the device
LOGMASKED(LOG_OTHER, "%s: vt1682_timer_enable_trampoline_w: %02x @ position y%d, x%d\n", machine().describe_context(), data, m_screen->vpos(), m_screen->hpos());
m_system_timer_dev->vt1682_timer_enable_w(data);
};
@@ -6085,7 +6085,7 @@ ROM_START( zone7in1p )
ROM_END
ROM_START( dance555 )
- ROM_REGION( 0x2000000, "mainrom", 0 )
+ ROM_REGION( 0x2000000, "mainrom", ROMREGION_ERASE00 )
ROM_LOAD( "39vf6401.u3", 0x000000, 0x800000, CRC(13b1ccef) SHA1(3eb494816a1781a5e6a45bd0562b2b8326598ef7) )
ROM_END
@@ -6173,13 +6173,13 @@ ROM_START( 110dance )
ROM_END
ROM_START( lxts3 )
- ROM_REGION( 0x800000, "mainrom", 0 )
+ ROM_REGION( 0x2000000, "mainrom", ROMREGION_ERASE00 )
ROM_LOAD( "lexibooktoystory_mx29lv640mt_00c2227e.bin", 0x00000, 0x800000, CRC(91344ae7) SHA1(597fc4a27dd1fb6e6f5fda1c4ea237c07e9dba71))
ROM_END
ROM_START( gm235upc )
- ROM_REGION( 0x800000, "mainrom", 0 )
+ ROM_REGION( 0x2000000, "mainrom", ROMREGION_ERASE00 )
ROM_LOAD( "39vf3201.u3", 0x00000, 0x400000, CRC(182f8a2c) SHA1(7be56e1063cc8dbb78c419f5adc05b8cd65c8e2f))
// also has RAM
ROM_END
diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp
index 55abef9afa5..2352f586c2e 100644
--- a/src/mame/drivers/vtech1.cpp
+++ b/src/mame/drivers/vtech1.cpp
@@ -95,7 +95,6 @@ protected:
DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
- uint8_t lightpen_r(offs_t offset);
uint8_t keyboard_r(offs_t offset);
virtual void latch_w(uint8_t data);
uint8_t vram_r(memory_share_creator<uint8_t> &vram, offs_t offset);
@@ -228,12 +227,6 @@ SNAPSHOT_LOAD_MEMBER(vtech1_base_state::snapshot_cb)
INPUTS
***************************************************************************/
-uint8_t vtech1_base_state::lightpen_r(offs_t offset)
-{
- logerror("vtech1_lightpen_r(%d)\n", offset);
- return 0xff;
-}
-
uint8_t vtech1_base_state::keyboard_r(offs_t offset)
{
uint8_t result = 0x3f;
@@ -340,10 +333,13 @@ void laser310h_state::machine_start()
void vtech1_base_state::laser110_mem(address_map &map)
{
+ map.unmap_value_high();
map(0x0000, 0x3fff).rom(); // basic rom
+ map(0x4000, 0x67ff).noprw(); // cartridge space
map(0x6800, 0x6fff).rw(FUNC(vtech1_base_state::keyboard_r), FUNC(vtech1_base_state::latch_w));
map(0x7000, 0x77ff).bankrw("vbank");
map(0x7800, 0x7fff).ram(); // 2k user ram
+ map(0x8000, 0xffff).noprw(); // expansion ram
}
void vtech1_base_state::laser210_mem(address_map &map)
@@ -360,8 +356,9 @@ void vtech1_base_state::laser310_mem(address_map &map)
void vtech1_base_state::vtech1_io(address_map &map)
{
+ map.unmap_value_high();
map.global_mask(0xff);
- map(0x40, 0x4f).r(FUNC(vtech1_base_state::lightpen_r));
+ map(0x00, 0xff).noprw(); // completely handled by expansion devices
}
void laser310h_state::vtech1_shrg_mem(address_map &map)
@@ -479,11 +476,11 @@ void vtech1_base_state::vtech1(machine_config &config)
// peripheral and memory expansion slots
VTECH_IOEXP_SLOT(config, m_ioexp);
- m_ioexp->set_io_space(m_maincpu, AS_IO);
+ m_ioexp->set_iospace(m_maincpu, AS_IO);
VTECH_MEMEXP_SLOT(config, m_memexp);
- m_memexp->set_program_space(m_maincpu, AS_PROGRAM);
- m_memexp->set_io_space(m_maincpu, AS_IO);
+ m_memexp->set_memspace(m_maincpu, AS_PROGRAM);
+ m_memexp->set_iospace(m_maincpu, AS_IO);
// snapshot
snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", "vz"));
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index c55bb04aee8..187bf8f86fd 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -92,6 +92,8 @@ void vtech2_state::mem_map(address_map &map)
void vtech2_state::io_map(address_map &map)
{
map.global_mask(0xff);
+ map.unmap_value_high();
+ map(0x00, 0xff).noprw();
map(0x10, 0x1f).rw(FUNC(vtech2_state::laser_fdc_r), FUNC(vtech2_state::laser_fdc_w));
map(0x40, 0x40).lw8(NAME([this] (u8 data) { m_banka->set_bank(data & 15); }));
map(0x41, 0x41).lw8(NAME([this] (u8 data) { m_bankb->set_bank(data & 15); }));
@@ -494,7 +496,8 @@ void vtech2_state::laser350(machine_config &config)
m_cassette->set_default_state(CASSETTE_STOPPED);
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
- VTECH_IOEXP_SLOT(config, "io").set_io_space(m_maincpu, AS_IO);
+ VTECH_IOEXP_SLOT(config, m_ioexp);
+ m_ioexp->set_iospace(m_maincpu, AS_IO);
/* cartridge */
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "vtech_cart", "rom,bin").set_device_load(FUNC(vtech2_state::cart_load));
diff --git a/src/mame/drivers/vtech_innotab.cpp b/src/mame/drivers/vtech_innotab.cpp
new file mode 100644
index 00000000000..ff5509b8fed
--- /dev/null
+++ b/src/mame/drivers/vtech_innotab.cpp
@@ -0,0 +1,218 @@
+// license:BSD-3-Clause
+// copyright-holders:David Haywood
+/******************************************************************************
+
+ VTech InnoTab 1/2/3
+ NOT InnoTab MAX
+
+ InnoTab 1/2/3 appear to be compatible with each other (updated internal
+ software etc.)
+
+ where do the InnoTab 3S and InnoTab 2 Baby fit in?
+
+*******************************************************************************/
+
+#include "emu.h"
+
+#include "cpu/arm7/arm7.h"
+#include "cpu/arm7/arm7core.h"
+
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
+
+#include "screen.h"
+#include "softlist.h"
+#include "speaker.h"
+
+class vtech_innotab_state : public driver_device
+{
+public:
+ vtech_innotab_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_screen(*this, "screen")
+ , m_cart(*this, "cartslot")
+ , m_cart_region(nullptr)
+ { }
+
+ void vtech_innotab(machine_config &config);
+
+private:
+ virtual void machine_start() override;
+
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
+
+ required_device<cpu_device> m_maincpu;
+
+ required_device<screen_device> m_screen;
+ required_device<generic_slot_device> m_cart;
+ memory_region *m_cart_region;
+
+ uint32_t screen_update_innotab(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+};
+
+uint32_t vtech_innotab_state::screen_update_innotab(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+void vtech_innotab_state::machine_start()
+{
+ // if there's a cart, override the standard mapping
+ if (m_cart && m_cart->exists())
+ {
+ m_cart_region = memregion(std::string(m_cart->tag()) + GENERIC_ROM_REGION_TAG);
+ }
+}
+
+DEVICE_IMAGE_LOAD_MEMBER(vtech_innotab_state::cart_load)
+{
+ uint32_t size = m_cart->common_get_size("rom");
+
+ m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
+ m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
+
+ return image_init_result::PASS;
+}
+
+static INPUT_PORTS_START( vtech_innotab )
+INPUT_PORTS_END
+
+
+void vtech_innotab_state::vtech_innotab(machine_config& config)
+{
+ ARM9(config, m_maincpu, 240000000); // unknown ARM type
+
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_size(320, 262);
+ m_screen->set_visarea(0, 320 - 1, 0, 240 - 1);
+ m_screen->set_screen_update(FUNC(vtech_innotab_state::screen_update_innotab));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "vtech_innotab_cart");
+ m_cart->set_width(GENERIC_ROM16_WIDTH);
+ m_cart->set_device_load(FUNC(vtech_innotab_state::cart_load));
+
+ SOFTWARE_LIST(config, "cart_list").set_original("vtech_innotab_cart");
+}
+
+/*
+**************************************************************
+APP Version : 10.90
+ Device : THGBM4G4D1HBAIR(ISP)_4Bit
+**************************************************************
+
+
+File Name :
+*******************************************************************
+D:\Xgpro\UserData\EMMC_Data
+ECSD_CSD.BIN
+*******************************************************************
+
+
+ <1> -- Production Info.and Device life time--
+
+ MID : 11
+ PNM : 002G49
+ Product Date : 5-2012
+ Version : MMC V4.41
+
+ Device life time Type A : Not defined
+ Device life time Type B : Not defined
+ Device life time (PRE_EOL_INFO) : Not Defined
+
+ <2> -- Partition Size Info.--
+
+ BOOT1 SIZE : 1024 KB
+ BOOT2 SIZE : 1024 KB
+ RPMB SIZE : 128 KB
+ GPP1 SIZE : 0 KB
+ GPP2 SIZE : 0 KB
+ GPP3 SIZE : 0 KB
+ GPP4 SIZE : 0 KB
+ USER SIZE : 1,916,928 KB
+ ( 0x 00_7500_0000 )
+ Password Protect Features : YES
+
+ <5> -- other Informations --
+
+ MAX_READ_BL_LEN : 1024 bytes
+ MAX_WRITE_BL_LEN : 512 bytes
+ MAX_TRAN_SPEED : 55.000 MHZ
+
+ BOOT_BUS_CONDITIONS[177] : 00
+ BOOT_CONFIG_PROT[178] : 00
+ PARTITION_CONFIG[179] : 00
+ RST_n_FUNCTION[162] : 00
+
+ ENH_START_ADDR : 00000000
+ ENH_SIZE_MULT : 000000
+ MAX_ENH_SIZE_MULT : 0003A8
+ PARTITIONS_ATTRIBUTE : 00
+ WR_REL_SET : 00
+ WR_REL_PARAM : 05
+ PARTITION_SETTING_COMPLETED : 00
+
+ HC_WP_GRP_SIZE : 1
+ HC_ERASE_GRP_SIZE : 2
+ WP_GRP_ENABLE : 1
+ WP_GRP_SIZE : 1
+ ERASE_GRP_MULT : 31
+ ERASE_GRP_SIZE : 31
+ CCC : 00F5
+ DSR implemented : 0
+ PARTITION_ACCESS : 10 ms
+ ERASED_MEM_CONT : 01
+ DYNCAP_NEEDED : 00
+ SECURE_WP_INFO : 00
+ SEC_ERASE_MULT : 10
+ ERASE_TIMEOUT_MULT: 02
+ NATIVE_SECTOR_SIZE: 00 (512B)
+ INI_TIMEOUT_AP : 3000 ms
+ INI_TIMEOUT_EMU : 0 ms
+
+----------------------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------------
+
+**************************************************************
+APP Version : 10.90
+ Device : THGBM4G4D1HBAIR(ISP)_4Bit
+**************************************************************
+
+Init EMMC... OK! ( OCR register: 80FF8080 )
+Verifing CSD Succeeded
+Verifing ECSD Succeeded
+Verifing BOOT1 : Succeeded. Time : 0. 47 S -- Partition Size :1024 KB Processing Size from the File : 1024 KB )
+Verifing BOOT2 : Succeeded. Time : 0. 47 S -- Partition Size :1024 KB Processing Size from the File : 1024 KB )
+Analysis file is complete, Space usage: 20.26% time: 13S
+Verifing User Area : Succeeded. Time : 36.531 S -- Partition Size :1916928 KB( Processing Size from the File : 1916928 KB )
+32 bits CheckSum : 0x 86F14222
+
+*/
+
+ROM_START( innotab2 )
+ ROM_REGION( 0x0100000, "maincpu", ROMREGION_ERASEFF )
+ // are there any other dumpable devices?, or internal ROM in the CPU for booting from?
+
+
+ // this uses a "eMMC" type ROM chip, should it be treated as a CHD, or like a NAND ROM?
+ ROM_REGION( 0x0100000, "emmc_boot", ROMREGION_ERASEFF )
+ // these are both blank, unused, or read protected in some way?
+ //ROM_LOAD( "boot1.bin", 0x000000, 0x0100000, CRC(956bac74) SHA1(bf0b121670df23f2cc64302d9f215e7c81187bbb ) // FIXED BITS (11111111)
+ //ROM_LOAD( "boot2.bin", 0x000000, 0x0100000, CRC(956bac74) SHA1(bf0b121670df23f2cc64302d9f215e7c81187bbb ) // FIXED BITS (11111111)
+
+ ROM_REGION( 0x220, "emmc_misc1", ROMREGION_ERASEFF )
+ ROM_LOAD( "ecsd_csd.bin", 0x000000, 0x220, CRC(a30bcb97) SHA1(ba83c5b2c73f26ad89ac7cc44b0ea6971050cfa4) )
+
+ ROM_REGION( 0x75000000, "emmc_user", ROMREGION_ERASEFF )
+ ROM_LOAD( "userdata.bin", 0x000000, 0x75000000, CRC(3c063d5d) SHA1(41a980b9e19e9fdf00f5175bf332b50f741aecb9) )
+
+ //ROM_REGION( 0x3712, "emmc_misc2", ROMREGION_ERASEFF )
+ // this appears to be a project file used by the dumping software, not a ROM
+ //ROM_LOAD( "emmc_ghost.mpj", 0x000000, 0x3712, CRC(16b705da) SHA1(fdb576385cf46984ea40d8e8b83758d94f67507e) )
+ROM_END
+
+CONS( 2011, innotab2, 0, 0, vtech_innotab, vtech_innotab, vtech_innotab_state, empty_init, "VTech", "InnoTAB 2 (UK)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/vulgus.cpp b/src/mame/drivers/vulgus.cpp
index da67ca433dd..d15f826c8f1 100644
--- a/src/mame/drivers/vulgus.cpp
+++ b/src/mame/drivers/vulgus.cpp
@@ -229,10 +229,7 @@ void vulgus_state::vulgus(machine_config &config)
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(59.59);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ screen.set_raw(XTAL(12'000'000)/2, 384, 128, 0, 262, 22, 246); // hsync is 50..77, vsync is 257..259
screen.set_screen_update(FUNC(vulgus_state::screen_update));
screen.set_palette(m_palette);
diff --git a/src/mame/drivers/wacky_gator.cpp b/src/mame/drivers/wacky_gator.cpp
index 578a009b8b6..1dfbcf2a069 100644
--- a/src/mame/drivers/wacky_gator.cpp
+++ b/src/mame/drivers/wacky_gator.cpp
@@ -24,7 +24,7 @@
#include "machine/ticket.h"
#include "machine/timer.h"
#include "sound/msm5205.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "speaker.h"
#include "wackygtr.lh"
diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp
index 04e1b6549ed..8862a2c11ba 100644
--- a/src/mame/drivers/wardner.cpp
+++ b/src/mame/drivers/wardner.cpp
@@ -134,7 +134,7 @@ out:
#include "cpu/z80/z80.h"
#include "machine/74259.h"
#include "machine/bankdev.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
namespace {
diff --git a/src/mame/drivers/warriorb.cpp b/src/mame/drivers/warriorb.cpp
index 0ab93343216..dcd63392014 100644
--- a/src/mame/drivers/warriorb.cpp
+++ b/src/mame/drivers/warriorb.cpp
@@ -152,7 +152,7 @@ Colscroll effects?
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "layout/generic.h"
#include "screen.h"
@@ -250,7 +250,7 @@ void warriorb_state::z80_sound_map(address_map &map)
map(0x0000, 0x3fff).rom();
map(0x4000, 0x7fff).bankr("z80bank");
map(0xc000, 0xdfff).ram();
- map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym_generic_device::read), FUNC(ym_generic_device::write));
map(0xe200, 0xe200).nopr().w(m_tc0140syt, FUNC(tc0140syt_device::slave_port_w));
map(0xe201, 0xe201).rw(m_tc0140syt, FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w));
map(0xe400, 0xe403).w(FUNC(warriorb_state::pancontrol_w)); /* pan */
diff --git a/src/mame/drivers/wc90.cpp b/src/mame/drivers/wc90.cpp
index 7fbe9ad84ea..91abd741384 100644
--- a/src/mame/drivers/wc90.cpp
+++ b/src/mame/drivers/wc90.cpp
@@ -58,7 +58,7 @@ Press one of the start buttons to exit.
#include "cpu/z80/z80.h"
#include "machine/watchdog.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/wc90b.cpp b/src/mame/drivers/wc90b.cpp
index 2ae56e5a382..01c5a1dc08b 100644
--- a/src/mame/drivers/wc90b.cpp
+++ b/src/mame/drivers/wc90b.cpp
@@ -88,7 +88,7 @@ Noted added by ClawGrip 28-Mar-2008:
#include "includes/wc90b.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/wecleman.cpp b/src/mame/drivers/wecleman.cpp
index 67f6922125c..a45d4ac70c5 100644
--- a/src/mame/drivers/wecleman.cpp
+++ b/src/mame/drivers/wecleman.cpp
@@ -279,7 +279,7 @@ TODO:
#include "machine/adc0804.h"
#include "machine/gen_latch.h"
#include "machine/k007452.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
#include "wecleman.lh"
diff --git a/src/mame/drivers/welltris.cpp b/src/mame/drivers/welltris.cpp
index 5995a7deaf9..40548e532d6 100644
--- a/src/mame/drivers/welltris.cpp
+++ b/src/mame/drivers/welltris.cpp
@@ -317,7 +317,7 @@ TODO:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "video/vsystem_gga.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp
index 27687cab1b1..9e55d552a45 100644
--- a/src/mame/drivers/wgp.cpp
+++ b/src/mame/drivers/wgp.cpp
@@ -403,7 +403,7 @@ Stephh's notes (based on the game M68000 code and some tests) :
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "machine/adc0808.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/wrally.cpp b/src/mame/drivers/wrally.cpp
index a97f252b1db..f7dce244770 100644
--- a/src/mame/drivers/wrally.cpp
+++ b/src/mame/drivers/wrally.cpp
@@ -506,6 +506,39 @@ ROM_START( wrallyb )
ROM_LOAD( "pal16r8-b15.bin", 0x0000, 0x0104, CRC(b50337a6) SHA1(1f922753cb9982cad9a3c9246894ecd38273236e) )
ROM_END
+ROM_START( wrallyc )
+ ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
+ ROM_LOAD16_BYTE( "rally c23.c23", 0x000000, 0x080000, CRC(fbd57c94) SHA1(05036f076e6d8e765c04515e9d822c6006c1a378) )
+ ROM_LOAD16_BYTE( "rally c22.c22", 0x000001, 0x080000, CRC(db73e0af) SHA1(6c1a6ee3d5dda76c3491159087ab9f7d49fa7dad) )
+
+ ROM_REGION( 0x8000, "gaelco_ds5002fp:sram", 0 ) // DS5002FP code
+ ROM_LOAD( "wrdallas.bin", 0x00000, 0x8000, CRC(547d1768) SHA1(c58d1edd072d796be0663fb265f4739ec006b688) )
+
+ ROM_REGION( 0x100, "gaelco_ds5002fp:mcu:internal", ROMREGION_ERASE00 )
+ // These are the default states stored in NVRAM
+ DS5002FP_SET_MON( 0x88 )
+ DS5002FP_SET_RPCTL( 0x00 )
+ DS5002FP_SET_CRCR( 0x80 )
+
+ ROM_REGION( 0x200000, "gfx1", 0 )
+ ROM_LOAD16_BYTE( "rally i13.i13", 0x000000, 0x080000, CRC(b7fddb12) SHA1(619a75daac8cbba7e85c97ca19733e2196d66d5c) )
+ ROM_LOAD16_BYTE( "rally i11.i11", 0x000001, 0x080000, CRC(58b2809a) SHA1(8741ec544c54e2a2f5d17ac2f8400ee2ce382e83) )
+ ROM_LOAD16_BYTE( "rally i9.i9", 0x100000, 0x080000, CRC(018b35bb) SHA1(ca789e23d18cc7d7e48b6858e6b61e03bf88b475) )
+ ROM_LOAD16_BYTE( "rally i7.i7", 0x100001, 0x080000, CRC(b37c807e) SHA1(9e6155a2b5206c0d4dca669d24d9fe9830027651) )
+
+ ROM_REGION( 0x100000, "oki", 0 ) // ADPCM samples - sound chip is OKIM6295
+ ROM_LOAD( "rally c1.c1", 0x000000, 0x080000, CRC(e931c2ee) SHA1(ea1cf8ad52713e5136a370e289567eea9e6403d6) )
+ // 0x00000-0x2ffff is fixed, 0x30000-0x3ffff is bank switched from all the ROMs
+ ROM_LOAD( "rally c3.c3", 0x080000, 0x080000, CRC(11f0fe2c) SHA1(96c2a04874fa036576b7cfc5559bb0e33582ffd2) )
+
+ ROM_REGION( 0x0514, "plds", 0 ) // PALs and GALs
+ ROM_LOAD( "tibpal20l8-25cnt.b23", 0x0000, 0x02e5, BAD_DUMP CRC(a1c780ed) SHA1(91dc230d94c992c4c4516554c0faeced41e1e34e) ) // Bruteforced but verified (as GAL22V10)
+ ROM_LOAD( "gal16v8-25lnc.h21", 0x0000, 0x0104, NO_DUMP )
+ ROM_LOAD( "tibpal20l8-25cnt.h15", 0x0000, 0x02e5, BAD_DUMP CRC(a39efdc6) SHA1(bf86f764665531639076dfcc72583457f1cbf806) ) // Bruteforced but verified (as GAL22V10)
+ ROM_LOAD( "pal16r4-e2.bin", 0x0000, 0x0104, CRC(15fee75c) SHA1(b9ee5121dd41f2535d9abd78ff5fcfeaa1ac6b62) )
+ ROM_LOAD( "pal16r8-b15.bin", 0x0000, 0x0104, CRC(b50337a6) SHA1(1f922753cb9982cad9a3c9246894ecd38273236e) )
+ROM_END
+
ROM_START( wrallyat ) // Board Marked 930217, Atari License
ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
ROM_LOAD16_BYTE( "rally.c23", 0x000000, 0x080000, CRC(366595ad) SHA1(e16341ed9eacf9b729c28184268150ea9b62f185) ) // North & South America only...
@@ -539,4 +572,5 @@ ROM_END
GAME( 1993, wrally, 0, wrally, wrally, wrally_state, empty_init, ROT0, "Gaelco", "World Rally (Version 1.0, Checksum 0E56)", MACHINE_SUPPORTS_SAVE ) // Dallas DS5002FP power failure shows as: "Tension baja"
GAME( 1993, wrallya, wrally, wrally, wrally, wrally_state, empty_init, ROT0, "Gaelco", "World Rally (Version 1.0, Checksum 3873)", MACHINE_SUPPORTS_SAVE ) // Dallas DS5002FP power failure shows as: "Power Failure"
GAME( 1993, wrallyb, wrally, wrally, wrally, wrally_state, empty_init, ROT0, "Gaelco", "World Rally (Version 1.0, Checksum 8AA2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, wrallyc, wrally, wrally, wrally, wrally_state, empty_init, ROT0, "Gaelco", "World Rally (Version 1.0, Checksum E586)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, wrallyat, wrally, wrally, wrally, wrally_state, empty_init, ROT0, "Gaelco (Atari license)", "World Rally (US, 930217)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/wwfsstar.cpp b/src/mame/drivers/wwfsstar.cpp
index 9c922e97687..61276fbe0e9 100644
--- a/src/mame/drivers/wwfsstar.cpp
+++ b/src/mame/drivers/wwfsstar.cpp
@@ -159,7 +159,7 @@ Notes:
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/xain.cpp b/src/mame/drivers/xain.cpp
index 68264af5e66..d71206eaf5f 100644
--- a/src/mame/drivers/xain.cpp
+++ b/src/mame/drivers/xain.cpp
@@ -143,7 +143,7 @@ Updates by Bryan McPhail, 12/12/2004:
#include "includes/xain.h"
#include "cpu/m6809/m6809.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "speaker.h"
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 9f17964ed56..04d3a8fedff 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -64,45 +64,6 @@
/* Read/Write Handlers */
-void xerox820_state::bankswitch(int bank)
-{
- address_space &program = m_maincpu->space(AS_PROGRAM);
- uint8_t *ram = m_ram->pointer();
-
- if (bank)
- {
- /* ROM */
- program.install_rom(0x0000, 0x0fff, m_rom->base());
- program.unmap_readwrite(0x1000, 0x1fff);
- program.install_ram(0x3000, 0x3fff, m_video_ram);
- }
- else
- {
- /* RAM */
- program.install_ram(0x0000, 0x3fff, ram);
- }
-}
-
-void xerox820ii_state::bankswitch(int bank)
-{
- address_space &program = m_maincpu->space(AS_PROGRAM);
- uint8_t *ram = m_ram->pointer();
-
- if (bank)
- {
- /* ROM */
- program.install_rom(0x0000, 0x1fff, m_rom->base());
- program.unmap_readwrite(0x2000, 0x2fff);
- program.install_ram(0x3000, 0x3fff, m_video_ram);
- program.unmap_readwrite(0x4000, 0xbfff);
- }
- else
- {
- /* RAM */
- program.install_ram(0x0000, 0xbfff, ram);
- }
-}
-
uint8_t xerox820_state::fdc_r(offs_t offset)
{
return m_fdc->read(offset) ^ 0xff;
@@ -175,7 +136,10 @@ void xerox820ii_state::sync_w(offs_t offset, uint8_t data)
void xerox820_state::xerox820_mem(address_map &map)
{
map.unmap_value_high();
- map(0x3000, 0x3fff).ram().share("video_ram");
+ map(0x0000, 0x3fff).view(m_view);
+ m_view[0](0x0000, 0x3fff).ram();
+ m_view[1](0x0000, 0x0fff).rom().region(Z80_TAG, 0);
+ m_view[1](0x3000, 0x3fff).ram().share("video_ram");
map(0x4000, 0xffff).ram();
}
@@ -194,7 +158,10 @@ void xerox820_state::xerox820_io(address_map &map)
void xerox820ii_state::xerox820ii_mem(address_map &map)
{
map.unmap_value_high();
- map(0x3000, 0x3fff).ram().share("video_ram");
+ map(0x0000, 0xbfff).view(m_view);
+ m_view[0](0x0000, 0xbfff).ram();
+ m_view[1](0x0000, 0x1fff).rom().region(Z80_TAG, 0);
+ m_view[1](0x3000, 0x3fff).ram().share("video_ram");
map(0xc000, 0xffff).ram();
}
@@ -217,6 +184,9 @@ void xerox820ii_state::xerox168_mem(address_map &map)
void xerox820_state::mk83_mem(address_map &map)
{
map.unmap_value_high();
+ map(0x0000, 0x2fff).view(m_view);
+ m_view[0](0x0000, 0x2fff).ram();
+ m_view[1](0x0000, 0x0fff).rom().region(Z80_TAG, 0);
map(0x3000, 0x6fff).ram();
map(0x7000, 0x7fff).ram().share("video_ram");
map(0x8000, 0xffff).ram();
@@ -312,7 +282,7 @@ void xerox820_state::kbpio_pa_w(uint8_t data)
m_ncset2 = !BIT(data, 6);
/* bank switching */
- bankswitch(BIT(data, 7));
+ m_view.select(BIT(data, 7));
}
void bigboard_state::kbpio_pa_w(uint8_t data)
@@ -413,7 +383,7 @@ QUICKLOAD_LOAD_MEMBER(xerox820_state::quickload_cb)
if (image.length() >= 0xfd00)
return image_init_result::FAIL;
- bankswitch(0);
+ m_view.select(0);
/* Avoid loading a program if CP/M-80 is not in memory */
if ((prog_space.read_byte(0) != 0xc3) || (prog_space.read_byte(5) != 0xc3))
@@ -544,14 +514,14 @@ void xerox820_state::machine_start()
void xerox820_state::machine_reset()
{
- bankswitch(1);
+ m_view.select(1);
m_fdc->reset();
}
void bigboard_state::machine_reset()
{
- bankswitch(1);
+ m_view.select(1);
/* bigboard has a one-pulse output to drive a user-supplied beeper */
m_beeper->set_state(0);
@@ -561,7 +531,7 @@ void bigboard_state::machine_reset()
void xerox820ii_state::machine_reset()
{
- bankswitch(1);
+ m_view.select(1);
m_fdc->reset();
@@ -684,9 +654,6 @@ void xerox820_state::xerox820(machine_config &config)
XEROX_820_KEYBOARD(config, m_kb, 0);
m_kb->kbstb_wr_callback().set(m_kbpio, FUNC(z80pio_device::strobe_b));
- /* internal ram */
- RAM(config, m_ram).set_default_size("64K");
-
// software lists
SOFTWARE_LIST(config, "flop_list").set_original("xerox820");
QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(xerox820_state::quickload_cb));
@@ -793,9 +760,6 @@ void xerox820ii_state::xerox820ii(machine_config &config)
INPUT_BUFFER(config, "sasi_data_in");
INPUT_BUFFER(config, "sasi_ctrl_in");
- /* internal ram */
- RAM(config, m_ram).set_default_size("64K");
-
// software lists
SOFTWARE_LIST(config, "flop_list").set_original("xerox820ii");
QUICKLOAD(config, "quickload", "com,cpm", attotime::from_seconds(3)).set_load_callback(FUNC(xerox820_state::quickload_cb));
@@ -808,7 +772,7 @@ void xerox820ii_state::xerox168(machine_config &config)
i8086.set_addrmap(AS_PROGRAM, &xerox820ii_state::xerox168_mem);
/* internal ram */
- m_ram->set_default_size("192K").set_extra_options("320K");
+ RAM(config, m_ram).set_default_size("192K").set_extra_options("320K");
}
void xerox820_state::mk83(machine_config & config)
diff --git a/src/mame/drivers/xexex.cpp b/src/mame/drivers/xexex.cpp
index 2f9013f0c05..271e28599dc 100644
--- a/src/mame/drivers/xexex.cpp
+++ b/src/mame/drivers/xexex.cpp
@@ -145,7 +145,7 @@ reference(xexexj) : https://www.youtube.com/watch?v=TegjBEvvGxI
#include "machine/k053252.h"
#include "sound/flt_vol.h"
#include "sound/k054539.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "speaker.h"
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 745a0fad552..0704d0d77dc 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -29,7 +29,7 @@ likewise a 2 screen game.
#include "cpu/z80/z80.h"
#include "machine/eepromser.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "speaker.h"
diff --git a/src/mame/drivers/xxmissio.cpp b/src/mame/drivers/xxmissio.cpp
index 69317c8dc4f..9918c38f654 100644
--- a/src/mame/drivers/xxmissio.cpp
+++ b/src/mame/drivers/xxmissio.cpp
@@ -14,7 +14,7 @@ XX Mission (c) 1986 UPL
#include "includes/xxmissio.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/ymdx11.cpp b/src/mame/drivers/ymdx11.cpp
index 6b131a0dd8e..a4136e56e4f 100644
--- a/src/mame/drivers/ymdx11.cpp
+++ b/src/mame/drivers/ymdx11.cpp
@@ -11,7 +11,7 @@
#include "cpu/m6800/m6801.h"
#include "machine/adc0808.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopz.h"
#include "video/hd44780.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/drivers/ympsr340.cpp b/src/mame/drivers/ympsr340.cpp
index 7f748690ea5..1605eda99c2 100644
--- a/src/mame/drivers/ympsr340.cpp
+++ b/src/mame/drivers/ympsr340.cpp
@@ -100,7 +100,7 @@ void psr340_state::psr340_map(address_map &map)
map(0x600000, 0x600000).lr8(NAME([]() -> uint8_t { return 0x80; })); // FDC status
-// map(0xffe000, 0xffe7ff).ram();
+// map(0xffe000, 0xffe7ff).ram();
map(0xffe027, 0xffe027).r(FUNC(psr340_state::matrix_r));
diff --git a/src/mame/drivers/ympsr60.cpp b/src/mame/drivers/ympsr60.cpp
index 4774e1fdbc3..81631ad32f0 100644
--- a/src/mame/drivers/ympsr60.cpp
+++ b/src/mame/drivers/ympsr60.cpp
@@ -7,12 +7,12 @@
Documentation: https://github.com/JKN0/PSR70-reverse
More documentation: https://retroandreverse.blogspot.com/2021/01/reversing-psr-70-hardware.html
https://retroandreverse.blogspot.com/2021/01/reversing-psr-70-firmware.html
- https://retroandreverse.blogspot.com/2021/01/digging-into-ym3806.html
+ https://retroandreverse.blogspot.com/2021/01/digging-into-ymopq.html
Service manual: https://elektrotanya.com/yamaha_psr-70_sm.pdf/download.html
CPU: Z80 @ 6 MHz
- Sound: YM3806 "OPQ" FM @ 3.58 MHz + YM2154 "RYP" sample playback chip for drums
+ Sound: YM3533 "OPQ" FM @ 3.58 MHz + YM2154 "RYP" sample playback chip for drums
Panel and keyboard I/O: 82C55A PPI and Yamaha IG14330 "DRVIF"
MIDI I/O: HD6350 ACIA, baud rate clock is 500 kHz
@@ -46,24 +46,47 @@
#include "machine/i8255.h"
#include "machine/6850acia.h"
#include "machine/clock.h"
+#include "sound/bbd.h"
+#include "sound/mixer.h"
+#include "sound/ym2154.h"
+#include "sound/ymopq.h"
#include "bus/midi/midi.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
+#include "psr60.lh"
+#include "psr70.lh"
+
class psr60_state : public driver_device
{
+ static constexpr int DRVIF_MAX_TARGETS = 23;
+ static constexpr int RYP4_MAX_TARGETS = 10;
+
public:
psr60_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_ym3533(*this, "ym3533"),
m_ppi(*this, "ppi"),
m_acia(*this, "acia"),
- m_rom2bank(*this, "rom2bank")
+ m_lmixer(*this, "lmixer"),
+ m_rmixer(*this, "rmixer"),
+ m_bbd(*this, "bbd"),
+ m_ryp4(*this, "ryp4"),
+ m_rom2bank(*this, "rom2bank"),
+ m_keyboard(*this, "P1_%u", 0),
+ m_drvif(*this, "DRVIF_%u", 0),
+ m_drvif_out(*this, "DRVIF_%u_DP%u", 0U, 1U),
+ m_ryp4_in(*this, "RYP4_%u", 1U),
+ m_ryp4_out(*this, "RYP4_%u", 1U),
+ m_mastervol(*this, "MASTERVOL")
{ }
+ void psr_common(machine_config &config);
void psr60(machine_config &config);
+ void psr70(machine_config &config);
protected:
virtual void machine_start() override;
@@ -71,27 +94,64 @@ protected:
private:
required_device<z80_device> m_maincpu;
+ required_device<ym3533_device> m_ym3533;
required_device<i8255_device> m_ppi;
required_device<acia6850_device> m_acia;
+ required_device<mixer_device> m_lmixer;
+ required_device<mixer_device> m_rmixer;
+ required_device<mn3204p_device> m_bbd;
+ required_device<ym2154_device> m_ryp4;
required_memory_bank m_rom2bank;
+ required_ioport_array<10> m_keyboard;
+ required_ioport_array<DRVIF_MAX_TARGETS> m_drvif;
+ output_finder<DRVIF_MAX_TARGETS, 4> m_drvif_out;
+ required_ioport_array<RYP4_MAX_TARGETS> m_ryp4_in;
+ output_finder<RYP4_MAX_TARGETS> m_ryp4_out;
+ required_ioport m_mastervol;
void psr60_map(address_map &map);
void psr60_io_map(address_map &map);
+ u8 ppi_pa_r();
+ void ppi_pb_w(u8 data);
void ppi_pc_w(u8 data);
void recalc_irqs();
- int m_acia_irq;
+ attoseconds_t cv_handler(attotime const &curtime);
+
+ int m_acia_irq, m_ym_irq, m_drvif_irq, m_ym2154_irq;
+ u16 m_keyboard_select;
+ u8 m_bbd_config;
+ u8 m_drvif_data[2];
+ u8 m_drvif_select;
+ u8 m_sustain_fuzz;
WRITE_LINE_MEMBER(write_acia_clock) { m_acia->write_txc(state); m_acia->write_rxc(state); }
WRITE_LINE_MEMBER(acia_irq_w) { m_acia_irq = state; recalc_irqs(); }
+ WRITE_LINE_MEMBER(ym_irq_w) { m_ym_irq = state; recalc_irqs(); }
+ WRITE_LINE_MEMBER(ryp4_irq_w) { m_ym2154_irq = state; recalc_irqs(); }
+
+ u8 ryp4_an_r(offs_t offset);
+ void ryp4_out_w(u8 data);
+
+ u8 drvif_r(offs_t offset);
+ void drvif_w(offs_t offset, u8 data);
+
+public:
+ INPUT_CHANGED_MEMBER(drvif_changed);
+ INPUT_CHANGED_MEMBER(mastervol_changed);
+
+ // optional sustain pedal input; if this doesn't change, sustain will not work
+ // if no pedal present, it seems sustain should still work, so toggle the value
+ // here a bit to make the keyboard notice
+ CUSTOM_INPUT_MEMBER(sustain_fuzz) { return (m_sustain_fuzz = !m_sustain_fuzz) ? 8 : 12; }
};
void psr60_state::psr60_map(address_map &map)
{
map(0x0000, 0x7fff).rom().region("rom1", 0);
map(0x8000, 0xbfff).bankr("rom2bank");
- // c000-c0ff: YM3806 "OPQ" FM chip
+ map(0xc000, 0xc0ff).rw(m_ym3533, FUNC(ym3533_device::read), FUNC(ym3533_device::write));
map(0xe000, 0xffff).ram(); // work RAM
}
@@ -100,36 +160,423 @@ void psr60_state::psr60_io_map(address_map &map)
map.global_mask(0xff); // top 8 bits of the address are ignored by this hardware for I/O access
map(0x10, 0x11).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0x20, 0x23).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write));
- // 30-40: IG14330 "DRVIF" (front panel LED driver/multiplexer?)
- // 80-FF: YM2154 "RYP4" (drum sample playback)
+ map(0x30, 0x3f).rw(FUNC(psr60_state::drvif_r), FUNC(psr60_state::drvif_w));
+ map(0x80, 0xff).rw(m_ryp4, FUNC(ym2154_device::read), FUNC(ym2154_device::write));
+}
+
+u8 psr60_state::ppi_pa_r()
+{
+ u8 result = 0;
+ for (int bit = 0; bit < 10; bit++)
+ if (BIT(m_keyboard_select, bit))
+ result |= m_keyboard[bit]->read();
+ return result;
+}
+
+void psr60_state::ppi_pb_w(u8 data)
+{
+ m_keyboard_select = (m_keyboard_select & ~0xff) | data;
}
void psr60_state::ppi_pc_w(u8 data)
{
m_rom2bank->set_entry(BIT(data, 4));
+ m_keyboard_select = (m_keyboard_select & ~0x300) | ((data & 3) << 8);
+}
+
+u8 psr60_state::ryp4_an_r(offs_t offset)
+{
+ return (offset < RYP4_MAX_TARGETS) ? (m_ryp4_in[offset]->read() * 255 / 100) : 0;
+}
+
+void psr60_state::ryp4_out_w(u8 data)
+{
+ m_bbd_config = data;
+
+ // bit 0 (CT0) enables/disables the effect
+ m_bbd->set_output_gain(0, BIT(data, 0) ? 1.0 : 0.0);
+
+ // bits 1 + 2 go to the 'T' and 'C' pins and control the frequency
+ // modulation, which we simulate in a periodic timer
+}
+
+attoseconds_t psr60_state::cv_handler(attotime const &cvtime)
+{
+ attotime curtime = cvtime;
+
+ // only two states have been observed to be measured: CT1=1/CT2=0 and CT1=0/CT2=1
+ double bbd_freq;
+ if (BIT(m_bbd_config, 1) && !BIT(m_bbd_config, 2))
+ {
+ // Stereo symphonic off: min freq 35 kHz, max freq 107 kHz, varies at 0,3 Hz
+ curtime.m_seconds %= 3;
+ double pos = curtime.as_double() / 3;
+ pos = (pos < 0.5) ? (2 * pos) : 2 * (1.0 - pos);
+ bbd_freq = 35000 + (107000 - 35000) * pos;
+ }
+ else
+ {
+ // Stereo symphonic on: min freq 48 kHz, max freq 61 kHz, varies at 6 Hz
+ curtime.m_seconds = 0;
+ double pos = curtime.as_double() * 6;
+ pos -= floor(pos);
+ pos = (pos < 0.5) ? (2 * pos) : 2 * (1.0 - pos);
+ bbd_freq = 48000 + (61000 - 48000) * pos;
+ }
+
+ // BBD driver provides two out-of-phase clocks to basically run the BBD at 2x
+ return HZ_TO_ATTOSECONDS(bbd_freq * 2);
+}
+
+//
+// DRVIF: driver interface chip
+//
+// This chip manages a number of external drivers. Each driver has 4 switch
+// inputs and 4 LED outputs. Interrupts are triggered when changes are detected,
+// and the index of the changed port is provided.
+//
+// In reality, this is probably a microcontroller.
+//
+u8 psr60_state::drvif_r(offs_t offset)
+{
+ if (offset == 0)
+ return (m_drvif_irq << 7) | 0x40;
+ else if (offset <= 2)
+ {
+ m_drvif_irq = 0;
+ recalc_irqs();
+ return m_drvif_data[offset - 1];
+ }
+ else
+ return 0;
+}
+void psr60_state::drvif_w(offs_t offset, u8 data)
+{
+ if (offset == 1)
+ m_drvif_select = data & 0x1f;
+ else if (offset == 2 && m_drvif_select < DRVIF_MAX_TARGETS)
+ {
+ for (int bit = 0; bit < 4; bit++)
+ m_drvif_out[m_drvif_select][bit] = BIT(data, 3 - bit);
+ }
+// else
+// printf("DRVIF: %02X = %02X\n", offset, data);
+}
+
+INPUT_CHANGED_MEMBER(psr60_state::drvif_changed)
+{
+ m_drvif_irq = 1;
+ m_drvif_data[0] = param;
+ m_drvif_data[1] = m_drvif[param]->read();
+ recalc_irqs();
+}
+
+INPUT_CHANGED_MEMBER(psr60_state::mastervol_changed)
+{
+ float mastervol = m_mastervol->read() / 50.0;
+ m_lmixer->set_output_gain(0, mastervol);
+ m_rmixer->set_output_gain(0, mastervol);
}
void psr60_state::recalc_irqs()
{
- int irq_state = m_acia_irq; // (| OPQ, RYP4, and DRVIF interrupts eventually)
+ int irq_state = m_acia_irq | m_ym_irq | m_drvif_irq | m_ym2154_irq;
m_maincpu->set_input_line(0, irq_state);
}
void psr60_state::machine_start()
{
+ m_drvif_out.resolve();
m_rom2bank->configure_entries(0, 2, memregion("rom2")->base(), 0x4000);
m_rom2bank->set_entry(0);
m_acia_irq = CLEAR_LINE;
+ timer_alloc()->adjust(attotime::from_hz(50), 0, attotime::from_hz(50));
}
void psr60_state::machine_reset()
{
}
+#define DRVIF_PORT(num, sw1, sw2, sw3, sw4) \
+ PORT_START("DRVIF_" #num) \
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(sw1) PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, drvif_changed, num) \
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(sw2) PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, drvif_changed, num) \
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(sw3) PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, drvif_changed, num) \
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(sw4) PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, drvif_changed, num)
+
+#define RYP4_PORT(num, defval, name) \
+ PORT_START("RYP4_" #num) \
+ PORT_ADJUSTER(defval, name)
+
static INPUT_PORTS_START(psr60)
+ PORT_START("P1_9")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 C")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 F#")
+
+ PORT_START("P1_8")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 C")
+
+ PORT_START("P1_7")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 F#")
+
+ PORT_START("P1_6")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_NAME("Octave 2 C")
+
+ PORT_START("P1_5")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME("Octave 2 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("Octave 2 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_NAME("Octave 2 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_NAME("Octave 2 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_NAME("Octave 2 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("Octave 2 F#")
+
+ PORT_START("P1_4")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_NAME("Octave 2 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("Octave 2 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_NAME("Octave 2 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("Octave 2 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_NAME("Octave 2 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("Octave 3 C")
+
+ PORT_START("P1_3")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("Octave 3 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_NAME("Octave 3 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_NAME("Octave 3 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_NAME("Octave 3 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("Octave 3 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_NAME("Octave 3 F#")
+
+ PORT_START("P1_2")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_NAME("Octave 3 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_NAME("Octave 3 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_NAME("Octave 3 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_NAME("Octave 3 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_NAME("Octave 3 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_NAME("Octave 4 C")
+
+ PORT_START("P1_1")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("P1_0")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ DRVIF_PORT( 0, "Pause", "Unused1.2", "Unused1.3", "Unused1.4")
+ DRVIF_PORT( 1, "Pitch Up", "Pitch Down", "Transposer Up", "Transposer Down")
+ DRVIF_PORT( 2, "Memory", "Fingered", "Single Finger", "Off")
+ DRVIF_PORT( 3, "Fill In 3", "Fill In 2", "Fill In 1", "Keyboard Percussion")
+ DRVIF_PORT( 4, "Orchestra On", "Variation", "Hand Clap 2", "Hand Clap 1")
+ DRVIF_PORT( 5, "Pops", "Disco", "Reggae", "Big Band")
+ DRVIF_PORT( 6, "March/Polka", "Samba", "Salsa", "Rock'N'Roll")
+ DRVIF_PORT( 7, "Intro/Ending", "Start", "Synchro", "Stop")
+ DRVIF_PORT( 8, "MIDI Mode", "Unused9.2", "Unused9.3", "Unused9.4")
+ DRVIF_PORT( 9, "Brass 1", "Strings", "Pipe Organ", "Jazz Organ")
+ DRVIF_PORT(10, "Calliope", "Clarinet", "Brass & Chimes", "Brass 2")
+ DRVIF_PORT(11, "Unused12.1", "Unused12.2", "Unused12.3", "Unused12.4")
+ DRVIF_PORT(12, "Unused13.1", "Unused13.2", "Unused13.3", "Unused13.4")
+ DRVIF_PORT(13, "Solo On", "To Lower", "Trio", "Duet")
+ DRVIF_PORT(14, "Sustain", "Stereo Symphonic", "Sustain 2", "Sustain 1")
+ DRVIF_PORT(15, "Trumpet", "Violin", "Piccolo", "Jazz Flute")
+ DRVIF_PORT(16, "Oboe", "Saxophone", "Horn", "Trombone")
+ DRVIF_PORT(17, "Pop Synth", "Percussion 2", "Percussion 1", "Electric Guitar")
+ DRVIF_PORT(18, "Bass", "SlapSynth", "Funk Synth/Blues Synth", "Programmer Off")
+ DRVIF_PORT(19, "Save", "Record Solo", "Record Orchestra", "Record Chord/Bass")
+ DRVIF_PORT(20, "Load", "Play Back Solo", "Play Back Orchestra", "Play Back Chord/Bass")
+ DRVIF_PORT(21, "Unused22.1", "Unused22.2", "Unused22.3", "Unused22.4")
+ DRVIF_PORT(22, "Unused23.1", "Unused23.2", "Unused23.3", "Unused23.4")
+
+ RYP4_PORT( 1, 75, "Solo Volume")
+ RYP4_PORT( 2, 75, "Orchestra Volume")
+ RYP4_PORT( 3, 75, "Rhythm Volume")
+ RYP4_PORT( 4, 50, "Rhythm Tempo")
+ RYP4_PORT( 5, 75, "Chord Volume")
+ RYP4_PORT( 6, 75, "Bass Volume")
+ RYP4_PORT( 7, 0, "Sustain") PORT_CUSTOM_MEMBER(psr60_state, sustain_fuzz)
+ RYP4_PORT( 8, 0, "Unused8")
+ RYP4_PORT( 9, 0, "Unused9")
+ RYP4_PORT(10, 0, "Unused10")
+
+ PORT_START("MASTERVOL")
+ PORT_ADJUSTER(50, "Master Volume") PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, mastervol_changed, 0)
INPUT_PORTS_END
-void psr60_state::psr60(machine_config &config)
+static INPUT_PORTS_START(psr70)
+ PORT_START("P1_9")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 C")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 F#")
+
+ PORT_START("P1_8")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 0 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 C")
+
+ PORT_START("P1_7")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 F#")
+
+ PORT_START("P1_6")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 1 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_NAME("Octave 2 C")
+
+ PORT_START("P1_5")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME("Octave 2 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("Octave 2 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_NAME("Octave 2 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_NAME("Octave 2 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_NAME("Octave 2 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("Octave 2 F#")
+
+ PORT_START("P1_4")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_NAME("Octave 2 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("Octave 2 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_NAME("Octave 2 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("Octave 2 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_NAME("Octave 2 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("Octave 3 C")
+
+ PORT_START("P1_3")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("Octave 3 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_NAME("Octave 3 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_NAME("Octave 3 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_NAME("Octave 3 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("Octave 3 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_NAME("Octave 3 F#")
+
+ PORT_START("P1_2")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_NAME("Octave 3 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_NAME("Octave 3 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_NAME("Octave 3 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_NAME("Octave 3 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_NAME("Octave 3 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_NAME("Octave 4 C")
+
+ PORT_START("P1_1")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 C#")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 D")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 D#")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 E")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 F")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 F#")
+
+ PORT_START("P1_0")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // cassette input
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 G")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 G#")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 A#")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 4 B")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Octave 5 C")
+
+ DRVIF_PORT( 0, "Unused1.1", "Unused1.2", "Unused1.3", "Split")
+ DRVIF_PORT( 1, "Pitch Up", "Pitch Down", "Transposer Up", "Transposer Down")
+ DRVIF_PORT( 2, "Memory", "Fingered", "Single Finger", "Off")
+ DRVIF_PORT( 3, "Fill In 3", "Fill In 2", "Fill In 1", "Keyboard Percussion")
+ DRVIF_PORT( 4, "Pops", "Disco", "Reggae", "Big Band")
+ DRVIF_PORT( 5, "March/Polka", "Samba", "Salsa", "Rock'N'Roll")
+ DRVIF_PORT( 6, "Intro/Ending", "Start", "Synchro", "Stop")
+ DRVIF_PORT( 7, "MIDI Mode", "Unused9.2", "Unused9.3", "Custom Clear")
+ DRVIF_PORT( 8, "Orchestra On", "Variation", "Hand Clap 2", "Hand Clap 1")
+ DRVIF_PORT( 9, "Pause", "Custom 3", "Custom 2", "Custom 1")
+ DRVIF_PORT(10, "Program", "Rhythm", "Bass", "Chord")
+ DRVIF_PORT(11, "Solo On", "To Lower", "Trio", "Duet")
+ DRVIF_PORT(12, "Brass 1", "Strings", "Pipe Organ", "Jazz Organ")
+ DRVIF_PORT(13, "Calliope", "Clarinet", "Brass & Chimes", "Brass 2")
+ DRVIF_PORT(14, "Unused15.1", "Unused15.2", "Unused15.3", "Unused15.4")
+ DRVIF_PORT(15, "Unused16.1", "Unused16.2", "Unused16.3", "Unused16.4")
+ DRVIF_PORT(16, "Solo Sustain", "Stereo Symphonic", "Sustain 2", "Sustain 1")
+ DRVIF_PORT(17, "Trumpet", "Violin", "Piccolo", "Jazz Flute")
+ DRVIF_PORT(18, "Oboe", "Saxophone", "Horn", "Trombone")
+ DRVIF_PORT(19, "Pop Synth", "Percussion 2", "Percussion 1", "Programmer Off")
+ DRVIF_PORT(20, "Registration Memory", "Program 3", "Program 2", "Program 1")
+ DRVIF_PORT(21, "Unused22.1", "Record Solo", "Record Orchestra", "Record Chord/Bass")
+ DRVIF_PORT(22, "Unused23.1", "Play Back Solo", "Play Back Orchestra", "Play Back Chord/Bass")
+
+ RYP4_PORT( 1, 75, "Solo Volume")
+ RYP4_PORT( 2, 75, "Orchestra Volume")
+ RYP4_PORT( 3, 75, "Rhythm Volume")
+ RYP4_PORT( 4, 50, "Rhythm Tempo")
+ RYP4_PORT( 5, 75, "Chord Volume")
+ RYP4_PORT( 6, 75, "Bass Volume")
+ RYP4_PORT( 7, 0, "Sustain") PORT_CUSTOM_MEMBER(psr60_state, sustain_fuzz)
+ RYP4_PORT( 8, 0, "Unused8")
+ RYP4_PORT( 9, 0, "Unused9")
+ RYP4_PORT(10, 0, "Unused10")
+
+ PORT_START("MASTERVOL")
+ PORT_ADJUSTER(50, "Master Volume") PORT_CHANGED_MEMBER(DEVICE_SELF, psr60_state, mastervol_changed, 0)
+INPUT_PORTS_END
+
+void psr60_state::psr_common(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, 6_MHz_XTAL);
@@ -137,6 +584,8 @@ void psr60_state::psr60(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &psr60_state::psr60_io_map);
I8255A(config, m_ppi, 6_MHz_XTAL);
+ m_ppi->in_pa_callback().set(FUNC(psr60_state::ppi_pa_r));
+ m_ppi->out_pb_callback().set(FUNC(psr60_state::ppi_pb_w));
m_ppi->out_pc_callback().set(FUNC(psr60_state::ppi_pc_w));
ACIA6850(config, m_acia, 500_kHz_XTAL); // actually an HD6350, differences unknown (if any)
@@ -152,6 +601,44 @@ void psr60_state::psr60(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
+
+ MIXER(config, m_lmixer);
+ m_lmixer->add_route(0, "lspeaker", 1.0);
+
+ MIXER(config, m_rmixer);
+ m_rmixer->add_route(0, "rspeaker", 1.0);
+
+ YM2154(config, m_ryp4, 2250000);
+ m_ryp4->irq_handler().set(FUNC(psr60_state::ryp4_irq_w));
+ m_ryp4->io_read_handler().set(FUNC(psr60_state::ryp4_an_r));
+ m_ryp4->io_write_handler().set(FUNC(psr60_state::ryp4_out_w));
+ m_ryp4->add_route(0, m_lmixer, 0.50); // rhythm channels are mixed in separately
+ m_ryp4->add_route(1, m_rmixer, 0.50);
+
+ MN3204P(config, m_bbd, 12700); // 6.7kHz feeds the iG10090 driver, range is 10-200kHz
+ m_bbd->set_cv_handler(FUNC(psr60_state::cv_handler));
+ m_bbd->add_route(0, m_lmixer, 0.11); // BBD is mixed in
+ m_bbd->add_route(0, m_rmixer, 0.11);
+
+ YM3533(config, m_ym3533, 3.579545_MHz_XTAL);
+ m_ym3533->irq_handler().set(FUNC(psr60_state::ym_irq_w));
+ m_ym3533->add_route(0, m_lmixer, 0.16); // channel 1 = ORC
+ m_ym3533->add_route(0, m_rmixer, 0.16);
+ m_ym3533->add_route(1, m_lmixer, 0.22); // channel 2 = SABC
+ m_ym3533->add_route(1, m_rmixer, 0.22);
+ m_ym3533->add_route(1, m_bbd, 1.0);
+}
+
+void psr60_state::psr60(machine_config &config)
+{
+ psr_common(config);
+ config.set_default_layout(layout_psr60);
+}
+
+void psr60_state::psr70(machine_config &config)
+{
+ psr_common(config);
+ config.set_default_layout(layout_psr70);
}
ROM_START( psr60 )
@@ -160,6 +647,12 @@ ROM_START( psr60 )
ROM_REGION(0x8000, "rom2", 0)
ROM_LOAD("yamaha_psr60_pgm_ic110.bin", 0x000000, 0x008000, CRC(39db8c74) SHA1(7750104d1e5df3357aa553ac58768dbc34051cd8))
+
+ ROM_REGION(0x8000, "ryp4:group0", 0)
+ ROM_LOAD("ym21908.bin", 0x0000, 0x8000, CRC(4ed0d9dc) SHA1(aed7ab6f1c9e28fdf259cb932136b12845040d79) BAD_DUMP)
+
+ ROM_REGION(0x8000, "ryp4:group1", 0)
+ ROM_LOAD("ym21909.bin", 0x0000, 0x8000, CRC(bb9bb698) SHA1(76563d1f25152cd54041019ef7bc264ede0d8b2b) BAD_DUMP)
ROM_END
ROM_START(psr70)
@@ -168,7 +661,13 @@ ROM_START(psr70)
ROM_REGION(0x8000, "rom2", 0)
ROM_LOAD("yamaha_psr60_pgm_ic110.bin", 0x000000, 0x008000, CRC(39db8c74) SHA1(7750104d1e5df3357aa553ac58768dbc34051cd8))
+
+ ROM_REGION(0x8000, "ryp4:group0", 0)
+ ROM_LOAD("ym21908.bin", 0x0000, 0x8000, CRC(4ed0d9dc) SHA1(aed7ab6f1c9e28fdf259cb932136b12845040d79) BAD_DUMP)
+
+ ROM_REGION(0x8000, "ryp4:group1", 0)
+ ROM_LOAD("ym21909.bin", 0x0000, 0x8000, CRC(bb9bb698) SHA1(76563d1f25152cd54041019ef7bc264ede0d8b2b) BAD_DUMP)
ROM_END
-CONS(1985, psr60, 0, 0, psr60, psr60, psr60_state, empty_init, "Yamaha", "PSR-60 PortaSound", MACHINE_NOT_WORKING)
-CONS(1985, psr70, psr60, 0, psr60, psr60, psr60_state, empty_init, "Yamaha", "PSR-70 PortaSound", MACHINE_NOT_WORKING)
+CONS(1985, psr60, 0, 0, psr60, psr60, psr60_state, empty_init, "Yamaha", "PSR-60 PortaSound", MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK)
+CONS(1985, psr70, psr60, 0, psr70, psr70, psr60_state, empty_init, "Yamaha", "PSR-70 PortaSound", MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK)
diff --git a/src/mame/drivers/ymtx81z.cpp b/src/mame/drivers/ymtx81z.cpp
index 68c367f23cc..289d8ede43f 100644
--- a/src/mame/drivers/ymtx81z.cpp
+++ b/src/mame/drivers/ymtx81z.cpp
@@ -7,17 +7,20 @@
****************************************************************************/
#include "emu.h"
-//#include "bus/midi/midi.h"
+
+#include "bus/midi/midi.h"
#include "cpu/m6800/m6801.h"
#include "machine/clock.h"
#include "machine/nvram.h"
-#include "sound/ym2151.h"
+#include "sound/ymopz.h"
#include "video/hd44780.h"
-#include "bus/midi/midi.h"
+
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
+#include "tx81z.lh"
+
class ymtx81z_state : public driver_device
{
public:
@@ -58,8 +61,8 @@ HD44780_PIXEL_UPDATE(ymtx81z_state::lcd_pixel_update)
void ymtx81z_state::palette_init(palette_device &palette)
{
palette.set_pen_color(0, rgb_t(0x00, 0x00, 0x00)); // background
- palette.set_pen_color(1, rgb_t(0xd8, 0xff, 0x18)); // lcd pixel on
- palette.set_pen_color(2, rgb_t(0xd8/10, 0xff/10, 0x18/10)); // lcd pixel off
+ palette.set_pen_color(1, rgb_t(0xff, 0xff, 0xff)); // lcd pixel on
+ palette.set_pen_color(2, rgb_t(0x18, 0x18, 0x18)); // lcd pixel off
}
void ymtx81z_state::machine_start()
@@ -148,6 +151,8 @@ void ymtx81z_state::tx81z(machine_config &config)
PALETTE(config, "palette", FUNC(ymtx81z_state::palette_init), 3);
+ config.set_default_layout(layout_tx81z);
+
hd44780_device &lcdc(HD44780(config, "lcdc", 0));
lcdc.set_lcd_size(2, 16);
lcdc.set_pixel_update_cb(FUNC(ymtx81z_state::lcd_pixel_update));
@@ -181,4 +186,4 @@ ROM_START(tx81z)
ROMX_LOAD("tx81z-27512-image-first-version-1_0.ic15", 0x00000, 0x10000, CRC(2f9628fa) SHA1(ce62dfb9a86da092c469fd25328b5447375f5bb2), ROM_BIOS(7))
ROM_END
-SYST(1987, tx81z, 0, 0, tx81z, tx81z, ymtx81z_state, empty_init, "Yamaha", "TX81Z FM Tone Generator", MACHINE_IS_SKELETON)
+SYST(1987, tx81z, 0, 0, tx81z, tx81z, ymtx81z_state, empty_init, "Yamaha", "TX81Z FM Tone Generator", MACHINE_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/yunsun16.cpp b/src/mame/drivers/yunsun16.cpp
index 1d2f52adad9..84801ba5ec6 100644
--- a/src/mame/drivers/yunsun16.cpp
+++ b/src/mame/drivers/yunsun16.cpp
@@ -93,7 +93,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "speaker.h"
diff --git a/src/mame/drivers/yunsung8.cpp b/src/mame/drivers/yunsung8.cpp
index 998ba432f31..091c3f26f3a 100644
--- a/src/mame/drivers/yunsung8.cpp
+++ b/src/mame/drivers/yunsung8.cpp
@@ -32,7 +32,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/yuvomz80.cpp b/src/mame/drivers/yuvomz80.cpp
index 6de8d0bfd57..8aaee209069 100644
--- a/src/mame/drivers/yuvomz80.cpp
+++ b/src/mame/drivers/yuvomz80.cpp
@@ -6,7 +6,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "sound/ymz280b.h"
#include "speaker.h"
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index b3af450e555..185050b989a 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -885,7 +885,7 @@ void taito_fx1a_state::sound_map(address_map &map)
map(0x0000, 0x3fff).rom();
map(0x4000, 0x7fff).bankr("soundbank");
map(0xc000, 0xdfff).ram();
- map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610b_device::read), FUNC(ym2610b_device::write));
map(0xe200, 0xe200).nopr().w("tc0140syt", FUNC(tc0140syt_device::slave_port_w));
map(0xe201, 0xe201).rw("tc0140syt", FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w));
map(0xe400, 0xe403).nopw(); /* pan */
@@ -2749,67 +2749,117 @@ ROM_START( ts2 )
CPZN1_BIOS
ROM_REGION32_LE( 0x80000, "countryrom", 0 )
- ROM_LOAD( "ts2u_04.2h", 0x0000000, 0x080000, CRC(ddb52e7c) SHA1(e77891abae7681d911ef6eba2e0920d81433ebe6) )
+ ROM_LOAD( "ts2e_04.2h", 0x0000000, 0x080000, CRC(7a3b535f) SHA1(f17f0dad81e50a7f4ccd042a26af1d472df4785f) ) // genuine CAPCOM label with Blue stripe & hand written TS2E 04
ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
- ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) )
+ ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) ) // labeled TS2-05M KM23C320000-12
+ ROM_LOAD( "ts2-06m.4h", 0x0400000, 0x200000, CRC(67be6797) SHA1(521f69439ba7666f54d1008a291f3391f3a16499) )
+ ROM_LOAD( "ts2-07m.5h", 0x0600000, 0x200000, CRC(db73e2b8) SHA1(239243f44c41df765789c14cc4036bb02e2ab373) )
+ ROM_LOAD( "ts2-08m.2k", 0x0800000, 0x200000, CRC(01a48431) SHA1(6e395af726da91909e07dac25bb9b70b3ccebd4e) )
+ ROM_LOAD( "ts2-09m.3k", 0x0a00000, 0x200000, CRC(83f408de) SHA1(415787c4dca604dd5611e16936a0ffa981dedf78) )
+ ROM_LOAD( "ts2-10m.4k", 0x0c00000, 0x200000, CRC(ad90679a) SHA1(19dd30764f892ee7f89c78ccbccdaf4d6b0e6e09) )
+
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) ) // labeled TS2-01M KM23C320000-15
+
+ ROM_REGION( 0x8, "cat702_2", 0 )
+ ROM_LOAD( "cp02", 0x000000, 0x000008, CRC(40b0b697) SHA1(a8ee10fc9c0257de0a9ed0db29ea08afe900405f) )
+ROM_END
+
+/* 95681-2 */
+ROM_START( ts2u )
+ CPZN1_BIOS
+
+ ROM_REGION32_LE( 0x80000, "countryrom", 0 )
+ ROM_LOAD( "ts2u_04.2h", 0x0000000, 0x080000, CRC(ddb52e7c) SHA1(e77891abae7681d911ef6eba2e0920d81433ebe6) ) // genuine CAPCOM label with Red stripe
+
+ ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
+ ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) ) // labeled TS2-05M KM23C320000-12
+ ROM_LOAD( "ts2-06m.4h", 0x0400000, 0x200000, CRC(67be6797) SHA1(521f69439ba7666f54d1008a291f3391f3a16499) )
+ ROM_LOAD( "ts2-07m.5h", 0x0600000, 0x200000, CRC(db73e2b8) SHA1(239243f44c41df765789c14cc4036bb02e2ab373) )
+ ROM_LOAD( "ts2-08m.2k", 0x0800000, 0x200000, CRC(01a48431) SHA1(6e395af726da91909e07dac25bb9b70b3ccebd4e) )
+ ROM_LOAD( "ts2-09m.3k", 0x0a00000, 0x200000, CRC(83f408de) SHA1(415787c4dca604dd5611e16936a0ffa981dedf78) )
+ ROM_LOAD( "ts2-10m.4k", 0x0c00000, 0x200000, CRC(ad90679a) SHA1(19dd30764f892ee7f89c78ccbccdaf4d6b0e6e09) )
+
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) ) // labeled TS2-01M KM23C320000-15
+
+ ROM_REGION( 0x8, "cat702_2", 0 )
+ ROM_LOAD( "cp02", 0x000000, 0x000008, CRC(40b0b697) SHA1(a8ee10fc9c0257de0a9ed0db29ea08afe900405f) )
+ROM_END
+
+/* 95681-2 */
+ROM_START( ts2ua )
+ CPZN1_BIOS
+
+ ROM_REGION32_LE( 0x80000, "countryrom", 0 )
+ ROM_LOAD( "ts2u_04.2h", 0x0000000, 0x080000, CRC(ddb52e7c) SHA1(e77891abae7681d911ef6eba2e0920d81433ebe6) ) // genuine CAPCOM label with Red stripe
+
+ ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
+ ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) ) // labeled TS2-05M KM23C320000-12
ROM_LOAD( "ts2-06m", 0x0400000, 0x400000, CRC(cd7e0a27) SHA1(325b5f2e653cdea07cddc9d20d12b5ab50dca949) )
ROM_LOAD( "ts2-08m", 0x0800000, 0x400000, CRC(b1f7f115) SHA1(3f416d2aac07aa73a99593b5a21b047da60cea6a) )
ROM_LOAD( "ts2-10m.4k", 0x0c00000, 0x200000, CRC(ad90679a) SHA1(19dd30764f892ee7f89c78ccbccdaf4d6b0e6e09) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
- ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
- ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) )
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) ) // labeled TS2-01M KM23C320000-15
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "cp02", 0x000000, 0x000008, CRC(40b0b697) SHA1(a8ee10fc9c0257de0a9ed0db29ea08afe900405f) )
ROM_END
/* 95681-2 */
-ROM_START( ts2a )
+ROM_START( ts2j )
CPZN1_BIOS
ROM_REGION32_LE( 0x80000, "countryrom", 0 )
- ROM_LOAD( "ts2u_04.2h", 0x0000000, 0x080000, CRC(ddb52e7c) SHA1(e77891abae7681d911ef6eba2e0920d81433ebe6) )
+ ROM_LOAD( "ts2j_04.2h", 0x0000000, 0x080000, CRC(4aba8c5e) SHA1(a56001bf50bfc1b03036e88ae1febd1aac8c63c0) )
ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
- ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) )
+ ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) ) // labeled TS2-05M KM23C320000-12
ROM_LOAD( "ts2-06m.4h", 0x0400000, 0x200000, CRC(67be6797) SHA1(521f69439ba7666f54d1008a291f3391f3a16499) )
ROM_LOAD( "ts2-07m.5h", 0x0600000, 0x200000, CRC(db73e2b8) SHA1(239243f44c41df765789c14cc4036bb02e2ab373) )
ROM_LOAD( "ts2-08m.2k", 0x0800000, 0x200000, CRC(01a48431) SHA1(6e395af726da91909e07dac25bb9b70b3ccebd4e) )
ROM_LOAD( "ts2-09m.3k", 0x0a00000, 0x200000, CRC(83f408de) SHA1(415787c4dca604dd5611e16936a0ffa981dedf78) )
ROM_LOAD( "ts2-10m.4k", 0x0c00000, 0x200000, CRC(ad90679a) SHA1(19dd30764f892ee7f89c78ccbccdaf4d6b0e6e09) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
- ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
- ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) )
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) ) // labeled TS2-01M KM23C320000-15
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "cp02", 0x000000, 0x000008, CRC(40b0b697) SHA1(a8ee10fc9c0257de0a9ed0db29ea08afe900405f) )
ROM_END
/* 95681-2 */
-ROM_START( ts2j )
+ROM_START( ts2ja )
CPZN1_BIOS
ROM_REGION32_LE( 0x80000, "countryrom", 0 )
ROM_LOAD( "ts2j_04.2h", 0x0000000, 0x080000, CRC(4aba8c5e) SHA1(a56001bf50bfc1b03036e88ae1febd1aac8c63c0) )
ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
- ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) )
+ ROM_LOAD( "ts2-05m.3h", 0x0000000, 0x400000, CRC(7f4228e2) SHA1(3690a76d19d97e55bc7b05a8456328697cfd7a77) ) // labeled TS2-05M KM23C320000-12
ROM_LOAD( "ts2-06m", 0x0400000, 0x400000, CRC(cd7e0a27) SHA1(325b5f2e653cdea07cddc9d20d12b5ab50dca949) )
ROM_LOAD( "ts2-08m", 0x0800000, 0x400000, CRC(b1f7f115) SHA1(3f416d2aac07aa73a99593b5a21b047da60cea6a) )
ROM_LOAD( "ts2-10m.4k", 0x0c00000, 0x200000, CRC(ad90679a) SHA1(19dd30764f892ee7f89c78ccbccdaf4d6b0e6e09) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
- ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "ts2_02.2e", 0x00000, 0x20000, CRC(2f45c461) SHA1(513b6b9b5a2f7c567c30c958e0e13834cd9bd266) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
- ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) )
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "ts2-01m.3b", 0x0000000, 0x400000, CRC(d7a505e0) SHA1(f1b0cdea712101f695bd326eccd753eb79a07490) ) // labeled TS2-01M KM23C320000-15
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "cp02", 0x000000, 0x000008, CRC(40b0b697) SHA1(a8ee10fc9c0257de0a9ed0db29ea08afe900405f) )
@@ -2830,11 +2880,11 @@ ROM_START( starglad )
ROM_LOAD( "ps1-09m.3k", 0x1000000, 0x400000, CRC(bd894812) SHA1(9f0c3365e685a53ae793f4a256a6c177a843a424) )
ROM_LOAD( "ps1-10m.4k", 0x1400000, 0x400000, CRC(ff80c18a) SHA1(8d01717eed6ec1f508fe7c445da941fb84ef7d22) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ps1_02a.2e", 0x00000, 0x20000, CRC(b854df92) SHA1(ea71a613b5b19ec7e9c6e342e7743d320582a6bb) )
ROM_LOAD( "ps1_03a.3e", 0x20000, 0x20000, CRC(a2562fbb) SHA1(3de02a4aa7ea620961ca2a5c331f38134033db79) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ps1-01m.3b", 0x0000000, 0x400000, CRC(0bfb17aa) SHA1(cf4482785a2a33ad814c8b1461c5bc8e8e027895) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -2856,11 +2906,11 @@ ROM_START( stargladj )
ROM_LOAD( "ps1-09m.3k", 0x1000000, 0x400000, CRC(bd894812) SHA1(9f0c3365e685a53ae793f4a256a6c177a843a424) )
ROM_LOAD( "ps1-10m.4k", 0x1400000, 0x400000, CRC(ff80c18a) SHA1(8d01717eed6ec1f508fe7c445da941fb84ef7d22) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ps1_02a.2e", 0x00000, 0x20000, CRC(b854df92) SHA1(ea71a613b5b19ec7e9c6e342e7743d320582a6bb) )
ROM_LOAD( "ps1_03a.3e", 0x20000, 0x20000, CRC(a2562fbb) SHA1(3de02a4aa7ea620961ca2a5c331f38134033db79) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ps1-01m.3b", 0x0000000, 0x400000, CRC(0bfb17aa) SHA1(cf4482785a2a33ad814c8b1461c5bc8e8e027895) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -2895,10 +2945,10 @@ ROM_START( glpracr )
ROM_LOAD( "gra-07m.5h", 0x0800000, 0x400000, CRC(acaefe3a) SHA1(32d596b0f975e1558fa7929c3166d8dad40a1c80) )
/* Sockets 2.2E, 3.3E are not populated, pcb verified */
- ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) // 64k for the audio CPU (+banks)
/* Socket 1.3B is not populated, pcb verified */
- ROM_REGION( 0x400000, "qsound", ROMREGION_ERASE00 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", ROMREGION_ERASE00 ) // Q Sound Samples
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "cp05", 0x000000, 0x000008, CRC(ae930900) SHA1(01fd03487943e21e3634285ef50107c6c2c4f6ca) )
@@ -2917,10 +2967,10 @@ ROM_START( glpracrj )
ROM_LOAD( "gra-07m.5h", 0x0800000, 0x400000, CRC(acaefe3a) SHA1(32d596b0f975e1558fa7929c3166d8dad40a1c80) )
/* Sockets 2.2E, 3.3E are not populated, pcb verified */
- ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) // 64k for the audio CPU (+banks)
/* Socket 1.3B is not populated, pcb verified */
- ROM_REGION( 0x400000, "qsound", ROMREGION_ERASE00 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", ROMREGION_ERASE00 ) // Q Sound Samples
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "cp05", 0x000000, 0x000008, CRC(ae930900) SHA1(01fd03487943e21e3634285ef50107c6c2c4f6ca) )
@@ -2941,11 +2991,11 @@ ROM_START( sfex )
ROM_LOAD( "sfe-09m.3k", 0x1000000, 0x400000, CRC(62c424cc) SHA1(ea19c49b486473b150dbf8541286e225655496db) )
ROM_LOAD( "sfe-10m.4k", 0x1400000, 0x400000, CRC(83791a8b) SHA1(534969797640834ca692c11d0ce7c3a060fc7e4b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -2967,11 +3017,11 @@ ROM_START( sfexu )
ROM_LOAD( "sfe-09m.3k", 0x1000000, 0x400000, CRC(62c424cc) SHA1(ea19c49b486473b150dbf8541286e225655496db) )
ROM_LOAD( "sfe-10m.4k", 0x1400000, 0x400000, CRC(83791a8b) SHA1(534969797640834ca692c11d0ce7c3a060fc7e4b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -2983,7 +3033,7 @@ ROM_START( sfexa )
CPZN1_BIOS
ROM_REGION32_LE( 0x80000, "countryrom", 0 )
- ROM_LOAD( "sfea_04a.2h", 0x0000000, 0x080000, CRC(08247bd4) SHA1(07f356ef2827b3fbd0bfaf2010915315d9d60ef1) ) // could be sfea_04.2h
+ ROM_LOAD( "sfea_04a.2h", 0x0000000, 0x080000, CRC(08247bd4) SHA1(07f356ef2827b3fbd0bfaf2010915315d9d60ef1) ) // could be sfea_04.2h
ROM_REGION32_LE( 0x2400000, "bankedroms", 0 )
ROM_LOAD( "sfe-05m.3h", 0x0000000, 0x400000, CRC(eab781fe) SHA1(205476cb72c8dac915e140fb32243dfc5d209ba4) )
@@ -2993,11 +3043,11 @@ ROM_START( sfexa )
ROM_LOAD( "sfe-09m.3k", 0x1000000, 0x400000, CRC(62c424cc) SHA1(ea19c49b486473b150dbf8541286e225655496db) )
ROM_LOAD( "sfe-10m.4k", 0x1400000, 0x400000, CRC(83791a8b) SHA1(534969797640834ca692c11d0ce7c3a060fc7e4b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3019,11 +3069,11 @@ ROM_START( sfexj )
ROM_LOAD( "sfe-09m.3k", 0x1000000, 0x400000, CRC(62c424cc) SHA1(ea19c49b486473b150dbf8541286e225655496db) )
ROM_LOAD( "sfe-10m.4k", 0x1400000, 0x400000, CRC(83791a8b) SHA1(534969797640834ca692c11d0ce7c3a060fc7e4b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3045,11 +3095,11 @@ ROM_START( sfexp )
ROM_LOAD( "sfp-09m.3k", 0x1000000, 0x400000, CRC(15f8b71e) SHA1(efb28fbe750f443550ee9718385355aae7e858c9) )
ROM_LOAD( "sfp-10m.4k", 0x1400000, 0x400000, CRC(c1ecf652) SHA1(616e14ff63d38272730c810b933a6b3412e2da17) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3071,11 +3121,11 @@ ROM_START( sfexpu1 )
ROM_LOAD( "sfp-09m.3k", 0x1000000, 0x400000, CRC(15f8b71e) SHA1(efb28fbe750f443550ee9718385355aae7e858c9) )
ROM_LOAD( "sfp-10m.4k", 0x1400000, 0x400000, CRC(c1ecf652) SHA1(616e14ff63d38272730c810b933a6b3412e2da17) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3097,11 +3147,11 @@ ROM_START( sfexpj )
ROM_LOAD( "sfp-09m.3k", 0x1000000, 0x400000, CRC(15f8b71e) SHA1(efb28fbe750f443550ee9718385355aae7e858c9) )
ROM_LOAD( "sfp-10m.4k", 0x1400000, 0x400000, CRC(c1ecf652) SHA1(616e14ff63d38272730c810b933a6b3412e2da17) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3123,11 +3173,11 @@ ROM_START( sfexpj1 )
ROM_LOAD( "sfp-09m.3k", 0x1000000, 0x400000, CRC(15f8b71e) SHA1(efb28fbe750f443550ee9718385355aae7e858c9) )
ROM_LOAD( "sfp-10m.4k", 0x1400000, 0x400000, CRC(c1ecf652) SHA1(616e14ff63d38272730c810b933a6b3412e2da17) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sfe_02.2e", 0x00000, 0x20000, CRC(1908475c) SHA1(99f68cff2d92f5697eec0846201f6fb317d5dc08) )
ROM_LOAD( "sfe_03.3e", 0x20000, 0x20000, CRC(95c1e2e0) SHA1(383bbe9613798a3ac6944d18768280a840994e40) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sfe-01m.3b", 0x0000000, 0x400000, CRC(f5afff0d) SHA1(7f9ac32ba0a3d9c6fef367e36a92d47c9ac1feb3) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3172,11 +3222,11 @@ ROM_START( rvschool )
ROM_LOAD( "jst-12m.6k", 0x1c00000, 0x400000, CRC(43bd2ddd) SHA1(7f2976e394362cb648f620e430b3bf11b71485a6) )
ROM_LOAD( "jst-13m.7k", 0x2000000, 0x400000, CRC(6b443235) SHA1(c764d8b742aa1c46bc8d37f36e864ef50a1ff4e4) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "jst_02.2e", 0x00000, 0x20000, CRC(7809e2c3) SHA1(0216a665f7978bc8db3f7fdab038e1c7aa120844) )
ROM_LOAD( "jst_03.3e", 0x20000, 0x20000, CRC(860ff24d) SHA1(eea72fa5eaf407a112a5b3daf60f7ac8ad191cc7) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "jst-01m.3b", 0x0000000, 0x400000, CRC(9a7c98f9) SHA1(764c6c4f41047e1f36d2dceac4aa9b943a9d529a) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3201,11 +3251,11 @@ ROM_START( rvschoolu )
ROM_LOAD( "jst-12m.6k", 0x1c00000, 0x400000, CRC(43bd2ddd) SHA1(7f2976e394362cb648f620e430b3bf11b71485a6) )
ROM_LOAD( "jst-13m.7k", 0x2000000, 0x400000, CRC(6b443235) SHA1(c764d8b742aa1c46bc8d37f36e864ef50a1ff4e4) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "jst_02.2e", 0x00000, 0x20000, CRC(7809e2c3) SHA1(0216a665f7978bc8db3f7fdab038e1c7aa120844) )
ROM_LOAD( "jst_03.3e", 0x20000, 0x20000, CRC(860ff24d) SHA1(eea72fa5eaf407a112a5b3daf60f7ac8ad191cc7) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "jst-01m.3b", 0x0000000, 0x400000, CRC(9a7c98f9) SHA1(764c6c4f41047e1f36d2dceac4aa9b943a9d529a) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3230,11 +3280,11 @@ ROM_START( rvschoola )
ROM_LOAD( "jst-12m.6k", 0x1c00000, 0x400000, CRC(43bd2ddd) SHA1(7f2976e394362cb648f620e430b3bf11b71485a6) )
ROM_LOAD( "jst-13m.7k", 0x2000000, 0x400000, CRC(6b443235) SHA1(c764d8b742aa1c46bc8d37f36e864ef50a1ff4e4) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "jst_02.2e", 0x00000, 0x20000, CRC(7809e2c3) SHA1(0216a665f7978bc8db3f7fdab038e1c7aa120844) )
ROM_LOAD( "jst_03.3e", 0x20000, 0x20000, CRC(860ff24d) SHA1(eea72fa5eaf407a112a5b3daf60f7ac8ad191cc7) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "jst-01m.3b", 0x0000000, 0x400000, CRC(9a7c98f9) SHA1(764c6c4f41047e1f36d2dceac4aa9b943a9d529a) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3259,11 +3309,11 @@ ROM_START( jgakuen )
ROM_LOAD( "jst-12m.6k", 0x1c00000, 0x400000, CRC(43bd2ddd) SHA1(7f2976e394362cb648f620e430b3bf11b71485a6) )
ROM_LOAD( "jst-13m.7k", 0x2000000, 0x400000, CRC(6b443235) SHA1(c764d8b742aa1c46bc8d37f36e864ef50a1ff4e4) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "jst_02.2e", 0x00000, 0x20000, CRC(7809e2c3) SHA1(0216a665f7978bc8db3f7fdab038e1c7aa120844) )
ROM_LOAD( "jst_03.3e", 0x20000, 0x20000, CRC(860ff24d) SHA1(eea72fa5eaf407a112a5b3daf60f7ac8ad191cc7) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "jst-01m.3b", 0x0000000, 0x400000, CRC(9a7c98f9) SHA1(764c6c4f41047e1f36d2dceac4aa9b943a9d529a) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3288,11 +3338,11 @@ ROM_START( jgakuen1 )
ROM_LOAD( "jst-12m.6k", 0x1c00000, 0x400000, CRC(43bd2ddd) SHA1(7f2976e394362cb648f620e430b3bf11b71485a6) )
ROM_LOAD( "jst-13m.7k", 0x2000000, 0x400000, CRC(6b443235) SHA1(c764d8b742aa1c46bc8d37f36e864ef50a1ff4e4) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "jst_02.2e", 0x00000, 0x20000, CRC(7809e2c3) SHA1(0216a665f7978bc8db3f7fdab038e1c7aa120844) )
ROM_LOAD( "jst_03.3e", 0x20000, 0x20000, CRC(860ff24d) SHA1(eea72fa5eaf407a112a5b3daf60f7ac8ad191cc7) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "jst-01m.3b", 0x0000000, 0x400000, CRC(9a7c98f9) SHA1(764c6c4f41047e1f36d2dceac4aa9b943a9d529a) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3319,10 +3369,10 @@ ROM_START( sfex2 )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3343,10 +3393,10 @@ ROM_START( sfex2u )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3367,10 +3417,10 @@ ROM_START( sfex2u1 )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3391,10 +3441,10 @@ ROM_START( sfex2a )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3415,10 +3465,10 @@ ROM_START( sfex2h )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3439,10 +3489,10 @@ ROM_START( sfex2j )
ROM_LOAD( "ex2-08m.2k", 0x1800000, 0x800000, CRC(3194132e) SHA1(d1324fcf0a8528fc683791d6342697a7e08674f4) )
ROM_LOAD( "ex2-09m.3k", 0x2000000, 0x400000, CRC(075ae585) SHA1(6b88851db618fc3e96f1d740c46c1bc5be0ee21b) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ex2_02.2e", 0x00000, 0x20000, CRC(9489875e) SHA1(1fc9985ff98232c63ea8d05a69f7d77cdf72919f) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ex2-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3463,11 +3513,11 @@ ROM_START( plsmaswd )
ROM_LOAD( "sg2-08m.2k", 0x1800000, 0x800000, CRC(9e169eee) SHA1(6141b1a7863fdfb200ca35d2893979a34dcc3f6c) )
ROM_LOAD( "sg2-09m.3k", 0x2000000, 0x400000, CRC(33f73d4c) SHA1(954695a43e77b58585409678bd87c76adac1d855) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sg2_02.2e", 0x00000, 0x20000, CRC(415ee138) SHA1(626083c8705f012552691c450f95401ddc88065b) )
ROM_LOAD( "sg2_03.3e", 0x20000, 0x20000, CRC(43806735) SHA1(88d389bcc79cbd4fa1f4b62008e171a897e77652) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sg2-01m.3a", 0x0000000, 0x400000, CRC(643ea27b) SHA1(40747432d5cfebac54d3824b6a6f26b5e7742fc1) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3488,11 +3538,11 @@ ROM_START( plsmaswda )
ROM_LOAD( "sg2-08m.2k", 0x1800000, 0x800000, CRC(9e169eee) SHA1(6141b1a7863fdfb200ca35d2893979a34dcc3f6c) )
ROM_LOAD( "sg2-09m.3k", 0x2000000, 0x400000, CRC(33f73d4c) SHA1(954695a43e77b58585409678bd87c76adac1d855) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sg2_02.2e", 0x00000, 0x20000, CRC(415ee138) SHA1(626083c8705f012552691c450f95401ddc88065b) )
ROM_LOAD( "sg2_03.3e", 0x20000, 0x20000, CRC(43806735) SHA1(88d389bcc79cbd4fa1f4b62008e171a897e77652) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sg2-01m.3a", 0x0000000, 0x400000, CRC(643ea27b) SHA1(40747432d5cfebac54d3824b6a6f26b5e7742fc1) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3513,11 +3563,11 @@ ROM_START( stargld2 )
ROM_LOAD( "sg2-08m.2k", 0x1800000, 0x800000, CRC(9e169eee) SHA1(6141b1a7863fdfb200ca35d2893979a34dcc3f6c) )
ROM_LOAD( "sg2-09m.3k", 0x2000000, 0x400000, CRC(33f73d4c) SHA1(954695a43e77b58585409678bd87c76adac1d855) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "sg2_02.2e", 0x00000, 0x20000, CRC(415ee138) SHA1(626083c8705f012552691c450f95401ddc88065b) )
ROM_LOAD( "sg2_03.3e", 0x20000, 0x20000, CRC(43806735) SHA1(88d389bcc79cbd4fa1f4b62008e171a897e77652) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "sg2-01m.3a", 0x0000000, 0x400000, CRC(643ea27b) SHA1(40747432d5cfebac54d3824b6a6f26b5e7742fc1) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3535,10 +3585,10 @@ ROM_START( tgmj )
ROM_LOAD( "ate-05m.3h", 0x0000000, 0x400000, CRC(50977f5a) SHA1(78c2b1965957ff1756c25b76e549f11fc0001153) )
ROM_LOAD( "ate-06m.4h", 0x0400000, 0x400000, CRC(05973f16) SHA1(c9262e8de14c4a9489f7050316012913c1caf0ff) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "ate_02.2e", 0x00000, 0x20000, CRC(f4f6e82f) SHA1(ad6c49197a60f456367c9f78353741fb847819a1) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "ate-01m.3a", 0x0000000, 0x400000, CRC(a21c6521) SHA1(560e4855f6e00def5277bdd12064b49e55c3b46b) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3560,11 +3610,11 @@ ROM_START( techromn )
ROM_LOAD( "kio-09m.3k", 0x2000000, 0x800000, CRC(a34f2119) SHA1(50fa992eba5324a173fcc0923227c13cad4f97e5) )
ROM_LOAD( "kio-10m.4k", 0x2800000, 0x800000, CRC(7400037a) SHA1(d58641e1d6bf1c6ca04f6c98d6809edaa7df75d3) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "kio_02.2e", 0x00000, 0x20000, CRC(174309b3) SHA1(b35b9c3905d2fabaa8410f70f7b382e916c89733) )
ROM_LOAD( "kio_03.3e", 0x20000, 0x20000, CRC(0b313ae5) SHA1(0ea39305ca30f376930e39b134fd1a52200624fa) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "kio-01m.3a", 0x0000000, 0x400000, CRC(6dc5bd07) SHA1(e1755a48465f741691ea0fa1166cb2dc09210ed9) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3586,11 +3636,37 @@ ROM_START( techromnu )
ROM_LOAD( "kio-09m.3k", 0x2000000, 0x800000, CRC(a34f2119) SHA1(50fa992eba5324a173fcc0923227c13cad4f97e5) )
ROM_LOAD( "kio-10m.4k", 0x2800000, 0x800000, CRC(7400037a) SHA1(d58641e1d6bf1c6ca04f6c98d6809edaa7df75d3) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
+ ROM_LOAD( "kio_02.2e", 0x00000, 0x20000, CRC(174309b3) SHA1(b35b9c3905d2fabaa8410f70f7b382e916c89733) )
+ ROM_LOAD( "kio_03.3e", 0x20000, 0x20000, CRC(0b313ae5) SHA1(0ea39305ca30f376930e39b134fd1a52200624fa) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
+ ROM_LOAD16_WORD_SWAP( "kio-01m.3a", 0x0000000, 0x400000, CRC(6dc5bd07) SHA1(e1755a48465f741691ea0fa1166cb2dc09210ed9) )
+
+ ROM_REGION( 0x8, "cat702_2", 0 )
+ ROM_LOAD( "cp09", 0x000000, 0x000008, CRC(02939f83) SHA1(a2a4d5218609c28da8175647cfb5114064d3265e) )
+ROM_END
+
+/* 97695-1 */
+ROM_START( techromna )
+ CPZN2_BIOS
+
+ ROM_REGION32_LE( 0x80000, "countryrom", 0 )
+ ROM_LOAD( "kioa_04.2h", 0x0000000, 0x080000, CRC(8ff43381) SHA1(7ce81e70fdc593b01a56e5e8b7d1de8000fe9453) )
+
+ ROM_REGION32_LE( 0x3000000, "bankedroms", 0 )
+ ROM_LOAD( "kio-05m.3h", 0x0000000, 0x800000, CRC(98e9eb24) SHA1(144773296c213ab09d626c915f90bb74e24487f0) )
+ ROM_LOAD( "kio-06m.4h", 0x0800000, 0x800000, CRC(be8d7d73) SHA1(bcbbbd0b83503f2ed32527444e0da3afd774d3f7) )
+ ROM_LOAD( "kio-07m.5h", 0x1000000, 0x800000, CRC(ffd81f18) SHA1(f8387a9d45e79f97ccdffabe755638a60f80ccf5) )
+ ROM_LOAD( "kio-08m.2k", 0x1800000, 0x800000, CRC(17302226) SHA1(976ba7f48c9a52d24388cd63d02be08627cf2e30) )
+ ROM_LOAD( "kio-09m.3k", 0x2000000, 0x800000, CRC(a34f2119) SHA1(50fa992eba5324a173fcc0923227c13cad4f97e5) )
+ ROM_LOAD( "kio-10m.4k", 0x2800000, 0x800000, CRC(7400037a) SHA1(d58641e1d6bf1c6ca04f6c98d6809edaa7df75d3) )
+
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "kio_02.2e", 0x00000, 0x20000, CRC(174309b3) SHA1(b35b9c3905d2fabaa8410f70f7b382e916c89733) )
ROM_LOAD( "kio_03.3e", 0x20000, 0x20000, CRC(0b313ae5) SHA1(0ea39305ca30f376930e39b134fd1a52200624fa) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "kio-01m.3a", 0x0000000, 0x400000, CRC(6dc5bd07) SHA1(e1755a48465f741691ea0fa1166cb2dc09210ed9) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3612,11 +3688,11 @@ ROM_START( kikaioh )
ROM_LOAD( "kio-09m.3k", 0x2000000, 0x800000, CRC(a34f2119) SHA1(50fa992eba5324a173fcc0923227c13cad4f97e5) )
ROM_LOAD( "kio-10m.4k", 0x2800000, 0x800000, CRC(7400037a) SHA1(d58641e1d6bf1c6ca04f6c98d6809edaa7df75d3) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "kio_02.2e", 0x00000, 0x20000, CRC(174309b3) SHA1(b35b9c3905d2fabaa8410f70f7b382e916c89733) )
ROM_LOAD( "kio_03.3e", 0x20000, 0x20000, CRC(0b313ae5) SHA1(0ea39305ca30f376930e39b134fd1a52200624fa) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "kio-01m.3a", 0x0000000, 0x400000, CRC(6dc5bd07) SHA1(e1755a48465f741691ea0fa1166cb2dc09210ed9) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3638,11 +3714,11 @@ ROM_START( sfex2p )
ROM_LOAD( "x2p-09m.3k", 0x2000000, 0x800000, CRC(344aa227) SHA1(69dc6f511939bf7fa25c2531ecf307a7565fe7a8) )
ROM_LOAD( "x2p-10m.4k", 0x2800000, 0x800000, CRC(2eef5931) SHA1(e5227529fb68eeb1b2f25813694173a75d906b52) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "x2p_02.2e", 0x00000, 0x20000, CRC(3705de5e) SHA1(847007ca271da64bf13ffbf496d4291429eee27a) )
ROM_LOAD( "x2p_03.3e", 0x20000, 0x20000, CRC(6ae828f6) SHA1(41c54165e87b846a845da581f408b96979288158) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "x2p-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3664,11 +3740,11 @@ ROM_START( sfex2pu )
ROM_LOAD( "x2p-09m.3k", 0x2000000, 0x800000, CRC(344aa227) SHA1(69dc6f511939bf7fa25c2531ecf307a7565fe7a8) )
ROM_LOAD( "x2p-10m.4k", 0x2800000, 0x800000, CRC(2eef5931) SHA1(e5227529fb68eeb1b2f25813694173a75d906b52) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "x2p_02.2e", 0x00000, 0x20000, CRC(3705de5e) SHA1(847007ca271da64bf13ffbf496d4291429eee27a) )
ROM_LOAD( "x2p_03.3e", 0x20000, 0x20000, CRC(6ae828f6) SHA1(41c54165e87b846a845da581f408b96979288158) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "x2p-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3690,11 +3766,11 @@ ROM_START( sfex2pa )
ROM_LOAD( "x2p-09m.3k", 0x2000000, 0x800000, CRC(344aa227) SHA1(69dc6f511939bf7fa25c2531ecf307a7565fe7a8) )
ROM_LOAD( "x2p-10m.4k", 0x2800000, 0x800000, CRC(2eef5931) SHA1(e5227529fb68eeb1b2f25813694173a75d906b52) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "x2p_02.2e", 0x00000, 0x20000, CRC(3705de5e) SHA1(847007ca271da64bf13ffbf496d4291429eee27a) )
ROM_LOAD( "x2p_03.3e", 0x20000, 0x20000, CRC(6ae828f6) SHA1(41c54165e87b846a845da581f408b96979288158) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "x2p-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3716,11 +3792,11 @@ ROM_START( sfex2ph )
ROM_LOAD( "x2p-09m.3k", 0x2000000, 0x800000, CRC(344aa227) SHA1(69dc6f511939bf7fa25c2531ecf307a7565fe7a8) )
ROM_LOAD( "x2p-10m.4k", 0x2800000, 0x800000, CRC(2eef5931) SHA1(e5227529fb68eeb1b2f25813694173a75d906b52) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "x2p_02.2e", 0x00000, 0x20000, CRC(3705de5e) SHA1(847007ca271da64bf13ffbf496d4291429eee27a) )
ROM_LOAD( "x2p_03.3e", 0x20000, 0x20000, CRC(6ae828f6) SHA1(41c54165e87b846a845da581f408b96979288158) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "x2p-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3742,11 +3818,11 @@ ROM_START( sfex2pj )
ROM_LOAD( "x2p-09m.3k", 0x2000000, 0x800000, CRC(344aa227) SHA1(69dc6f511939bf7fa25c2531ecf307a7565fe7a8) )
ROM_LOAD( "x2p-10m.4k", 0x2800000, 0x800000, CRC(2eef5931) SHA1(e5227529fb68eeb1b2f25813694173a75d906b52) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "x2p_02.2e", 0x00000, 0x20000, CRC(3705de5e) SHA1(847007ca271da64bf13ffbf496d4291429eee27a) )
ROM_LOAD( "x2p_03.3e", 0x20000, 0x20000, CRC(6ae828f6) SHA1(41c54165e87b846a845da581f408b96979288158) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "x2p-01m.3a", 0x0000000, 0x400000, CRC(14a5bb0e) SHA1(dfe3c3a53bd4c58743d8039b5344d3afbe2a9c24) )
ROM_REGION( 0x8, "cat702_2", 0 )
@@ -3768,10 +3844,10 @@ ROM_START( strider2 )
ROM_LOAD( "hr2-09m.3k", 0x2000000, 0x800000, CRC(cdd43e6b) SHA1(346a83deadecd56428276acefc2ce95249a49921) )
ROM_LOAD( "hr2-10m.4k", 0x2800000, 0x400000, CRC(d95b3f37) SHA1(b6566c1184718f6c0986d13060894c0fb400c201) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "hr2_02.2e", 0x00000, 0x20000, CRC(acd8d385) SHA1(5edb61c3d66d2d09a28a71db52eee3a9f7db8c9d) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "hr2-01m.3a", 0x0000000, 0x200000, CRC(510a16d1) SHA1(05f10c2921a4d3b1fab4d0a4ea06351809bdbb07) )
ROM_RELOAD( 0x0200000, 0x200000 )
@@ -3794,10 +3870,10 @@ ROM_START( strider2u )
ROM_LOAD( "hr2-09m.3k", 0x2000000, 0x800000, CRC(cdd43e6b) SHA1(346a83deadecd56428276acefc2ce95249a49921) )
ROM_LOAD( "hr2-10m.4k", 0x2800000, 0x400000, CRC(d95b3f37) SHA1(b6566c1184718f6c0986d13060894c0fb400c201) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "hr2_02.2e", 0x00000, 0x20000, CRC(acd8d385) SHA1(5edb61c3d66d2d09a28a71db52eee3a9f7db8c9d) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "hr2-01m.3a", 0x0000000, 0x200000, CRC(510a16d1) SHA1(05f10c2921a4d3b1fab4d0a4ea06351809bdbb07) )
ROM_RELOAD( 0x0200000, 0x200000 )
@@ -3820,10 +3896,10 @@ ROM_START( strider2a )
ROM_LOAD( "hr2-09m.3k", 0x2000000, 0x800000, CRC(cdd43e6b) SHA1(346a83deadecd56428276acefc2ce95249a49921) )
ROM_LOAD( "hr2-10m.4k", 0x2800000, 0x400000, CRC(d95b3f37) SHA1(b6566c1184718f6c0986d13060894c0fb400c201) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "hr2_02.2e", 0x00000, 0x20000, CRC(acd8d385) SHA1(5edb61c3d66d2d09a28a71db52eee3a9f7db8c9d) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "hr2-01m.3a", 0x0000000, 0x200000, CRC(510a16d1) SHA1(05f10c2921a4d3b1fab4d0a4ea06351809bdbb07) )
ROM_RELOAD( 0x0200000, 0x200000 )
@@ -3846,10 +3922,10 @@ ROM_START( shiryu2 )
ROM_LOAD( "hr2-09m.3k", 0x2000000, 0x800000, CRC(cdd43e6b) SHA1(346a83deadecd56428276acefc2ce95249a49921) )
ROM_LOAD( "hr2-10m.4k", 0x2800000, 0x400000, CRC(d95b3f37) SHA1(b6566c1184718f6c0986d13060894c0fb400c201) )
- ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_REGION( 0x40000, "audiocpu", 0 ) // 64k for the audio CPU (+banks)
ROM_LOAD( "hr2_02.2e", 0x00000, 0x20000, CRC(acd8d385) SHA1(5edb61c3d66d2d09a28a71db52eee3a9f7db8c9d) )
- ROM_REGION( 0x400000, "qsound", 0 ) /* Q Sound Samples */
+ ROM_REGION( 0x400000, "qsound", 0 ) // Q Sound Samples
ROM_LOAD16_WORD_SWAP( "hr2-01m.3a", 0x0000000, 0x200000, CRC(510a16d1) SHA1(05f10c2921a4d3b1fab4d0a4ea06351809bdbb07) )
ROM_RELOAD( 0x0200000, 0x200000 )
@@ -3904,16 +3980,16 @@ ROM_START( glpracr2j )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "1.119", 0x0000001, 0x100000, CRC(0fe2d2df) SHA1(031369f4e1138e2ee293c321e5ee418e560b3f06) )
- ROM_LOAD16_BYTE( "2.120", 0x0000000, 0x100000, CRC(8e3fb1c0) SHA1(2126c1e43bee7cd938e0f2a3ea841da8811223cd) )
- ROM_LOAD( "gra2-0.217", 0x0800000, 0x400000, CRC(a077ffa3) SHA1(73492ec2145246276bfe25b27d7de4f6393124f4) )
- ROM_LOAD( "gra2-1.218", 0x0c00000, 0x400000, CRC(28ce033c) SHA1(4dc53e5c82fde683efd72c66b397d56aa72d52b9) )
- ROM_LOAD( "gra2-2.219", 0x1000000, 0x400000, CRC(0c9cb7da) SHA1(af23c11e69428413ff4d1c2746adb786de927cb5) )
- ROM_LOAD( "gra2-3.220", 0x1400000, 0x400000, CRC(264e3a0c) SHA1(c1509b16d7192b9f61dbceb299290239219adefd) )
- ROM_LOAD( "gra2-4.221", 0x1800000, 0x400000, CRC(056bf022) SHA1(f73152268e09249bad2ffd4df5cfb4f0f4a494ae) )
- ROM_LOAD( "gra2-5.222", 0x1c00000, 0x400000, CRC(3eb97009) SHA1(e3ed4bdb0dcf581dc05b19306a3db0b989d00f75) )
- ROM_LOAD( "gra2-6.223", 0x2000000, 0x400000, CRC(8c6b4c4c) SHA1(0053f736dcd437c01da8cadd820e8af658ce6077) )
- ROM_LOAD( "gra2-7.323", 0x2400000, 0x400000, CRC(7dfb6c54) SHA1(6e9a9a4172f957ba354ddd82c30735a56c5934b1) )
+ ROM_LOAD16_BYTE( "1.119", 0x0000001, 0x100000, CRC(0fe2d2df) SHA1(031369f4e1138e2ee293c321e5ee418e560b3f06) )
+ ROM_LOAD16_BYTE( "2.120", 0x0000000, 0x100000, CRC(8e3fb1c0) SHA1(2126c1e43bee7cd938e0f2a3ea841da8811223cd) )
+ ROM_LOAD( "gra2-0.217", 0x0800000, 0x400000, CRC(a077ffa3) SHA1(73492ec2145246276bfe25b27d7de4f6393124f4) )
+ ROM_LOAD( "gra2-1.218", 0x0c00000, 0x400000, CRC(28ce033c) SHA1(4dc53e5c82fde683efd72c66b397d56aa72d52b9) )
+ ROM_LOAD( "gra2-2.219", 0x1000000, 0x400000, CRC(0c9cb7da) SHA1(af23c11e69428413ff4d1c2746adb786de927cb5) )
+ ROM_LOAD( "gra2-3.220", 0x1400000, 0x400000, CRC(264e3a0c) SHA1(c1509b16d7192b9f61dbceb299290239219adefd) )
+ ROM_LOAD( "gra2-4.221", 0x1800000, 0x400000, CRC(056bf022) SHA1(f73152268e09249bad2ffd4df5cfb4f0f4a494ae) )
+ ROM_LOAD( "gra2-5.222", 0x1c00000, 0x400000, CRC(3eb97009) SHA1(e3ed4bdb0dcf581dc05b19306a3db0b989d00f75) )
+ ROM_LOAD( "gra2-6.223", 0x2000000, 0x400000, CRC(8c6b4c4c) SHA1(0053f736dcd437c01da8cadd820e8af658ce6077) )
+ ROM_LOAD( "gra2-7.323", 0x2400000, 0x400000, CRC(7dfb6c54) SHA1(6e9a9a4172f957ba354ddd82c30735a56c5934b1) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg02", 0x000000, 0x000008, CRC(ce1d5558) SHA1(1d704636b14bb11889c06b344043555803ad6e08) )
@@ -3923,19 +3999,19 @@ ROM_START( glpracr2l )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "gra2b.119", 0x0000001, 0x100000, CRC(43abee7c) SHA1(ea0afc820d8480c12c9af54057877ff11a8012fb) )
- ROM_LOAD16_BYTE( "gra2a.120", 0x0000000, 0x100000, CRC(f60096d4) SHA1(5349d780d41a5711b483cd7eb66cd4e496b4fbe4) )
- ROM_LOAD( "gra2-0.217", 0x0800000, 0x400000, CRC(a077ffa3) SHA1(73492ec2145246276bfe25b27d7de4f6393124f4) )
- ROM_LOAD( "gra2-1.218", 0x0c00000, 0x400000, CRC(28ce033c) SHA1(4dc53e5c82fde683efd72c66b397d56aa72d52b9) )
- ROM_LOAD( "gra2-2.219", 0x1000000, 0x400000, CRC(0c9cb7da) SHA1(af23c11e69428413ff4d1c2746adb786de927cb5) )
- ROM_LOAD( "gra2-3.220", 0x1400000, 0x400000, CRC(264e3a0c) SHA1(c1509b16d7192b9f61dbceb299290239219adefd) )
- ROM_LOAD( "gra2-4.221", 0x1800000, 0x400000, CRC(056bf022) SHA1(f73152268e09249bad2ffd4df5cfb4f0f4a494ae) )
- ROM_LOAD( "gra2-5.222", 0x1c00000, 0x400000, CRC(3eb97009) SHA1(e3ed4bdb0dcf581dc05b19306a3db0b989d00f75) )
- ROM_LOAD( "gra2-6.223", 0x2000000, 0x400000, CRC(8c6b4c4c) SHA1(0053f736dcd437c01da8cadd820e8af658ce6077) )
- ROM_LOAD( "gra2-7.323", 0x2400000, 0x400000, CRC(7dfb6c54) SHA1(6e9a9a4172f957ba354ddd82c30735a56c5934b1) )
+ ROM_LOAD16_BYTE( "gra2b.119", 0x0000001, 0x100000, CRC(43abee7c) SHA1(ea0afc820d8480c12c9af54057877ff11a8012fb) )
+ ROM_LOAD16_BYTE( "gra2a.120", 0x0000000, 0x100000, CRC(f60096d4) SHA1(5349d780d41a5711b483cd7eb66cd4e496b4fbe4) )
+ ROM_LOAD( "gra2-0.217", 0x0800000, 0x400000, CRC(a077ffa3) SHA1(73492ec2145246276bfe25b27d7de4f6393124f4) )
+ ROM_LOAD( "gra2-1.218", 0x0c00000, 0x400000, CRC(28ce033c) SHA1(4dc53e5c82fde683efd72c66b397d56aa72d52b9) )
+ ROM_LOAD( "gra2-2.219", 0x1000000, 0x400000, CRC(0c9cb7da) SHA1(af23c11e69428413ff4d1c2746adb786de927cb5) )
+ ROM_LOAD( "gra2-3.220", 0x1400000, 0x400000, CRC(264e3a0c) SHA1(c1509b16d7192b9f61dbceb299290239219adefd) )
+ ROM_LOAD( "gra2-4.221", 0x1800000, 0x400000, CRC(056bf022) SHA1(f73152268e09249bad2ffd4df5cfb4f0f4a494ae) )
+ ROM_LOAD( "gra2-5.222", 0x1c00000, 0x400000, CRC(3eb97009) SHA1(e3ed4bdb0dcf581dc05b19306a3db0b989d00f75) )
+ ROM_LOAD( "gra2-6.223", 0x2000000, 0x400000, CRC(8c6b4c4c) SHA1(0053f736dcd437c01da8cadd820e8af658ce6077) )
+ ROM_LOAD( "gra2-7.323", 0x2400000, 0x400000, CRC(7dfb6c54) SHA1(6e9a9a4172f957ba354ddd82c30735a56c5934b1) )
ROM_REGION( 0x040000, "link", 0 )
- ROM_LOAD( "link3118.bin", 0x0000000, 0x040000, CRC(a4d4761e) SHA1(3fb25dfa5220d25093588d9501e0666214491100) )
+ ROM_LOAD( "link3118.bin", 0x0000000, 0x040000, CRC(a4d4761e) SHA1(3fb25dfa5220d25093588d9501e0666214491100) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg02", 0x000000, 0x000008, CRC(ce1d5558) SHA1(1d704636b14bb11889c06b344043555803ad6e08) )
@@ -3945,24 +4021,24 @@ ROM_START( cbaj )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "cbaj_1.119", 0x0000001, 0x080000, CRC(814f8b4b) SHA1(17966038a692d0701139660f25725d7c10a2a928) )
- ROM_LOAD16_BYTE( "cbaj_2.120", 0x0000000, 0x080000, CRC(89286229) SHA1(18a84ef648ec3b79707eb42b55563adf38dffd0d) )
- ROM_LOAD( "cb-00.216", 0x0400000, 0x400000, CRC(3db68bea) SHA1(77ab334e0c02e608b11d8fdb9505b2301f6f9afb) )
- ROM_LOAD( "cb-01.217", 0x0800000, 0x400000, CRC(481040bc) SHA1(c6fe575b77d1eb5f613691dec5ed08929b72b955) )
- ROM_LOAD( "cb-02.218", 0x0c00000, 0x400000, CRC(858f116c) SHA1(e3546862d367d2fe88913fea3185b23bc6a9777d) )
- ROM_LOAD( "cb-03.219", 0x1000000, 0x400000, CRC(3576ea2a) SHA1(a5ee7bb9f4650e99ee067eb1cc28c62d9099a6cf) )
- ROM_LOAD( "cb-04.220", 0x1400000, 0x400000, CRC(551c4b29) SHA1(c3f8508a006b475491c9ea20eb64c3bea6b35afb) )
- ROM_LOAD( "cb-05.221", 0x1800000, 0x400000, CRC(7da453da) SHA1(85b2c93b9453e8c7791b530b7e036e4ef6abc077) )
- ROM_LOAD( "cb-06.222", 0x1c00000, 0x400000, CRC(833cb18b) SHA1(dbc390e1dbf3e7815eb3d170c0890d3785d8002c) )
- ROM_LOAD( "cb-07.223", 0x2000000, 0x400000, CRC(3b64ce9e) SHA1(a137da126295736bb7643655d52bd570004e87fd) )
- ROM_LOAD( "cb-08.323", 0x2400000, 0x400000, CRC(57cc482e) SHA1(603c3d13a6cd796c209a97aa7e63b77bdbf71580) )
+ ROM_LOAD16_BYTE( "cbaj_1.119", 0x0000001, 0x080000, CRC(814f8b4b) SHA1(17966038a692d0701139660f25725d7c10a2a928) )
+ ROM_LOAD16_BYTE( "cbaj_2.120", 0x0000000, 0x080000, CRC(89286229) SHA1(18a84ef648ec3b79707eb42b55563adf38dffd0d) )
+ ROM_LOAD( "cb-00.216", 0x0400000, 0x400000, CRC(3db68bea) SHA1(77ab334e0c02e608b11d8fdb9505b2301f6f9afb) )
+ ROM_LOAD( "cb-01.217", 0x0800000, 0x400000, CRC(481040bc) SHA1(c6fe575b77d1eb5f613691dec5ed08929b72b955) )
+ ROM_LOAD( "cb-02.218", 0x0c00000, 0x400000, CRC(858f116c) SHA1(e3546862d367d2fe88913fea3185b23bc6a9777d) )
+ ROM_LOAD( "cb-03.219", 0x1000000, 0x400000, CRC(3576ea2a) SHA1(a5ee7bb9f4650e99ee067eb1cc28c62d9099a6cf) )
+ ROM_LOAD( "cb-04.220", 0x1400000, 0x400000, CRC(551c4b29) SHA1(c3f8508a006b475491c9ea20eb64c3bea6b35afb) )
+ ROM_LOAD( "cb-05.221", 0x1800000, 0x400000, CRC(7da453da) SHA1(85b2c93b9453e8c7791b530b7e036e4ef6abc077) )
+ ROM_LOAD( "cb-06.222", 0x1c00000, 0x400000, CRC(833cb18b) SHA1(dbc390e1dbf3e7815eb3d170c0890d3785d8002c) )
+ ROM_LOAD( "cb-07.223", 0x2000000, 0x400000, CRC(3b64ce9e) SHA1(a137da126295736bb7643655d52bd570004e87fd) )
+ ROM_LOAD( "cb-08.323", 0x2400000, 0x400000, CRC(57cc482e) SHA1(603c3d13a6cd796c209a97aa7e63b77bdbf71580) )
ROM_REGION( 0x040000, "audiocpu", 0 )
- ROM_LOAD( "cbaj_z80.3118", 0x0000000, 0x040000, CRC(92b02ad2) SHA1(f72317679ecbd8a0c3b081baaf9ff20a8c9ec00f) )
+ ROM_LOAD( "cbaj_z80.3118", 0x0000000, 0x040000, CRC(92b02ad2) SHA1(f72317679ecbd8a0c3b081baaf9ff20a8c9ec00f) )
ROM_REGION( 0x800000, "ymz", 0 ) /* YMZ280B Sound Samples */
- ROM_LOAD( "cb-vo.5120", 0x000000, 0x400000, CRC(afb05d6d) SHA1(0c08010579813814fbf8a978cf4376bab18697a4) )
- ROM_LOAD( "cb-se.5121", 0x400000, 0x400000, CRC(f12b3db9) SHA1(d5231ad664603050bdca2081b114b07fc905ddc2) )
+ ROM_LOAD( "cb-vo.5120", 0x000000, 0x400000, CRC(afb05d6d) SHA1(0c08010579813814fbf8a978cf4376bab18697a4) )
+ ROM_LOAD( "cb-se.5121", 0x400000, 0x400000, CRC(f12b3db9) SHA1(d5231ad664603050bdca2081b114b07fc905ddc2) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg03", 0x000000, 0x000008, CRC(8be79633) SHA1(f38f881b6139eb8368e593904cb50b6e68bdf2e9) )
@@ -3980,12 +4056,12 @@ ROM_START( shngmtkb )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "shmj-b.119", 0x0000001, 0x080000, CRC(65522c67) SHA1(b5981e5859aab742a87d6742feb9c55a3e6ba13f) )
- ROM_LOAD16_BYTE( "shmj-a.120", 0x0000000, 0x080000, CRC(a789defa) SHA1(f8f0d1c9e3492cda652a9561ef1d549b92f73efd) )
- ROM_LOAD( "sh-00.217", 0x0800000, 0x400000, CRC(081fed1c) SHA1(fb18add9521b8b104329871b4c1b8ae5e0254f8b) )
- ROM_LOAD( "sh-01.218", 0x0c00000, 0x400000, CRC(5a84ea96) SHA1(af4972cc10706999361d7505b975f5f1e1fc6761) )
- ROM_LOAD( "sh-02.219", 0x1000000, 0x400000, CRC(c8f80d76) SHA1(51e4eac6cec8e37e5b8c0e7d341feea574add7da) )
- ROM_LOAD( "sh-03.220", 0x1400000, 0x400000, CRC(daaa4c73) SHA1(eb31d4cadd9eba3d3431f3f6ef880bb2effa0b9f) )
+ ROM_LOAD16_BYTE( "shmj-b.119", 0x0000001, 0x080000, CRC(65522c67) SHA1(b5981e5859aab742a87d6742feb9c55a3e6ba13f) )
+ ROM_LOAD16_BYTE( "shmj-a.120", 0x0000000, 0x080000, CRC(a789defa) SHA1(f8f0d1c9e3492cda652a9561ef1d549b92f73efd) )
+ ROM_LOAD( "sh-00.217", 0x0800000, 0x400000, CRC(081fed1c) SHA1(fb18add9521b8b104329871b4c1b8ae5e0254f8b) )
+ ROM_LOAD( "sh-01.218", 0x0c00000, 0x400000, CRC(5a84ea96) SHA1(af4972cc10706999361d7505b975f5f1e1fc6761) )
+ ROM_LOAD( "sh-02.219", 0x1000000, 0x400000, CRC(c8f80d76) SHA1(51e4eac6cec8e37e5b8c0e7d341feea574add7da) )
+ ROM_LOAD( "sh-03.220", 0x1400000, 0x400000, CRC(daaa4c73) SHA1(eb31d4cadd9eba3d3431f3f6ef880bb2effa0b9f) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg04", 0x000000, 0x000008, CRC(2711a75f) SHA1(400cd6f28826ba0ad1125eda21507e5ebf5caccf) )
@@ -4014,12 +4090,12 @@ ROM_START( doappk )
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
ROM_LOAD16_BYTE( "doapp_u0119.119", 0x0000001, 0x100000, CRC(9084704e) SHA1(616b3e65a32768767209ae77c48ad34d11b31754) )
ROM_LOAD16_BYTE( "doapp_u0120.120", 0x0000000, 0x100000, CRC(720a6983) SHA1(d38783110440ffa00036b86f97bff5edb6a5673f) )
- ROM_LOAD( "doapp-0.216", 0x0400000, 0x400000, CRC(acc6c539) SHA1(a744567a3d75634098b1749103307981be9acbdd) )
- ROM_LOAD( "doapp-1.217", 0x0800000, 0x400000, CRC(14b961c4) SHA1(3fae1fcb4665ba8bad391881b26c2d087718d42f) )
- ROM_LOAD( "doapp-2.218", 0x0c00000, 0x400000, CRC(134f698f) SHA1(6422972cf5d30a0f09f0c20f042691d5969207b4) )
- ROM_LOAD( "doapp-3.219", 0x1000000, 0x400000, CRC(1c6540f3) SHA1(8631fde93a1da6325d7b31c7edf12c964f0ac4fc) )
- ROM_LOAD( "doapp-4.220", 0x1400000, 0x400000, CRC(f83bacf7) SHA1(5bd66da993f0db966581dde80dd7e5b377754412) )
- ROM_LOAD( "doapp-5.221", 0x1800000, 0x400000, CRC(e11e8b71) SHA1(b1d1b9532b5f074ce216a603436d5674d136865d) )
+ ROM_LOAD( "doapp-0.216", 0x0400000, 0x400000, CRC(acc6c539) SHA1(a744567a3d75634098b1749103307981be9acbdd) )
+ ROM_LOAD( "doapp-1.217", 0x0800000, 0x400000, CRC(14b961c4) SHA1(3fae1fcb4665ba8bad391881b26c2d087718d42f) )
+ ROM_LOAD( "doapp-2.218", 0x0c00000, 0x400000, CRC(134f698f) SHA1(6422972cf5d30a0f09f0c20f042691d5969207b4) )
+ ROM_LOAD( "doapp-3.219", 0x1000000, 0x400000, CRC(1c6540f3) SHA1(8631fde93a1da6325d7b31c7edf12c964f0ac4fc) )
+ ROM_LOAD( "doapp-4.220", 0x1400000, 0x400000, CRC(f83bacf7) SHA1(5bd66da993f0db966581dde80dd7e5b377754412) )
+ ROM_LOAD( "doapp-5.221", 0x1800000, 0x400000, CRC(e11e8b71) SHA1(b1d1b9532b5f074ce216a603436d5674d136865d) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg05", 0x000000, 0x000008, CRC(5748a4ca) SHA1(c88d73f6a646a9ddefdfd84cba70d591759c069f) )
@@ -4029,13 +4105,13 @@ ROM_START( tondemo )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "u0119.bin", 0x0000001, 0x100000, CRC(5711e301) SHA1(005375d32c1eda9bd39e46326880a62506d06389) )
- ROM_LOAD16_BYTE( "u0120.bin", 0x0000000, 0x100000, CRC(0b8312c6) SHA1(93e0e4b796cc953daf7ed2ff2f327aed07cf833a) )
- ROM_LOAD( "tca-0.217", 0x0800000, 0x400000, CRC(ef175910) SHA1(b77aa9016804172d433d97d5fdc242a1361e941c) )
- ROM_LOAD( "tca-1.218", 0x0c00000, 0x400000, CRC(c3474e8a) SHA1(46dd0ae7cd2e54c639fe39d6965ef71ce6a1b921) )
- ROM_LOAD( "tca-2.219", 0x1000000, 0x400000, CRC(89b8e1a8) SHA1(70c5f0f2d0a7869e29b62b32fa485f941b683678) )
- ROM_LOAD( "tca-3.220", 0x1400000, 0x400000, CRC(4fcf8032) SHA1(3ea815548c3bda32b1d4e88454c29e5025431b1c) )
- ROM_LOAD( "tca-4.221", 0x1800000, 0x400000, CRC(c9e23f25) SHA1(145d4e7f0cb67d2552559ce90305a56802a253f9) )
+ ROM_LOAD16_BYTE( "u0119.bin", 0x0000001, 0x100000, CRC(5711e301) SHA1(005375d32c1eda9bd39e46326880a62506d06389) )
+ ROM_LOAD16_BYTE( "u0120.bin", 0x0000000, 0x100000, CRC(0b8312c6) SHA1(93e0e4b796cc953daf7ed2ff2f327aed07cf833a) )
+ ROM_LOAD( "tca-0.217", 0x0800000, 0x400000, CRC(ef175910) SHA1(b77aa9016804172d433d97d5fdc242a1361e941c) )
+ ROM_LOAD( "tca-1.218", 0x0c00000, 0x400000, CRC(c3474e8a) SHA1(46dd0ae7cd2e54c639fe39d6965ef71ce6a1b921) )
+ ROM_LOAD( "tca-2.219", 0x1000000, 0x400000, CRC(89b8e1a8) SHA1(70c5f0f2d0a7869e29b62b32fa485f941b683678) )
+ ROM_LOAD( "tca-3.220", 0x1400000, 0x400000, CRC(4fcf8032) SHA1(3ea815548c3bda32b1d4e88454c29e5025431b1c) )
+ ROM_LOAD( "tca-4.221", 0x1800000, 0x400000, CRC(c9e23f25) SHA1(145d4e7f0cb67d2552559ce90305a56802a253f9) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg09", 0x000000, 0x000008, CRC(bb4a157c) SHA1(8ea729c3c2694bee12292b9654b86ff6a9e45f94) ) // matches et05
@@ -4047,17 +4123,17 @@ ROM_START( glpracr3 )
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
ROM_LOAD16_BYTE( "1.119", 0x0000001, 0x100000, CRC(89bdf567) SHA1(916accbcad52e9ee4e3b28a339138fe2bfbecdfe) )
ROM_LOAD16_BYTE( "2.120", 0x0000000, 0x100000, CRC(042273fb) SHA1(eb98c4e74f385ddc6545b9250df5858b39fe361d) )
- ROM_LOAD( "gra3-0.216", 0x0400000, 0x400000, CRC(b405ee65) SHA1(8ba9872e4c166e3b659a2802554bf1e964f64620) )
- ROM_LOAD( "gra3-1.217", 0x0800000, 0x400000, CRC(a06f05ac) SHA1(ade224533d75c64cb188b78bdca908c1fa882492) )
- ROM_LOAD( "gra3-2.218", 0x0c00000, 0x400000, CRC(31793f9b) SHA1(310c2dff84d17c9ed7f59e249b22e9394edcb444) )
- ROM_LOAD( "gra3-3.219", 0x1000000, 0x400000, CRC(d59fb3eb) SHA1(2db2cc1d4884d54c415531053319f2b2ad65361f) )
- ROM_LOAD( "gra3-4.220", 0x1400000, 0x400000, CRC(59a0a105) SHA1(6a585c9eaa8d9b5dad798d9d28d73f04bc838114) )
- ROM_LOAD( "gra3-5.221", 0x1800000, 0x400000, CRC(4994fb17) SHA1(59b3e6c333e55ca8b6b4b00cd52b51e3e59a5657) )
- ROM_LOAD( "gra3-6.222", 0x1c00000, 0x400000, CRC(1362c1af) SHA1(eae5b3cb11d361b3aa3f572e49800c0b2e3544ca) )
- ROM_LOAD( "gra3-7.223", 0x2000000, 0x400000, CRC(73565e1f) SHA1(74311ee94e3abc8428b4a8b1c6c3dacd883b5646) )
+ ROM_LOAD( "gra3-0.216", 0x0400000, 0x400000, CRC(b405ee65) SHA1(8ba9872e4c166e3b659a2802554bf1e964f64620) )
+ ROM_LOAD( "gra3-1.217", 0x0800000, 0x400000, CRC(a06f05ac) SHA1(ade224533d75c64cb188b78bdca908c1fa882492) )
+ ROM_LOAD( "gra3-2.218", 0x0c00000, 0x400000, CRC(31793f9b) SHA1(310c2dff84d17c9ed7f59e249b22e9394edcb444) )
+ ROM_LOAD( "gra3-3.219", 0x1000000, 0x400000, CRC(d59fb3eb) SHA1(2db2cc1d4884d54c415531053319f2b2ad65361f) )
+ ROM_LOAD( "gra3-4.220", 0x1400000, 0x400000, CRC(59a0a105) SHA1(6a585c9eaa8d9b5dad798d9d28d73f04bc838114) )
+ ROM_LOAD( "gra3-5.221", 0x1800000, 0x400000, CRC(4994fb17) SHA1(59b3e6c333e55ca8b6b4b00cd52b51e3e59a5657) )
+ ROM_LOAD( "gra3-6.222", 0x1c00000, 0x400000, CRC(1362c1af) SHA1(eae5b3cb11d361b3aa3f572e49800c0b2e3544ca) )
+ ROM_LOAD( "gra3-7.223", 0x2000000, 0x400000, CRC(73565e1f) SHA1(74311ee94e3abc8428b4a8b1c6c3dacd883b5646) )
ROM_REGION( 0x200, "misc", 0 )
- ROM_LOAD( "rom1.gal16v8d.u0117.bin", 0x0000, 0x117, CRC(cf8ebc23) SHA1(0662f8ba418eb9187fb7a86cc8c0d86220dcdbf0) ) // unprotected, verified on PCB, near the MG08 security chip
+ ROM_LOAD( "rom1.gal16v8d.u0117.bin", 0x0000, 0x117, CRC(cf8ebc23) SHA1(0662f8ba418eb9187fb7a86cc8c0d86220dcdbf0) ) // unprotected, verified on PCB, near the MG08 security chip
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg08", 0x000000, 0x000008, CRC(679367fe) SHA1(495b03e1cdad9d6aaf509b73d837340e2b1bb23b) )
@@ -4086,13 +4162,13 @@ ROM_START( twcupmil )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "twm-ep.119", 0x0000001, 0x100000, CRC(5f2908fb) SHA1(fc7ac1f6e81543678705e6e510dbf786b1502444) )
- ROM_LOAD16_BYTE( "twm-ep.120", 0x0000000, 0x100000, CRC(1a0ef17a) SHA1(bb7123610d3791c08577b87c8be59a0dd2cc33f1) )
- ROM_LOAD( "twm-0.216", 0x0400000, 0x400000, CRC(39cbc56a) SHA1(931d0d729620ef20e5c4fd521bce45cdb1742127) )
- ROM_LOAD( "twm-1.217", 0x0800000, 0x400000, CRC(fae0687a) SHA1(383a86f55441be287075af046ebac6a5ab54e6cf) )
- ROM_LOAD( "twm-2.218", 0x0c00000, 0x400000, CRC(cb852264) SHA1(a7a2f3d6f723ddd80c57ac63522a1a0bf526a7b3) )
- ROM_LOAD( "twm-3.219", 0x1000000, 0x400000, CRC(7c9f6925) SHA1(32519a238810d02181eaf5c2344334c523fa77d1) )
- ROM_LOAD( "twm-4.220", 0x1400000, 0x400000, CRC(17cd0ec9) SHA1(37581530e974af692ab71471d0238801cd19c843) )
+ ROM_LOAD16_BYTE( "twm-ep.119", 0x0000001, 0x100000, CRC(5f2908fb) SHA1(fc7ac1f6e81543678705e6e510dbf786b1502444) )
+ ROM_LOAD16_BYTE( "twm-ep.120", 0x0000000, 0x100000, CRC(1a0ef17a) SHA1(bb7123610d3791c08577b87c8be59a0dd2cc33f1) )
+ ROM_LOAD( "twm-0.216", 0x0400000, 0x400000, CRC(39cbc56a) SHA1(931d0d729620ef20e5c4fd521bce45cdb1742127) )
+ ROM_LOAD( "twm-1.217", 0x0800000, 0x400000, CRC(fae0687a) SHA1(383a86f55441be287075af046ebac6a5ab54e6cf) )
+ ROM_LOAD( "twm-2.218", 0x0c00000, 0x400000, CRC(cb852264) SHA1(a7a2f3d6f723ddd80c57ac63522a1a0bf526a7b3) )
+ ROM_LOAD( "twm-3.219", 0x1000000, 0x400000, CRC(7c9f6925) SHA1(32519a238810d02181eaf5c2344334c523fa77d1) )
+ ROM_LOAD( "twm-4.220", 0x1400000, 0x400000, CRC(17cd0ec9) SHA1(37581530e974af692ab71471d0238801cd19c843) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg13", 0x000000, 0x000008, CRC(5778418e) SHA1(7c4d6922bbe726e0f25297f8528e94b41023581b) )
@@ -4102,20 +4178,20 @@ ROM_START( flamegun )
TPS_BIOS
ROM_REGION32_LE( 0x03800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "flamegun.119", 0x0000001, 0x100000, CRC(bc8e9e29) SHA1(02e4f079f0ed864dbc056d5f64d33a0522c034fd) )
- ROM_LOAD16_BYTE( "flamegun.120", 0x0000000, 0x100000, CRC(387f3070) SHA1(6b12765f1d3ec5f3d1cdfd961fba72a319d65ff4) )
- ROM_LOAD( "fg00.216", 0x0400000, 0x400000, CRC(f33736ca) SHA1(7b18f9fef1df913b7ed3a2c97e9c4925790d86c5) )
- ROM_LOAD( "fg01.217", 0x0800000, 0x400000, CRC(8980ff44) SHA1(f677bf5d279ad7731730b7e36ebf33d554903ce6) )
- ROM_LOAD( "fg02.218", 0x0c00000, 0x400000, CRC(97d1b032) SHA1(1d23cd40ced002ae1fe2fb009d2f31d8612b125a) )
- ROM_LOAD( "fg03.219", 0x1000000, 0x400000, CRC(cf84508c) SHA1(2a1173e3751f5a8b2400219a75f23d2450a0ebd6) )
- ROM_LOAD( "fg04.220", 0x1400000, 0x400000, CRC(5cc333fa) SHA1(fd81e811ef2026b245e65c104d24ae1679baa0f5) )
- ROM_LOAD( "fg05.221", 0x1800000, 0x400000, CRC(9490bc1b) SHA1(c5ea133de0a271793601f2701267d3ca82781f60) )
- ROM_LOAD( "fg06.222", 0x1c00000, 0x400000, CRC(8c29b754) SHA1(304086196321b7d9748456ed1af8965ac6192942) )
- ROM_LOAD( "fg07.223", 0x2000000, 0x400000, CRC(f62cefe8) SHA1(a59a3a41258e8474f0aeb0e3b8c2f73caf47ece4) )
- ROM_LOAD( "fg08.323", 0x2400000, 0x400000, CRC(855959b4) SHA1(994b7c8bd883a41470791802d5a07a98a553096e) )
- ROM_LOAD( "fg09.324", 0x2800000, 0x400000, CRC(82f129b4) SHA1(c0dcbc908c12f7cecbb051a671649edd20bac32c) )
- ROM_LOAD( "fg0a.325", 0x2c00000, 0x400000, CRC(f8d2b20c) SHA1(d0c9e413d72772ab8710e217d228e001b28667c8) )
- ROM_LOAD( "fb0b.326", 0x3000000, 0x400000, CRC(ad78ec79) SHA1(7e37a90a64c70f2c0024eaf30e1e4e028c0d858e) )
+ ROM_LOAD16_BYTE( "flamegun.119", 0x0000001, 0x100000, CRC(bc8e9e29) SHA1(02e4f079f0ed864dbc056d5f64d33a0522c034fd) )
+ ROM_LOAD16_BYTE( "flamegun.120", 0x0000000, 0x100000, CRC(387f3070) SHA1(6b12765f1d3ec5f3d1cdfd961fba72a319d65ff4) )
+ ROM_LOAD( "fg00.216", 0x0400000, 0x400000, CRC(f33736ca) SHA1(7b18f9fef1df913b7ed3a2c97e9c4925790d86c5) )
+ ROM_LOAD( "fg01.217", 0x0800000, 0x400000, CRC(8980ff44) SHA1(f677bf5d279ad7731730b7e36ebf33d554903ce6) )
+ ROM_LOAD( "fg02.218", 0x0c00000, 0x400000, CRC(97d1b032) SHA1(1d23cd40ced002ae1fe2fb009d2f31d8612b125a) )
+ ROM_LOAD( "fg03.219", 0x1000000, 0x400000, CRC(cf84508c) SHA1(2a1173e3751f5a8b2400219a75f23d2450a0ebd6) )
+ ROM_LOAD( "fg04.220", 0x1400000, 0x400000, CRC(5cc333fa) SHA1(fd81e811ef2026b245e65c104d24ae1679baa0f5) )
+ ROM_LOAD( "fg05.221", 0x1800000, 0x400000, CRC(9490bc1b) SHA1(c5ea133de0a271793601f2701267d3ca82781f60) )
+ ROM_LOAD( "fg06.222", 0x1c00000, 0x400000, CRC(8c29b754) SHA1(304086196321b7d9748456ed1af8965ac6192942) )
+ ROM_LOAD( "fg07.223", 0x2000000, 0x400000, CRC(f62cefe8) SHA1(a59a3a41258e8474f0aeb0e3b8c2f73caf47ece4) )
+ ROM_LOAD( "fg08.323", 0x2400000, 0x400000, CRC(855959b4) SHA1(994b7c8bd883a41470791802d5a07a98a553096e) )
+ ROM_LOAD( "fg09.324", 0x2800000, 0x400000, CRC(82f129b4) SHA1(c0dcbc908c12f7cecbb051a671649edd20bac32c) )
+ ROM_LOAD( "fg0a.325", 0x2c00000, 0x400000, CRC(f8d2b20c) SHA1(d0c9e413d72772ab8710e217d228e001b28667c8) )
+ ROM_LOAD( "fb0b.326", 0x3000000, 0x400000, CRC(ad78ec79) SHA1(7e37a90a64c70f2c0024eaf30e1e4e028c0d858e) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg06", 0x000000, 0x000008, CRC(a10556fe) SHA1(5c2ecbb9319517137c0bbce1e38e75c6aa5e8b6f) )
@@ -4125,20 +4201,20 @@ ROM_START( flamegunj )
TPS_BIOS
ROM_REGION32_LE( 0x03800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "fg_1.119", 0x0000001, 0x100000, CRC(1f2aa527) SHA1(de3a20d9aeb745fe82cd1d87bde26876e088483a) )
- ROM_LOAD16_BYTE( "fg_2.120", 0x0000000, 0x100000, CRC(a2cd4cad) SHA1(bf542eeb6e768b3e86bacdc79ab04be394ce3e63) )
- ROM_LOAD( "fg00.216", 0x0400000, 0x400000, CRC(f33736ca) SHA1(7b18f9fef1df913b7ed3a2c97e9c4925790d86c5) )
- ROM_LOAD( "fg01.217", 0x0800000, 0x400000, CRC(8980ff44) SHA1(f677bf5d279ad7731730b7e36ebf33d554903ce6) )
- ROM_LOAD( "fg02.218", 0x0c00000, 0x400000, CRC(97d1b032) SHA1(1d23cd40ced002ae1fe2fb009d2f31d8612b125a) )
- ROM_LOAD( "fg03.219", 0x1000000, 0x400000, CRC(cf84508c) SHA1(2a1173e3751f5a8b2400219a75f23d2450a0ebd6) )
- ROM_LOAD( "fg04.220", 0x1400000, 0x400000, CRC(5cc333fa) SHA1(fd81e811ef2026b245e65c104d24ae1679baa0f5) )
- ROM_LOAD( "fg05.221", 0x1800000, 0x400000, CRC(9490bc1b) SHA1(c5ea133de0a271793601f2701267d3ca82781f60) )
- ROM_LOAD( "fg06.222", 0x1c00000, 0x400000, CRC(8c29b754) SHA1(304086196321b7d9748456ed1af8965ac6192942) )
- ROM_LOAD( "fg07.223", 0x2000000, 0x400000, CRC(f62cefe8) SHA1(a59a3a41258e8474f0aeb0e3b8c2f73caf47ece4) )
- ROM_LOAD( "fg08.323", 0x2400000, 0x400000, CRC(855959b4) SHA1(994b7c8bd883a41470791802d5a07a98a553096e) )
- ROM_LOAD( "fg09.324", 0x2800000, 0x400000, CRC(82f129b4) SHA1(c0dcbc908c12f7cecbb051a671649edd20bac32c) )
- ROM_LOAD( "fg0a.325", 0x2c00000, 0x400000, CRC(f8d2b20c) SHA1(d0c9e413d72772ab8710e217d228e001b28667c8) )
- ROM_LOAD( "fb0b.326", 0x3000000, 0x400000, CRC(ad78ec79) SHA1(7e37a90a64c70f2c0024eaf30e1e4e028c0d858e) )
+ ROM_LOAD16_BYTE( "fg_1.119", 0x0000001, 0x100000, CRC(1f2aa527) SHA1(de3a20d9aeb745fe82cd1d87bde26876e088483a) )
+ ROM_LOAD16_BYTE( "fg_2.120", 0x0000000, 0x100000, CRC(a2cd4cad) SHA1(bf542eeb6e768b3e86bacdc79ab04be394ce3e63) )
+ ROM_LOAD( "fg00.216", 0x0400000, 0x400000, CRC(f33736ca) SHA1(7b18f9fef1df913b7ed3a2c97e9c4925790d86c5) )
+ ROM_LOAD( "fg01.217", 0x0800000, 0x400000, CRC(8980ff44) SHA1(f677bf5d279ad7731730b7e36ebf33d554903ce6) )
+ ROM_LOAD( "fg02.218", 0x0c00000, 0x400000, CRC(97d1b032) SHA1(1d23cd40ced002ae1fe2fb009d2f31d8612b125a) )
+ ROM_LOAD( "fg03.219", 0x1000000, 0x400000, CRC(cf84508c) SHA1(2a1173e3751f5a8b2400219a75f23d2450a0ebd6) )
+ ROM_LOAD( "fg04.220", 0x1400000, 0x400000, CRC(5cc333fa) SHA1(fd81e811ef2026b245e65c104d24ae1679baa0f5) )
+ ROM_LOAD( "fg05.221", 0x1800000, 0x400000, CRC(9490bc1b) SHA1(c5ea133de0a271793601f2701267d3ca82781f60) )
+ ROM_LOAD( "fg06.222", 0x1c00000, 0x400000, CRC(8c29b754) SHA1(304086196321b7d9748456ed1af8965ac6192942) )
+ ROM_LOAD( "fg07.223", 0x2000000, 0x400000, CRC(f62cefe8) SHA1(a59a3a41258e8474f0aeb0e3b8c2f73caf47ece4) )
+ ROM_LOAD( "fg08.323", 0x2400000, 0x400000, CRC(855959b4) SHA1(994b7c8bd883a41470791802d5a07a98a553096e) )
+ ROM_LOAD( "fg09.324", 0x2800000, 0x400000, CRC(82f129b4) SHA1(c0dcbc908c12f7cecbb051a671649edd20bac32c) )
+ ROM_LOAD( "fg0a.325", 0x2c00000, 0x400000, CRC(f8d2b20c) SHA1(d0c9e413d72772ab8710e217d228e001b28667c8) )
+ ROM_LOAD( "fb0b.326", 0x3000000, 0x400000, CRC(ad78ec79) SHA1(7e37a90a64c70f2c0024eaf30e1e4e028c0d858e) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg06", 0x000000, 0x000008, CRC(a10556fe) SHA1(5c2ecbb9319517137c0bbce1e38e75c6aa5e8b6f) )
@@ -4148,10 +4224,10 @@ ROM_START( lpadv )
TPS_BIOS
ROM_REGION32_LE( 0x1000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "lp_3.u0119", 0x000001, 0x100000, CRC(18cade44) SHA1(8a44156224c77c51f4f6ca61a0168e48dfcc6eda) )
- ROM_LOAD16_BYTE( "lp_4.u0120", 0x000000, 0x100000, CRC(12fffc02) SHA1(3294b65e4a0bbf501785565dd0c1f36f9bcea969) )
- ROM_LOAD( "rp00.u0216", 0x400000, 0x400000, CRC(d759d0d4) SHA1(47b009a5dfa81611276b1376bdab44dfad597e85) )
- ROM_LOAD( "rp01.u0217", 0x800000, 0x400000, CRC(5be576e1) SHA1(e24a96d179016d6d65205079874b35500760a642) )
+ ROM_LOAD16_BYTE( "lp_3.u0119", 0x000001, 0x100000, CRC(18cade44) SHA1(8a44156224c77c51f4f6ca61a0168e48dfcc6eda) )
+ ROM_LOAD16_BYTE( "lp_4.u0120", 0x000000, 0x100000, CRC(12fffc02) SHA1(3294b65e4a0bbf501785565dd0c1f36f9bcea969) )
+ ROM_LOAD( "rp00.u0216", 0x400000, 0x400000, CRC(d759d0d4) SHA1(47b009a5dfa81611276b1376bdab44dfad597e85) )
+ ROM_LOAD( "rp01.u0217", 0x800000, 0x400000, CRC(5be576e1) SHA1(e24a96d179016d6d65205079874b35500760a642) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg07", 0x000000, 0x000008, CRC(afec0e8e) SHA1(dc3c696181dfb5b7426d882094be5eee2619e2a5) )
@@ -4161,9 +4237,9 @@ ROM_START( mfjump )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "mfj-o.119", 0x0000001, 0x100000, CRC(0d724dc5) SHA1(2ba388fe6254c0cf3847fd173a414ee5ca31f4f4) )
- ROM_LOAD16_BYTE( "mfj-e.120", 0x0000000, 0x100000, CRC(86292bca) SHA1(b6a25ab828da3d5c8f6d945336513485708f3f5b) )
- ROM_LOAD( "mfj.216", 0x0400000, 0x400000, CRC(0d518dba) SHA1(100cd4d0a1e678e660336027f067a9a1f5cbad3e) )
+ ROM_LOAD16_BYTE( "mfj-o.119", 0x0000001, 0x100000, CRC(0d724dc5) SHA1(2ba388fe6254c0cf3847fd173a414ee5ca31f4f4) )
+ ROM_LOAD16_BYTE( "mfj-e.120", 0x0000000, 0x100000, CRC(86292bca) SHA1(b6a25ab828da3d5c8f6d945336513485708f3f5b) )
+ ROM_LOAD( "mfj.216", 0x0400000, 0x400000, CRC(0d518dba) SHA1(100cd4d0a1e678e660336027f067a9a1f5cbad3e) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg14", 0x000000, 0x000008, CRC(5fa9a8c2) SHA1(d927760279ebda185fecf879e62ceefe938acd81) )
@@ -4173,9 +4249,9 @@ ROM_START( tblkkuzu )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "tbk.u119", 0x0000001, 0x100000, CRC(621b07e1) SHA1(30773aaa333fdee7ef55db2f8adde010688abce1) )
- ROM_LOAD16_BYTE( "tbk.u120", 0x0000000, 0x100000, CRC(bb390f7d) SHA1(6bce88448fbb5308952f8c221e786be8aa51ceff) )
- ROM_LOAD( "tbk.u0216", 0x0400000, 0x400000, CRC(41f8285f) SHA1(3326ab83d96d51ed31fb5c2f30630ff480d45282) )
+ ROM_LOAD16_BYTE( "tbk.u119", 0x0000001, 0x100000, CRC(621b07e1) SHA1(30773aaa333fdee7ef55db2f8adde010688abce1) )
+ ROM_LOAD16_BYTE( "tbk.u120", 0x0000000, 0x100000, CRC(bb390f7d) SHA1(6bce88448fbb5308952f8c221e786be8aa51ceff) )
+ ROM_LOAD( "tbk.u0216", 0x0400000, 0x400000, CRC(41f8285f) SHA1(3326ab83d96d51ed31fb5c2f30630ff480d45282) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg12", 0x000000, 0x000008, CRC(584e6ea2) SHA1(f60fb556090d31f0f0fa1f8d87815eff6d2498a4) )
@@ -4185,20 +4261,20 @@ ROM_START( 1on1gov )
TPS_BIOS
ROM_REGION32_LE( 0x02800000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "1on1.u119", 0x0000001, 0x100000, CRC(10aecc19) SHA1(ad2fe6011551935907568cc3b4028f481034537c) )
- ROM_LOAD16_BYTE( "1on1.u120", 0x0000000, 0x100000, CRC(eea158bd) SHA1(2b2a56fcce46557201bbbab7b170ee64549ddafe) )
- ROM_LOAD( "ooo-0.u0217", 0x0800000, 0x400000, CRC(8b42f365) SHA1(6035a370f477f0f33894f642717fa0b012540d36) )
- ROM_LOAD( "ooo-1.u0218", 0x0c00000, 0x400000, CRC(65162f46) SHA1(db420a2f0d996b32cd4b6e9352d46a36fa31eaaa) )
- ROM_LOAD( "ooo-2.u0219", 0x1000000, 0x400000, CRC(14cf3a84) SHA1(60175a1fb2c765e4c3d0e30e77961f84cfa8485c) )
- ROM_LOAD( "ooo-3.u0220", 0x1400000, 0x400000, CRC(9a45f6ff) SHA1(e0ee90c545c821bf1d6b4709b1e40f93314c51a6) )
- ROM_LOAD( "ooo-4.u0221", 0x1800000, 0x400000, CRC(ba20a1fd) SHA1(7893f50de730624b8447f39fc7e25e4e334df845) )
- ROM_LOAD( "ooo-5.u0222", 0x1c00000, 0x400000, CRC(eed1953d) SHA1(8d3e738a07b9c6b6ca55be7b47444b5e3725065c) )
- ROM_LOAD( "ooo-6.u0223", 0x2000000, 0x400000, CRC(f74f38b6) SHA1(ff7f0ebff85fc982f8d1c13d6649d4c7c5da6c45) )
- ROM_LOAD( "ooo-7.u0323", 0x2400000, 0x400000, CRC(0e58777c) SHA1(9f8ee3c6d6d8b1482522500e18217577056d8c98) )
+ ROM_LOAD16_BYTE( "1on1.u119", 0x0000001, 0x100000, CRC(10aecc19) SHA1(ad2fe6011551935907568cc3b4028f481034537c) )
+ ROM_LOAD16_BYTE( "1on1.u120", 0x0000000, 0x100000, CRC(eea158bd) SHA1(2b2a56fcce46557201bbbab7b170ee64549ddafe) )
+ ROM_LOAD( "ooo-0.u0217", 0x0800000, 0x400000, CRC(8b42f365) SHA1(6035a370f477f0f33894f642717fa0b012540d36) )
+ ROM_LOAD( "ooo-1.u0218", 0x0c00000, 0x400000, CRC(65162f46) SHA1(db420a2f0d996b32cd4b6e9352d46a36fa31eaaa) )
+ ROM_LOAD( "ooo-2.u0219", 0x1000000, 0x400000, CRC(14cf3a84) SHA1(60175a1fb2c765e4c3d0e30e77961f84cfa8485c) )
+ ROM_LOAD( "ooo-3.u0220", 0x1400000, 0x400000, CRC(9a45f6ff) SHA1(e0ee90c545c821bf1d6b4709b1e40f93314c51a6) )
+ ROM_LOAD( "ooo-4.u0221", 0x1800000, 0x400000, CRC(ba20a1fd) SHA1(7893f50de730624b8447f39fc7e25e4e334df845) )
+ ROM_LOAD( "ooo-5.u0222", 0x1c00000, 0x400000, CRC(eed1953d) SHA1(8d3e738a07b9c6b6ca55be7b47444b5e3725065c) )
+ ROM_LOAD( "ooo-6.u0223", 0x2000000, 0x400000, CRC(f74f38b6) SHA1(ff7f0ebff85fc982f8d1c13d6649d4c7c5da6c45) )
+ ROM_LOAD( "ooo-7.u0323", 0x2400000, 0x400000, CRC(0e58777c) SHA1(9f8ee3c6d6d8b1482522500e18217577056d8c98) )
ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
/* Factory defaulted NVRAM, counters blanked, required security code included - region can be changed in test menu (default Japanese) */
- ROM_LOAD( "at28c16", 0x0000000, 0x000800, CRC(fe992f29) SHA1(73c9c4d40abd8f3a95d4eb20f3c65f3a5cdd1203) )
+ ROM_LOAD( "at28c16", 0x0000000, 0x000800, CRC(fe992f29) SHA1(73c9c4d40abd8f3a95d4eb20f3c65f3a5cdd1203) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg10", 0x000000, 0x000008, CRC(8a73da40) SHA1(d6803a4c1d240dec2a4d8ac43aa6d7e9df947026) )
@@ -4240,19 +4316,19 @@ ROM_START( aerofgts )
KN_BIOS
ROM_REGION32_LE( 0x0280000, "fixedroms", 0 )
- ROM_LOAD( "vs.ic5", 0x0000000, 0x080000, CRC(453dd514) SHA1(189fe5598485de160f5c0add90235ed63ed92747) )
- ROM_LOAD( "vs.ic6", 0x0080000, 0x080000, CRC(24257295) SHA1(fe6d969c407f2c26c3af2a2a5015dc83b1675e9a) )
- ROM_LOAD( "vs.ic7", 0x0100000, 0x080000, CRC(df5ba2f7) SHA1(19153084e7cff632380b67a2fff800644a2fbf7d) )
- ROM_LOAD( "vs.ic8", 0x0180000, 0x080000, CRC(df638f92) SHA1(5704eed2ef798a91a0398948af0324955ec38534) )
- ROM_LOAD( "vs.ic9", 0x0200000, 0x080000, CRC(1294aa24) SHA1(07ca2cc3f117cfd48d2ca558d9435a3fc238c0fe) )
+ ROM_LOAD( "vs.ic5", 0x0000000, 0x080000, CRC(453dd514) SHA1(189fe5598485de160f5c0add90235ed63ed92747) )
+ ROM_LOAD( "vs.ic6", 0x0080000, 0x080000, CRC(24257295) SHA1(fe6d969c407f2c26c3af2a2a5015dc83b1675e9a) )
+ ROM_LOAD( "vs.ic7", 0x0100000, 0x080000, CRC(df5ba2f7) SHA1(19153084e7cff632380b67a2fff800644a2fbf7d) )
+ ROM_LOAD( "vs.ic8", 0x0180000, 0x080000, CRC(df638f92) SHA1(5704eed2ef798a91a0398948af0324955ec38534) )
+ ROM_LOAD( "vs.ic9", 0x0200000, 0x080000, CRC(1294aa24) SHA1(07ca2cc3f117cfd48d2ca558d9435a3fc238c0fe) )
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "ic11.bin", 0x0000000, 0x400000, CRC(a93f6fee) SHA1(6f079643b50833f8fb497c49945ad23326cc9170) )
- ROM_LOAD( "ic12.bin", 0x0400000, 0x400000, CRC(9f584ef7) SHA1(12c04e198f17d1915f58e83aff45ca2e76773df8) )
- ROM_LOAD( "ic13.bin", 0x0800000, 0x400000, CRC(652e9c78) SHA1(a929b2944de72606338acb822c1031463e2b1cc5) )
- ROM_LOAD( "ic14.bin", 0x0c00000, 0x400000, CRC(c4ef1424) SHA1(1734a6ee6d0be94d24afefcf2a125b74747f53d0) )
- ROM_LOAD( "ic15.bin", 0x1000000, 0x400000, CRC(2551d816) SHA1(e1500d4bfa8cc55220c366a5852263ac2070da82) )
- ROM_LOAD( "ic16.bin", 0x1400000, 0x400000, CRC(21b401bc) SHA1(89374b80453c474aa1dd3a219422f557f95a262c) )
+ ROM_LOAD( "ic11.bin", 0x0000000, 0x400000, CRC(a93f6fee) SHA1(6f079643b50833f8fb497c49945ad23326cc9170) )
+ ROM_LOAD( "ic12.bin", 0x0400000, 0x400000, CRC(9f584ef7) SHA1(12c04e198f17d1915f58e83aff45ca2e76773df8) )
+ ROM_LOAD( "ic13.bin", 0x0800000, 0x400000, CRC(652e9c78) SHA1(a929b2944de72606338acb822c1031463e2b1cc5) )
+ ROM_LOAD( "ic14.bin", 0x0c00000, 0x400000, CRC(c4ef1424) SHA1(1734a6ee6d0be94d24afefcf2a125b74747f53d0) )
+ ROM_LOAD( "ic15.bin", 0x1000000, 0x400000, CRC(2551d816) SHA1(e1500d4bfa8cc55220c366a5852263ac2070da82) )
+ ROM_LOAD( "ic16.bin", 0x1400000, 0x400000, CRC(21b401bc) SHA1(89374b80453c474aa1dd3a219422f557f95a262c) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "kn02", 0x000000, 0x000008, CRC(0d2001b4) SHA1(740d7794a1b94a42351d81947cbfae138c56ecc9) )
@@ -4262,19 +4338,19 @@ ROM_START( sncwgltd )
KN_BIOS
ROM_REGION32_LE( 0x0280000, "fixedroms", 0 )
- ROM_LOAD( "ic5.bin", 0x0000000, 0x080000, CRC(458f14aa) SHA1(b4e50be60ffb9b7911561dd35b6a7e0df3432a3a) )
- ROM_LOAD( "ic6.bin", 0x0080000, 0x080000, CRC(8233dd1e) SHA1(1422b4530d671e3b8b471ec16c20ef7c819ab762) )
- ROM_LOAD( "ic7.bin", 0x0100000, 0x080000, CRC(df5ba2f7) SHA1(19153084e7cff632380b67a2fff800644a2fbf7d) )
- ROM_LOAD( "ic8.bin", 0x0180000, 0x080000, CRC(e8145f2b) SHA1(3a1cb189426998856dfeda47267fde64be34c6ec) )
- ROM_LOAD( "ic9.bin", 0x0200000, 0x080000, CRC(605c9370) SHA1(9734549cae3028c089f4c9f2336ee374b3f950f8) )
+ ROM_LOAD( "ic5.bin", 0x0000000, 0x080000, CRC(458f14aa) SHA1(b4e50be60ffb9b7911561dd35b6a7e0df3432a3a) )
+ ROM_LOAD( "ic6.bin", 0x0080000, 0x080000, CRC(8233dd1e) SHA1(1422b4530d671e3b8b471ec16c20ef7c819ab762) )
+ ROM_LOAD( "ic7.bin", 0x0100000, 0x080000, CRC(df5ba2f7) SHA1(19153084e7cff632380b67a2fff800644a2fbf7d) )
+ ROM_LOAD( "ic8.bin", 0x0180000, 0x080000, CRC(e8145f2b) SHA1(3a1cb189426998856dfeda47267fde64be34c6ec) )
+ ROM_LOAD( "ic9.bin", 0x0200000, 0x080000, CRC(605c9370) SHA1(9734549cae3028c089f4c9f2336ee374b3f950f8) )
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "ic11.bin", 0x0000000, 0x400000, CRC(a93f6fee) SHA1(6f079643b50833f8fb497c49945ad23326cc9170) )
- ROM_LOAD( "ic12.bin", 0x0400000, 0x400000, CRC(9f584ef7) SHA1(12c04e198f17d1915f58e83aff45ca2e76773df8) )
- ROM_LOAD( "ic13.bin", 0x0800000, 0x400000, CRC(652e9c78) SHA1(a929b2944de72606338acb822c1031463e2b1cc5) )
- ROM_LOAD( "ic14.bin", 0x0c00000, 0x400000, CRC(c4ef1424) SHA1(1734a6ee6d0be94d24afefcf2a125b74747f53d0) )
- ROM_LOAD( "ic15.bin", 0x1000000, 0x400000, CRC(2551d816) SHA1(e1500d4bfa8cc55220c366a5852263ac2070da82) )
- ROM_LOAD( "ic16.bin", 0x1400000, 0x400000, CRC(21b401bc) SHA1(89374b80453c474aa1dd3a219422f557f95a262c) )
+ ROM_LOAD( "ic11.bin", 0x0000000, 0x400000, CRC(a93f6fee) SHA1(6f079643b50833f8fb497c49945ad23326cc9170) )
+ ROM_LOAD( "ic12.bin", 0x0400000, 0x400000, CRC(9f584ef7) SHA1(12c04e198f17d1915f58e83aff45ca2e76773df8) )
+ ROM_LOAD( "ic13.bin", 0x0800000, 0x400000, CRC(652e9c78) SHA1(a929b2944de72606338acb822c1031463e2b1cc5) )
+ ROM_LOAD( "ic14.bin", 0x0c00000, 0x400000, CRC(c4ef1424) SHA1(1734a6ee6d0be94d24afefcf2a125b74747f53d0) )
+ ROM_LOAD( "ic15.bin", 0x1000000, 0x400000, CRC(2551d816) SHA1(e1500d4bfa8cc55220c366a5852263ac2070da82) )
+ ROM_LOAD( "ic16.bin", 0x1400000, 0x400000, CRC(21b401bc) SHA1(89374b80453c474aa1dd3a219422f557f95a262c) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "kn02", 0x000000, 0x000008, CRC(0d2001b4) SHA1(740d7794a1b94a42351d81947cbfae138c56ecc9) )
@@ -4304,18 +4380,18 @@ ROM_START( ftimpcta )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e25-13.4", 0x0000001, 0x100000, CRC(7f078d7b) SHA1(df9800dd6885dbc33736c5143d877b0847221061) )
- ROM_LOAD16_BYTE( "e25-14.3", 0x0000000, 0x100000, CRC(0c5f474f) SHA1(ce7031ba860297b99cddd6d0177f07e03520faeb) )
- ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
- ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
- ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
+ ROM_LOAD16_BYTE( "e25-13.4", 0x0000001, 0x100000, CRC(7f078d7b) SHA1(df9800dd6885dbc33736c5143d877b0847221061) )
+ ROM_LOAD16_BYTE( "e25-14.3", 0x0000000, 0x100000, CRC(0c5f474f) SHA1(ce7031ba860297b99cddd6d0177f07e03520faeb) )
+ ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
+ ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
+ ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
+ ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
ROM_REGION32_LE( 0x600000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
- ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
+ ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
+ ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt05", 0x000000, 0x000008, CRC(66045c83) SHA1(b040fa87e855fd512fa99e80056d37aba895805b) )
@@ -4325,18 +4401,18 @@ ROM_START( ftimpact )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e25-09.4", 0x0000001, 0x080000, CRC(d457bfc7) SHA1(e974a9c3e7b0748ef89d78e76a7dbb763c42b6f7) )
- ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
- ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
- ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
- ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
+ ROM_LOAD16_BYTE( "e25-09.4", 0x0000001, 0x080000, CRC(d457bfc7) SHA1(e974a9c3e7b0748ef89d78e76a7dbb763c42b6f7) )
+ ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
+ ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
+ ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
+ ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
+ ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
ROM_REGION32_LE( 0x600000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
- ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
+ ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
+ ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt05", 0x000000, 0x000008, CRC(66045c83) SHA1(b040fa87e855fd512fa99e80056d37aba895805b) )
@@ -4346,18 +4422,18 @@ ROM_START( ftimpactu )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e25-08.4", 0x0000001, 0x080000, CRC(a3508f51) SHA1(fd4c3cc186e280497dc905ebda92472d5b72b1b4) )
- ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
- ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
- ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
- ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
+ ROM_LOAD16_BYTE( "e25-08.4", 0x0000001, 0x080000, CRC(a3508f51) SHA1(fd4c3cc186e280497dc905ebda92472d5b72b1b4) )
+ ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
+ ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
+ ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
+ ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
+ ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
ROM_REGION32_LE( 0x600000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
- ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
+ ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
+ ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt05", 0x000000, 0x000008, CRC(66045c83) SHA1(b040fa87e855fd512fa99e80056d37aba895805b) )
@@ -4367,18 +4443,18 @@ ROM_START( ftimpactj )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e25-06.4", 0x0000001, 0x080000, CRC(3a59deeb) SHA1(4377c5829fb5b6f5d0120caf992b1ee714897641) )
- ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
- ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
- ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
- ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
+ ROM_LOAD16_BYTE( "e25-06.4", 0x0000001, 0x080000, CRC(3a59deeb) SHA1(4377c5829fb5b6f5d0120caf992b1ee714897641) )
+ ROM_LOAD16_BYTE( "e25-07.3", 0x0000000, 0x080000, CRC(829be1cc) SHA1(64b139d7c3696ab2f0b9a4842c19a38fe6a8cede) )
+ ROM_LOAD( "e25-01.1", 0x0400000, 0x400000, CRC(8cc4be0c) SHA1(9ca15558a83b7e332e50accf1f7852444a7ce730) )
+ ROM_LOAD( "e25-02.2", 0x0800000, 0x400000, CRC(8e8b4c82) SHA1(55c9d4d3a08fc3226a75ab3a674be433af83e289) )
+ ROM_LOAD( "e25-03.12", 0x0c00000, 0x400000, CRC(43b1c085) SHA1(6e53550e9be0d2f415fc6b4f3b8a71185c5370b2) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
+ ROM_LOAD( "e25-10.14", 0x0000000, 0x080000, CRC(2b2ad1b1) SHA1(6d064d0b6805d43ce42929ac8f5645b56384f53c) )
ROM_REGION32_LE( 0x600000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
- ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
+ ROM_LOAD( "e25-04.27", 0x0000000, 0x400000, CRC(09a66d35) SHA1(f0df24bc9bfc9eb0f5150dc035c19fc5b8a39bf9) )
+ ROM_LOAD( "e25-05.28", 0x0400000, 0x200000, CRC(3fb57636) SHA1(aa38bfac11ecf10fd55143cf4525a2a529be8bb6) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt05", 0x000000, 0x000008, CRC(66045c83) SHA1(b040fa87e855fd512fa99e80056d37aba895805b) )
@@ -4388,17 +4464,17 @@ ROM_START( gdarius )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e39-09.ic4", 0x0000001, 0x100000, CRC(f457794d) SHA1(43571770b239298e3442d3da8aa4f4507380d639) )
- ROM_LOAD16_BYTE( "e39-10.ic3", 0x0000000, 0x100000, CRC(6ba4d941) SHA1(75f2d8c920d29102c09e041fc3198e32ad57dbaf) )
- ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
- ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
- ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
+ ROM_LOAD16_BYTE( "e39-09.ic4", 0x0000001, 0x100000, CRC(f457794d) SHA1(43571770b239298e3442d3da8aa4f4507380d639) )
+ ROM_LOAD16_BYTE( "e39-10.ic3", 0x0000000, 0x100000, CRC(6ba4d941) SHA1(75f2d8c920d29102c09e041fc3198e32ad57dbaf) )
+ ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
+ ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
+ ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
+ ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
+ ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt07", 0x000000, 0x000008, CRC(ccf2f332) SHA1(6eb07cd5fab29f5536fd94aa88a2b09f28cc3494) )
@@ -4408,17 +4484,17 @@ ROM_START( gdariusu )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e39-08.ic4", 0x0000001, 0x100000, CRC(835049db) SHA1(2b230c8fd6c6ea4e30740fda28f631344b018b79) )
- ROM_LOAD16_BYTE( "e39-10.ic3", 0x0000000, 0x100000, CRC(6ba4d941) SHA1(75f2d8c920d29102c09e041fc3198e32ad57dbaf) )
- ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
- ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
- ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
+ ROM_LOAD16_BYTE( "e39-08.ic4", 0x0000001, 0x100000, CRC(835049db) SHA1(2b230c8fd6c6ea4e30740fda28f631344b018b79) )
+ ROM_LOAD16_BYTE( "e39-10.ic3", 0x0000000, 0x100000, CRC(6ba4d941) SHA1(75f2d8c920d29102c09e041fc3198e32ad57dbaf) )
+ ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
+ ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
+ ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
+ ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
+ ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt07", 0x000000, 0x000008, CRC(ccf2f332) SHA1(6eb07cd5fab29f5536fd94aa88a2b09f28cc3494) )
@@ -4428,17 +4504,17 @@ ROM_START( gdariusj )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e39-06.4", 0x0000001, 0x100000, CRC(2980c30d) SHA1(597321642125c3ae37581c2d9abc2723c7909996) )
- ROM_LOAD16_BYTE( "e39-05.3", 0x0000000, 0x100000, CRC(750e5b13) SHA1(68fe9cbd7d506cfd587dccc40b6ae0b0b6ee7c29) )
- ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
- ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
- ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
+ ROM_LOAD16_BYTE( "e39-06.4", 0x0000001, 0x100000, CRC(2980c30d) SHA1(597321642125c3ae37581c2d9abc2723c7909996) )
+ ROM_LOAD16_BYTE( "e39-05.3", 0x0000000, 0x100000, CRC(750e5b13) SHA1(68fe9cbd7d506cfd587dccc40b6ae0b0b6ee7c29) )
+ ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
+ ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
+ ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
+ ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
+ ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt07", 0x000000, 0x000008, CRC(ccf2f332) SHA1(6eb07cd5fab29f5536fd94aa88a2b09f28cc3494) )
@@ -4448,17 +4524,17 @@ ROM_START( gdarius2 )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e39-12.4", 0x0000001, 0x100000, CRC(b23266c3) SHA1(80aaddaaf10e40280ade4c7d11f45ddab47ee9a6) )
- ROM_LOAD16_BYTE( "e39-11.3", 0x0000000, 0x100000, CRC(766f73df) SHA1(9ce24c153920d259bc7fdef0778083eb6d639be3) )
- ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
- ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
- ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
+ ROM_LOAD16_BYTE( "e39-12.4", 0x0000001, 0x100000, CRC(b23266c3) SHA1(80aaddaaf10e40280ade4c7d11f45ddab47ee9a6) )
+ ROM_LOAD16_BYTE( "e39-11.3", 0x0000000, 0x100000, CRC(766f73df) SHA1(9ce24c153920d259bc7fdef0778083eb6d639be3) )
+ ROM_LOAD( "e39-01.1", 0x0400000, 0x400000, CRC(bdaaa251) SHA1(a42daa706ee859c2b66be179e08c0ad7990f919e) )
+ ROM_LOAD( "e39-02.2", 0x0800000, 0x400000, CRC(a47aab5d) SHA1(64b58e47035ad9d8d6dcaf475cbcc3ad85f4d82f) )
+ ROM_LOAD( "e39-03.12", 0x0c00000, 0x400000, CRC(a883b6a5) SHA1(b8d00d944c90f8cd9c2b076688f4c68b2e6d557a) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
+ ROM_LOAD( "e39-07.14", 0x0000000, 0x080000, CRC(2252c7c1) SHA1(92b9908e0d87cad6587f1acc0eef69eaae8c6a98) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
+ ROM_LOAD( "e39-04.27", 0x0000000, 0x400000, CRC(6ee35e68) SHA1(fdfe63203d8cecf84cb869039fb893d5b63cdd67) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt07", 0x000000, 0x000008, CRC(ccf2f332) SHA1(6eb07cd5fab29f5536fd94aa88a2b09f28cc3494) )
@@ -4468,17 +4544,17 @@ ROM_START( mgcldate )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e32-05.2", 0x0000001, 0x080000, CRC(72fc7f7b) SHA1(50d9e84bc74fb63ec1900ab149051888bc3d03a5) )
- ROM_LOAD16_BYTE( "e32-06.7", 0x0000000, 0x080000, CRC(d11c3881) SHA1(f7046c5bed4818152edcf697a49664b0bcf12a1b) )
- ROM_LOAD( "e32-01.1", 0x0400000, 0x400000, CRC(cf5f1d01) SHA1(5417f8aef5c8d0e9e63ba8c68efb5b3ef37b4693) )
- ROM_LOAD( "e32-02.6", 0x0800000, 0x400000, CRC(61c8438c) SHA1(bdbe6079cc634c0cd6580f76619eb2944c9a31d9) )
- ROM_LOAD( "e32-03.12", 0x0c00000, 0x200000, CRC(190d1618) SHA1(838a651d32752015baa7e8caea62fd739631b8be) )
+ ROM_LOAD16_BYTE( "e32-05.2", 0x0000001, 0x080000, CRC(72fc7f7b) SHA1(50d9e84bc74fb63ec1900ab149051888bc3d03a5) )
+ ROM_LOAD16_BYTE( "e32-06.7", 0x0000000, 0x080000, CRC(d11c3881) SHA1(f7046c5bed4818152edcf697a49664b0bcf12a1b) )
+ ROM_LOAD( "e32-01.1", 0x0400000, 0x400000, CRC(cf5f1d01) SHA1(5417f8aef5c8d0e9e63ba8c68efb5b3ef37b4693) )
+ ROM_LOAD( "e32-02.6", 0x0800000, 0x400000, CRC(61c8438c) SHA1(bdbe6079cc634c0cd6580f76619eb2944c9a31d9) )
+ ROM_LOAD( "e32-03.12", 0x0c00000, 0x200000, CRC(190d1618) SHA1(838a651d32752015baa7e8caea62fd739631b8be) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e32-07.22", 0x0000000, 0x020000, CRC(adf3feb5) SHA1(bae5bc3fad99a92a3492be1b775dab861007eb3b) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e32-07.22", 0x0000000, 0x020000, CRC(adf3feb5) SHA1(bae5bc3fad99a92a3492be1b775dab861007eb3b) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x400000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e32-04.15", 0x0000000, 0x400000, CRC(c72f9eea) SHA1(7ab8b412a8ed00a42016acb7d13d3b074155780a) )
+ ROM_LOAD( "e32-04.15", 0x0000000, 0x400000, CRC(c72f9eea) SHA1(7ab8b412a8ed00a42016acb7d13d3b074155780a) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt06", 0x000000, 0x000008, CRC(ce282fc9) SHA1(dfc1f679ec70f2ff32869cfeb452acf9ac154aef) )
@@ -4488,38 +4564,38 @@ ROM_START( mgcldtex )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e32-08.2", 0x0000001, 0x100000, CRC(3d42cd28) SHA1(9017922e835a359ba5126c8a9e8c27380a5ce081) )
- ROM_LOAD16_BYTE( "e32-09.7", 0x0000000, 0x100000, CRC(db7ec115) SHA1(fa6f18de71ba997389d887d7ffe745aa25e24c20) )
- ROM_LOAD( "e32-01.1", 0x0400000, 0x400000, CRC(cf5f1d01) SHA1(5417f8aef5c8d0e9e63ba8c68efb5b3ef37b4693) )
- ROM_LOAD( "e32-02.6", 0x0800000, 0x400000, CRC(61c8438c) SHA1(bdbe6079cc634c0cd6580f76619eb2944c9a31d9) )
- ROM_LOAD( "e32-03.12", 0x0c00000, 0x200000, CRC(190d1618) SHA1(838a651d32752015baa7e8caea62fd739631b8be) )
+ ROM_LOAD16_BYTE( "e32-08.2", 0x0000001, 0x100000, CRC(3d42cd28) SHA1(9017922e835a359ba5126c8a9e8c27380a5ce081) )
+ ROM_LOAD16_BYTE( "e32-09.7", 0x0000000, 0x100000, CRC(db7ec115) SHA1(fa6f18de71ba997389d887d7ffe745aa25e24c20) )
+ ROM_LOAD( "e32-01.1", 0x0400000, 0x400000, CRC(cf5f1d01) SHA1(5417f8aef5c8d0e9e63ba8c68efb5b3ef37b4693) )
+ ROM_LOAD( "e32-02.6", 0x0800000, 0x400000, CRC(61c8438c) SHA1(bdbe6079cc634c0cd6580f76619eb2944c9a31d9) )
+ ROM_LOAD( "e32-03.12", 0x0c00000, 0x200000, CRC(190d1618) SHA1(838a651d32752015baa7e8caea62fd739631b8be) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e32-10.22", 0x0000000, 0x020000, CRC(adf3feb5) SHA1(bae5bc3fad99a92a3492be1b775dab861007eb3b) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e32-10.22", 0x0000000, 0x020000, CRC(adf3feb5) SHA1(bae5bc3fad99a92a3492be1b775dab861007eb3b) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x400000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e32-04.15", 0x0000000, 0x400000, CRC(c72f9eea) SHA1(7ab8b412a8ed00a42016acb7d13d3b074155780a) )
+ ROM_LOAD( "e32-04.15", 0x0000000, 0x400000, CRC(c72f9eea) SHA1(7ab8b412a8ed00a42016acb7d13d3b074155780a) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt06", 0x000000, 0x000008, CRC(ce282fc9) SHA1(dfc1f679ec70f2ff32869cfeb452acf9ac154aef) )
ROM_END
ROM_START( psyforce )
- /* It is VERY ODD that Taito had 2 different labels for the same data (E22-06* & E22-10*) but is verified correct! */
+ // It is VERY ODD that Taito had 2 different labels for the same data (E22-06* & E22-10*) but is verified correct!
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e22-09+.2", 0x0000001, 0x080000, CRC(997e4500) SHA1(4a90b452c9a877ccec55a11f36c4cbc6df1f1f41) ) /* Labled as E22-09* */
- ROM_LOAD16_BYTE( "e22-06+.7", 0x0000000, 0x080000, CRC(f6341d63) SHA1(99dc27aa694ae5951148054291912a486726e8c9) ) /* Labled as E22-06* */
- ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
- ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
- ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
+ ROM_LOAD16_BYTE( "e22-09+.2", 0x0000001, 0x080000, CRC(997e4500) SHA1(4a90b452c9a877ccec55a11f36c4cbc6df1f1f41) ) // Labled as E22-09*
+ ROM_LOAD16_BYTE( "e22-06+.7", 0x0000000, 0x080000, CRC(f6341d63) SHA1(99dc27aa694ae5951148054291912a486726e8c9) ) // Labled as E22-06*
+ ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
+ ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
+ ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) )// 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
+ ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt03", 0x000000, 0x000008, CRC(5799d8c9) SHA1(72cf1ed0958959d085ca5f8ab8b4f883ab1cd162) )
@@ -4529,17 +4605,17 @@ ROM_START( psyforcej )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e22-05+.2", 0x0000001, 0x080000, CRC(7770242c) SHA1(dd37575d3d9ffdef60fe0e4cab6c9e42d087f714) ) /* Labled as E22-05* */
- ROM_LOAD16_BYTE( "e22-10+.7", 0x0000000, 0x080000, CRC(f6341d63) SHA1(99dc27aa694ae5951148054291912a486726e8c9) ) /* Labled as E22-10* */
- ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
- ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
- ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
+ ROM_LOAD16_BYTE( "e22-05+.2", 0x0000001, 0x080000, CRC(7770242c) SHA1(dd37575d3d9ffdef60fe0e4cab6c9e42d087f714) ) // Labled as E22-05*
+ ROM_LOAD16_BYTE( "e22-10+.7", 0x0000000, 0x080000, CRC(f6341d63) SHA1(99dc27aa694ae5951148054291912a486726e8c9) ) // Labled as E22-10*
+ ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
+ ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
+ ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) )// 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
+ ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt03", 0x000000, 0x000008, CRC(5799d8c9) SHA1(72cf1ed0958959d085ca5f8ab8b4f883ab1cd162) )
@@ -4549,17 +4625,17 @@ ROM_START( psyforcex )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e22-11.2", 0x0000001, 0x080000, CRC(29ebebc9) SHA1(48a3371460d69ae5ba58d3e24615f389bf43b2cc) )
- ROM_LOAD16_BYTE( "e22-12.7", 0x0000000, 0x080000, CRC(7426ffc5) SHA1(24b0132241e2e49109e585b082bf4ab67f86b294) )
- ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
- ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
- ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
+ ROM_LOAD16_BYTE( "e22-11.2", 0x0000001, 0x080000, CRC(29ebebc9) SHA1(48a3371460d69ae5ba58d3e24615f389bf43b2cc) )
+ ROM_LOAD16_BYTE( "e22-12.7", 0x0000000, 0x080000, CRC(7426ffc5) SHA1(24b0132241e2e49109e585b082bf4ab67f86b294) )
+ ROM_LOAD( "e22-02.16", 0x0800000, 0x200000, CRC(03b50064) SHA1(0259537e86b266b3f34308c4fc0bcc04c037da71) )
+ ROM_LOAD( "e22-03.19", 0x0a00000, 0x200000, CRC(8372f839) SHA1(646b3919b6be63412c11850ec1524685abececc0) )
+ ROM_LOAD( "e22-04.21", 0x0c00000, 0x200000, CRC(397b71aa) SHA1(48743c362503c1d2dbeb3c8be4cb2aaaae015b88) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) )// 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e22-07.22", 0x0000000, 0x020000, CRC(739af589) SHA1(dbb4d1c6d824a99ccf27168e2c21644e19811523) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
+ ROM_LOAD( "e22-01.15", 0x000000, 0x200000, CRC(808b8340) SHA1(d8bde850dd9b5b71e94ea707d2d728754f907977) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt03", 0x000000, 0x000008, CRC(5799d8c9) SHA1(72cf1ed0958959d085ca5f8ab8b4f883ab1cd162) )
@@ -4569,16 +4645,16 @@ ROM_START( raystorm )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e24-xx.ic4", 0x0000001, 0x080000, CRC(33f63638) SHA1(fdda33ffc9902b3605a3272fae5a614e93856a86) ) /* Need to verify actual label */
- ROM_LOAD16_BYTE( "e24-xx.ic3", 0x0000000, 0x080000, CRC(5eeed3b2) SHA1(d8bb1613d7285eabdc6f0a2d231d2eeeb52f307b) ) /* Need to verify actual label */
+ ROM_LOAD16_BYTE( "e24-xx.ic4", 0x0000001, 0x080000, CRC(33f63638) SHA1(fdda33ffc9902b3605a3272fae5a614e93856a86) ) // Need to verify actual label
+ ROM_LOAD16_BYTE( "e24-xx.ic3", 0x0000000, 0x080000, CRC(5eeed3b2) SHA1(d8bb1613d7285eabdc6f0a2d231d2eeeb52f307b) ) // Need to verify actual label
ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
ROM_REGION16_LE( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
+ ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
+ ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt04", 0x000000, 0x000008, CRC(013363df) SHA1(f04d04c7c858a8e2eaff0c51e782ad76d6ebbed1) )
@@ -4588,16 +4664,16 @@ ROM_START( raystormo )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e24-08.4", 0x0000001, 0x080000, CRC(ae071b95) SHA1(0e1597220808d6e3998ef1e9d88779e0187ba0af) )
- ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
- ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
- ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
+ ROM_LOAD16_BYTE( "e24-08.4", 0x0000001, 0x080000, CRC(ae071b95) SHA1(0e1597220808d6e3998ef1e9d88779e0187ba0af) )
+ ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
+ ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
+ ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
+ ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
+ ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt04", 0x000000, 0x000008, CRC(013363df) SHA1(f04d04c7c858a8e2eaff0c51e782ad76d6ebbed1) )
@@ -4607,16 +4683,16 @@ ROM_START( raystormu )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e24-07.4", 0x0000001, 0x080000, CRC(d9002b03) SHA1(bdb0aa88536c4c98c150ece87387930b3dbdd258) )
- ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
- ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
- ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
+ ROM_LOAD16_BYTE( "e24-07.4", 0x0000001, 0x080000, CRC(d9002b03) SHA1(bdb0aa88536c4c98c150ece87387930b3dbdd258) )
+ ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
+ ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
+ ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
+ ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
+ ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt04", 0x000000, 0x000008, CRC(013363df) SHA1(f04d04c7c858a8e2eaff0c51e782ad76d6ebbed1) )
@@ -4626,16 +4702,16 @@ ROM_START( raystormj )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e24-05.4", 0x0000001, 0x080000, CRC(40097ab9) SHA1(67e73568b35515c2c5a9119e97ac4709baff8c5a) )
- ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
- ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
- ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
+ ROM_LOAD16_BYTE( "e24-05.4", 0x0000001, 0x080000, CRC(40097ab9) SHA1(67e73568b35515c2c5a9119e97ac4709baff8c5a) )
+ ROM_LOAD16_BYTE( "e24-06.3", 0x0000000, 0x080000, CRC(d70cdf46) SHA1(da6163d69d3ea9c1e3f4b7961a548f1f9d8d9909) )
+ ROM_LOAD( "e24-02.1", 0x0400000, 0x400000, CRC(9f70950d) SHA1(b3e4f925a61ae2e5dd4cc5d7ec3030a0d5c2c04d) )
+ ROM_LOAD( "e24-03.2", 0x0800000, 0x400000, CRC(6c1f0a5d) SHA1(1aac37a7ff23e54021a4cec18c9bb93242337180) )
ROM_REGION( 0x080000, ":taito_zoom:mn10200", 0 )
- ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
+ ROM_LOAD( "e24-09.14", 0x0000000, 0x080000, CRC(808589e1) SHA1(46ada4c6d68c2462186a0b962abb435ee740c0ba) )
ROM_REGION32_LE( 0x400000, ":taito_zoom:zsg2", 0 )
- ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
+ ROM_LOAD( "e24-04.27", 0x0000000, 0x400000, CRC(f403493a) SHA1(3e49fd2a060a3893e26f14cc3cf47c4ba91e17d4) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt04", 0x000000, 0x000008, CRC(013363df) SHA1(f04d04c7c858a8e2eaff0c51e782ad76d6ebbed1) )
@@ -4645,18 +4721,18 @@ ROM_START( sfchamp )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e18-12.2", 0x0000001, 0x080000, CRC(72304685) SHA1(2e6f645871e19a49fcdfbdca49c6be415471eadf) ) /* Ver 2.5O */
- ROM_LOAD16_BYTE( "e18-13.7", 0x0000000, 0x080000, CRC(fa4d01ee) SHA1(27efd8e2107d71213d35f2a58762ed8812f809d3) ) /* Ver 2.5O */
- ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
- ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
- ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
- ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
+ ROM_LOAD16_BYTE( "e18-12.2", 0x0000001, 0x080000, CRC(72304685) SHA1(2e6f645871e19a49fcdfbdca49c6be415471eadf) ) // Ver 2.5O
+ ROM_LOAD16_BYTE( "e18-13.7", 0x0000000, 0x080000, CRC(fa4d01ee) SHA1(27efd8e2107d71213d35f2a58762ed8812f809d3) ) // Ver 2.5O
+ ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
+ ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
+ ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
+ ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
+ ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt02", 0x000000, 0x000008, CRC(b1585ac7) SHA1(d967eea539de2dd7a8d13fa2785c3033065bed9c) )
@@ -4666,18 +4742,18 @@ ROM_START( sfchampo )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e18-11.2", 0x0000001, 0x080000, CRC(f5462f30) SHA1(44eb03a9b51e2d8dd14fe2ed36dbcf17035a22c7) ) /* Ver 2.4O */
- ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) ) /* Ver 2.4O */
- ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
- ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
- ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
- ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
+ ROM_LOAD16_BYTE( "e18-11.2", 0x0000001, 0x080000, CRC(f5462f30) SHA1(44eb03a9b51e2d8dd14fe2ed36dbcf17035a22c7) ) // Ver 2.4O
+ ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) ) // Ver 2.4O
+ ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
+ ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
+ ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
+ ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
+ ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt02", 0x000000, 0x000008, CRC(b1585ac7) SHA1(d967eea539de2dd7a8d13fa2785c3033065bed9c) )
@@ -4687,18 +4763,18 @@ ROM_START( sfchampu )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e18-10.2", 0x0000001, 0x080000, CRC(82411fa6) SHA1(0aa1764b7ff68258ef76a41355c50d5067262d75) )
- ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) )
- ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
- ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
- ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
- ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
+ ROM_LOAD16_BYTE( "e18-10.2", 0x0000001, 0x080000, CRC(82411fa6) SHA1(0aa1764b7ff68258ef76a41355c50d5067262d75) )
+ ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) )
+ ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
+ ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
+ ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
+ ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
+ ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt02", 0x000000, 0x000008, CRC(b1585ac7) SHA1(d967eea539de2dd7a8d13fa2785c3033065bed9c) )
@@ -4708,18 +4784,18 @@ ROM_START( sfchampj )
TAITOFX1_BIOS
ROM_REGION32_LE( 0x01000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "e18-07.2", 0x0000001, 0x080000, CRC(1b484e1c) SHA1(f29f40a9988475d8abbb126095b0716133c087a0) )
- ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) )
- ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
- ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
- ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
- ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
+ ROM_LOAD16_BYTE( "e18-07.2", 0x0000001, 0x080000, CRC(1b484e1c) SHA1(f29f40a9988475d8abbb126095b0716133c087a0) )
+ ROM_LOAD16_BYTE( "e18-08.7", 0x0000000, 0x080000, CRC(6a5558cd) SHA1(75b26bcaaa213283e7e0dace69ee58f305b4572d) )
+ ROM_LOAD( "e18-02.12", 0x0600000, 0x200000, CRC(c7b4fe29) SHA1(7f823bd61abf2b15d3ba62bca829a5b1acacfd09) )
+ ROM_LOAD( "e18-03.16", 0x0800000, 0x200000, CRC(76392346) SHA1(2c5b70c4708208f866feea0472fcc72333061124) )
+ ROM_LOAD( "e18-04.19", 0x0a00000, 0x200000, CRC(fc3731da) SHA1(58948aad8d7bb7a8449d2bf12e9d5e6d7b4426b5) )
+ ROM_LOAD( "e18-05.21", 0x0c00000, 0x200000, CRC(2e984c50) SHA1(6d8255e38c67d68bf489c9885663ed2edf148188) )
- ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) /* 64k for Z80 code */
- ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
+ ROM_REGION( 0x24000, "audiocpu", ROMREGION_ERASE00 ) // 64k for Z80 code
+ ROM_LOAD( "e18-09.22", 0x0000000, 0x020000, CRC(bb5a5319) SHA1(0bb700cafc157d3af663cc9bebb8167487ff2852) ) // 0x4000 - 0x20000 banked
ROM_REGION( 0x200000, "ymsnd:adpcma", 0 )
- ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
+ ROM_LOAD( "e18-01.15", 0x0000000, 0x200000, CRC(dbd1408c) SHA1(ef81064f2f95e5ae25eb1f10d1e78f27f9e294f5) )
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "tt02", 0x000000, 0x000008, CRC(b1585ac7) SHA1(d967eea539de2dd7a8d13fa2785c3033065bed9c) )
@@ -4814,7 +4890,7 @@ ROM_START( bldyroar )
ROM_LOAD( "et02", 0x000000, 0x000008, CRC(187ce61a) SHA1(521122b0f7b3f278dd2a2b1d73c252b952b5f55d) )
ROM_END
-ROM_START( beastrzrb ) /* bootleg board */
+ROM_START( beastrzrb ) // bootleg board
PSARC95_BIOS
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
@@ -4855,8 +4931,8 @@ ROM_START( brvblade )
ROM_REGION( 0x400000, "ymf", 0 )
ROM_LOAD( "ra-bbl_rom2.336", 0x000000, 0x400000, CRC(cd052c02) SHA1(d955a70a89b3b1a0b505a05c0887c399fe7a2c68) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_world", 0x000, 0x800, CRC(fe7f7d34) SHA1(18f6ae14e57afa668b3eef821b4cf0a7599a21ac) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_world", 0x000, 0x800, CRC(fe7f7d34) SHA1(18f6ae14e57afa668b3eef821b4cf0a7599a21ac) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg11", 0x000000, 0x000008, CRC(56d917de) SHA1(3c1cdbf552265dbff6051853d933ac34047bcdae) )
@@ -4877,8 +4953,8 @@ ROM_START( brvbladeu )
ROM_REGION( 0x400000, "ymf", 0 )
ROM_LOAD( "ra-bbl_rom2.336", 0x000000, 0x400000, CRC(cd052c02) SHA1(d955a70a89b3b1a0b505a05c0887c399fe7a2c68) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_usa", 0x000, 0x800, CRC(0a2c042f) SHA1(147651d2e55873a82295214b3b0bd6c46cdad239) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_usa", 0x000, 0x800, CRC(0a2c042f) SHA1(147651d2e55873a82295214b3b0bd6c46cdad239) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg11", 0x000000, 0x000008, CRC(56d917de) SHA1(3c1cdbf552265dbff6051853d933ac34047bcdae) )
@@ -4899,8 +4975,8 @@ ROM_START( brvbladej )
ROM_REGION( 0x400000, "ymf", 0 )
ROM_LOAD( "ra-bbl_rom2.336", 0x000000, 0x400000, CRC(cd052c02) SHA1(d955a70a89b3b1a0b505a05c0887c399fe7a2c68) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_japan", 0x000, 0x800, CRC(59e2d326) SHA1(53f48b6ad7243aa92b54863515f104a7a54b2810) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_japan", 0x000, 0x800, CRC(59e2d326) SHA1(53f48b6ad7243aa92b54863515f104a7a54b2810) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg11", 0x000000, 0x000008, CRC(56d917de) SHA1(3c1cdbf552265dbff6051853d933ac34047bcdae) )
@@ -4921,8 +4997,8 @@ ROM_START( brvbladea )
ROM_REGION( 0x400000, "ymf", 0 )
ROM_LOAD( "ra-bbl_rom2.336", 0x000000, 0x400000, CRC(cd052c02) SHA1(d955a70a89b3b1a0b505a05c0887c399fe7a2c68) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_asia", 0x000, 0x800, CRC(adb1aa3d) SHA1(118a17b8a15108666e4f9f2d1798031b3b893536) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_asia", 0x000, 0x800, CRC(adb1aa3d) SHA1(118a17b8a15108666e4f9f2d1798031b3b893536) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "mg11", 0x000000, 0x000008, CRC(56d917de) SHA1(3c1cdbf552265dbff6051853d933ac34047bcdae) )
@@ -4932,22 +5008,22 @@ ROM_START( bldyror2 )
PSARC95_BIOS
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
- ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
- ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
- ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
- ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
- ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
+ ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
+ ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
+ ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
+ ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
+ ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
+ ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
ROM_REGION( 0x100000, "audiocpu", 0 )
ROM_LOAD16_BYTE( "br2_u0412.412", 0x000001, 0x080000, CRC(e254dd8a) SHA1(5b8fcafcf2176e0b55efcf37799d7c0d97e01bdc) )
ROM_LOAD16_BYTE( "br2_u049.049", 0x000000, 0x080000, CRC(10dc855b) SHA1(4e6e3a71911c8976ae07c2b6cac5a36f98193def) )
ROM_REGION( 0x400000, "ymf", 0 )
- ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
+ ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_world", 0x0000000, 0x000800, CRC(01b42397) SHA1(853553a38e81e64a17c040173b29c7bfd6f79f31) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_world", 0x0000000, 0x000800, CRC(01b42397) SHA1(853553a38e81e64a17c040173b29c7bfd6f79f31) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "et03", 0x000000, 0x000008, CRC(779b0bfd) SHA1(76a188c78083bbb2740379d53143e1efaf637b85) )
@@ -4957,22 +5033,22 @@ ROM_START( bldyror2u )
PSARC95_BIOS
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
- ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
- ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
- ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
- ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
- ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
+ ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
+ ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
+ ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
+ ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
+ ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
+ ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
ROM_REGION( 0x100000, "audiocpu", 0 )
ROM_LOAD16_BYTE( "br2_u0412.412", 0x000001, 0x080000, CRC(e254dd8a) SHA1(5b8fcafcf2176e0b55efcf37799d7c0d97e01bdc) )
ROM_LOAD16_BYTE( "br2_u049.049", 0x000000, 0x080000, CRC(10dc855b) SHA1(4e6e3a71911c8976ae07c2b6cac5a36f98193def) )
ROM_REGION( 0x400000, "ymf", 0 )
- ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
+ ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_usa", 0x0000000, 0x000800, CRC(b78d6fc3) SHA1(49d8b6f44c31d74f36cba981af7f4c7e23dd9007) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_usa", 0x0000000, 0x000800, CRC(b78d6fc3) SHA1(49d8b6f44c31d74f36cba981af7f4c7e23dd9007) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "et03", 0x000000, 0x000008, CRC(779b0bfd) SHA1(76a188c78083bbb2740379d53143e1efaf637b85) )
@@ -4982,22 +5058,22 @@ ROM_START( bldyror2j )
PSARC95_BIOS
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
- ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
- ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
- ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
- ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
- ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
+ ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
+ ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
+ ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
+ ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
+ ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
+ ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
ROM_REGION( 0x100000, "audiocpu", 0 )
ROM_LOAD16_BYTE( "br2_u0412.412", 0x000001, 0x080000, CRC(e254dd8a) SHA1(5b8fcafcf2176e0b55efcf37799d7c0d97e01bdc) )
ROM_LOAD16_BYTE( "br2_u049.049", 0x000000, 0x080000, CRC(10dc855b) SHA1(4e6e3a71911c8976ae07c2b6cac5a36f98193def) )
ROM_REGION( 0x400000, "ymf", 0 )
- ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
+ ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_japan", 0x0000000, 0x000800, CRC(6cb55630) SHA1(b840bc0339485dd82f7c9aa669faf90ae371218f) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_japan", 0x0000000, 0x000800, CRC(6cb55630) SHA1(b840bc0339485dd82f7c9aa669faf90ae371218f) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "et03", 0x000000, 0x000008, CRC(779b0bfd) SHA1(76a188c78083bbb2740379d53143e1efaf637b85) )
@@ -5007,22 +5083,22 @@ ROM_START( bldyror2a )
PSARC95_BIOS
ROM_REGION32_LE( 0x1800000, "bankedroms", 0 )
- ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
- ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
- ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
- ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
- ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
- ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
+ ROM_LOAD( "flash0.021", 0x0000000, 0x200000, CRC(fa7602e1) SHA1(6fb6af09656fbb86d2abda35804b2ed4a4cd7461) )
+ ROM_LOAD( "flash1.024", 0x0200000, 0x200000, CRC(03465a69) SHA1(7c29aff2bf19c379873d3927c260892c78281882) )
+ ROM_LOAD( "rom-1a.028", 0x0800000, 0x400000, CRC(0e711461) SHA1(1d0bd80e6885432ef0623babde28e5760b714bfa) )
+ ROM_LOAD( "rom-1b.29", 0x0c00000, 0x400000, CRC(0cf153f9) SHA1(53bb9f8642079f56d8e925792b069362df666819) )
+ ROM_LOAD( "rom-2a.026", 0x1000000, 0x400000, CRC(b71d955d) SHA1(49fce452c70ceafc8a149fa9ff073589b7261882) )
+ ROM_LOAD( "rom-2b.210", 0x1400000, 0x400000, CRC(89959dde) SHA1(99d54b9876f38f5e625334bbd1439618cdf01d56) )
ROM_REGION( 0x100000, "audiocpu", 0 )
ROM_LOAD16_BYTE( "br2_u0412.412", 0x000001, 0x080000, CRC(e254dd8a) SHA1(5b8fcafcf2176e0b55efcf37799d7c0d97e01bdc) )
ROM_LOAD16_BYTE( "br2_u049.049", 0x000000, 0x080000, CRC(10dc855b) SHA1(4e6e3a71911c8976ae07c2b6cac5a36f98193def) )
ROM_REGION( 0x400000, "ymf", 0 )
- ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
+ ROM_LOAD( "rom-3.336", 0x000000, 0x400000, CRC(b74cc4d1) SHA1(eb5485582a12959ae06927a2f1d8a7e63e0f956f) )
- ROM_REGION( 0x800, "at28c16", 0 ) /* at28c16 */
- ROM_LOAD( "at28c16_asia", 0x0000000, 0x000800, CRC(da8c1a64) SHA1(14cbb751f498c96d9d8fce3eea3781ebc45f6291) ) /* preprogrammed mainboard flash for region */
+ ROM_REGION( 0x800, "at28c16", 0 ) // at28c16
+ ROM_LOAD( "at28c16_asia", 0x0000000, 0x000800, CRC(da8c1a64) SHA1(14cbb751f498c96d9d8fce3eea3781ebc45f6291) ) // preprogrammed mainboard flash for region
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "et03", 0x000000, 0x000008, CRC(779b0bfd) SHA1(76a188c78083bbb2740379d53143e1efaf637b85) )
@@ -5140,8 +5216,8 @@ ROM_START( nbajamexa )
AC_BIOS
ROM_REGION32_LE( 0x2000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "360-mp-a1_odd_cs_e0fe.u36", 0x0000001, 0x100000, CRC(c433e827) SHA1(1d2a5a6990a1b1864e63ce3ba7306d48ebbd4775) ) /* labeled 360-MP-A1 ODD CS = E0FE */
- ROM_LOAD16_BYTE( "360-mp-a1_even_cs_295a.u35", 0x0000000, 0x100000, CRC(d8f5b2f7) SHA1(e38609d314721b8b612e047406e2888395917b0d) ) /* labeled 360-MP-A1 EVEN CS = 295A */
+ ROM_LOAD16_BYTE( "360-mp-a1_odd_cs_e0fe.u36", 0x0000001, 0x100000, CRC(c433e827) SHA1(1d2a5a6990a1b1864e63ce3ba7306d48ebbd4775) ) // labeled 360-MP-A1 ODD CS = E0FE
+ ROM_LOAD16_BYTE( "360-mp-a1_even_cs_295a.u35", 0x0000000, 0x100000, CRC(d8f5b2f7) SHA1(e38609d314721b8b612e047406e2888395917b0d) ) // labeled 360-MP-A1 EVEN CS = 295A
ROM_LOAD16_BYTE( "nba0o.u28", 0x0200001, 0x200000, CRC(be13c5af) SHA1(eee5c9d985384ecfe4f00fae27d66fbefc15b28e) )
ROM_LOAD16_BYTE( "nba0e.u41", 0x0200000, 0x200000, CRC(077f4355) SHA1(63c52bb82943b52bb0906d114acd5ea8643068b6) )
ROM_LOAD16_BYTE( "nba1o.u29", 0x0600001, 0x200000, CRC(3650e85b) SHA1(a36bfa235c8e3bb516e178f54d3c5e3955c7e918) )
@@ -5157,28 +5233,24 @@ ROM_START( nbajamexa )
ROM_LOAD16_BYTE( "nba6o.u5", 0x1a00001, 0x200000, CRC(b1dfb42e) SHA1(fb9627e228bf2a744842eb44afbca4a6232cadb2) )
ROM_LOAD16_BYTE( "nba6e.u19", 0x1a00000, 0x200000, CRC(6f17d8c1) SHA1(22cf263efb64cf62030e02b641c485debe75944d) )
- ROM_REGION( 0x400000, "unknown", 0 )
- ROM_LOAD( "sound0.u48", 0x000000, 0x200000, CRC(38873b67) SHA1(b2f8d32270ae604c099a1b9b71d2e06468c7d4a9) )
- ROM_LOAD( "sound1.u49", 0x200000, 0x200000, CRC(57014589) SHA1(d360ff1c52424bd91a5a8d1a2a9c10bf7abb0602) )
-
- ROM_REGION( 0x8, "cat702_2", 0 )
- ROM_LOAD( "ac02", 0x000000, 0x000008, CRC(1412d475) SHA1(c2f62232a261870f58353d09dc0d6ce2ad17a729) )
-
ROM_REGION( 0x800000, "rax", 0 )
ROM_LOAD( "360snda1.u52", 0x000000, 0x080000, CRC(36d8a628) SHA1(944a01c9128f5e90c7dba3557a3ecb2c5ca90831) )
ROM_LOAD( "sound0.u48", 0x400000, 0x200000, CRC(38873b67) SHA1(b2f8d32270ae604c099a1b9b71d2e06468c7d4a9) )
ROM_LOAD( "sound1.u49", 0x600000, 0x200000, CRC(57014589) SHA1(d360ff1c52424bd91a5a8d1a2a9c10bf7abb0602) )
+
+ ROM_REGION( 0x8, "cat702_2", 0 )
+ ROM_LOAD( "ac02", 0x000000, 0x000008, CRC(1412d475) SHA1(c2f62232a261870f58353d09dc0d6ce2ad17a729) )
ROM_END
ROM_START( jdredd )
AC_BIOS
ROM_REGION32_LE( 0x200000, "roms", 0 )
- ROM_LOAD16_BYTE( "9e54_01-16-98_1566_u_36.u36", 0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) ) /* ROMs for Rev.C hard drive are dated 01-16-98 - still same checksum of 9E54 */
- ROM_LOAD16_BYTE( "79d3_01-16-98_1565_u_35.u35", 0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) ) /* ROMs for Rev.C hard drive are dated 01-16-98 - still same checksum of 79D3 */
+ ROM_LOAD16_BYTE( "9e54_01-16-98_1566_u_36.u36", 0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) ) // ROMs for Rev.C hard drive are dated 01-16-98 - still same checksum of 9E54
+ ROM_LOAD16_BYTE( "79d3_01-16-98_1565_u_35.u35", 0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) ) // ROMs for Rev.C hard drive are dated 01-16-98 - still same checksum of 79D3
DISK_REGION( "ata:0:hdd:image" )
- DISK_IMAGE( "jdreddc", 0, SHA1(eee205f83e5f590f8baf36452c873d7063156bd0) ) /* label on drive reads: 1576 Rev.C */
+ DISK_IMAGE( "jdreddc", 0, SHA1(eee205f83e5f590f8baf36452c873d7063156bd0) ) // label on drive reads: 1576 Rev.C
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "ac02", 0x000000, 0x000008, CRC(1412d475) SHA1(c2f62232a261870f58353d09dc0d6ce2ad17a729) )
@@ -5188,11 +5260,11 @@ ROM_START( jdreddb )
AC_BIOS
ROM_REGION32_LE( 0x200000, "roms", 0 )
- ROM_LOAD16_BYTE( "9e54_11-21-97_1566_u_36.u36", 0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) ) /* ROMs for Rev.B hard drive are dated 11-21-97 - still same checksum of 9E54 */
- ROM_LOAD16_BYTE( "79d3_11-21-97_1565_u_35.u35", 0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) ) /* ROMs for Rev.B hard drive are dated 11-21-97 - still same checksum of 79D3 */
+ ROM_LOAD16_BYTE( "9e54_11-21-97_1566_u_36.u36", 0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) ) // ROMs for Rev.B hard drive are dated 11-21-97 - still same checksum of 9E54
+ ROM_LOAD16_BYTE( "79d3_11-21-97_1565_u_35.u35", 0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) ) // ROMs for Rev.B hard drive are dated 11-21-97 - still same checksum of 79D3
DISK_REGION( "ata:0:hdd:image" )
- DISK_IMAGE( "jdreddb", 0, SHA1(20f696fa6e1fbf97793bac2a794631c5dd4fb39a) ) /* label on drive reads: 1576 Rev.B */
+ DISK_IMAGE( "jdreddb", 0, SHA1(20f696fa6e1fbf97793bac2a794631c5dd4fb39a) ) // label on drive reads: 1576 Rev.B
ROM_REGION( 0x8, "cat702_2", 0 )
ROM_LOAD( "ac02", 0x000000, 0x000008, CRC(1412d475) SHA1(c2f62232a261870f58353d09dc0d6ce2ad17a729) )
@@ -5220,19 +5292,19 @@ ROM_START( hvnsgate )
ATLUS_BIOS
ROM_REGION32_LE( 0x02000000, "bankedroms", 0 )
- ROM_LOAD16_BYTE( "athg-01b.18", 0x0000001, 0x080000, CRC(e820136f) SHA1(2bc3465928dd08060736a2a67d98864d634275d6) )
- ROM_LOAD16_BYTE( "athg-02b.17", 0x0000000, 0x080000, CRC(11bfa89b) SHA1(f23e4c9d8eb90bd3bb3327d9950edd7a467ce8da) )
- ROM_LOAD( "athg-07.027", 0x0100000, 0x400000, CRC(46411f67) SHA1(2e8f37c3d9d7f5f3c79fca8ffeaf4c2fd1634b91) )
- ROM_LOAD( "athg-08.028", 0x0500000, 0x400000, CRC(85289345) SHA1(6385fe27451b80f97e7bad823b3b59eff3efa541) )
- ROM_LOAD( "athg-09.210", 0x0900000, 0x400000, CRC(19e558b5) SHA1(c195bc7dc3cfe4f099d27afdebd6f9cfe064e1df) )
- ROM_LOAD( "athg-10.029", 0x0d00000, 0x400000, CRC(748f936e) SHA1(134e78ea71bb9646f36cc503c704496a2b622ee9) )
- ROM_LOAD( "athg-11.215", 0x1100000, 0x200000, CRC(ac8e53bd) SHA1(002c4be1aa57d810c5d810c475631d9f14e1d2ab) )
-
- ROM_REGION( 0x040000, "audiocpu", 0 ) /* 68000 code, 10.000MHz */
- ROM_LOAD16_BYTE( "athg-04.21", 0x000001, 0x020000, CRC(18523e85) SHA1(0ecc2116760f05fca8e5366b0a97dfe26fa9bc0c) )
- ROM_LOAD16_BYTE( "athg-03.22", 0x000000, 0x020000, CRC(7eef7e68) SHA1(65b8ae18ef4ff636c548326a360b481aeb316869) )
-
- ROM_REGION( 0x800000, "ymz", ROMREGION_ERASE00 ) /* YMZ280B Sound Samples */
+ ROM_LOAD16_BYTE( "athg-01b.18", 0x0000001, 0x080000, CRC(e820136f) SHA1(2bc3465928dd08060736a2a67d98864d634275d6) )
+ ROM_LOAD16_BYTE( "athg-02b.17", 0x0000000, 0x080000, CRC(11bfa89b) SHA1(f23e4c9d8eb90bd3bb3327d9950edd7a467ce8da) )
+ ROM_LOAD( "athg-07.027", 0x0100000, 0x400000, CRC(46411f67) SHA1(2e8f37c3d9d7f5f3c79fca8ffeaf4c2fd1634b91) )
+ ROM_LOAD( "athg-08.028", 0x0500000, 0x400000, CRC(85289345) SHA1(6385fe27451b80f97e7bad823b3b59eff3efa541) )
+ ROM_LOAD( "athg-09.210", 0x0900000, 0x400000, CRC(19e558b5) SHA1(c195bc7dc3cfe4f099d27afdebd6f9cfe064e1df) )
+ ROM_LOAD( "athg-10.029", 0x0d00000, 0x400000, CRC(748f936e) SHA1(134e78ea71bb9646f36cc503c704496a2b622ee9) )
+ ROM_LOAD( "athg-11.215", 0x1100000, 0x200000, CRC(ac8e53bd) SHA1(002c4be1aa57d810c5d810c475631d9f14e1d2ab) )
+
+ ROM_REGION( 0x040000, "audiocpu", 0 ) // 68000 code, 10.000MHz
+ ROM_LOAD16_BYTE( "athg-04.21", 0x000001, 0x020000, CRC(18523e85) SHA1(0ecc2116760f05fca8e5366b0a97dfe26fa9bc0c) )
+ ROM_LOAD16_BYTE( "athg-03.22", 0x000000, 0x020000, CRC(7eef7e68) SHA1(65b8ae18ef4ff636c548326a360b481aeb316869) )
+
+ ROM_REGION( 0x800000, "ymz", ROMREGION_ERASE00 ) // YMZ280B Sound Samples
ROM_LOAD( "athg-05.4136", 0x400000, 0x200000, CRC(74469a15) SHA1(0faa883900d7fd2e5240f486db33b3d868f1f05f) )
ROM_LOAD( "athg-06.4134", 0x600000, 0x200000, CRC(443ade73) SHA1(6ef6aa68c525b9749833125dcab929d1d65d3b90) )
@@ -5241,22 +5313,24 @@ ROM_START( hvnsgate )
ROM_END
/* Capcom ZN1 */
-GAME( 1995, coh1000c, 0, coh1000c, zn, zn1_state, empty_init, ROT0, "Capcom", "ZN1", MACHINE_IS_BIOS_ROOT )
-GAME( 1995, ts2, coh1000c, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124)", MACHINE_IMPERFECT_SOUND )
-GAME( 1995, ts2a, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124) Older", MACHINE_IMPERFECT_SOUND )
-GAME( 1995, ts2j, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Japan 951124)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, starglad, coh1000c, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (USA 960627)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, stargladj, starglad, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (Japan 960627)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, glpracr, coh1000c, coh1000c, zn, glpracr_state, empty_init, ROT0, "Tecmo", "Gallop Racer (English Ver 10.17.K)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, glpracrj, glpracr, coh1000c, zn, glpracr_state, empty_init, ROT0, "Tecmo", "Gallop Racer (Japanese Ver 9.01.12)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, sfex, coh1000c, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Euro 961219)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, sfexu, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (USA 961219)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, sfexa, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Asia 961219)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, sfexj, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Japan 961130)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, sfexp, coh1000c, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970407)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, sfexpu1, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970311)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, sfexpj, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970407)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, sfexpj1, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970311)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, coh1000c, 0, coh1000c, zn, zn1_state, empty_init, ROT0, "Capcom", "ZN1", MACHINE_IS_BIOS_ROOT )
+GAME( 1995, ts2, coh1000c, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Euro 951124)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, ts2u, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, ts2ua, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124, 32Mb mask ROMs)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, ts2j, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Japan 951124)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, ts2ja, ts2, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Japan 951124, 32Mb mask ROMs)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, starglad, coh1000c, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (USA 960627)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, stargladj, starglad, coh1000c, zn6b, zn1_state, empty_init, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (Japan 960627)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, glpracr, coh1000c, coh1000c, zn, glpracr_state, empty_init, ROT0, "Tecmo", "Gallop Racer (English Ver 10.17.K)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, glpracrj, glpracr, coh1000c, zn, glpracr_state, empty_init, ROT0, "Tecmo", "Gallop Racer (Japanese Ver 9.01.12)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, sfex, coh1000c, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Euro 961219)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, sfexu, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (USA 961219)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, sfexa, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Asia 961219)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, sfexj, sfex, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX (Japan 961130)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, sfexp, coh1000c, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970407)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, sfexpu1, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970311)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, sfexpj, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970407)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, sfexpj1, sfexp, coh1002c, zn6b, zn1_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970311)", MACHINE_IMPERFECT_SOUND )
/* Capcom ZN2 */
GAME( 1997, coh3002c, 0, coh3002c, zn, zn2_state, empty_init, ROT0, "Capcom", "ZN2", MACHINE_IS_BIOS_ROOT )
@@ -5277,6 +5351,7 @@ GAME( 1998, stargld2, plsmaswd, coh3002c, zn6b, zn2_state, empty_init, R
GAME( 1998, tgmj, coh3002c, coh3002c, tgm, zn2_state, empty_init, ROT0, "Arika / Capcom", "Tetris: The Grand Master (Japan 980710)", MACHINE_IMPERFECT_SOUND )
GAME( 1998, techromn, coh3002c, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom", "Tech Romancer (Euro 980914)", MACHINE_IMPERFECT_SOUND )
GAME( 1998, techromnu, techromn, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom", "Tech Romancer (USA 980914)", MACHINE_IMPERFECT_SOUND )
+GAME( 1998, techromna, techromn, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom", "Tech Romancer (Asia 980914)", MACHINE_IMPERFECT_SOUND )
GAME( 1998, kikaioh, techromn, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom", "Choukou Senki Kikaioh (Japan 980914)", MACHINE_IMPERFECT_SOUND )
GAME( 1999, sfex2p, coh3002c, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Euro 990611)", MACHINE_IMPERFECT_SOUND )
GAME( 1999, sfex2pu, sfex2p, coh3002c, zn6b, zn2_state, empty_init, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (USA 990611)", MACHINE_IMPERFECT_SOUND )
@@ -5300,24 +5375,24 @@ GAME( 1996, jdredd, coh1000a, jdredd, jdredd, jdredd_state, empty_
GAME( 1996, jdreddb, jdredd, jdredd, jdredd, jdredd_state, empty_init, ROT0, "Acclaim", "Judge Dredd (Rev B Nov. 26 1997)", MACHINE_IMPERFECT_SOUND )
/* Tecmo */
-GAME( 1997, coh1002m, 0, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "TPS", MACHINE_IS_BIOS_ROOT )
-GAME( 1997, glpracr2, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 (Export)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, glpracr2j, glpracr2, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, glpracr2l, glpracr2, coh1002ml, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 Link HW (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1998, doapp, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Dead Or Alive ++ (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1998, doappk, doapp, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Dead Or Alive ++ (Korea)", MACHINE_IMPERFECT_SOUND )
-GAME( 1998, cbaj, coh1002m, cbaj, zn, cbaj_state, empty_init, ROT0, "UEP Systems", "Cool Boarders Arcade Jam", MACHINE_IMPERFECT_SOUND )
-GAME( 1998, shngmtkb, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Sunsoft / Activision", "Shanghai Matekibuyuu", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, tondemo, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Tondemo Crisis (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, glpracr3, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 3 (Export)", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, glpracr3j, glpracr3, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 3 (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, flamegun, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Gaps Inc.", "Flame Gunner", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, flamegunj, flamegun, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Gaps Inc.", "Flame Gunner (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 1999, lpadv, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Amuse World", "Logic Pro Adventure (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 2000, tblkkuzu, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tamsoft / D3 Publisher", "The Block Kuzushi (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 2000, 1on1gov, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "1 on 1 Government (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 2000, twcupmil, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Tecmo World Cup Millennium (Japan)", MACHINE_IMPERFECT_SOUND )
-GAME( 2001, mfjump, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Monster Farm Jump (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, coh1002m, 0, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "TPS", MACHINE_IS_BIOS_ROOT )
+GAME( 1997, glpracr2, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 (Export)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, glpracr2j, glpracr2, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, glpracr2l, glpracr2, coh1002ml, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 2 Link HW (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1998, doapp, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Dead Or Alive ++ (Japan/USA/Export)", MACHINE_IMPERFECT_SOUND ) // region set under GAME OPTIONS, then NATION
+GAME( 1998, doappk, doapp, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Dead Or Alive ++ (Korea)", MACHINE_IMPERFECT_SOUND )
+GAME( 1998, cbaj, coh1002m, cbaj, zn, cbaj_state, empty_init, ROT0, "UEP Systems", "Cool Boarders Arcade Jam (Export)", MACHINE_IMPERFECT_SOUND )
+GAME( 1998, shngmtkb, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Sunsoft / Activision", "Shanghai Matekibuyuu (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, tondemo, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Tondemo Crisis (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, glpracr3, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 3 (Export)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, glpracr3j, glpracr3, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Gallop Racer 3 (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, flamegun, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Gaps Inc.", "Flame Gunner (Export)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, flamegunj, flamegun, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Gaps Inc.", "Flame Gunner (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 1999, lpadv, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Amuse World", "Logic Pro Adventure (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 2000, tblkkuzu, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tamsoft / D3 Publisher", "The Block Kuzushi (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 2000, 1on1gov, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "1 on 1 Government (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 2000, twcupmil, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Tecmo World Cup Millennium (Japan)", MACHINE_IMPERFECT_SOUND )
+GAME( 2001, mfjump, coh1002m, coh1002m, zn, tecmo_zn_state, empty_init, ROT0, "Tecmo", "Monster Farm Jump (Japan)", MACHINE_IMPERFECT_SOUND )
/* Video System */
GAME( 1996, coh1002v, 0, coh1002v, zn, visco_zn_state, empty_init, ROT0, "Video System Co.", "Video System PSX", MACHINE_IS_BIOS_ROOT )
@@ -5325,30 +5400,30 @@ GAME( 1996, aerofgts, coh1002v, coh1002v, aerofgts, visco_zn_state, empty_in
GAME( 1996, sncwgltd, aerofgts, coh1002v, aerofgts, visco_zn_state, empty_init, ROT270, "Video System Co.", "Sonic Wings Limited (Japan)", MACHINE_IMPERFECT_SOUND )
/* Taito FX-1A */
-GAME( 1995, coh1000t, 0, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Taito FX1", MACHINE_IS_BIOS_ROOT )
+GAME( 1995, coh1000t, 0, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Taito FX1", MACHINE_IS_BIOS_ROOT )
GAME( 1995, sfchamp, coh1000t, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Super Football Champ (Ver 2.5O)", MACHINE_IMPERFECT_SOUND )
GAME( 1995, sfchampo, sfchamp, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Super Football Champ (Ver 2.4O)", MACHINE_IMPERFECT_SOUND )
GAME( 1995, sfchampu, sfchamp, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Super Football Champ (Ver 2.4A)", MACHINE_IMPERFECT_SOUND )
GAME( 1995, sfchampj, sfchamp, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Super Football Champ (Ver 2.4J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1995, psyforce, coh1000t, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force (Ver 2.4O)", MACHINE_IMPERFECT_SOUND )
-GAME( 1995, psyforcej, psyforce, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force (Ver 2.4J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1995, psyforcex, psyforce, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force EX (Ver 2.0J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, psyforce, coh1000t, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force (Ver 2.4O)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, psyforcej, psyforce, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force (Ver 2.4J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1995, psyforcex, psyforce, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Psychic Force EX (Ver 2.0J)", MACHINE_IMPERFECT_SOUND )
GAME( 1996, mgcldate, mgcldtex, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Magical Date / Magical Date - Dokidoki Kokuhaku Daisakusen (Ver 2.02J)", MACHINE_IMPERFECT_SOUND )
GAME( 1997, mgcldtex, coh1000t, coh1000ta, znt, taito_fx1a_state, empty_init, ROT0, "Taito", "Magical Date EX / Magical Date - Sotsugyou Kokuhaku Daisakusen (Ver 2.01J)", MACHINE_IMPERFECT_SOUND )
/* Taito FX-1B */
-GAME( 1996, raystorm, coh1000t, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.06A)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, raystormo, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05O)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, raystormu, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05A)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, raystormj, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, ftimpact, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02O)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, ftimpactu, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02A)", MACHINE_IMPERFECT_SOUND )
-GAME( 1996, ftimpactj, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, ftimpcta, coh1000t, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact A (Ver 2.00J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, gdarius, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.02O)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, gdariusu, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.02A)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, gdariusj, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.01J)", MACHINE_IMPERFECT_SOUND )
-GAME( 1997, gdarius2, coh1000t, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius Ver.2 (Ver 2.03J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, raystorm, coh1000t, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.06A)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, raystormo, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05O)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, raystormu, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05A)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, raystormj, raystorm, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Ray Storm (Ver 2.05J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, ftimpact, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02O)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, ftimpactu, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02A)", MACHINE_IMPERFECT_SOUND )
+GAME( 1996, ftimpactj, ftimpcta, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact (Ver 2.02J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, ftimpcta, coh1000t, coh1000tb, znt, taito_fx1b_state, empty_init, ROT0, "Taito", "Fighters' Impact A (Ver 2.00J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, gdarius, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.02O)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, gdariusu, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.02A)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, gdariusj, gdarius2, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius (Ver 2.01J)", MACHINE_IMPERFECT_SOUND )
+GAME( 1997, gdarius2, coh1000t, coh1002tb, znt, gdarius_state, empty_init, ROT0, "Taito", "G-Darius Ver.2 (Ver 2.03J)", MACHINE_IMPERFECT_SOUND )
/* Eighting / Raizing */
GAME( 1997, coh1002e, 0, coh1002e, znt, raizing_zn_state, empty_init, ROT0, "Eighting / Raizing", "PS Arcade 95", MACHINE_IS_BIOS_ROOT )
diff --git a/src/mame/drivers/zr107.cpp b/src/mame/drivers/zr107.cpp
index f3b91f8b305..83841a6eee5 100644
--- a/src/mame/drivers/zr107.cpp
+++ b/src/mame/drivers/zr107.cpp
@@ -169,22 +169,24 @@ Check drivers/gticlub.cpp for details on the bottom board.
#include "cpu/m68000/m68000.h"
#include "cpu/powerpc/ppc.h"
#include "cpu/sharc/sharc.h"
-#include "machine/konppc.h"
#include "machine/adc083x.h"
-#include "machine/k056230.h"
#include "machine/eepromser.h"
+#include "machine/k056230.h"
+#include "machine/konppc.h"
#include "machine/watchdog.h"
-#include "sound/k056800.h"
#include "sound/k054539.h"
-#include "video/k001604.h"
+#include "sound/k056800.h"
#include "video/k001005.h"
#include "video/k001006.h"
+#include "video/k001604.h"
#include "video/k054156_k054157_k056832.h"
#include "video/konami_helper.h"
#include "emupal.h"
#include "speaker.h"
+namespace {
+
class zr107_state : public driver_device
{
public:
@@ -198,20 +200,15 @@ public:
m_workram(*this, "workram"),
m_k001005(*this, "k001005"),
m_k001006_1(*this, "k001006_1"),
- m_in0(*this, "IN0"),
- m_in1(*this, "IN1"),
- m_in2(*this, "IN2"),
- m_in3(*this, "IN3"),
- m_in4(*this, "IN4"),
+ m_in(*this, "IN%u", 0U),
m_out4(*this, "OUT4"),
m_eepromout(*this, "EEPROMOUT"),
- m_analog1(*this, "ANALOG1"),
- m_analog2(*this, "ANALOG2"),
- m_analog3(*this, "ANALOG3"),
+ m_analog(*this, "ANALOG%u", 1U),
m_pcb_digit(*this, "pcbdigit%u", 0U),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_generic_paletteram_32(*this, "paletteram"),
+ m_sharc_dataram(*this, "sharc_dataram"),
m_konppc(*this, "konppc")
{ }
@@ -228,14 +225,16 @@ protected:
required_shared_ptr<uint32_t> m_workram;
required_device<k001005_device> m_k001005;
required_device<k001006_device> m_k001006_1;
- required_ioport m_in0, m_in1, m_in2, m_in3, m_in4, m_out4, m_eepromout, m_analog1, m_analog2, m_analog3;
+ required_ioport_array<5> m_in;
+ required_ioport m_out4, m_eepromout;
+ required_ioport_array<3> m_analog;
output_finder<2> m_pcb_digit;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
required_shared_ptr<uint32_t> m_generic_paletteram_32;
+ required_shared_ptr<uint32_t> m_sharc_dataram;
required_device<konppc_device> m_konppc;
- std::unique_ptr<uint32_t[]> m_sharc_dataram;
int m_ccu_vcth;
int m_ccu_vctl;
uint8_t m_sound_ctrl;
@@ -246,9 +245,7 @@ protected:
void sysreg_w(offs_t offset, uint8_t data);
uint32_t ccu_r(offs_t offset, uint32_t mem_mask = ~0);
void ccu_w(uint32_t data);
- uint32_t dsp_dataram_r(offs_t offset);
- void dsp_dataram_w(offs_t offset, uint32_t data);
- void sound_ctrl_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
+ void sound_ctrl_w(uint8_t data);
WRITE_LINE_MEMBER(vblank);
WRITE_LINE_MEMBER(k054539_irq_gen);
@@ -271,9 +268,10 @@ public:
void midnrun(machine_config &config);
-private:
+protected:
virtual void video_start() override;
+private:
void main_memmap(address_map &map);
K056832_CB_MEMBER(tile_callback);
@@ -363,22 +361,22 @@ uint8_t zr107_state::sysreg_r(offs_t offset)
switch (offset)
{
- case 0: /* I/O port 0 */
- r = m_in0->read();
+ case 0: // I/O port 0
+ r = m_in[0]->read();
break;
- case 1: /* I/O port 1 */
- r = m_in1->read();
+ case 1: // I/O port 1
+ r = m_in[1]->read();
break;
- case 2: /* I/O port 2 */
- r = m_in2->read();
+ case 2: // I/O port 2
+ r = m_in[2]->read();
break;
- case 3: /* System Port 0 */
- r = m_in3->read();
+ case 3: // System Port 0
+ r = m_in[3]->read();
break;
- case 4: /* System Port 1 */
- r = m_in4->read();
+ case 4: // System Port 1
+ r = m_in[4]->read();
break;
- case 5: /* Parallel data port */
+ case 5: // Parallel data port
break;
default:
break;
@@ -390,16 +388,16 @@ void zr107_state::sysreg_w(offs_t offset, uint8_t data)
{
switch (offset)
{
- case 0: /* 7seg LEDs on PCB */
+ case 0: // 7seg LEDs on PCB
case 1:
m_pcb_digit[offset] = bitswap<7>(~data,0,1,2,3,4,5,6);
break;
- case 2: /* Parallel data register */
+ case 2: // Parallel data register
osd_printf_debug("Parallel data = %02X\n", data);
break;
- case 3: /* System Register 0 */
+ case 3: // System Register 0
/*
0x80 = unused
0x40 = COINREQ1
@@ -415,7 +413,7 @@ void zr107_state::sysreg_w(offs_t offset, uint8_t data)
osd_printf_debug("System register 0 = %02X\n", data);
break;
- case 4: /* System Register 1 */
+ case 4: // System Register 1
/*
0x80 = EXRES1
0x40 = EXRES0
@@ -426,16 +424,16 @@ void zr107_state::sysreg_w(offs_t offset, uint8_t data)
0x02 = ADDI (ADC DI)
0x01 = ADDSCLK (ADC SCLK)
*/
- if (data & 0x80) /* CG Board 1 IRQ Ack */
+ if (data & 0x80) // CG Board 1 IRQ Ack
m_maincpu->set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
- if (data & 0x40) /* CG Board 0 IRQ Ack */
+ if (data & 0x40) // CG Board 0 IRQ Ack
m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
m_konppc->set_cgboard_id((data >> 4) & 3);
m_out4->write(data, 0xff);
osd_printf_debug("System register 1 = %02X\n", data);
break;
- case 5: /* System Register 2 */
+ case 5: // System Register 2
/*
0x01 = AFE
*/
@@ -483,31 +481,31 @@ void zr107_state::machine_start()
{
m_pcb_digit.resolve();
- /* set conservative DRC options */
+ // set conservative DRC options
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);
- /* configure fast RAM regions for DRC */
+ // configure fast RAM regions for DRC
m_maincpu->ppcdrc_add_fastram(0x00000000, 0x000fffff, false, m_workram);
}
void midnrun_state::main_memmap(address_map &map)
{
- map(0x00000000, 0x000fffff).ram().share("workram"); /* Work RAM */
+ map(0x00000000, 0x000fffff).ram().share(m_workram);
map(0x74000000, 0x74003fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
map(0x74020000, 0x7402003f).rw(m_k056832, FUNC(k056832_device::word_r), FUNC(k056832_device::word_w));
map(0x74060000, 0x7406003f).rw(FUNC(midnrun_state::ccu_r), FUNC(midnrun_state::ccu_w));
- map(0x74080000, 0x74081fff).ram().w(FUNC(midnrun_state::paletteram32_w)).share("paletteram");
+ map(0x74080000, 0x74081fff).ram().w(FUNC(midnrun_state::paletteram32_w)).share(m_generic_paletteram_32);
map(0x740a0000, 0x740a3fff).r(m_k056832, FUNC(k056832_device::rom_word_r));
- map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc)); /* 21N 21K 23N 23K */
+ map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc)); // 21N 21K 23N 23K
map(0x78010000, 0x7801ffff).w(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_w_ppc));
map(0x78040000, 0x7804000f).rw(m_k001006_1, FUNC(k001006_device::read), FUNC(k001006_device::write));
map(0x780c0000, 0x780c0007).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_comm_r_ppc), FUNC(konppc_device::cgboard_dsp_comm_w_ppc));
map(0x7e000000, 0x7e003fff).rw(FUNC(midnrun_state::sysreg_r), FUNC(midnrun_state::sysreg_w));
- map(0x7e008000, 0x7e009fff).rw("k056230", FUNC(k056230_device::read), FUNC(k056230_device::write)); /* LANC registers */
- map(0x7e00a000, 0x7e00bfff).rw("k056230", FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w)); /* LANC Buffer RAM (27E) */
+ map(0x7e008000, 0x7e009fff).rw("k056230", FUNC(k056230_device::read), FUNC(k056230_device::write)); // LANC registers
+ map(0x7e00a000, 0x7e00bfff).rw("k056230", FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w)); // LANC Buffer RAM (27E)
map(0x7e00c000, 0x7e00c00f).rw(m_k056800, FUNC(k056800_device::host_r), FUNC(k056800_device::host_w));
- map(0x7f800000, 0x7f9fffff).rom().region("user1", 0);
- map(0x7fe00000, 0x7fffffff).rom().region("user1", 0); /* Program ROM */
+ map(0x7f800000, 0x7f9fffff).rom().region("prgrom", 0);
+ map(0x7fe00000, 0x7fffffff).rom().region("prgrom", 0);
}
@@ -520,68 +518,54 @@ void jetwave_state::palette_w(offs_t offset, uint32_t data, uint32_t mem_mask)
void jetwave_state::main_memmap(address_map &map)
{
- map(0x00000000, 0x000fffff).ram().share("workram"); /* Work RAM */
+ map(0x00000000, 0x000fffff).ram().share(m_workram);
map(0x74000000, 0x740000ff).rw(m_k001604, FUNC(k001604_device::reg_r), FUNC(k001604_device::reg_w));
- map(0x74010000, 0x7401ffff).ram().w(FUNC(jetwave_state::palette_w)).share("paletteram");
+ map(0x74010000, 0x7401ffff).ram().w(FUNC(jetwave_state::palette_w)).share(m_generic_paletteram_32);
map(0x74020000, 0x7403ffff).rw(m_k001604, FUNC(k001604_device::tile_r), FUNC(k001604_device::tile_w));
map(0x74040000, 0x7407ffff).rw(m_k001604, FUNC(k001604_device::char_r), FUNC(k001604_device::char_w));
- map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc)); /* 21N 21K 23N 23K */
+ map(0x78000000, 0x7800ffff).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_r_ppc), FUNC(konppc_device::cgboard_dsp_shared_w_ppc)); // 21N 21K 23N 23K
map(0x78010000, 0x7801ffff).w(m_konppc, FUNC(konppc_device::cgboard_dsp_shared_w_ppc));
map(0x78040000, 0x7804000f).rw(m_k001006_1, FUNC(k001006_device::read), FUNC(k001006_device::write));
map(0x78080000, 0x7808000f).rw(m_k001006_2, FUNC(k001006_device::read), FUNC(k001006_device::write));
map(0x780c0000, 0x780c0007).rw(m_konppc, FUNC(konppc_device::cgboard_dsp_comm_r_ppc), FUNC(konppc_device::cgboard_dsp_comm_w_ppc));
map(0x7e000000, 0x7e003fff).rw(FUNC(jetwave_state::sysreg_r), FUNC(jetwave_state::sysreg_w));
- map(0x7e008000, 0x7e009fff).rw("k056230", FUNC(k056230_device::read), FUNC(k056230_device::write)); /* LANC registers */
- map(0x7e00a000, 0x7e00bfff).rw("k056230", FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w)); /* LANC Buffer RAM (27E) */
+ map(0x7e008000, 0x7e009fff).rw("k056230", FUNC(k056230_device::read), FUNC(k056230_device::write)); // LANC registers
+ map(0x7e00a000, 0x7e00bfff).rw("k056230", FUNC(k056230_device::lanc_ram_r), FUNC(k056230_device::lanc_ram_w)); // LANC Buffer RAM (27E)
map(0x7e00c000, 0x7e00c00f).rw(m_k056800, FUNC(k056800_device::host_r), FUNC(k056800_device::host_w));
- map(0x7f000000, 0x7f3fffff).rom().region("user2", 0);
- map(0x7f800000, 0x7f9fffff).rom().region("user1", 0);
- map(0x7fe00000, 0x7fffffff).rom().region("user1", 0); /* Program ROM */
+ map(0x7f000000, 0x7f3fffff).rom().region("datarom", 0);
+ map(0x7f800000, 0x7f9fffff).rom().region("prgrom", 0);
+ map(0x7fe00000, 0x7fffffff).rom().region("prgrom", 0);
}
/**********************************************************************/
-void zr107_state::sound_ctrl_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void zr107_state::sound_ctrl_w(uint8_t data)
{
- if (ACCESSING_BITS_0_7)
- {
- if (!(data & 1))
- m_audiocpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
+ if (!(data & 1))
+ m_audiocpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
- m_sound_ctrl = data;
- }
+ m_sound_ctrl = data;
}
void zr107_state::sound_memmap(address_map &map)
{
map(0x000000, 0x01ffff).rom();
- map(0x100000, 0x103fff).ram(); /* Work RAM */
+ map(0x100000, 0x103fff).ram(); // Work RAM
map(0x200000, 0x2004ff).rw("k054539_1", FUNC(k054539_device::read), FUNC(k054539_device::write)).umask16(0xff00);
map(0x200000, 0x2004ff).rw("k054539_2", FUNC(k054539_device::read), FUNC(k054539_device::write)).umask16(0x00ff);
map(0x400000, 0x40001f).rw(m_k056800, FUNC(k056800_device::sound_r), FUNC(k056800_device::sound_w)).umask16(0x00ff);
- map(0x500000, 0x500001).w(FUNC(zr107_state::sound_ctrl_w));
+ map(0x500001, 0x500001).w(FUNC(zr107_state::sound_ctrl_w));
map(0x580000, 0x580001).nopw(); // 'NRES' - D2: K056602 /RESET
}
/*****************************************************************************/
-
-uint32_t zr107_state::dsp_dataram_r(offs_t offset)
-{
- return m_sharc_dataram[offset] & 0xffff;
-}
-
-void zr107_state::dsp_dataram_w(offs_t offset, uint32_t data)
-{
- m_sharc_dataram[offset] = data;
-}
-
void zr107_state::sharc_memmap(address_map &map)
{
map(0x400000, 0x41ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x500000, 0x5fffff).rw(FUNC(zr107_state::dsp_dataram_r), FUNC(zr107_state::dsp_dataram_w));
+ map(0x500000, 0x5fffff).ram().share(m_sharc_dataram).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[offset] & 0xffff; }));
map(0x600000, 0x6fffff).rw(m_k001005, FUNC(k001005_device::read), FUNC(k001005_device::write));
map(0x700000, 0x7000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
}
@@ -606,7 +590,7 @@ static INPUT_PORTS_START( zr107 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("adc0838", adc083x_device, do_read)
PORT_START("IN4")
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* PARAACK */
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) // PARAACK
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("adc0838", adc083x_device, sars_read)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, do_read)
@@ -691,18 +675,18 @@ static INPUT_PORTS_START( jetwave )
INPUT_PORTS_END
-/* ADC0838 Interface */
+// ADC0838 Interface
double zr107_state::adc0838_callback(uint8_t input)
{
switch (input)
{
case ADC083X_CH0:
- return (double)(5 * m_analog1->read()) / 255.0;
+ return (double)(5 * m_analog[0]->read()) / 255.0;
case ADC083X_CH1:
- return (double)(5 * m_analog2->read()) / 255.0;
+ return (double)(5 * m_analog[1]->read()) / 255.0;
case ADC083X_CH2:
- return (double)(5 * m_analog3->read()) / 255.0;
+ return (double)(5 * m_analog[2]->read()) / 255.0;
case ADC083X_VREF:
return 5;
default:
@@ -748,10 +732,10 @@ void zr107_state::machine_reset()
void zr107_state::zr107(machine_config &config)
{
- /* basic machine hardware */
- PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); /* PowerPC 403GA 32MHz */
+ // basic machine hardware
+ PPC403GA(config, m_maincpu, XTAL(64'000'000)/2); // PowerPC 403GA 32MHz
- M68000(config, m_audiocpu, XTAL(64'000'000)/8); /* 8MHz */
+ M68000(config, m_audiocpu, XTAL(64'000'000)/8); // 8MHz
m_audiocpu->set_addrmap(AS_PROGRAM, &zr107_state::sound_memmap);
ADSP21062(config, m_dsp, XTAL(36'000'000));
@@ -764,7 +748,7 @@ void zr107_state::zr107(machine_config &config)
WATCHDOG_TIMER(config, m_watchdog);
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(64*8, 48*8);
@@ -776,7 +760,7 @@ void zr107_state::zr107(machine_config &config)
K001005(config, m_k001005, 0, m_k001006_1);
K001006(config, m_k001006_1, 0);
- m_k001006_1->set_gfx_region("gfx1");
+ m_k001006_1->set_gfx_region("textures");
K056800(config, m_k056800, XTAL(18'432'000));
m_k056800->int_callback().set_inputline(m_audiocpu, M68K_IRQ_1);
@@ -810,7 +794,7 @@ void midnrun_state::midnrun(machine_config &config)
config.set_maximum_quantum(attotime::from_hz(750000)); // Very high sync needed to prevent lockups - why?
- /* video hardware */
+ // video hardware
m_screen->set_screen_update(FUNC(midnrun_state::screen_update));
K056832(config, m_k056832, 0);
@@ -826,7 +810,7 @@ void jetwave_state::jetwave(machine_config &config)
config.set_maximum_quantum(attotime::from_hz(2000000)); // Very high sync needed to prevent lockups - why?
- /* video hardware */
+ // video hardware
m_screen->set_screen_update(FUNC(jetwave_state::screen_update));
K001604(config, m_k001604, 0);
@@ -839,7 +823,7 @@ void jetwave_state::jetwave(machine_config &config)
// The second K001006 chip connects to the second K001005 chip.
// Hook this up when the K001005 separation is understood (seems the load balancing is done on hardware).
K001006(config, m_k001006_2, 0);
- m_k001006_2->set_gfx_region("gfx1");
+ m_k001006_2->set_gfx_region("textures");
m_konppc->set_cbboard_type(konppc_device::CGBOARD_TYPE_GTICLUB);
}
@@ -848,94 +832,98 @@ void jetwave_state::jetwave(machine_config &config)
void zr107_state::driver_init()
{
- m_sharc_dataram = std::make_unique<uint32_t[]>(0x100000/4);
m_ccu_vcth = m_ccu_vctl = 0;
+ save_item(NAME(m_ccu_vcth));
+ save_item(NAME(m_ccu_vctl));
+ save_item(NAME(m_sound_ctrl));
+ save_item(NAME(m_sound_intck));
+
m_dsp->enable_recompiler();
}
/*****************************************************************************/
ROM_START( midnrun )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "476ea1a01.20u", 0x000000, 0x80000, CRC(ea70edf2) SHA1(51c882383a150ba118ccd39eb869525fcf5eee3c) ) /* Program version EAA, v1.11 (EUR) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "476ea1a01.20u", 0x000000, 0x80000, CRC(ea70edf2) SHA1(51c882383a150ba118ccd39eb869525fcf5eee3c) ) // Program version EAA, v1.11 (EUR)
ROM_LOAD32_BYTE( "476ea1a02.17u", 0x000001, 0x80000, CRC(1462994f) SHA1(c8614c6c416f81737cc77c46eea6d8d440bc8cf3) )
ROM_LOAD32_BYTE( "476ea1a03.15u", 0x000002, 0x80000, CRC(b770ae46) SHA1(c61daa8353802957eb1c2e2c6204c3a98569627e) )
ROM_LOAD32_BYTE( "476ea1a04.13u", 0x000003, 0x80000, CRC(9644b277) SHA1(b9cb812b6035dfd93032d277c8aa0037cf6b3dbe) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "477a07.19l", 0x000000, 0x20000, CRC(a82c0ba1) SHA1(dad69f2e5e75009d70cc2748477248ec47627c30) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "477a11.35b", 0x000000, 0x80000, CRC(85eef04b) SHA1(02e26d2d4a8b29894370f28d2a49fdf5c7d23f95) )
ROM_LOAD16_BYTE( "477a12.35a", 0x000001, 0x80000, CRC(451d7777) SHA1(0bf280ca475100778bbfd3f023547bf0413fc8b7) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "477a13.9h", 0x000000, 0x200000, CRC(b1ee901d) SHA1(b1432cb1379b35d99d3f2b7f6409db6f7e88121d) )
ROM_LOAD64_WORD( "477a14.7h", 0x000002, 0x200000, CRC(9ffa8cc5) SHA1(eaa19e26df721bec281444ca1c5ccc9e48df1b0b) )
ROM_LOAD64_WORD( "477a15.5h", 0x000004, 0x200000, CRC(e337fce7) SHA1(c84875f3275efd47273508b340231721f5a631d2) )
ROM_LOAD64_WORD( "477a16.2h", 0x000006, 0x200000, CRC(2c03ee63) SHA1(6b74d340dddf92bb4e4b1e037f003d58c65d8d9b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "477a08.5r", 0x000000, 0x200000, CRC(d320dbde) SHA1(eb602cad6ac7c7151c9f29d39b10041d5a354164) )
ROM_LOAD( "477a09.3r", 0x200000, 0x200000, CRC(f431e29f) SHA1(e6082d88f86abb63d02ac34e70873b58f88b0ddc) )
ROM_LOAD( "477a10.5n", 0x400000, 0x200000, CRC(8db31bd4) SHA1(d662d3bb6e8b44a01ffa158f5d7425454aad49a3) )
ROM_END
ROM_START( midnrunj )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "476ja1d01.20u", 0x000000, 0x80000, CRC(68d05950) SHA1(d0ff9b9b628563e18a3eaa7b96b7e9e442c001a9) ) /* Program version JAD, v1.10 (JPN) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "476ja1d01.20u", 0x000000, 0x80000, CRC(68d05950) SHA1(d0ff9b9b628563e18a3eaa7b96b7e9e442c001a9) ) // Program version JAD, v1.10 (JPN)
ROM_LOAD32_BYTE( "476ja1d02.17u", 0x000001, 0x80000, CRC(b12a14be) SHA1(d65281791874b90351442b94173d96582cfacd10) )
ROM_LOAD32_BYTE( "476ja1d03.15u", 0x000002, 0x80000, CRC(f768c8f1) SHA1(b8242995bdb4f9ac078fd59ffc70c31014396c92) )
ROM_LOAD32_BYTE( "476ja1d04.13u", 0x000003, 0x80000, CRC(6fd4fce7) SHA1(0ef25ec98a13f7beca1231db5a4db9004caadb0b) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "477a07.19l", 0x000000, 0x20000, CRC(a82c0ba1) SHA1(dad69f2e5e75009d70cc2748477248ec47627c30) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "477a11.35b", 0x000000, 0x80000, CRC(85eef04b) SHA1(02e26d2d4a8b29894370f28d2a49fdf5c7d23f95) )
ROM_LOAD16_BYTE( "477a12.35a", 0x000001, 0x80000, CRC(451d7777) SHA1(0bf280ca475100778bbfd3f023547bf0413fc8b7) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "477a13.9h", 0x000000, 0x200000, CRC(b1ee901d) SHA1(b1432cb1379b35d99d3f2b7f6409db6f7e88121d) )
ROM_LOAD64_WORD( "477a14.7h", 0x000002, 0x200000, CRC(9ffa8cc5) SHA1(eaa19e26df721bec281444ca1c5ccc9e48df1b0b) )
ROM_LOAD64_WORD( "477a15.5h", 0x000004, 0x200000, CRC(e337fce7) SHA1(c84875f3275efd47273508b340231721f5a631d2) )
ROM_LOAD64_WORD( "477a16.2h", 0x000006, 0x200000, CRC(2c03ee63) SHA1(6b74d340dddf92bb4e4b1e037f003d58c65d8d9b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "477a08.5r", 0x000000, 0x200000, CRC(d320dbde) SHA1(eb602cad6ac7c7151c9f29d39b10041d5a354164) )
ROM_LOAD( "477a09.3r", 0x200000, 0x200000, CRC(f431e29f) SHA1(e6082d88f86abb63d02ac34e70873b58f88b0ddc) )
ROM_LOAD( "477a10.5n", 0x400000, 0x200000, CRC(8db31bd4) SHA1(d662d3bb6e8b44a01ffa158f5d7425454aad49a3) )
ROM_END
ROM_START( midnruna )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "477aaa01.20u", 0x000000, 0x80000, CRC(3aa31517) SHA1(315d9c3c930493e39bc497ceafa0c4ef6fa64e4d) ) /* Program version AAA, v1.10 (ASA) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "477aaa01.20u", 0x000000, 0x80000, CRC(3aa31517) SHA1(315d9c3c930493e39bc497ceafa0c4ef6fa64e4d) ) // Program version AAA, v1.10 (ASA)
ROM_LOAD32_BYTE( "477aaa02.17u", 0x000001, 0x80000, CRC(c506bd3d) SHA1(d44ed2cb39f0da44f681190132c7603dfca813d9) )
ROM_LOAD32_BYTE( "477aaa03.15u", 0x000002, 0x80000, CRC(53f8e898) SHA1(ba83a60a411bb307cb0e424099716ccf888a4f39) )
ROM_LOAD32_BYTE( "477aaa04.13u", 0x000003, 0x80000, CRC(0eb264b7) SHA1(179a3d58c0f554fd1b283ee3640ce09d5142b288) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "477a07.19l", 0x000000, 0x20000, CRC(a82c0ba1) SHA1(dad69f2e5e75009d70cc2748477248ec47627c30) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "477a11.35b", 0x000000, 0x80000, CRC(85eef04b) SHA1(02e26d2d4a8b29894370f28d2a49fdf5c7d23f95) )
ROM_LOAD16_BYTE( "477a12.35a", 0x000001, 0x80000, CRC(451d7777) SHA1(0bf280ca475100778bbfd3f023547bf0413fc8b7) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "477a13.9h", 0x000000, 0x200000, CRC(b1ee901d) SHA1(b1432cb1379b35d99d3f2b7f6409db6f7e88121d) )
ROM_LOAD64_WORD( "477a14.7h", 0x000002, 0x200000, CRC(9ffa8cc5) SHA1(eaa19e26df721bec281444ca1c5ccc9e48df1b0b) )
ROM_LOAD64_WORD( "477a15.5h", 0x000004, 0x200000, CRC(e337fce7) SHA1(c84875f3275efd47273508b340231721f5a631d2) )
ROM_LOAD64_WORD( "477a16.2h", 0x000006, 0x200000, CRC(2c03ee63) SHA1(6b74d340dddf92bb4e4b1e037f003d58c65d8d9b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "477a08.5r", 0x000000, 0x200000, CRC(d320dbde) SHA1(eb602cad6ac7c7151c9f29d39b10041d5a354164) )
ROM_LOAD( "477a09.3r", 0x200000, 0x200000, CRC(f431e29f) SHA1(e6082d88f86abb63d02ac34e70873b58f88b0ddc) )
ROM_LOAD( "477a10.5n", 0x400000, 0x200000, CRC(8db31bd4) SHA1(d662d3bb6e8b44a01ffa158f5d7425454aad49a3) )
ROM_END
ROM_START( midnruna2 )
- ROM_REGION32_BE(0x200000, "user1", 0) // PowerPC program roms
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
ROM_LOAD32_BYTE( "477ab1d01.20u", 0x000003, 0x80000, CRC(3aa31517) SHA1(315d9c3c930493e39bc497ceafa0c4ef6fa64e4d) ) // labeled AB1, but still program version AAA, v1.10 (ASA)
ROM_LOAD32_BYTE( "477ab1d02.17u", 0x000002, 0x80000, CRC(c506bd3d) SHA1(d44ed2cb39f0da44f681190132c7603dfca813d9) )
ROM_LOAD32_BYTE( "477ab1d03.15u", 0x000001, 0x80000, CRC(53f8e898) SHA1(ba83a60a411bb307cb0e424099716ccf888a4f39) )
@@ -948,7 +936,7 @@ ROM_START( midnruna2 )
ROM_LOAD16_BYTE( "477a11.35b", 0x000000, 0x80000, CRC(85eef04b) SHA1(02e26d2d4a8b29894370f28d2a49fdf5c7d23f95) )
ROM_LOAD16_BYTE( "477a12.35a", 0x000001, 0x80000, CRC(451d7777) SHA1(0bf280ca475100778bbfd3f023547bf0413fc8b7) )
- ROM_REGION(0x800000, "gfx1", 0) // Texture data
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "477a13.9h", 0x000000, 0x200000, CRC(b1ee901d) SHA1(b1432cb1379b35d99d3f2b7f6409db6f7e88121d) )
ROM_LOAD64_WORD( "477a14.7h", 0x000002, 0x200000, CRC(9ffa8cc5) SHA1(eaa19e26df721bec281444ca1c5ccc9e48df1b0b) )
ROM_LOAD64_WORD( "477a15.5h", 0x000004, 0x200000, CRC(e337fce7) SHA1(c84875f3275efd47273508b340231721f5a631d2) )
@@ -961,187 +949,190 @@ ROM_START( midnruna2 )
ROM_END
ROM_START( windheat )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "677eaa01.20u", 0x000000, 0x080000, CRC(500b61f4) SHA1(ec39165412978c0dbd3cbf1f7b6989b5d7ba20a0) ) /* Program version EAA, v2.11 (EUR) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "677eaa01.20u", 0x000000, 0x080000, CRC(500b61f4) SHA1(ec39165412978c0dbd3cbf1f7b6989b5d7ba20a0) ) // Program version EAA, v2.11 (EUR)
ROM_LOAD32_BYTE( "677eaa02.17u", 0x000001, 0x080000, CRC(99f9fd3b) SHA1(aaec5d7f4e46648aab3738ab09e46b312caee58f) )
ROM_LOAD32_BYTE( "677eaa03.15u", 0x000002, 0x080000, CRC(c46eba6b) SHA1(80fea082d09071875d30a6a838736cf3a3e4501d) )
ROM_LOAD32_BYTE( "677eaa04.13u", 0x000003, 0x080000, CRC(20dfcf4e) SHA1(4de8e22507f4719441f14fe96e25f0e0712dfa95) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "677a07.19l", 0x000000, 0x020000, CRC(05b14f2d) SHA1(3753f71173594ee741980e08eed0f7c3fc3588c9) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "677a11.35b", 0x000000, 0x080000, CRC(bf34f00f) SHA1(ca0d390c8b30d0cfdad4cfe5a601cc1f6e8c263d) )
ROM_LOAD16_BYTE( "677a12.35a", 0x000001, 0x080000, CRC(458f0b1d) SHA1(8e11023c75c80b496dfc62b6645cfedcf2a80db4) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "677a13.9h", 0x000000, 0x200000, CRC(7937d226) SHA1(c2ba777292c293e31068eeb3a27353ad2595b413) )
ROM_LOAD64_WORD( "677a14.7h", 0x000002, 0x200000, CRC(2568cf41) SHA1(6ed01922943486dafbdc863b76b2036c1fbe5281) )
ROM_LOAD64_WORD( "677a15.5h", 0x000004, 0x200000, CRC(62e2c3dd) SHA1(c9127ed70bdff947c3da2908a08974091615a685) )
ROM_LOAD64_WORD( "677a16.2h", 0x000006, 0x200000, CRC(7cc75539) SHA1(4bd8d88debf7489f30008bd4cbded67cb1a20ab0) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "677a08.5r", 0x000000, 0x200000, CRC(bde38850) SHA1(aaf1bdfc25ecdffc1f6076c9c1b2edbe263171d2) )
ROM_LOAD( "677a09.3r", 0x200000, 0x200000, CRC(4dfc1ea9) SHA1(4ab264c1902b522bc0589766e42f2b6ca276808d) )
ROM_LOAD( "677a10.5n", 0x400000, 0x200000, CRC(d8f77a68) SHA1(ff251863ef096f0864f6cbe6caa43b0aa299d9ee) )
ROM_END
ROM_START( windheatu )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "677ubc01.20u", 0x000000, 0x080000, CRC(63198721) SHA1(7f34131bf51d573d0c683b28df2567a0b911c98c) ) /* Program version UBC, v2.22 (USA) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "677ubc01.20u", 0x000000, 0x080000, CRC(63198721) SHA1(7f34131bf51d573d0c683b28df2567a0b911c98c) ) // Program version UBC, v2.22 (USA)
ROM_LOAD32_BYTE( "677ubc02.17u", 0x000001, 0x080000, CRC(bdb00e2d) SHA1(c54b2250047576e12e9936300989e40494b4659d) )
ROM_LOAD32_BYTE( "677ubc03.15u", 0x000002, 0x080000, CRC(0f7d8c1f) SHA1(63de03c7be794b6dae8d0af69e894ac573dbbc11) )
ROM_LOAD32_BYTE( "677ubc04.13u", 0x000003, 0x080000, CRC(4e42791c) SHA1(a53c6374c6b46db578be4ced2ee7c2af7062d961) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "677a07.19l", 0x000000, 0x020000, CRC(05b14f2d) SHA1(3753f71173594ee741980e08eed0f7c3fc3588c9) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "677a11.35b", 0x000000, 0x080000, CRC(bf34f00f) SHA1(ca0d390c8b30d0cfdad4cfe5a601cc1f6e8c263d) )
ROM_LOAD16_BYTE( "677a12.35a", 0x000001, 0x080000, CRC(458f0b1d) SHA1(8e11023c75c80b496dfc62b6645cfedcf2a80db4) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "677a13.9h", 0x000000, 0x200000, CRC(7937d226) SHA1(c2ba777292c293e31068eeb3a27353ad2595b413) )
ROM_LOAD64_WORD( "677a14.7h", 0x000002, 0x200000, CRC(2568cf41) SHA1(6ed01922943486dafbdc863b76b2036c1fbe5281) )
ROM_LOAD64_WORD( "677a15.5h", 0x000004, 0x200000, CRC(62e2c3dd) SHA1(c9127ed70bdff947c3da2908a08974091615a685) )
ROM_LOAD64_WORD( "677a16.2h", 0x000006, 0x200000, CRC(7cc75539) SHA1(4bd8d88debf7489f30008bd4cbded67cb1a20ab0) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "677a08.5r", 0x000000, 0x200000, CRC(bde38850) SHA1(aaf1bdfc25ecdffc1f6076c9c1b2edbe263171d2) )
ROM_LOAD( "677a09.3r", 0x200000, 0x200000, CRC(4dfc1ea9) SHA1(4ab264c1902b522bc0589766e42f2b6ca276808d) )
ROM_LOAD( "677a10.5n", 0x400000, 0x200000, CRC(d8f77a68) SHA1(ff251863ef096f0864f6cbe6caa43b0aa299d9ee) )
ROM_END
ROM_START( windheatj )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "677jaa01.20u", 0x000000, 0x080000, CRC(559b8def) SHA1(6f2e8f29b0d9a950e71015270560813adc20b689) ) /* Program version JAA, v2.11 (JPN) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "677jaa01.20u", 0x000000, 0x080000, CRC(559b8def) SHA1(6f2e8f29b0d9a950e71015270560813adc20b689) ) // Program version JAA, v2.11 (JPN)
ROM_LOAD32_BYTE( "677jaa02.17u", 0x000001, 0x080000, CRC(cc230575) SHA1(be2da67600ab5edad2e8b7711c4cf985befe28bf) )
ROM_LOAD32_BYTE( "677jaa03.15u", 0x000002, 0x080000, CRC(20b04701) SHA1(463be36c7f65b4aa3c3f2b1f37d1e6c1f5106cbb) )
ROM_LOAD32_BYTE( "677jaa04.13u", 0x000003, 0x080000, CRC(f563b2a5) SHA1(b55b486b6af926eff4729f402116d45b61c5d25a) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "677a07.19l", 0x000000, 0x020000, CRC(05b14f2d) SHA1(3753f71173594ee741980e08eed0f7c3fc3588c9) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "677a11.35b", 0x000000, 0x080000, CRC(bf34f00f) SHA1(ca0d390c8b30d0cfdad4cfe5a601cc1f6e8c263d) )
ROM_LOAD16_BYTE( "677a12.35a", 0x000001, 0x080000, CRC(458f0b1d) SHA1(8e11023c75c80b496dfc62b6645cfedcf2a80db4) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "677a13.9h", 0x000000, 0x200000, CRC(7937d226) SHA1(c2ba777292c293e31068eeb3a27353ad2595b413) )
ROM_LOAD64_WORD( "677a14.7h", 0x000002, 0x200000, CRC(2568cf41) SHA1(6ed01922943486dafbdc863b76b2036c1fbe5281) )
ROM_LOAD64_WORD( "677a15.5h", 0x000004, 0x200000, CRC(62e2c3dd) SHA1(c9127ed70bdff947c3da2908a08974091615a685) )
ROM_LOAD64_WORD( "677a16.2h", 0x000006, 0x200000, CRC(7cc75539) SHA1(4bd8d88debf7489f30008bd4cbded67cb1a20ab0) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "677a08.5r", 0x000000, 0x200000, CRC(bde38850) SHA1(aaf1bdfc25ecdffc1f6076c9c1b2edbe263171d2) )
ROM_LOAD( "677a09.3r", 0x200000, 0x200000, CRC(4dfc1ea9) SHA1(4ab264c1902b522bc0589766e42f2b6ca276808d) )
ROM_LOAD( "677a10.5n", 0x400000, 0x200000, CRC(d8f77a68) SHA1(ff251863ef096f0864f6cbe6caa43b0aa299d9ee) )
ROM_END
ROM_START( windheata )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "677aaa01.20u", 0x000000, 0x080000, CRC(0d88d0e2) SHA1(93da258bfdb2baa1796916ea8350fff521d43373) ) /* Program version AAA, 2.11 (ASA) */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "677aaa01.20u", 0x000000, 0x080000, CRC(0d88d0e2) SHA1(93da258bfdb2baa1796916ea8350fff521d43373) ) // Program version AAA, 2.11 (ASA)
ROM_LOAD32_BYTE( "677aaa02.17u", 0x000001, 0x080000, CRC(f71044a3) SHA1(a88990d4a65b610f695f4a6ff42868d04f6ba1b3) )
ROM_LOAD32_BYTE( "677aaa03.15u", 0x000002, 0x080000, CRC(3c897588) SHA1(718b0eb57f23a3117d2ad3c58e53196f72fc61bf) )
ROM_LOAD32_BYTE( "677aaa04.13u", 0x000003, 0x080000, CRC(aee84b7d) SHA1(b69a44e51e21f28bcd5cd87297066fc7ba7b5043) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "677a07.19l", 0x000000, 0x020000, CRC(05b14f2d) SHA1(3753f71173594ee741980e08eed0f7c3fc3588c9) )
- ROM_REGION(0x100000, "k056832", 0) /* Tilemap */
+ ROM_REGION(0x100000, "k056832", 0) // Tilemap
ROM_LOAD16_BYTE( "677a11.35b", 0x000000, 0x080000, CRC(bf34f00f) SHA1(ca0d390c8b30d0cfdad4cfe5a601cc1f6e8c263d) )
ROM_LOAD16_BYTE( "677a12.35a", 0x000001, 0x080000, CRC(458f0b1d) SHA1(8e11023c75c80b496dfc62b6645cfedcf2a80db4) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "677a13.9h", 0x000000, 0x200000, CRC(7937d226) SHA1(c2ba777292c293e31068eeb3a27353ad2595b413) )
ROM_LOAD64_WORD( "677a14.7h", 0x000002, 0x200000, CRC(2568cf41) SHA1(6ed01922943486dafbdc863b76b2036c1fbe5281) )
ROM_LOAD64_WORD( "677a15.5h", 0x000004, 0x200000, CRC(62e2c3dd) SHA1(c9127ed70bdff947c3da2908a08974091615a685) )
ROM_LOAD64_WORD( "677a16.2h", 0x000006, 0x200000, CRC(7cc75539) SHA1(4bd8d88debf7489f30008bd4cbded67cb1a20ab0) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "677a08.5r", 0x000000, 0x200000, CRC(bde38850) SHA1(aaf1bdfc25ecdffc1f6076c9c1b2edbe263171d2) )
ROM_LOAD( "677a09.3r", 0x200000, 0x200000, CRC(4dfc1ea9) SHA1(4ab264c1902b522bc0589766e42f2b6ca276808d) )
ROM_LOAD( "677a10.5n", 0x400000, 0x200000, CRC(d8f77a68) SHA1(ff251863ef096f0864f6cbe6caa43b0aa299d9ee) )
ROM_END
ROM_START( jetwave )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "678eab01.20u", 0x000000, 0x080000, CRC(bc657198) SHA1(e521bb2c1b1a3ae934c98ce1656d35821fc287c9) ) /* Program version EAB, EUR v1.04 */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "678eab01.20u", 0x000000, 0x080000, CRC(bc657198) SHA1(e521bb2c1b1a3ae934c98ce1656d35821fc287c9) ) // Program version EAB, EUR v1.04
ROM_LOAD32_BYTE( "678eab02.17u", 0x000001, 0x080000, CRC(a9a57090) SHA1(ae0273b00c64687f8f835aba531580654edd1097) )
ROM_LOAD32_BYTE( "678eab03.15u", 0x000002, 0x080000, CRC(483aaff0) SHA1(86e011337532f6ff0174393758784b276143ba10) )
ROM_LOAD32_BYTE( "678eab04.13u", 0x000003, 0x080000, CRC(c7580d72) SHA1(6a5652365a85917ac48b0f1ced70b9c311e89a4f) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "678a07.19l", 0x000000, 0x020000, CRC(bb3f5875) SHA1(97f80d9b55d4177217b7cd1ba14e8ed2d64376bb) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "685a05.10u", 0x000000, 0x200000, CRC(00e59741) SHA1(d799910d4e85482b0e92a3cc9043f81d97b2fb02) )
ROM_LOAD32_WORD_SWAP( "685a06.8u", 0x000002, 0x200000, CRC(fc98c6a5) SHA1(a84583bb7296fa9e0c284b2ac59e2dc7b2689eee) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "678a13.18d", 0x000000, 0x200000, CRC(ccf75722) SHA1(f48d21dfc4f82adbb4c9c841a809267cfd028a3d) )
ROM_LOAD64_WORD( "678a14.13d", 0x000002, 0x200000, CRC(333a1ab4) SHA1(79df4a98b7871eba4157307a7709da8f8b5da39b) )
ROM_LOAD64_WORD( "678a15.9d", 0x000004, 0x200000, CRC(58b670f8) SHA1(5d4facb00e34de3ad11ed60c19835918a9cf6cb9) )
ROM_LOAD64_WORD( "678a16.4d", 0x000006, 0x200000, CRC(137b9bff) SHA1(5052c1fa30cc1d6affd78f48d483415dca89d10b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "678a08.5r", 0x000000, 0x200000, CRC(4aeb61ad) SHA1(ec6872cb2e4776849963f48c1c245ca7697849e0) )
ROM_LOAD( "678a09.3r", 0x200000, 0x200000, CRC(39baef23) SHA1(9f7bda0f9c06eee94703f9ceb06975c8e28338cc) )
ROM_LOAD( "678a10.5n", 0x400000, 0x200000, CRC(0508280e) SHA1(a36c5dc377b0ba597f131bd9dfc6019e7fc2d243) )
ROM_END
ROM_START( waveshrk )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "678uab01.20u", 0x000000, 0x080000, CRC(a9b9ceed) SHA1(36f0d18481d7c3e7358e02473e54bc6b52d5c26b) ) /* Program version UAB, USA v1.04 */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "678uab01.20u", 0x000000, 0x080000, CRC(a9b9ceed) SHA1(36f0d18481d7c3e7358e02473e54bc6b52d5c26b) ) // Program version UAB, USA v1.04
ROM_LOAD32_BYTE( "678uab02.17u", 0x000001, 0x080000, CRC(5ed24ac8) SHA1(d659c751558d4f8d89314466a37c04ac2df46879) )
ROM_LOAD32_BYTE( "678uab03.15u", 0x000002, 0x080000, CRC(f4a595e7) SHA1(e05e7ea6613ecf70d8470af5fe0c6a7274c6e45b) )
ROM_LOAD32_BYTE( "678uab04.13u", 0x000003, 0x080000, CRC(fd3320a7) SHA1(03a50a7bba9eb7cdb9f84953d6fb5c09f2d4b2db) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "678a07.19l", 0x000000, 0x020000, CRC(bb3f5875) SHA1(97f80d9b55d4177217b7cd1ba14e8ed2d64376bb) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "685a05.10u", 0x000000, 0x200000, CRC(00e59741) SHA1(d799910d4e85482b0e92a3cc9043f81d97b2fb02) )
ROM_LOAD32_WORD_SWAP( "685a06.8u", 0x000002, 0x200000, CRC(fc98c6a5) SHA1(a84583bb7296fa9e0c284b2ac59e2dc7b2689eee) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "678a13.18d", 0x000000, 0x200000, CRC(ccf75722) SHA1(f48d21dfc4f82adbb4c9c841a809267cfd028a3d) )
ROM_LOAD64_WORD( "678a14.13d", 0x000002, 0x200000, CRC(333a1ab4) SHA1(79df4a98b7871eba4157307a7709da8f8b5da39b) )
ROM_LOAD64_WORD( "678a15.9d", 0x000004, 0x200000, CRC(58b670f8) SHA1(5d4facb00e34de3ad11ed60c19835918a9cf6cb9) )
ROM_LOAD64_WORD( "678a16.4d", 0x000006, 0x200000, CRC(137b9bff) SHA1(5052c1fa30cc1d6affd78f48d483415dca89d10b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "678a08.5r", 0x000000, 0x200000, CRC(4aeb61ad) SHA1(ec6872cb2e4776849963f48c1c245ca7697849e0) )
ROM_LOAD( "678a09.3r", 0x200000, 0x200000, CRC(39baef23) SHA1(9f7bda0f9c06eee94703f9ceb06975c8e28338cc) )
ROM_LOAD( "678a10.5n", 0x400000, 0x200000, CRC(0508280e) SHA1(a36c5dc377b0ba597f131bd9dfc6019e7fc2d243) )
ROM_END
ROM_START( jetwavej )
- ROM_REGION32_BE(0x200000, "user1", 0) /* PowerPC program roms */
- ROM_LOAD32_BYTE( "678jab01.20u", 0x000000, 0x080000, CRC(fa3da5cc) SHA1(33307e701e6eb28d44e0653ac3f1de47fc17779d) ) /* Program version JAB, JPN v1.04 */
+ ROM_REGION32_BE(0x200000, "prgrom", 0) // PowerPC program roms
+ ROM_LOAD32_BYTE( "678jab01.20u", 0x000000, 0x080000, CRC(fa3da5cc) SHA1(33307e701e6eb28d44e0653ac3f1de47fc17779d) ) // Program version JAB, JPN v1.04
ROM_LOAD32_BYTE( "678jab02.17u", 0x000001, 0x080000, CRC(01c6713e) SHA1(68e27c018f974e820ba2e99d89a743e53faf1e65) )
ROM_LOAD32_BYTE( "678jab03.15u", 0x000002, 0x080000, CRC(21c757cb) SHA1(1de6df8e4c52d40882cbf771ff7215ed7b53f251) )
ROM_LOAD32_BYTE( "678jab04.13u", 0x000003, 0x080000, CRC(fdcc1ecc) SHA1(206cb98a6587cd8e5a9287037d85f392bd2f6e82) )
- ROM_REGION(0x20000, "audiocpu", 0) /* M68K program */
+ ROM_REGION(0x20000, "audiocpu", 0) // M68K program
ROM_LOAD16_WORD_SWAP( "678a07.19l", 0x000000, 0x020000, CRC(bb3f5875) SHA1(97f80d9b55d4177217b7cd1ba14e8ed2d64376bb) )
- ROM_REGION32_BE(0x400000, "user2", 0) /* data roms */
+ ROM_REGION32_BE(0x400000, "datarom", 0) // data roms
ROM_LOAD32_WORD_SWAP( "685a05.10u", 0x000000, 0x200000, CRC(00e59741) SHA1(d799910d4e85482b0e92a3cc9043f81d97b2fb02) )
ROM_LOAD32_WORD_SWAP( "685a06.8u", 0x000002, 0x200000, CRC(fc98c6a5) SHA1(a84583bb7296fa9e0c284b2ac59e2dc7b2689eee) )
- ROM_REGION(0x800000, "gfx1", 0) /* Texture data */
+ ROM_REGION(0x800000, "textures", 0) // Texture data
ROM_LOAD64_WORD( "678a13.18d", 0x000000, 0x200000, CRC(ccf75722) SHA1(f48d21dfc4f82adbb4c9c841a809267cfd028a3d) )
ROM_LOAD64_WORD( "678a14.13d", 0x000002, 0x200000, CRC(333a1ab4) SHA1(79df4a98b7871eba4157307a7709da8f8b5da39b) )
ROM_LOAD64_WORD( "678a15.9d", 0x000004, 0x200000, CRC(58b670f8) SHA1(5d4facb00e34de3ad11ed60c19835918a9cf6cb9) )
ROM_LOAD64_WORD( "678a16.4d", 0x000006, 0x200000, CRC(137b9bff) SHA1(5052c1fa30cc1d6affd78f48d483415dca89d10b) )
- ROM_REGION(0x600000, "k054539", 0) /* Sound data */
+ ROM_REGION(0x600000, "k054539", 0) // Sound data
ROM_LOAD( "678a08.5r", 0x000000, 0x200000, CRC(4aeb61ad) SHA1(ec6872cb2e4776849963f48c1c245ca7697849e0) )
ROM_LOAD( "678a09.3r", 0x200000, 0x200000, CRC(39baef23) SHA1(9f7bda0f9c06eee94703f9ceb06975c8e28338cc) )
ROM_LOAD( "678a10.5n", 0x400000, 0x200000, CRC(0508280e) SHA1(a36c5dc377b0ba597f131bd9dfc6019e7fc2d243) )
ROM_END
+} // Anonymous namespace
+
+
/*****************************************************************************/
GAME( 1995, midnrun, 0, midnrun, midnrun, midnrun_state, driver_init, ROT0, "Konami", "Midnight Run: Road Fighter 2 (EAA, Euro v1.11)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN )
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 4d28ccc00fd..a3c8afd3c60 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -15,9 +15,8 @@
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym2203.h"
-#include "sound/ym2413.h"
-#include "sound/ym3812.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "machine/74259.h"
#include "machine/gen_latch.h"
#include "video/snk68_spr.h"
diff --git a/src/mame/includes/amspdwy.h b/src/mame/includes/amspdwy.h
index 50346d8da64..4ee9759dee1 100644
--- a/src/mame/includes/amspdwy.h
+++ b/src/mame/includes/amspdwy.h
@@ -11,7 +11,7 @@
#pragma once
#include "machine/gen_latch.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "tilemap.h"
diff --git a/src/mame/includes/aquarius.h b/src/mame/includes/aquarius.h
index ce2315127a4..2ac5e0b4b48 100644
--- a/src/mame/includes/aquarius.h
+++ b/src/mame/includes/aquarius.h
@@ -12,7 +12,6 @@
#include "cpu/z80/z80.h"
#include "imagedev/cassette.h"
-#include "machine/bankdev.h"
#include "sound/spkrdev.h"
#include "video/tea1002.h"
@@ -39,6 +38,7 @@ public:
, m_mapper(*this, "mapper")
, m_videoram(*this, "videoram")
, m_colorram(*this, "colorram")
+ , m_gfx(*this, "gfx1")
, m_y(*this, "Y%u", 0U)
, m_gfxdecode(*this, "gfxdecode")
, m_screen(*this, "screen")
@@ -64,9 +64,10 @@ private:
required_device<speaker_sound_device> m_speaker;
required_device<aquarius_cartridge_slot_device> m_exp;
required_device<rs232_port_device> m_printer;
- required_device<address_map_bank_device> m_mapper;
+ memory_view m_mapper;
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
+ required_region_ptr<uint8_t> m_gfx;
required_ioport_array<8> m_y;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
@@ -76,8 +77,8 @@ private:
uint8_t m_scrambler;
tilemap_t *m_tilemap;
- void aquarius_videoram_w(offs_t offset, uint8_t data);
- void aquarius_colorram_w(offs_t offset, uint8_t data);
+ void videoram_w(offs_t offset, uint8_t data);
+ void colorram_w(offs_t offset, uint8_t data);
uint8_t cassette_r();
void cassette_w(uint8_t data);
uint8_t vsync_r();
@@ -86,13 +87,12 @@ private:
void printer_w(uint8_t data);
uint8_t keyboard_r(offs_t offset);
void scrambler_w(uint8_t data);
- TILE_GET_INFO_MEMBER(aquarius_gettileinfo);
+ TILE_GET_INFO_MEMBER(get_tile_info);
void aquarius_palette(palette_device &palette) const;
uint32_t screen_update_aquarius(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void aquarius_io(address_map &map);
void aquarius_mem(address_map &map);
- void aquarius_map(address_map &map);
};
#endif // MAME_INCLUDES_AQUARIUS_H
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index 32247fee4cb..7151ded1736 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -18,7 +18,7 @@
#include "machine/slapstic.h"
#include "machine/timer.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/atarimo.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index 428ea47baba..62cf43eb09a 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -15,7 +15,7 @@
#include "machine/watchdog.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/atarimo.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index 48e36f05434..d3937a0021e 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -17,7 +17,7 @@
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "machine/timer.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/atarimo.h"
#include "speaker.h"
diff --git a/src/mame/includes/bloodbro.h b/src/mame/includes/bloodbro.h
index 03eafa6fad5..3e4592984d1 100644
--- a/src/mame/includes/bloodbro.h
+++ b/src/mame/includes/bloodbro.h
@@ -6,7 +6,7 @@
#pragma once
#include "audio/seibu.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
#include "tilemap.h"
diff --git a/src/mame/includes/bublbobl.h b/src/mame/includes/bublbobl.h
index ad9662cbc43..dbaf665dcb2 100644
--- a/src/mame/includes/bublbobl.h
+++ b/src/mame/includes/bublbobl.h
@@ -5,12 +5,13 @@
#pragma once
+#include "cpu/m6800/m6801.h"
#include "cpu/m6805/m68705.h"
#include "cpu/mcs48/mcs48.h"
#include "machine/input_merger.h"
#include "machine/gen_latch.h"
-#include "sound/ym2203.h"
-#include "sound/ym3526.h"
+#include "sound/ymopn.h"
+#include "sound/ymopl.h"
#include "emupal.h"
#include "screen.h"
@@ -59,14 +60,7 @@ public:
/* mcu-related */
/* Bubble Bobble MCU */
- uint8_t m_ddr1;
- uint8_t m_ddr2;
- uint8_t m_ddr3;
- uint8_t m_ddr4;
- uint8_t m_port1_in;
- uint8_t m_port2_in;
uint8_t m_port3_in;
- uint8_t m_port4_in;
uint8_t m_port1_out;
uint8_t m_port2_out;
uint8_t m_port3_out;
@@ -90,7 +84,6 @@ public:
required_device<generic_latch_8_device> m_main_to_sound;
required_device<generic_latch_8_device> m_sound_to_main;
-
void common_sreset(int state);
void bublbobl_bankswitch_w(uint8_t data);
void tokio_bankswitch_w(uint8_t data);
@@ -100,21 +93,10 @@ public:
void bublbobl_soundcpu_reset_w(uint8_t data);
uint8_t common_sound_semaphores_r();
IRQ_CALLBACK_MEMBER(mcram_vect_r);
- uint8_t bublbobl_mcu_ddr1_r();
- void bublbobl_mcu_ddr1_w(uint8_t data);
- uint8_t bublbobl_mcu_ddr2_r();
- void bublbobl_mcu_ddr2_w(uint8_t data);
- uint8_t bublbobl_mcu_ddr3_r();
- void bublbobl_mcu_ddr3_w(uint8_t data);
- uint8_t bublbobl_mcu_ddr4_r();
- void bublbobl_mcu_ddr4_w(uint8_t data);
- uint8_t bublbobl_mcu_port1_r();
void bublbobl_mcu_port1_w(uint8_t data);
- uint8_t bublbobl_mcu_port2_r();
void bublbobl_mcu_port2_w(uint8_t data);
uint8_t bublbobl_mcu_port3_r();
void bublbobl_mcu_port3_w(uint8_t data);
- uint8_t bublbobl_mcu_port4_r();
void bublbobl_mcu_port4_w(uint8_t data);
uint8_t boblbobl_ic43_a_r(offs_t offset);
void boblbobl_ic43_a_w(offs_t offset, uint8_t data);
diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h
index 43ee91a0ff9..e21cb1f6abb 100644
--- a/src/mame/includes/calomega.h
+++ b/src/mame/includes/calomega.h
@@ -8,17 +8,19 @@
#include "cpu/m6502/m6502.h"
#include "cpu/m6502/r65c02.h"
-#include "machine/nvram.h"
-#include "machine/timer.h"
+#include "cpu/mcs48/mcs48.h"
#include "machine/6821pia.h"
#include "machine/6850acia.h"
#include "machine/clock.h"
+#include "machine/i8251.h"
+#include "machine/nvram.h"
#include "machine/ticket.h"
+#include "machine/timer.h"
#include "sound/ay8910.h"
#include "video/mc6845.h"
+#include "emupal.h"
#include "screen.h"
#include "speaker.h"
-#include "emupal.h"
#include "tilemap.h"
class calomega_state : public driver_device
@@ -28,7 +30,10 @@ public:
driver_device(mconfig, type, tag),
m_pia(*this, "pia%u", 0U),
m_maincpu(*this, "maincpu"),
- m_acia6850_0(*this, "acia6850_0"),
+ m_kstec(*this, "kstec"),
+ m_uart(*this, "uart"),
+ m_key_row(*this, "KB_%u", 0),
+ m_acia6850(*this, "acia6850_%u", 0U),
m_aciabaud(*this, "aciabaud"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
@@ -42,22 +47,25 @@ public:
m_in0_3(*this, "IN0-3"),
m_frq(*this, "FRQ"),
m_sw2(*this, "SW2"),
- m_lamps(*this, "lamp%u", 1U)
+ m_lamps(*this, "lamp%u", 1U),
+ m_red(*this, "POT1_RED"),
+ m_grn(*this, "POT2_GREEN"),
+ m_blu(*this, "POT3_BLUE")
+
{
}
- void init_sys903();
- void init_s903mod();
- void init_sys905();
void init_comg079();
void init_comg080();
+ void init_comg145();
void init_comg176();
void init_any();
- void sys905(machine_config &config);
+ void sys903(machine_config &config);
void s903mod(machine_config &config);
+ void sys903kb(machine_config &config);
+ void sys905(machine_config &config);
void sys906(machine_config &config);
- void sys903(machine_config &config);
protected:
virtual void machine_start() override { m_lamps.resolve(); }
@@ -82,6 +90,7 @@ private:
void lamps_903b_w(uint8_t data);
void lamps_905_w(uint8_t data);
void dummy_pia_w(uint8_t data);
+ uint8_t keyb_903_r();
DECLARE_READ_LINE_MEMBER(timer_r);
DECLARE_READ_LINE_MEMBER(vblank_r);
@@ -92,8 +101,8 @@ private:
DECLARE_WRITE_LINE_MEMBER(vblank1_w);
DECLARE_WRITE_LINE_MEMBER(vblank2_w);
DECLARE_WRITE_LINE_MEMBER(dummy_pia_line_w);
- DECLARE_WRITE_LINE_MEMBER(write_acia_tx);
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
+ DECLARE_WRITE_LINE_MEMBER(w_903kb_acia_clock);
DECLARE_WRITE_LINE_MEMBER(update_aciabaud_scale);
TIMER_DEVICE_CALLBACK_MEMBER(timer_0);
@@ -105,20 +114,23 @@ private:
uint32_t screen_update_calomega(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void calomega_palette(palette_device &palette) const;
- void s903mod_map(address_map &map);
void sys903_map(address_map &map);
+ void s903mod_map(address_map &map);
void sys905_map(address_map &map);
void sys906_map(address_map &map);
+ void kstec_mem_map(address_map &map);
+ void kstec_io_map(address_map &map);
optional_device_array<pia6821_device, 2> m_pia;
-
required_device<m6502_device> m_maincpu;
- optional_device<acia6850_device> m_acia6850_0;
+ optional_device<i8035_device> m_kstec;
+ optional_device<i8251_device> m_uart;
+ optional_ioport_array<16> m_key_row;
+ optional_device_array<acia6850_device, 1> m_acia6850; // keep array mode for future implementations
optional_device<clock_device> m_aciabaud;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
-
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
@@ -129,16 +141,27 @@ private:
optional_ioport m_in0_1;
optional_ioport m_in0_2;
optional_ioport m_in0_3;
+
optional_ioport m_frq;
optional_ioport m_sw2;
+
output_finder<9> m_lamps;
+ required_ioport m_red;
+ required_ioport m_grn;
+ required_ioport m_blu;
- uint8_t m_vblank, m_timer, m_tx_line;
+ uint8_t m_vblank, m_timer;
int m_s903_mux_data;
int m_s905_mux_data;
int m_pia_data;
bool m_lockout = false;
bool m_diverter;
+ int m_kbscan;
+ int m_rxrdy;
+ int r_pot;
+ int g_pot;
+ int b_pot;
+
tilemap_t *m_bg_tilemap;
};
diff --git a/src/mame/includes/coco.h b/src/mame/includes/coco.h
index 9b01c681a9d..63b04da84cc 100644
--- a/src/mame/includes/coco.h
+++ b/src/mame/includes/coco.h
@@ -197,7 +197,8 @@ protected:
soundmux_status_t soundmux_status(void);
void update_sound(void);
- void poll_joystick(bool *joyin, uint8_t *buttons);
+ bool poll_joystick(void);
+ uint8_t poll_joystick_buttons(void);
void poll_keyboard(void);
void poll_hires_joystick(void);
void update_cassout(int cassout);
@@ -259,8 +260,8 @@ protected:
bool m_dclg_previous_bit;
uint8_t m_dclg_output_h;
uint8_t m_dclg_output_v;
- uint8_t m_dclg_state;
- uint16_t m_dclg_timer;
+ uint32_t m_dclg_state;
+ uint32_t m_dclg_timer;
// VHD selection
uint8_t m_vhd_select;
diff --git a/src/mame/includes/coco3.h b/src/mame/includes/coco3.h
index 8ef5786f105..7970d4830b7 100644
--- a/src/mame/includes/coco3.h
+++ b/src/mame/includes/coco3.h
@@ -4,7 +4,7 @@
coco3.h
- TRS-80 Radio Shack Color Computer 1/2 Family
+ TRS-80 Radio Shack Color Computer 3 Family
***************************************************************************/
@@ -23,9 +23,6 @@
#define GIME_TAG "gime"
#define VDG_TAG "vdg"
-#define COMPOSITE_SCREEN_TAG "composite"
-#define RGB_SCREEN_TAG "rgb"
-
//**************************************************************************
@@ -37,7 +34,8 @@ class coco3_state : public coco_state
public:
coco3_state(const machine_config &mconfig, device_type type, const char *tag)
: coco_state(mconfig, type, tag)
- , m_gime(*this, GIME_TAG) { }
+ , m_gime(*this, GIME_TAG)
+ , m_screen_config(*this, "screen_config") { }
virtual void ff20_write(offs_t offset, uint8_t data) override;
virtual uint8_t ff40_read(offs_t offset) override;
@@ -50,6 +48,7 @@ public:
void coco3dw1(machine_config &config);
void coco3(machine_config &config);
void coco3_mem(address_map &map);
+
protected:
virtual void update_cart_base(uint8_t *cart_base) override;
@@ -57,8 +56,11 @@ protected:
virtual void update_keyboard_input(uint8_t value) override;
virtual void cart_w(bool line) override;
+ uint8_t m_pia1b_control_register;
+
private:
required_device<gime_device> m_gime;
+ required_ioport m_screen_config;
};
#endif // MAME_INCLUDES_COCO3_H
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index 6cd256c1454..231dab18262 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -11,68 +11,51 @@
#pragma once
#include "machine/gen_latch.h"
-#include "sound/upd7759.h"
+#include "machine/k007452.h"
#include "sound/msm5205.h"
+#include "sound/upd7759.h"
#include "video/k007121.h"
-#include "machine/k007452.h"
#include "emupal.h"
#include "screen.h"
#include "tilemap.h"
-class combatsc_state : public driver_device
+class combatsc_base_state : public driver_device
{
public:
- combatsc_state(const machine_config &mconfig, device_type type, const char *tag) :
+ combatsc_base_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
+ m_videoram(*this, "videoram%u", 0U),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
- m_k007121_1(*this, "k007121_1"),
- m_k007121_2(*this, "k007121_2"),
- m_k007452(*this, "k007452"),
- m_upd7759(*this, "upd"),
- m_msm(*this, "msm"),
m_screen(*this, "screen"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_soundlatch(*this, "soundlatch"),
- m_track_ports(*this, {"TRACK0_Y", "TRACK0_X", "TRACK1_Y", "TRACK1_X"})
+ m_track_ports(*this, {"TRACK0_Y", "TRACK0_X", "TRACK1_Y", "TRACK1_X"}),
+ m_mainbank(*this, "mainbank"),
+ m_video_view(*this, "video_view")
{
}
- /* memory pointers */
- uint8_t * m_videoram;
- uint8_t * m_scrollram;
- uint8_t * m_io_ram;
- std::unique_ptr<uint8_t[]> m_spriteram[2];
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ // memory pointers
+ required_shared_ptr_array<uint8_t, 2> m_videoram;
+ std::unique_ptr<uint8_t[]> m_spriteram[2];
- /* video-related */
+ // video-related
tilemap_t *m_bg_tilemap[2];
tilemap_t *m_textlayer;
- uint8_t m_scrollram0[0x40];
- uint8_t m_scrollram1[0x40];
- int m_priority;
-
- int m_vreg;
- int m_bank_select; /* 0x00..0x1f */
- int m_video_circuit; /* 0 or 1 */
- bool m_textflip;
- uint8_t *m_page[2];
-
- /* misc */
- uint8_t m_pos[4];
- uint8_t m_sign[4];
- int m_boost;
- emu_timer *m_interleave_timer;
+ uint8_t m_priority;
+ uint8_t m_vreg;
+ uint8_t m_video_circuit; // 0 or 1
- /* devices */
+ // devices
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
- optional_device<k007121_device> m_k007121_1;
- optional_device<k007121_device> m_k007121_2;
- optional_device<k007452_device> m_k007452;
- optional_device<upd7759_device> m_upd7759;
- optional_device<msm5205_device> m_msm;
required_device<screen_device> m_screen;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@@ -80,51 +63,109 @@ public:
optional_ioport_array<4> m_track_ports;
- void combatsc_vreg_w(uint8_t data);
- uint8_t combatscb_io_r(offs_t offset);
- void combatscb_priority_w(uint8_t data);
- void combatsc_bankselect_w(uint8_t data);
- void combatscb_io_w(offs_t offset, uint8_t data);
- void combatscb_bankselect_w(address_space &space, uint8_t data);
- void combatsc_coin_counter_w(uint8_t data);
+ required_memory_bank m_mainbank;
+ memory_view m_video_view;
+
+ void vreg_w(uint8_t data);
+ void videoview0_w(offs_t offset, uint8_t data);
+ void videoview1_w(offs_t offset, uint8_t data);
+};
+
+class combatsc_state : public combatsc_base_state
+{
+public:
+ combatsc_state(const machine_config &mconfig, device_type type, const char *tag) :
+ combatsc_base_state(mconfig, type, tag),
+ m_k007121(*this, "k007121_%u", 1U),
+ m_k007452(*this, "k007452"),
+ m_upd7759(*this, "upd"),
+ m_scrollram(*this, "scrollram%u", 0U),
+ m_scroll_view(*this, "scrollview")
+ {
+ }
+
+ void combatsc(machine_config &config);
+
+ void init_combatsc();
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+private:
+ required_device_array<k007121_device, 2> m_k007121;
+ required_device<k007452_device> m_k007452;
+ required_device<upd7759_device> m_upd7759;
+ required_shared_ptr_array<uint8_t, 2> m_scrollram;
+ memory_view m_scroll_view;
+
+ bool m_textflip;
+
+ // misc
+ uint8_t m_pos[4];
+ uint8_t m_sign[4];
+
+ void bankselect_w(uint8_t data);
+ void coin_counter_w(uint8_t data);
uint8_t trackball_r(offs_t offset);
uint8_t unk_r();
- void combatsc_sh_irqtrigger_w(uint8_t data);
- uint8_t combatsc_video_r(offs_t offset);
- void combatsc_video_w(offs_t offset, uint8_t data);
- void combatsc_pf_control_w(offs_t offset, uint8_t data);
- uint8_t combatsc_scrollram_r(offs_t offset);
- void combatsc_scrollram_w(offs_t offset, uint8_t data);
- uint8_t combatsc_busy_r();
- void combatsc_play_w(uint8_t data);
- void combatsc_voice_reset_w(uint8_t data);
- void combatsc_portA_w(uint8_t data);
- void combatscb_msm_w(uint8_t data);
- void combatscb_sound_irq_ack(uint8_t data);
- void init_combatsc();
+ void sh_irqtrigger_w(uint8_t data);
+ void pf_control_w(offs_t offset, uint8_t data);
+ uint8_t busy_r();
+ void play_w(uint8_t data);
+ void voice_reset_w(uint8_t data);
+ void portA_w(uint8_t data);
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_text_info);
- TILE_GET_INFO_MEMBER(get_tile_info0_bootleg);
- TILE_GET_INFO_MEMBER(get_tile_info1_bootleg);
- TILE_GET_INFO_MEMBER(get_text_info_bootleg);
- virtual void machine_reset() override;
- DECLARE_MACHINE_START(combatsc);
- DECLARE_VIDEO_START(combatsc);
- void combatsc_palette(palette_device &palette) const;
- DECLARE_MACHINE_START(combatscb);
- DECLARE_VIDEO_START(combatscb);
- void combatscb_palette(palette_device &palette) const;
- uint32_t screen_update_combatsc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_combatscb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit, bitmap_ind8 &priority_bitmap, uint32_t pri_mask );
- void bootleg_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit );
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit, bitmap_ind8 &priority_bitmap, uint32_t pri_mask);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
+};
+
+class combatscb_state : public combatsc_base_state
+{
+public:
+ combatscb_state(const machine_config &mconfig, device_type type, const char *tag) :
+ combatsc_base_state(mconfig, type, tag),
+ m_msm(*this, "msm"),
+ m_soundbank(*this, "soundbank"),
+ m_io_ram(*this, "io_ram", 0x4000, ENDIANNESS_BIG),
+ m_bank_io_view(*this, "bank_io_view")
+ {
+ }
+
void combatscb(machine_config &config);
- void combatsc(machine_config &config);
- void combatsc_map(address_map &map);
- void combatsc_sound_map(address_map &map);
- void combatscb_map(address_map &map);
- void combatscb_sound_map(address_map &map);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+private:
+ required_device<msm5205_device> m_msm;
+ required_memory_bank m_soundbank;
+ memory_share_creator<uint8_t> m_io_ram;
+ memory_view m_bank_io_view;
+
+ uint8_t m_bank_select; // 0x00..0x1f
+
+ void priority_w(uint8_t data);
+ void io_w(offs_t offset, uint8_t data);
+ void bankselect_w(uint8_t data);
+ void msm_w(uint8_t data);
+ void sound_irq_ack(uint8_t data);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_text_info);
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
};
#endif // MAME_INCLUDES_COMBATSC_H
diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h
index 09c58b6adda..bf02cb5f6f9 100644
--- a/src/mame/includes/cop01.h
+++ b/src/mame/includes/cop01.h
@@ -2,7 +2,7 @@
// copyright-holders:Carlos A. Lozano
/*************************************************************************
- Cops 01
+ Cop 01
*************************************************************************/
#ifndef MAME_INCLUDES_COP01_H
diff --git a/src/mame/includes/ddribble.h b/src/mame/includes/ddribble.h
index d40df1f9228..a1758df3011 100644
--- a/src/mame/includes/ddribble.h
+++ b/src/mame/includes/ddribble.h
@@ -21,75 +21,66 @@ public:
ddribble_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_fg_videoram(*this, "fg_videoram"),
- m_spriteram_1(*this, "spriteram_1"),
- m_sharedram(*this, "sharedram"),
+ m_spriteram(*this, "spriteram_%u", 1U),
m_bg_videoram(*this, "bg_videoram"),
- m_spriteram_2(*this, "spriteram_2"),
- m_snd_sharedram(*this, "snd_sharedram"),
+ m_mainbank(*this, "mainbank"),
+ m_vlmbank(*this, "vlmbank"),
m_maincpu(*this, "maincpu"),
- m_cpu1(*this, "cpu1"),
+ m_subcpu(*this, "subcpu"),
m_vlm(*this, "vlm"),
- m_filter1(*this, "filter1"),
- m_filter2(*this, "filter2"),
- m_filter3(*this, "filter3"),
+ m_filter(*this, "filter%u", 1U),
m_gfxdecode(*this, "gfxdecode")
{ }
void ddribble(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint8_t> m_fg_videoram;
- required_shared_ptr<uint8_t> m_spriteram_1;
- required_shared_ptr<uint8_t> m_sharedram;
+ required_shared_ptr_array<uint8_t, 2> m_spriteram;
required_shared_ptr<uint8_t> m_bg_videoram;
- required_shared_ptr<uint8_t> m_spriteram_2;
- required_shared_ptr<uint8_t> m_snd_sharedram;
+ required_memory_bank m_mainbank;
+ required_memory_bank m_vlmbank;
- /* video-related */
- tilemap_t *m_fg_tilemap;
- tilemap_t *m_bg_tilemap;
- int m_vregs[2][5];
- int m_charbank[2];
+ // video-related
+ tilemap_t *m_fg_tilemap;
+ tilemap_t *m_bg_tilemap;
+ uint8_t m_vregs[2][5];
+ uint8_t m_charbank[2];
- /* misc */
- int m_int_enable_0;
- int m_int_enable_1;
+ // misc
+ uint8_t m_int_enable[2];
- /* devices */
+ // devices
required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_cpu1;
+ required_device<cpu_device> m_subcpu;
required_device<vlm5030_device> m_vlm;
- required_device<filter_rc_device> m_filter1;
- required_device<filter_rc_device> m_filter2;
- required_device<filter_rc_device> m_filter3;
+ required_device_array<filter_rc_device, 3> m_filter;
required_device<gfxdecode_device> m_gfxdecode;
- void ddribble_bankswitch_w(uint8_t data);
- uint8_t ddribble_sharedram_r(offs_t offset);
- void ddribble_sharedram_w(offs_t offset, uint8_t data);
- uint8_t ddribble_snd_sharedram_r(offs_t offset);
- void ddribble_snd_sharedram_w(offs_t offset, uint8_t data);
- void ddribble_coin_counter_w(uint8_t data);
+ void bankswitch_w(uint8_t data);
+ void coin_counter_w(uint8_t data);
void K005885_0_w(offs_t offset, uint8_t data);
void K005885_1_w(offs_t offset, uint8_t data);
- void ddribble_fg_videoram_w(offs_t offset, uint8_t data);
- void ddribble_bg_videoram_w(offs_t offset, uint8_t data);
- uint8_t ddribble_vlm5030_busy_r();
- void ddribble_vlm5030_ctrl_w(uint8_t data);
+ void fg_videoram_w(offs_t offset, uint8_t data);
+ void bg_videoram_w(offs_t offset, uint8_t data);
+ uint8_t vlm5030_busy_r();
+ void vlm5030_ctrl_w(uint8_t data);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- void ddribble_palette(palette_device &palette) const;
- uint32_t screen_update_ddribble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
- void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t* source, int lenght, int gfxset, int flipscreen );
- void cpu0_map(address_map &map);
- void cpu1_map(address_map &map);
- void cpu2_map(address_map &map);
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t* source, int lenght, int gfxset, int flipscreen);
+ void maincpu_map(address_map &map);
+ void subcpu_map(address_map &map);
+ void audiocpu_map(address_map &map);
void vlm_map(address_map &map);
};
diff --git a/src/mame/includes/deadang.h b/src/mame/includes/deadang.h
index 22562f751e9..1ebdda10a92 100644
--- a/src/mame/includes/deadang.h
+++ b/src/mame/includes/deadang.h
@@ -7,7 +7,7 @@
#include "audio/seibu.h"
#include "machine/timer.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "screen.h"
#include "tilemap.h"
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index 1a1bbd34669..0b1ecfad5af 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -11,7 +11,7 @@
#include "machine/gen_latch.h"
#include "sound/lc7535.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "machine/deco146.h"
#include "machine/deco104.h"
#include "video/deco_zoomspr.h"
diff --git a/src/mame/includes/dragrace.h b/src/mame/includes/dragrace.h
index f2440d851ed..6a2d7d81717 100644
--- a/src/mame/includes/dragrace.h
+++ b/src/mame/includes/dragrace.h
@@ -17,7 +17,7 @@
#include "screen.h"
#include "tilemap.h"
-/* Discrete Sound Input Nodes */
+// Discrete Sound Input Nodes
#define DRAGRACE_SCREECH1_EN NODE_01
#define DRAGRACE_SCREECH2_EN NODE_02
#define DRAGRACE_LOTONE_EN NODE_03
@@ -38,54 +38,67 @@ class dragrace_state : public driver_device
public:
dragrace_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
- m_playfield_ram(*this, "playfield_ram"),
- m_position_ram(*this, "position_ram"),
- m_discrete(*this, "discrete"),
m_maincpu(*this, "maincpu"),
m_watchdog(*this, "watchdog"),
m_gfxdecode(*this, "gfxdecode"),
- m_screen(*this, "screen")
+ m_screen(*this, "screen"),
+ m_discrete(*this, "discrete"),
+ m_playfield_ram(*this, "playfield_ram"),
+ m_position_ram(*this, "position_ram"),
+ m_p(*this, "P%u", 1U),
+ m_dial(*this, "DIAL%u", 1U),
+ m_in(*this, "IN%u", 0U),
+ m_gear_sel(*this, "P%ugear", 1U),
+ m_tacho_sel(*this, "tachometer%u", 1U)
{
}
void dragrace(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
void speed1_w(uint8_t data);
void speed2_w(uint8_t data);
- uint8_t dragrace_input_r(offs_t offset);
- uint8_t dragrace_steering_r();
- uint8_t dragrace_scanline_r();
+ uint8_t input_r(offs_t offset);
+ uint8_t steering_r();
+ uint8_t scanline_r();
TILE_GET_INFO_MEMBER(get_tile_info);
- void dragrace_palette(palette_device &palette) const;
- uint32_t screen_update_dragrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(dragrace_frame_callback);
- void dragrace_update_misc_flags( address_space &space );
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ TIMER_DEVICE_CALLBACK_MEMBER(frame_callback);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- void dragrace_map(address_map &map);
+ void main_map(address_map &map);
- /* memory pointers */
+ // devices
+ required_device<cpu_device> m_maincpu;
+ required_device<watchdog_timer_device> m_watchdog;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_device<screen_device> m_screen;
+ required_device<discrete_sound_device> m_discrete;
+
+ // memory pointers
required_shared_ptr<uint8_t> m_playfield_ram;
required_shared_ptr<uint8_t> m_position_ram;
- /* video-related */
- tilemap_t *m_bg_tilemap;
+ // inputs
+ required_ioport_array<2> m_p, m_dial;
+ required_ioport_array<3> m_in;
- /* misc */
- int m_gear[2];
+ // outputs
+ output_finder<2> m_gear_sel, m_tacho_sel;
- /* devices */
- required_device<discrete_sound_device> m_discrete;
- required_device<cpu_device> m_maincpu;
- required_device<watchdog_timer_device> m_watchdog;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<screen_device> m_screen;
+ // video-related
+ tilemap_t *m_bg_tilemap;
+
+ // misc
+ uint8_t m_gear[2];
};
-/*----------- defined in audio/dragrace.c -----------*/
+//----------- defined in audio/dragrace.cpp -----------
DISCRETE_SOUND_EXTERN( dragrace_discrete );
#endif // MAME_INCLUDES_DRAGRACE_H
diff --git a/src/mame/includes/drgnmst.h b/src/mame/includes/drgnmst.h
index 2cf2fc54dbf..b924a2a6d37 100644
--- a/src/mame/includes/drgnmst.h
+++ b/src/mame/includes/drgnmst.h
@@ -7,7 +7,7 @@
#include "cpu/pic16c5x/pic16c5x.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
#include "tilemap.h"
#include "video/bufsprite.h"
diff --git a/src/mame/includes/exterm.h b/src/mame/includes/exterm.h
index 647262638af..4810f69a202 100644
--- a/src/mame/includes/exterm.h
+++ b/src/mame/includes/exterm.h
@@ -13,7 +13,7 @@
#include "cpu/tms34010/tms34010.h"
#include "machine/gen_latch.h"
#include "machine/timer.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "emupal.h"
class exterm_state : public driver_device
diff --git a/src/mame/includes/finalizr.h b/src/mame/includes/finalizr.h
index dee2693accc..ba79c7e1fe2 100644
--- a/src/mame/includes/finalizr.h
+++ b/src/mame/includes/finalizr.h
@@ -25,59 +25,55 @@ public:
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_scroll(*this, "scroll"),
- m_colorram(*this, "colorram"),
- m_videoram(*this, "videoram"),
- m_colorram2(*this, "colorram2"),
- m_videoram2(*this, "videoram2"),
- m_spriteram(*this, "spriteram"),
- m_spriteram_2(*this, "spriteram_2")
+ m_colorram(*this, "colorram%u", 1U),
+ m_videoram(*this, "videoram%u", 1U),
+ m_spriteram(*this, "spriteram%u", 1U)
{ }
void finalizr(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
- /* devices */
+ // devices
required_device<cpu_device> m_maincpu;
required_device<i8039_device> m_audiocpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint8_t> m_scroll;
- required_shared_ptr<uint8_t> m_colorram;
- required_shared_ptr<uint8_t> m_videoram;
- required_shared_ptr<uint8_t> m_colorram2;
- required_shared_ptr<uint8_t> m_videoram2;
- required_shared_ptr<uint8_t> m_spriteram;
- required_shared_ptr<uint8_t> m_spriteram_2;
+ required_shared_ptr_array<uint8_t,2 > m_colorram;
+ required_shared_ptr_array<uint8_t,2 > m_videoram;
+ required_shared_ptr_array<uint8_t,2 > m_spriteram;
- /* video-related */
+ // video-related
tilemap_t *m_fg_tilemap;
tilemap_t *m_bg_tilemap;
- int m_spriterambank;
- int m_charbank;
+ uint8_t m_spriterambank;
+ uint8_t m_charbank;
- /* misc */
- int m_T1_line;
+ // misc
+ uint8_t m_t1_line;
uint8_t m_nmi_enable;
uint8_t m_irq_enable;
- void finalizr_coin_w(uint8_t data);
- void finalizr_flipscreen_w(uint8_t data);
- void finalizr_i8039_irq_w(uint8_t data);
+ void coin_w(uint8_t data);
+ void flipscreen_w(uint8_t data);
+ void i8039_irq_w(uint8_t data);
void i8039_irqen_w(uint8_t data);
DECLARE_READ_LINE_MEMBER(i8039_t1_r);
void i8039_t0_w(uint8_t data);
- void finalizr_videoctrl_w(uint8_t data);
+ void videoctrl_w(uint8_t data);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- void finalizr_palette(palette_device &palette) const;
+ void palette(palette_device &palette) const;
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_finalizr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(finalizr_scanline);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ TIMER_DEVICE_CALLBACK_MEMBER(scanline);
void main_map(address_map &map);
void sound_io_map(address_map &map);
void sound_map(address_map &map);
diff --git a/src/mame/includes/fm7.h b/src/mame/includes/fm7.h
index 77f88e12720..d74e3b9c08a 100644
--- a/src/mame/includes/fm7.h
+++ b/src/mame/includes/fm7.h
@@ -16,7 +16,7 @@
#include "imagedev/cassette.h"
#include "imagedev/floppy.h"
#include "sound/beep.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/wd_fdc.h"
#include "machine/bankdev.h"
#include "emupal.h"
diff --git a/src/mame/includes/fmtowns.h b/src/mame/includes/fmtowns.h
index 9c48c9c1f4e..29d4a855679 100644
--- a/src/mame/includes/fmtowns.h
+++ b/src/mame/includes/fmtowns.h
@@ -21,7 +21,7 @@
#include "sound/cdda.h"
#include "sound/rf5c68.h"
#include "sound/spkrdev.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "bus/generic/carts.h"
#include "bus/generic/slot.h"
@@ -412,19 +412,19 @@ private:
u8 m_vram_mask_addr;
TIMER_CALLBACK_MEMBER(towns_cdrom_read_byte);
- TIMER_CALLBACK_MEMBER(towns_sprite_done);
TIMER_CALLBACK_MEMBER(towns_vblank_end);
+ TIMER_CALLBACK_MEMBER(draw_sprites);
DECLARE_WRITE_LINE_MEMBER(towns_pit_out0_changed);
DECLARE_WRITE_LINE_MEMBER(towns_pit_out1_changed);
DECLARE_WRITE_LINE_MEMBER(pit2_out1_changed);
uint8_t get_slave_ack(offs_t offset);
DECLARE_WRITE_LINE_MEMBER(towns_fm_irq);
+ void towns_sprite_start();
void towns_crtc_refresh_mode();
void towns_update_kanji_offset();
void towns_update_palette();
void render_sprite_4(uint32_t poffset, uint32_t coffset, uint16_t x, uint16_t y, bool xflip, bool yflip, bool xhalfsize, bool yhalfsize, bool rotation, const rectangle* rect);
void render_sprite_16(uint32_t poffset, uint16_t x, uint16_t y, bool xflip, bool yflip, bool xhalfsize, bool yhalfsize, bool rotation, const rectangle* rect);
- void draw_sprites(const rectangle* rect);
void towns_crtc_draw_scan_layer_hicolour(bitmap_rgb32 &bitmap,const rectangle* rect,int layer,int line,int scanline);
void towns_crtc_draw_scan_layer_256(bitmap_rgb32 &bitmap,const rectangle* rect,int line,int scanline);
void towns_crtc_draw_scan_layer_16(bitmap_rgb32 &bitmap,const rectangle* rect,int layer,int line,int scanline);
diff --git a/src/mame/includes/fuukifg3.h b/src/mame/includes/fuukifg3.h
index 2c14c512e2b..190013533a2 100644
--- a/src/mame/includes/fuukifg3.h
+++ b/src/mame/includes/fuukifg3.h
@@ -15,8 +15,6 @@
#define CPU_CLOCK (XTAL(40'000'000) / 2) /* clock for 68020 */
#define SOUND_CPU_CLOCK (XTAL(12'000'000) / 2) /* clock for Z80 sound CPU */
-/* NOTE: YMF278B_STD_CLOCK is defined in /src/emu/sound/ymf278b.h */
-
class fuuki32_state : public driver_device
{
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index a2ff0f69349..e091816136a 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -17,7 +17,7 @@
#include "video/atarimo.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "tilemap.h"
diff --git a/src/mame/includes/gng.h b/src/mame/includes/gng.h
index 8b9ff997c97..6a0ef60fca0 100644
--- a/src/mame/includes/gng.h
+++ b/src/mame/includes/gng.h
@@ -10,7 +10,7 @@
#pragma once
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/bufsprite.h"
#include "emupal.h"
#include "tilemap.h"
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index 9439d9015e2..0955c47a185 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -8,7 +8,7 @@
#include "machine/bankdev.h"
#include "machine/gen_latch.h"
#include "sound/sn76496.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "tilemap.h"
diff --git a/src/mame/includes/ironhors.h b/src/mame/includes/ironhors.h
index 1f172f21969..e2de2d2e41a 100644
--- a/src/mame/includes/ironhors.h
+++ b/src/mame/includes/ironhors.h
@@ -17,10 +17,10 @@
#include "screen.h"
#include "tilemap.h"
-class ironhors_state : public driver_device
+class ironhors_base_state : public driver_device
{
public:
- ironhors_state(const machine_config &mconfig, device_type type, const char *tag) :
+ ironhors_base_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
@@ -33,14 +33,15 @@ public:
m_scroll(*this, "scroll"),
m_colorram(*this, "colorram"),
m_videoram(*this, "videoram"),
- m_spriteram2(*this, "spriteram2"),
- m_spriteram(*this, "spriteram")
+ m_spriteram(*this, "spriteram%u", 1U)
{ }
- void farwest(machine_config &config);
- void ironhors(machine_config &config);
+ void base(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
-private:
void sh_irqtrigger_w(uint8_t data);
void videoram_w(offs_t offset, uint8_t data);
void colorram_w(offs_t offset, uint8_t data);
@@ -49,26 +50,9 @@ private:
void flipscreen_w(uint8_t data);
void filter_w(uint8_t data);
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_farwest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
-
- TIMER_DEVICE_CALLBACK_MEMBER(ironhors_scanline_tick);
- TIMER_DEVICE_CALLBACK_MEMBER(farwest_scanline_tick);
-
- void ironhors_palette(palette_device &palette) const;
- DECLARE_VIDEO_START(farwest);
-
- void farwest_master_map(address_map &map);
- void farwest_slave_map(address_map &map);
- void master_map(address_map &map);
- void slave_io_map(address_map &map);
- void slave_map(address_map &map);
-
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
+ void palette(palette_device &palette) const;
- /* devices */
+ // devices
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_soundcpu;
required_device<gfxdecode_device> m_gfxdecode;
@@ -77,25 +61,69 @@ private:
required_device<generic_latch_8_device> m_soundlatch;
required_device<discrete_device> m_disc_ih;
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint8_t> m_interrupt_enable;
required_shared_ptr<uint8_t> m_scroll;
required_shared_ptr<uint8_t> m_colorram;
required_shared_ptr<uint8_t> m_videoram;
- required_shared_ptr<uint8_t> m_spriteram2;
- required_shared_ptr<uint8_t> m_spriteram;
+ required_shared_ptr_array<uint8_t, 2> m_spriteram;
+
+ // video-related
+ tilemap_t *m_bg_tilemap;
+ uint8_t m_palettebank;
+ uint8_t m_charbank;
+ uint8_t m_spriterambank;
+};
+
+class ironhors_state : public ironhors_base_state
+{
+public:
+ ironhors_state(const machine_config &mconfig, device_type type, const char *tag) :
+ ironhors_base_state(mconfig, type, tag)
+ { }
- /* video-related */
- tilemap_t *m_bg_tilemap;
- int m_palettebank;
- int m_charbank;
- int m_spriterambank;
+ void ironhors(machine_config &config);
+
+protected:
+ virtual void video_start() override;
+
+private:
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ TIMER_DEVICE_CALLBACK_MEMBER(scanline_tick);
+
+ void master_map(address_map &map);
+ void slave_map(address_map &map);
+ void slave_io_map(address_map &map);
+
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+};
+
+class farwest_state : public ironhors_base_state
+{
+public:
+ farwest_state(const machine_config &mconfig, device_type type, const char *tag) :
+ ironhors_base_state(mconfig, type, tag)
+ { }
+
+ void farwest(machine_config &config);
+
+protected:
+ virtual void video_start() override;
+
+private:
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ TIMER_DEVICE_CALLBACK_MEMBER(scanline_tick);
+
+ void master_map(address_map &map);
+ void slave_map(address_map &map);
- void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
- void farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- TILE_GET_INFO_MEMBER(farwest_get_bg_tile_info);
};
#endif // MAME_INCLUDES_IRONHORS_H
diff --git a/src/mame/includes/jackal.h b/src/mame/includes/jackal.h
index 56818414488..22c4b108e91 100644
--- a/src/mame/includes/jackal.h
+++ b/src/mame/includes/jackal.h
@@ -9,10 +9,6 @@
#include "emupal.h"
#include "tilemap.h"
-#define MASTER_CLOCK XTAL(18'432'000)
-#define SOUND_CLOCK XTAL(3'579'545)
-
-
class jackal_state : public driver_device
{
@@ -20,8 +16,15 @@ public:
jackal_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_videoctrl(*this, "videoctrl"),
+ m_videoram(*this, "videoram%u", 0U),
+ m_scrollram(*this, "scrollram%u", 0U, 0x40U, ENDIANNESS_BIG),
+ m_mainbank(*this, "mainbank"),
+ m_videoview(*this, "videoview"),
+ m_spritebank(*this, "spritebank"),
+ m_spriteram(*this, "spriteram%u", 0U, 0x1000U, ENDIANNESS_BIG),
+ m_scrollbank(*this, "scrollbank"),
m_dials(*this, "DIAL%u", 0U),
- m_mastercpu(*this, "master"),
+ m_maincpu(*this, "maincpu"),
m_slavecpu(*this, "slave"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette")
@@ -29,47 +32,47 @@ public:
void jackal(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint8_t> m_videoctrl;
- uint8_t * m_scrollram;
+ required_shared_ptr_array<uint8_t, 2> m_videoram;
+ memory_share_array_creator<uint8_t, 2> m_scrollram;
+ required_memory_bank m_mainbank;
+ memory_view m_videoview;
+ required_memory_bank m_spritebank;
+ memory_share_array_creator<uint8_t, 2> m_spriteram;
+ required_memory_bank m_scrollbank;
- /* video-related */
- tilemap_t *m_bg_tilemap;
+ // video-related
+ tilemap_t *m_bg_tilemap;
- /* misc */
- int m_irq_enable;
- uint8_t *m_rambank;
- uint8_t *m_spritebank;
+ // misc
+ uint8_t m_irq_enable;
optional_ioport_array<2> m_dials;
- /* devices */
- required_device<cpu_device> m_mastercpu;
+ // devices
+ required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_slavecpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
- uint8_t jackalr_rotary_r(offs_t offset);
- void jackal_flipscreen_w(uint8_t data);
- uint8_t jackal_zram_r(offs_t offset);
- uint8_t jackal_voram_r(offs_t offset);
- uint8_t jackal_spriteram_r(offs_t offset);
- void jackal_rambank_w(uint8_t data);
- void jackal_zram_w(offs_t offset, uint8_t data);
- void jackal_voram_w(offs_t offset, uint8_t data);
- void jackal_spriteram_w(offs_t offset, uint8_t data);
+ uint8_t rotary_r(offs_t offset);
+ void flipscreen_w(uint8_t data);
+ void rambank_w(uint8_t data);
+ template <uint8_t Which> void voram_w(offs_t offset, uint8_t data);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- void jackal_palette(palette_device &palette) const;
- uint32_t screen_update_jackal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
- void jackal_mark_tile_dirty( int offset );
- void draw_background( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
- void draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *sram, int length, int bank );
- void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
- void master_map(address_map &map);
+ void draw_background(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *sram, int length, int bank);
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void main_map(address_map &map);
void slave_map(address_map &map);
};
diff --git a/src/mame/includes/jpmsys5.h b/src/mame/includes/jpmsys5.h
index 26c4ac3e84a..deb31dc5c02 100644
--- a/src/mame/includes/jpmsys5.h
+++ b/src/mame/includes/jpmsys5.h
@@ -10,7 +10,7 @@
#include "machine/6840ptm.h"
#include "machine/6850acia.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/tms34061.h"
#include "machine/nvram.h"
#include "video/awpvid.h"
diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h
index 5b90a8fff96..8e0e1fc276c 100644
--- a/src/mame/includes/kaneko16.h
+++ b/src/mame/includes/kaneko16.h
@@ -22,7 +22,7 @@
#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/bufsprite.h"
#include "video/kaneko_spr.h"
#include "video/kaneko_tmap.h"
diff --git a/src/mame/includes/kikikai.h b/src/mame/includes/kikikai.h
index 3658a86de16..343a88b44e3 100644
--- a/src/mame/includes/kikikai.h
+++ b/src/mame/includes/kikikai.h
@@ -4,7 +4,7 @@
#include "cpu/m6805/m68705.h"
#include "cpu/m6800/m6801.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
@@ -52,7 +52,7 @@ private:
/* devices */
optional_device<cpu_device> m_subcpu; // kicknrun / mexico86 only
- optional_device<cpu_device> m_mcu;
+ optional_device<m6801_cpu_device> m_mcu;
required_device<ym2203_device> m_ymsnd;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@@ -75,34 +75,16 @@ private:
void mcu_map(address_map& map);
/* Kiki KaiKai / Kick 'n Run MCU */
- uint8_t m_ddr1;
- uint8_t m_ddr2;
- uint8_t m_ddr3;
- uint8_t m_ddr4;
- uint8_t m_port1_in;
- uint8_t m_port2_in;
uint8_t m_port3_in;
- uint8_t m_port4_in;
uint8_t m_port1_out;
uint8_t m_port2_out;
uint8_t m_port3_out;
uint8_t m_port4_out;
- uint8_t kikikai_mcu_ddr1_r();
- void kikikai_mcu_ddr1_w(uint8_t data);
- uint8_t kikikai_mcu_ddr2_r();
- void kikikai_mcu_ddr2_w(uint8_t data);
- uint8_t kikikai_mcu_ddr3_r();
- void kikikai_mcu_ddr3_w(uint8_t data);
- uint8_t kikikai_mcu_ddr4_r();
- void kikikai_mcu_ddr4_w(uint8_t data);
- uint8_t kikikai_mcu_port1_r();
void kikikai_mcu_port1_w(uint8_t data);
- uint8_t kikikai_mcu_port2_r();
void kikikai_mcu_port2_w(uint8_t data);
uint8_t kikikai_mcu_port3_r();
void kikikai_mcu_port3_w(uint8_t data);
- uint8_t kikikai_mcu_port4_r();
void kikikai_mcu_port4_w(uint8_t data);
};
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index 7b9177a134f..ad981e6fffb 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -84,52 +84,76 @@ private:
required_shared_ptr<uint8_t> m_decrypted_opcodes;
};
-
-// graphics from ladybug, stars from zerohour, plus grid layer
-class sraider_state : public ladybug_base_state
+// 8203 hardware adds grid tilemap, 2nd audio CPU
+class mrsdyna_state : public ladybug_base_state
{
public:
- sraider_state(const machine_config &mconfig, device_type type, const char *tag)
+ mrsdyna_state(const machine_config &mconfig, device_type type, const char *tag)
: ladybug_base_state(mconfig, type, tag)
- , m_grid_data(*this, "grid_data")
, m_palette(*this, "palette")
, m_gfxdecode(*this, "gfxdecode")
, m_video(*this, "video")
- , m_stars(*this, "stars")
{ }
- void sraider(machine_config &config);
+ void mrsdyna(machine_config &config);
protected:
- uint8_t sraider_8005_r();
- void sraider_misc_w(offs_t offset, uint8_t data);
- void sraider_io_w(uint8_t data);
- void sraider_palette(palette_device &palette) const;
+ uint8_t mrsdyna_protection_r();
+ void mrsdyna_weird_w(offs_t offset, uint8_t data);
+ void mrsdyna_0x30_w(offs_t offset, uint8_t data);
+ void mrsdyna_0x38_w(offs_t offset, uint8_t data);
+ uint8_t mrsdyna_rnd_r();
+ void mrsdyna_io_w(uint8_t data);
+ void mrsdyna_palette(palette_device &palette) const;
DECLARE_WRITE_LINE_MEMBER(screen_vblank_sraider);
TILE_GET_INFO_MEMBER(get_grid_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- virtual void video_start() override;
- uint32_t screen_update_sraider(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_mrsdyna(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void sraider_cpu1_map(address_map &map);
- void sraider_cpu2_io_map(address_map &map);
- void sraider_cpu2_map(address_map &map);
+ void mrsdyna_cpu1_map(address_map &map);
+ void mrsdyna_cpu2_io_map(address_map &map);
+ void mrsdyna_cpu2_map(address_map &map);
-private:
- required_shared_ptr<uint8_t> m_grid_data;
required_device<palette_device> m_palette;
required_device<gfxdecode_device> m_gfxdecode;
required_device<ladybug_video_device> m_video;
- required_device<zerohour_stars_device> m_stars;
tilemap_t *m_grid_tilemap;
uint8_t m_grid_color;
- uint8_t m_sraider_0x30;
- uint8_t m_sraider_0x38;
+ uint8_t m_0x30;
+ uint8_t m_0x38;
uint8_t m_weird_value[8];
};
+// add stars from zerohour, uses grid layer
+class sraider_state : public mrsdyna_state
+{
+public:
+ sraider_state(const machine_config &mconfig, device_type type, const char *tag)
+ : mrsdyna_state(mconfig, type, tag)
+ , m_grid_data(*this, "grid_data")
+ , m_stars(*this, "stars")
+ { }
+
+ void sraider(machine_config &config);
+
+protected:
+ void sraider_io_w(uint8_t data);
+ void sraider_palette(palette_device &palette) const;
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sraider);
+ TILE_GET_INFO_MEMBER(get_grid_tile_info);
+
+ virtual void video_start() override;
+ uint32_t screen_update_sraider(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ void sraider_cpu2_map(address_map &map);
+
+private:
+ required_shared_ptr<uint8_t> m_grid_data;
+ required_device<zerohour_stars_device> m_stars;
+};
+
#endif // MAME_INCLUDES_LADYBUG_H
diff --git a/src/mame/includes/maygay1b.h b/src/mame/includes/maygay1b.h
index bc6b78348b9..402b196b975 100644
--- a/src/mame/includes/maygay1b.h
+++ b/src/mame/includes/maygay1b.h
@@ -16,7 +16,7 @@
#include "machine/steppers.h" // stepper motor
#include "sound/ay8910.h"
#include "sound/okim6376.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/nvram.h"
#include "machine/timer.h"
#include "sound/upd7759.h"
diff --git a/src/mame/includes/mbee.h b/src/mame/includes/mbee.h
index efd76f0d443..c08467ec4a4 100644
--- a/src/mame/includes/mbee.h
+++ b/src/mame/includes/mbee.h
@@ -11,6 +11,8 @@
#pragma once
#include "bus/centronics/ctronics.h"
+#include "bus/generic/carts.h"
+#include "bus/generic/slot.h"
#include "cpu/z80/z80.h"
#include "machine/z80daisy.h"
@@ -19,7 +21,6 @@
#include "imagedev/floppy.h"
#include "imagedev/snapquik.h"
-#include "machine/8530scc.h"
#include "machine/buffer.h"
#include "machine/mc146818.h"
#include "machine/wd_fdc.h"
@@ -51,8 +52,10 @@ public:
, m_floppy0(*this, "fdc:0")
, m_floppy1(*this, "fdc:1")
, m_rtc(*this, "rtc")
- , m_pak(*this, "pak")
- , m_telcom(*this, "telcom")
+ , m_pakdef(*this, "pakdef")
+ , m_netdef(*this, "netdef")
+ , m_p_pakdef(*this, "pakdef")
+ , m_p_netdef(*this, "netdef")
, m_basic(*this, "basic")
, m_io_x7(*this, "X.7")
, m_io_oldkb(*this, "X.%u", 0)
@@ -61,6 +64,8 @@ public:
, m_screen(*this, "screen")
, m_bankr(*this, "bankr%d", 0)
, m_bankw(*this, "bankw%d", 0)
+ , m_pak(*this, "pak%u", 0U)
+ , m_net(*this, "net")
{ }
void mbee56(machine_config &config);
@@ -70,8 +75,8 @@ public:
void mbee(machine_config &config);
void mbeett(machine_config &config);
void mbeeic(machine_config &config);
- void mbeepc(machine_config &config);
void mbee128p(machine_config &config);
+ void remove_carts(machine_config &config);
void init_mbee() { m_features = 0x00; };
void init_mbeett() { m_features = 0x0d; };
@@ -84,38 +89,41 @@ public:
void init_mbee256() { m_features = 0x2d; };
private:
- void port04_w(uint8_t data);
- void port06_w(uint8_t data);
- uint8_t port07_r();
- uint8_t port08_r();
- void port08_w(uint8_t data);
- void port0a_w(uint8_t data);
- void port0b_w(uint8_t data);
- uint8_t port18_r();
- uint8_t port1c_r();
- void port1c_w(uint8_t data);
- void port50_w(uint8_t data);
- uint8_t telcom_low_r();
- uint8_t telcom_high_r();
- uint8_t speed_low_r();
- uint8_t speed_high_r();
- void m6545_index_w(uint8_t data);
- void m6545_data_w(uint8_t data);
- uint8_t video_low_r(offs_t offset);
- uint8_t video_high_r(offs_t offset);
- void video_low_w(offs_t offset, uint8_t data);
- void video_high_w(offs_t offset, uint8_t data);
- void pio_port_b_w(uint8_t data);
- uint8_t pio_port_b_r();
+ void port04_w(u8 data);
+ void port06_w(u8 data);
+ u8 port07_r();
+ u8 port08_r();
+ void port08_w(u8 data);
+ void port0a_w(u8 data);
+ void port0b_w(u8 data);
+ u8 port18_r();
+ u8 port1c_r();
+ void port1c_w(u8 data);
+ void port50_w(u8 data);
+ u8 telcom_r(offs_t);
+ u8 speed_r(offs_t);
+ void m6545_index_w(u8 data);
+ void m6545_data_w(u8 data);
+ u8 video_low_r(offs_t offset);
+ u8 video_high_r(offs_t offset);
+ void video_low_w(offs_t offset, u8 data);
+ void video_high_w(offs_t offset, u8 data);
+ void pio_port_b_w(u8 data);
+ u8 pio_port_b_r();
DECLARE_WRITE_LINE_MEMBER(pio_ardy);
DECLARE_WRITE_LINE_MEMBER(crtc_vs);
- uint8_t fdc_status_r();
- void fdc_motor_w(uint8_t data);
+ u8 fdc_status_r();
+ u8 pak_r(offs_t);
+ u8 net_r(offs_t);
+ void fdc_motor_w(u8 data);
void standard_palette(palette_device &palette) const;
void premium_palette(palette_device &palette) const;
uint32_t screen_update_mbee(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(newkb_timer);
+ image_init_result load_cart(device_image_interface &image, generic_slot_device *slot, u8);
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
+ template <u8 T> DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pak_load) { return load_cart(image, m_pak[T], T); }
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER(net_load);
WRITE_LINE_MEMBER(rtc_irq_w);
WRITE_LINE_MEMBER(fdc_intrq_w);
WRITE_LINE_MEMBER(fdc_drq_w);
@@ -134,8 +142,6 @@ private:
void mbee_mem(address_map &map);
void mbeeic_io(address_map &map);
void mbeeic_mem(address_map &map);
- void mbeepc_io(address_map &map);
- void mbeepc_mem(address_map &map);
void mbeeppc_io(address_map &map);
void mbeeppc_mem(address_map &map);
void mbeett_io(address_map &map);
@@ -147,25 +153,28 @@ private:
bool m_b7_rtc = 0;
bool m_b7_vs = 0;
bool m_b2 = 0;
- uint8_t m_framecnt = 0;
- uint8_t m_08 = 0;
- uint8_t m_0a = 0;
- uint8_t m_0b = 0;
- uint8_t m_1c = 0;
- uint8_t m_newkb_was_pressed[15] = { 0, };
- uint8_t m_newkb_q[20] = { 0, };
- uint8_t m_newkb_q_pos = 0;
- uint8_t m_sy6545_reg[32] = { 0, };
- uint8_t m_sy6545_ind = 0;
- uint8_t m_fdc_rq = 0;
- uint8_t m_bank_array[33] = { 0, };
+ u8 m_framecnt = 0;
+ u8 m_08 = 0;
+ u8 m_09 = 0;
+ u8 m_0a = 0;
+ u8 m_0b = 0;
+ u8 m_1c = 0;
+ u8 m_newkb_was_pressed[15] = { 0, };
+ u8 m_newkb_q[20] = { 0, };
+ u8 m_newkb_q_pos = 0;
+ u8 m_sy6545_reg[32] = { 0, };
+ u8 m_sy6545_ind = 0;
+ u8 m_fdc_rq = 0;
+ u8 m_bank_array[33] = { 0, };
+ bool m_pak_extended[8] = { 0, };
+ bool m_net_extended = 0;
std::unique_ptr<u8[]> m_dummy; // black hole for writes to rom
std::unique_ptr<u8[]> m_ram; // main banked-switch ram, 128/256/pp
std::unique_ptr<u8[]> m_vram; // video ram, all models
std::unique_ptr<u8[]> m_pram; // pcg ram, all models
std::unique_ptr<u8[]> m_cram; // colour ram, all except mbee
std::unique_ptr<u8[]> m_aram; // attribute ram, ppc/128/256/pp/tt
- void setup_banks(uint8_t data, bool first_time, uint8_t b_mask);
+ void setup_banks(u8 data, bool first_time, u8 b_mask);
void oldkb_scan(uint16_t param);
void oldkb_matrix_r(uint16_t offs);
required_device<z80_device> m_maincpu;
@@ -179,8 +188,10 @@ private:
optional_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
optional_device<mc146818_device> m_rtc;
- optional_memory_bank m_pak;
- optional_memory_bank m_telcom;
+ optional_memory_region m_pakdef;
+ optional_memory_region m_netdef;
+ optional_region_ptr<u8> m_p_pakdef;
+ optional_region_ptr<u8> m_p_netdef;
optional_memory_bank m_basic;
optional_ioport m_io_x7;
optional_ioport_array<8> m_io_oldkb;
@@ -189,6 +200,8 @@ private:
required_device<screen_device> m_screen;
optional_memory_bank_array<16> m_bankr;
optional_memory_bank_array<16> m_bankw;
+ optional_device_array<generic_slot_device, 8> m_pak;
+ optional_device<generic_slot_device> m_net;
};
#endif // MAME_INCLUDES_MBEE_H
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index 4c99edda1b7..35217cf5bc7 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -9,7 +9,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
#include "sound/sn76496.h"
-#include "sound/ym2612.h"
+#include "sound/ymopn.h"
#include "video/315_5313.h"
/* Megadrive Console Specific */
@@ -52,7 +52,7 @@ public:
required_device<m68000_base_device> m_maincpu;
optional_device<cpu_device> m_z80snd;
- optional_device<ym2612_device> m_ymsnd;
+ optional_device<ym_generic_device> m_ymsnd;
optional_device<timer_device> m_scan_timer;
required_device<sega315_5313_device> m_vdp;
optional_shared_ptr<uint16_t> m_megadrive_ram;
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index a7d1ced1cab..9bce32eda64 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -12,7 +12,7 @@
#include "sound/es8712.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/k053936.h"
#include "video/imagetek_i4100.h"
#include "machine/eepromser.h"
diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h
index 4d8d37c5ac3..687721721f6 100644
--- a/src/mame/includes/mpu4.h
+++ b/src/mame/includes/mpu4.h
@@ -10,7 +10,7 @@
#include "sound/ay8910.h"
#include "sound/okim6376.h"
#include "sound/upd7759.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "machine/steppers.h"
#include "machine/roc10937.h"
#include "machine/meters.h"
diff --git a/src/mame/includes/msx.h b/src/mame/includes/msx.h
index 710d8b22eae..f381e76982d 100644
--- a/src/mame/includes/msx.h
+++ b/src/mame/includes/msx.h
@@ -17,7 +17,7 @@
#include "bus/centronics/ctronics.h"
#include "sound/ay8910.h"
#include "sound/dac.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/v9938.h"
#include "video/tms9928a.h"
#include "imagedev/cassette.h"
diff --git a/src/mame/includes/mz2500.h b/src/mame/includes/mz2500.h
index 593dd964c17..bd3602c2b8e 100644
--- a/src/mame/includes/mz2500.h
+++ b/src/mame/includes/mz2500.h
@@ -19,7 +19,7 @@
#include "machine/z80sio.h"
#include "machine/z80pio.h"
#include "sound/beep.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "machine/bankdev.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h
index 14cad5bc2cc..9181d69f1c6 100644
--- a/src/mame/includes/namcos2.h
+++ b/src/mame/includes/namcos2.h
@@ -80,6 +80,7 @@ public:
void sgunner2(machine_config &config);
void base2(machine_config &config);
void finallap_noio(machine_config &config);
+ void base_fl(machine_config &config);
void finallap(machine_config &config);
void finallap_c68(machine_config &config);
void finalap2(machine_config &config);
diff --git a/src/mame/includes/naomi.h b/src/mame/includes/naomi.h
index 72cb7c56d43..a128305cb94 100644
--- a/src/mame/includes/naomi.h
+++ b/src/mame/includes/naomi.h
@@ -120,6 +120,7 @@ public:
void naomi2m2(machine_config &config);
void naomi2gd(machine_config &config);
void naomi2m1(machine_config &config);
+ void naomi2m4(machine_config &config);
void init_naomi2();
diff --git a/src/mame/includes/neogeo.h b/src/mame/includes/neogeo.h
index 6f22c274f0a..ee3ba088cc6 100644
--- a/src/mame/includes/neogeo.h
+++ b/src/mame/includes/neogeo.h
@@ -13,7 +13,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "machine/74259.h"
#include "machine/gen_latch.h"
#include "machine/input_merger.h"
diff --git a/src/mame/includes/nitedrvr.h b/src/mame/includes/nitedrvr.h
index c0a7e987dc0..75a9574b160 100644
--- a/src/mame/includes/nitedrvr.h
+++ b/src/mame/includes/nitedrvr.h
@@ -14,7 +14,7 @@
#include "sound/discrete.h"
#include "emupal.h"
-/* Discrete Sound Input Nodes */
+// Discrete Sound Input Nodes
#define NITEDRVR_BANG_DATA NODE_01
#define NITEDRVR_SKID1_EN NODE_02
#define NITEDRVR_SKID2_EN NODE_03
@@ -28,39 +28,53 @@ class nitedrvr_state : public driver_device
public:
nitedrvr_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
- m_videoram(*this, "videoram"),
- m_hvc(*this, "hvc"),
m_maincpu(*this, "maincpu"),
m_discrete(*this, "discrete"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
- m_led(*this, "led")
+ m_videoram(*this, "videoram"),
+ m_hvc(*this, "hvc"),
+ m_steer(*this, "STEER"),
+ m_gears(*this, "GEARS"),
+ m_in0(*this, "IN0"),
+ m_dsw(*this, "DSW%u", 0U),
+ m_led(*this, "led"),
+ m_track_sel(*this, "track%u", 1U),
+ m_gear_sel(*this, "gear%u", 1U)
{ }
void nitedrvr(machine_config &config);
-private:
- uint8_t nitedrvr_steering_reset_r();
- void nitedrvr_steering_reset_w(uint8_t data);
- uint8_t nitedrvr_in0_r(offs_t offset);
- uint8_t nitedrvr_in1_r(offs_t offset);
- void nitedrvr_out0_w(uint8_t data);
- void nitedrvr_out1_w(uint8_t data);
+protected:
virtual void machine_start() override;
virtual void machine_reset() override;
- uint32_t screen_update_nitedrvr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_crash_toggle_callback);
+
+private:
+ uint8_t steering_reset_r();
+ void steering_reset_w(uint8_t data);
+ uint8_t in0_r(offs_t offset);
+ uint8_t in1_r(offs_t offset);
+ void out0_w(uint8_t data);
+ void out1_w(uint8_t data);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ TIMER_DEVICE_CALLBACK_MEMBER(crash_toggle_callback);
void draw_box(bitmap_ind16 &bitmap, const rectangle &cliprect, int bx, int by, int ex, int ey);
void draw_roadway(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_tiles(bitmap_ind16 &bitmap, const rectangle &cliprect);
- int nitedrvr_steering();
- void nitedrvr_map(address_map &map);
+ int steering();
+ void main_map(address_map &map);
+
+ // devices
+ required_device<cpu_device> m_maincpu;
+ required_device<discrete_device> m_discrete;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_device<palette_device> m_palette;
- /* memory pointers */
+ // memory pointers
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_hvc;
- /* input */
+ // input
uint8_t m_gear;
uint8_t m_track;
int32_t m_steering_buf;
@@ -70,16 +84,16 @@ private:
uint8_t m_crash_data_en; // IC D8
uint8_t m_ac_line;
int32_t m_last_steering_val;
+ required_ioport m_steer, m_gears, m_in0;
+ required_ioport_array<3> m_dsw;
- /* devices */
- required_device<cpu_device> m_maincpu;
- required_device<discrete_device> m_discrete;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
+ // output
output_finder<> m_led;
+ output_finder<3> m_track_sel;
+ output_finder<4> m_gear_sel;
};
-/*----------- defined in audio/nitedrvr.c -----------*/
+//----------- defined in audio/nitedrvr.cpp -----------
DISCRETE_SOUND_EXTERN( nitedrvr_discrete );
#endif // MAME_INCLUDES_NITEDRVR_H
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index 29d870394d9..e718ee849d5 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -300,7 +300,6 @@ public:
: clubpacm_state(mconfig, type, tag)
, m_screen(*this, "screen")
, m_decrypted_opcodes(*this, "decrypted_opcodes")
- , m_decrypted_opcodes_mirror(*this, "decrypted_opcodes_mirror")
, m_decrypted_opcodes_high(*this, "decrypted_opcodes_high")
{ }
@@ -314,16 +313,13 @@ private:
required_device<screen_device> m_screen;
protected:
-
void mspactwin_map(address_map &map);
void mspactwin_decrypted_map(address_map &map);
void mspactwin_videoram_w(offs_t offset, uint8_t data);
- optional_shared_ptr<uint8_t> m_decrypted_opcodes;
- optional_shared_ptr<uint8_t> m_decrypted_opcodes_mirror;
- optional_shared_ptr<uint8_t> m_decrypted_opcodes_high;
-
+ required_shared_ptr<uint8_t> m_decrypted_opcodes;
+ required_shared_ptr<uint8_t> m_decrypted_opcodes_high;
};
diff --git a/src/mame/includes/pc6001.h b/src/mame/includes/pc6001.h
index 889330b294d..bd688de3369 100644
--- a/src/mame/includes/pc6001.h
+++ b/src/mame/includes/pc6001.h
@@ -13,7 +13,7 @@
#include "machine/timer.h"
#include "sound/ay8910.h"
#include "sound/upd7752.h"
-//#include "sound/ym2203.h"
+//#include "sound/ymopn.h"
#include "video/mc6847.h"
#include "bus/generic/slot.h"
diff --git a/src/mame/includes/pc8801.h b/src/mame/includes/pc8801.h
index b88bce35ca7..58a42e8128c 100644
--- a/src/mame/includes/pc8801.h
+++ b/src/mame/includes/pc8801.h
@@ -22,8 +22,7 @@
#include "machine/upd1990a.h"
#include "machine/upd765.h"
#include "sound/beep.h"
-#include "sound/ym2203.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "softlist.h"
diff --git a/src/mame/includes/pc88va.h b/src/mame/includes/pc88va.h
index a1157b596cf..2b758bac118 100644
--- a/src/mame/includes/pc88va.h
+++ b/src/mame/includes/pc88va.h
@@ -21,7 +21,7 @@
//#include "machine/upd71071.h"
#include "machine/upd765.h"
#include "machine/bankdev.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/pc9801.h b/src/mame/includes/pc9801.h
index e4d4e2e98d3..661724c243a 100644
--- a/src/mame/includes/pc9801.h
+++ b/src/mame/includes/pc9801.h
@@ -30,8 +30,9 @@
#include "bus/scsi/scsihd.h"
#include "sound/beep.h"
+//#include "sound/dac.h"
#include "sound/spkrdev.h"
-#include "sound/ym2608.h"
+#include "sound/ymopn.h"
#include "video/upd7220.h"
@@ -105,6 +106,7 @@ public:
m_video_ram_2(*this, "video_ram_2"),
m_ext_gvram(*this, "ext_gvram"),
m_beeper(*this, "beeper"),
+ m_dac(*this, "dac"),
m_ram(*this, RAM_TAG),
m_ipl(*this, "ipl_bank"),
m_gfxdecode(*this, "gfxdecode"),
@@ -175,7 +177,9 @@ private:
required_shared_ptr<uint16_t> m_video_ram_1;
required_shared_ptr<uint16_t> m_video_ram_2;
optional_shared_ptr<uint32_t> m_ext_gvram;
- required_device<beep_device> m_beeper;
+ optional_device<beep_device> m_beeper;
+// optional_device<dac_1bit_device> m_dac;
+ optional_device<speaker_sound_device> m_dac;
optional_device<ram_device> m_ram;
optional_device<address_map_bank_device> m_ipl;
required_device<gfxdecode_device> m_gfxdecode;
@@ -317,7 +321,8 @@ private:
DECLARE_WRITE_LINE_MEMBER(dack1_w);
DECLARE_WRITE_LINE_MEMBER(dack2_w);
DECLARE_WRITE_LINE_MEMBER(dack3_w);
- void ppi_sys_portc_w(uint8_t data);
+ void ppi_sys_beep_portc_w(uint8_t data);
+ void ppi_sys_dac_portc_w(uint8_t data);
DECLARE_WRITE_LINE_MEMBER(fdc_2dd_irq);
DECLARE_WRITE_LINE_MEMBER(pc9801rs_fdc_irq);
@@ -330,7 +335,6 @@ private:
TIMER_DEVICE_CALLBACK_MEMBER( mouse_irq_cb );
uint8_t unk_r();
-
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t a20_286(bool state);
@@ -393,6 +397,9 @@ private:
uint8_t m_ide_sel;
+ // starting from PC9801VF/U buzzer is substituted with a DAC1BIT
+ bool m_dac_disable;
+
/* PC9801RS specific, move to specific state */
uint8_t m_gate_a20; //A20 line
uint8_t m_access_ctrl; // DMA related
diff --git a/src/mame/includes/psikyo4.h b/src/mame/includes/psikyo4.h
index 844535f953a..0705aab74a6 100644
--- a/src/mame/includes/psikyo4.h
+++ b/src/mame/includes/psikyo4.h
@@ -7,7 +7,7 @@
*************************************************************************/
#include "cpu/sh/sh2.h"
-#include "sound/ymf278b.h"
+#include "sound/ymopl.h"
#include "machine/eepromser.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/rampart.h b/src/mame/includes/rampart.h
index 13039d01099..df87e551677 100644
--- a/src/mame/includes/rampart.h
+++ b/src/mame/includes/rampart.h
@@ -13,7 +13,7 @@
#include "machine/slapstic.h"
#include "machine/timer.h"
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/atarimo.h"
#include "screen.h"
diff --git a/src/mame/includes/relief.h b/src/mame/includes/relief.h
index 94d584ebeb0..f2c566857a6 100644
--- a/src/mame/includes/relief.h
+++ b/src/mame/includes/relief.h
@@ -11,7 +11,7 @@
#pragma once
#include "sound/okim6295.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/atarimo.h"
#include "video/atarivad.h"
#include "screen.h"
diff --git a/src/mame/includes/s11.h b/src/mame/includes/s11.h
index 5a0429e616b..ce622dd697d 100644
--- a/src/mame/includes/s11.h
+++ b/src/mame/includes/s11.h
@@ -19,7 +19,7 @@
#include "sound/dac.h"
#include "sound/flt_biquad.h"
#include "sound/hc55516.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
// 6802/8 CPU's input clock is 4MHz
// but because it has an internal /4 divider, its E clock runs at 1/4 that frequency
diff --git a/src/mame/includes/saitek_stratos.h b/src/mame/includes/saitek_stratos.h
index ce23c1f6a46..23a0bf694fe 100644
--- a/src/mame/includes/saitek_stratos.h
+++ b/src/mame/includes/saitek_stratos.h
@@ -50,10 +50,10 @@ protected:
void set_cpu_freq();
void lcd_data_w(u8 data);
- bool m_power;
- bool m_lcd_ready;
- u8 m_lcd_count;
- u8 m_lcd_command;
+ bool m_power = false;
+ bool m_lcd_ready = false;
+ u8 m_lcd_count = 0;
+ u8 m_lcd_command = 0;
u8 m_lcd_data[0x40];
};
diff --git a/src/mame/includes/segas16a.h b/src/mame/includes/segas16a.h
index a7c5c9c80e8..8138704c46a 100644
--- a/src/mame/includes/segas16a.h
+++ b/src/mame/includes/segas16a.h
@@ -16,7 +16,7 @@
#include "machine/i8243.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/segaic16.h"
#include "video/sega16sp.h"
#include "screen.h"
diff --git a/src/mame/includes/segas16b.h b/src/mame/includes/segas16b.h
index e0025d9b806..3556e75d858 100644
--- a/src/mame/includes/segas16b.h
+++ b/src/mame/includes/segas16b.h
@@ -21,8 +21,8 @@
#include "machine/upd4701.h"
#include "sound/dac.h"
#include "sound/upd7759.h"
-#include "sound/ym2151.h"
-#include "sound/ym2413.h"
+#include "sound/ymopm.h"
+#include "sound/ymopl.h"
#include "video/segaic16.h"
#include "video/sega16sp.h"
#include "screen.h"
diff --git a/src/mame/includes/sms.h b/src/mame/includes/sms.h
index 9dfe6330d1d..c5351eab313 100644
--- a/src/mame/includes/sms.h
+++ b/src/mame/includes/sms.h
@@ -26,7 +26,7 @@
#include "bus/sg1000_exp/sg1000exp.h"
#include "bus/sms_ctrl/smsctrl.h"
#include "bus/sms_exp/smsexp.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "video/315_5124.h"
#include "screen.h"
diff --git a/src/mame/includes/sms_bootleg.h b/src/mame/includes/sms_bootleg.h
deleted file mode 100644
index 71ccabf2c34..00000000000
--- a/src/mame/includes/sms_bootleg.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "sms.h"
-
-class smsbootleg_state : public sms_state
-{
-public:
- smsbootleg_state(const machine_config &mconfig, device_type type, const char *tag)
- : sms_state(mconfig, type, tag)
- {}
-
- void sms_supergame(machine_config &config);
-
- void init_sms_supergame();
-
-private:
- void port08_w(uint8_t data);
- void port18_w(uint8_t data);
-
- void sms_supergame_io(address_map &map);
- void sms_supergame_map(address_map &map);
-};
diff --git a/src/mame/includes/snowbros.h b/src/mame/includes/snowbros.h
index 04b247deca7..c81a9bee613 100644
--- a/src/mame/includes/snowbros.h
+++ b/src/mame/includes/snowbros.h
@@ -44,6 +44,7 @@ public:
void init_pzlbreak();
void init_snowbro3();
+ void init_ballboy3p();
void init_cookbib3();
void init_4in1boot();
void init_3in1semi();
diff --git a/src/mame/includes/sorcerer.h b/src/mame/includes/sorcerer.h
index c23f65589d7..75dc96390f2 100644
--- a/src/mame/includes/sorcerer.h
+++ b/src/mame/includes/sorcerer.h
@@ -97,7 +97,6 @@ protected:
void portff_w(u8 data);
TIMER_CALLBACK_MEMBER(cassette_tc);
TIMER_CALLBACK_MEMBER(serial_tc);
- DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb);
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
void machine_start_common(offs_t endmem);
void machine_reset_common();
diff --git a/src/mame/includes/sprint2.h b/src/mame/includes/sprint2.h
index 2715ad5651c..52c8f8bfb6a 100644
--- a/src/mame/includes/sprint2.h
+++ b/src/mame/includes/sprint2.h
@@ -17,7 +17,7 @@
#include "screen.h"
#include "tilemap.h"
-/* Discrete Sound Input Nodes */
+// Discrete Sound Input Nodes
#define SPRINT2_SKIDSND1_EN NODE_01
#define SPRINT2_SKIDSND2_EN NODE_02
#define SPRINT2_MOTORSND1_DATA NODE_03
@@ -44,7 +44,12 @@ public:
m_discrete(*this, "discrete"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
- m_palette(*this, "palette")
+ m_palette(*this, "palette"),
+ m_in(*this, { "INA", "INB" }),
+ m_dials(*this, "DIAL_P%u", 1U),
+ m_gears(*this, "GEAR_P%u", 1U),
+ m_dsw(*this, "DSW"),
+ m_gear_sel(*this, "P%ugear", 1U)
{ }
void sprint1(machine_config &config);
@@ -57,43 +62,12 @@ public:
void init_dominos();
void init_dominos4();
+protected:
+ virtual void machine_start() override;
+ virtual void video_start() override;
+
private:
- int m_steering[2];
- int m_gear[2];
- int m_game;
- uint8_t m_dial[2];
required_shared_ptr<uint8_t> m_video_ram;
- tilemap_t* m_bg_tilemap;
- bitmap_ind16 m_helper;
- int m_collision[2];
- uint8_t sprint2_wram_r(offs_t offset);
- uint8_t sprint2_dip_r(offs_t offset);
- uint8_t sprint2_input_A_r(offs_t offset);
- uint8_t sprint2_input_B_r(offs_t offset);
- uint8_t sprint2_sync_r();
- uint8_t sprint2_steering1_r();
- uint8_t sprint2_steering2_r();
- void sprint2_steering_reset1_w(uint8_t data);
- void sprint2_steering_reset2_w(uint8_t data);
- void sprint2_wram_w(offs_t offset, uint8_t data);
- void output_latch_w(offs_t offset, uint8_t data);
- uint8_t sprint2_collision1_r();
- uint8_t sprint2_collision2_r();
- void sprint2_collision_reset1_w(uint8_t data);
- void sprint2_collision_reset2_w(uint8_t data);
- void sprint2_video_ram_w(offs_t offset, uint8_t data);
- void sprint2_noise_reset_w(uint8_t data);
- TILE_GET_INFO_MEMBER(get_tile_info);
- virtual void video_start() override;
- void sprint2_palette(palette_device &palette) const;
- uint32_t screen_update_sprint2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- DECLARE_WRITE_LINE_MEMBER(screen_vblank_sprint2);
- INTERRUPT_GEN_MEMBER(sprint2_irq);
- uint8_t collision_check(rectangle& rect);
- inline int get_sprite_code(uint8_t *video_ram, int n);
- inline int get_sprite_x(uint8_t *video_ram, int n);
- inline int get_sprite_y(uint8_t *video_ram, int n);
- int service_mode();
required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<f9334_device> m_outlatch;
@@ -101,11 +75,45 @@ private:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
+ required_ioport_array<2> m_in;
+ optional_ioport_array<2> m_dials, m_gears;
+ required_ioport m_dsw;
+ output_finder<2> m_gear_sel;
+
+ uint8_t m_steering[2];
+ uint8_t m_gear[2];
+ uint8_t m_game;
+ uint8_t m_dial[2];
+ tilemap_t* m_bg_tilemap;
+ bitmap_ind16 m_helper;
+ uint8_t m_collision[2];
+
+ uint8_t wram_r(offs_t offset);
+ uint8_t dip_r(offs_t offset);
+ uint8_t input_A_r(offs_t offset);
+ uint8_t input_B_r(offs_t offset);
+ uint8_t sync_r();
+ template <uint8_t Which> uint8_t steering_r();
+ template <uint8_t Which> void steering_reset_w(uint8_t data);
+ void wram_w(offs_t offset, uint8_t data);
+ void output_latch_w(offs_t offset, uint8_t data);
+ void video_ram_w(offs_t offset, uint8_t data);
+ void noise_reset_w(uint8_t data);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ void palette(palette_device &palette) const;
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
+ INTERRUPT_GEN_MEMBER(irq);
+ uint8_t collision_check(rectangle& rect);
+ inline int get_sprite_code(int n);
+ inline int get_sprite_x(int n);
+ inline int get_sprite_y(int n);
+ uint8_t service_mode();
- void sprint2_map(address_map &map);
+ void main_map(address_map &map);
};
-/*----------- defined in audio/sprint2.c -----------*/
+//----------- defined in audio/sprint2.cpp -----------
DISCRETE_SOUND_EXTERN( sprint2_discrete );
DISCRETE_SOUND_EXTERN( sprint1_discrete );
DISCRETE_SOUND_EXTERN( dominos_discrete );
diff --git a/src/mame/includes/stfight.h b/src/mame/includes/stfight.h
index 8435e099ec6..9bd052528d7 100644
--- a/src/mame/includes/stfight.h
+++ b/src/mame/includes/stfight.h
@@ -6,7 +6,7 @@
#pragma once
#include "cpu/m6805/m68705.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "sound/msm5205.h"
#include "video/stfight_dev.h"
#include "video/airraid_dev.h"
diff --git a/src/mame/includes/supbtime.h b/src/mame/includes/supbtime.h
index 03c9297ce13..c1a195670d6 100644
--- a/src/mame/includes/supbtime.h
+++ b/src/mame/includes/supbtime.h
@@ -16,7 +16,7 @@
#include "video/decospr.h"
#include "video/deco16ic.h"
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 4e46baa6da3..f770ffc4019 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -11,7 +11,7 @@
#include "machine/timer.h"
#include "machine/upd4701.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "tilemap.h"
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
index 39971d2b0a7..4dc8e8f9b82 100644
--- a/src/mame/includes/tatsumi.h
+++ b/src/mame/includes/tatsumi.h
@@ -6,7 +6,7 @@
#pragma once
#include "sound/okim6295.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "cpu/m68000/m68000.h"
#include "machine/cxd1095.h"
#include "machine/gen_latch.h"
diff --git a/src/mame/includes/tigeroad.h b/src/mame/includes/tigeroad.h
index 4b7bc4b440a..952364cfea1 100644
--- a/src/mame/includes/tigeroad.h
+++ b/src/mame/includes/tigeroad.h
@@ -9,7 +9,7 @@
#include "cpu/mcs51/mcs51.h"
#include "sound/msm5205.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "video/bufsprite.h"
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index a10fa5d6388..69939380a22 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -11,7 +11,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/tms32010/tms32010.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "video/toaplan_scu.h"
#include "emupal.h"
#include "screen.h"
diff --git a/src/mame/includes/witch.h b/src/mame/includes/witch.h
index 0592abbc0fe..bbf2ec58654 100644
--- a/src/mame/includes/witch.h
+++ b/src/mame/includes/witch.h
@@ -17,7 +17,7 @@ Witch / Pinball Champ '95 / Keirin Ou
#include "machine/ticket.h"
#include "sound/ay8910.h"
#include "sound/es8712.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/includes/x1.h b/src/mame/includes/x1.h
index 2fd0bc351b6..1eba5d1f536 100644
--- a/src/mame/includes/x1.h
+++ b/src/mame/includes/x1.h
@@ -25,7 +25,7 @@
#include "machine/z80dma.h"
#include "machine/z80sio.h"
#include "sound/ay8910.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/mc6845.h"
#include "formats/x1_tap.h"
diff --git a/src/mame/includes/x68k.h b/src/mame/includes/x68k.h
index 3ef2b9fd3b1..f22d422b1c1 100644
--- a/src/mame/includes/x68k.h
+++ b/src/mame/includes/x68k.h
@@ -25,7 +25,7 @@
#include "machine/upd765.h"
#include "sound/flt_vol.h"
#include "sound/okim6258.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
#include "video/x68k_crtc.h"
#include "bus/x68k/x68kexp.h"
@@ -335,6 +335,7 @@ protected:
bool draw_gfx_scanline(bitmap_ind16 &bitmap, rectangle cliprect, uint8_t priority);
void draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect);
void draw_sprites(bitmap_ind16 &bitmap, int priority, rectangle cliprect);
+ void draw_bg(bitmap_ind16 &bitmap, screen_device &screen, int layer, bool opaque, rectangle rect);
public:
static rgb_t GGGGGRRRRRBBBBBI(uint32_t raw);
diff --git a/src/mame/includes/xerox820.h b/src/mame/includes/xerox820.h
index e5e9c9c3f81..850a7c7a9c2 100644
--- a/src/mame/includes/xerox820.h
+++ b/src/mame/includes/xerox820.h
@@ -65,6 +65,7 @@ public:
m_rom(*this, Z80_TAG),
m_char_rom(*this, "chargen"),
m_video_ram(*this, "video_ram"),
+ m_view(*this, "view"),
m_fdc_irq(0),
m_fdc_drq(0),
m_8n5(0),
@@ -104,7 +105,7 @@ protected:
required_device<z80ctc_device> m_ctc;
required_device<z80sio_device> m_sio;
required_device<wd_fdc_device_base> m_fdc;
- required_device<ram_device> m_ram;
+ optional_device<ram_device> m_ram;
required_device<palette_device> m_palette;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
@@ -112,8 +113,8 @@ protected:
required_memory_region m_rom;
required_memory_region m_char_rom;
required_shared_ptr<uint8_t> m_video_ram;
+ memory_view m_view;
- virtual void bankswitch(int bank);
void update_nmi();
/* video state */
@@ -181,8 +182,6 @@ public:
protected:
virtual void machine_reset() override;
- void bankswitch(int bank) override;
-
required_device<speaker_sound_device> m_speaker;
required_device<scsi_port_device> m_sasibus;
};
diff --git a/src/mame/includes/zn.h b/src/mame/includes/zn.h
index 4f36532b5ea..433e65e153a 100644
--- a/src/mame/includes/zn.h
+++ b/src/mame/includes/zn.h
@@ -30,7 +30,7 @@
#include "sound/okim6295.h"
#include "sound/qsound.h"
#include "sound/spu.h"
-#include "sound/ym2610.h"
+#include "sound/ymopn.h"
#include "sound/ymf271.h"
#include "sound/ymz280b.h"
#include "video/psx.h"
diff --git a/src/mame/layout/cambrp.lay b/src/mame/layout/cambrp.lay
new file mode 100644
index 00000000000..ae1cff8361b
--- /dev/null
+++ b/src/mame/layout/cambrp.lay
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+ <element name="digit" defstate="0">
+ <led7seg><color red="1.0" green="0.15" blue="0.08" /></led7seg>
+ </element>
+
+ <view name="Internal Layout">
+ <element name="digit0" ref="digit"><bounds x="0" y="0" width="10" height="15" /></element>
+ <element name="digit1" ref="digit"><bounds x="10" y="0" width="10" height="15" /></element>
+ <element name="digit2" ref="digit"><bounds x="20" y="0" width="10" height="15" /></element>
+ <element name="digit3" ref="digit"><bounds x="30" y="0" width="10" height="15" /></element>
+ <element name="digit4" ref="digit"><bounds x="40" y="0" width="10" height="15" /></element>
+ <element name="digit5" ref="digit"><bounds x="50" y="0" width="10" height="15" /></element>
+ <element name="digit6" ref="digit"><bounds x="60" y="0" width="10" height="15" /></element>
+ <element name="digit7" ref="digit"><bounds x="70" y="0" width="10" height="15" /></element>
+ <element name="digit8" ref="digit"><bounds x="80" y="0" width="10" height="15" /></element>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/coco3.lay b/src/mame/layout/coco3.lay
deleted file mode 100644
index 561248b7dc1..00000000000
--- a/src/mame/layout/coco3.lay
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-license:CC0
--->
-<mamelayout version="2">
- <view name="Composite">
- <!-- workaround for MAME selecting a 2-screen view by default -->
- <screen index="1"><bounds left="0" top="0" right="4" bottom="3" /><color alpha="0" /></screen>
-
- <screen index="0">
- <bounds left="0" top="0" right="4" bottom="3" />
- </screen>
- </view>
-
- <view name="RGB">
- <screen index="1">
- <bounds left="0" top="0" right="4" bottom="3" />
- </screen>
- </view>
-</mamelayout>
diff --git a/src/mame/layout/crei680.lay b/src/mame/layout/crei680.lay
new file mode 100644
index 00000000000..6b4cefbfd58
--- /dev/null
+++ b/src/mame/layout/crei680.lay
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+
+2021-05-21
+8 round LEDs for the CREI680 trainer.
+-->
+
+<mamelayout version="2">
+
+ <element name="red_led" defstate="1">
+ <disk state="0">
+ <color red="0.75" green="0.0" blue="0.0" />
+ </disk>
+ <disk state="1">
+ <color red="0.15" green="0.0" blue="0.0" />
+ </disk>
+ </element>
+
+ <repeat count="8">
+ <param name="n" start="7" increment="-1"/>
+ <element name="label~n~">
+ <text string="~n~">
+ <color red="0.0" green="1.0" blue="1.0" />
+ </text>
+ </element>
+ </repeat>
+
+ <view name="Screen and LEDs">
+ <bounds left="0" right="400" top="0" bottom="330" />
+ <screen index="0">
+ <bounds left="0" right="400" top="0" bottom="300" />
+ </screen>
+
+ <repeat count="8">
+ <param name="n" start="7" increment="-1" />
+ <param name="x" start="20" increment="44" />
+ <element name="lab~n~" ref="label~n~">
+ <bounds x="~x~" width="15" y="295" height="15" />
+ </element>
+ <element name="led~n~" ref="red_led">
+ <bounds x="~x~" width="15" y="312" height="15" />
+ </element>
+ </repeat>
+ </view>
+
+</mamelayout>
diff --git a/src/mame/layout/j6drdogh.lay b/src/mame/layout/j6drdogh.lay
index 9a2c30b3595..f545e97c9ac 100644
--- a/src/mame/layout/j6drdogh.lay
+++ b/src/mame/layout/j6drdogh.lay
@@ -1,10 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
+<?xml version="1.0" encoding="UTF-8"?>
<!-- **************************************************** -->
<!-- * This MAME layout file was generated by MFME2MAME * -->
<!-- * Please visit mfme2mame.org for more information. * -->
<!-- **************************************************** -->
-
<mamelayout version="2">
<element name="backdrop_colour">
<rect>
@@ -86,7 +84,7 @@
<disk state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</disk>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
</text>
@@ -106,7 +104,7 @@
<disk state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</disk>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
</text>
@@ -126,7 +124,7 @@
<disk state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</disk>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
</text>
@@ -258,7 +256,7 @@
<rect state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</rect>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -278,7 +276,7 @@
<rect state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</rect>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -342,7 +340,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.00"/>
</rect>
- <text string="I">
+ <text string="Hand">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -386,7 +384,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.00"/>
</rect>
- <text string="I">
+ <text string="Hand">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -430,7 +428,7 @@
<rect state="0">
<color red="0.25" green="0.22" blue="0.00"/>
</rect>
- <text string="?">
+ <text string="Clock">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -2358,7 +2356,7 @@
<rect state="0">
<color red="0.25" green="0.13" blue="0.13"/>
</rect>
- <text string="I">
+ <text string="Hand">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -2378,7 +2376,7 @@
<rect state="0">
<color red="0.25" green="0.13" blue="0.13"/>
</rect>
- <text string="I">
+ <text string="Hand">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -2398,7 +2396,7 @@
<rect state="0">
<color red="0.25" green="0.13" blue="0.13"/>
</rect>
- <text string="I">
+ <text string="Hand">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -2743,6 +2741,186 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
+ <element name="lamp_9_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_9_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Triple Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_10_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_10_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Double Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_11_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_11_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Single Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_12_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_12_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Melon">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_14_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_14_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Mixed 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_15_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_15_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_6_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_6_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Jackpot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_7_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_7_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Red 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_8_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_8_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Blue 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
<element name="lamp_192_1_border" defstate="0">
<disk state="1">
<color red="0.00" green="0.00" blue="0.00"/>
@@ -2843,7 +3021,7 @@
<bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
</text>
</element>
- <element name="colour_button_155_border">
+ <element name="colour_button_154_border">
<rect state="1">
<color red="0.25" green="0.50" blue="0.50"/>
</rect>
@@ -2851,19 +3029,19 @@
<color red="0.06" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_155">
+ <element name="colour_button_154">
<rect state="1">
<color red="0.50" green="1.00" blue="1.00"/>
</rect>
<rect state="0">
<color red="0.13" green="0.25" blue="0.25"/>
</rect>
- <text string="?">
+ <text string="^">
<color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_156_border">
+ <element name="colour_button_155_border">
<rect state="1">
<color red="0.25" green="0.50" blue="0.50"/>
</rect>
@@ -2871,15 +3049,19 @@
<color red="0.06" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_156">
+ <element name="colour_button_155">
<rect state="1">
<color red="0.50" green="1.00" blue="1.00"/>
</rect>
<rect state="0">
<color red="0.13" green="0.25" blue="0.25"/>
</rect>
+ <text string=">">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
</element>
- <element name="colour_button_157_border">
+ <element name="colour_button_156_border">
<rect state="1">
<color red="0.25" green="0.50" blue="0.50"/>
</rect>
@@ -2887,15 +3069,19 @@
<color red="0.06" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_157">
+ <element name="colour_button_156">
<rect state="1">
<color red="0.50" green="1.00" blue="1.00"/>
</rect>
<rect state="0">
<color red="0.13" green="0.25" blue="0.25"/>
</rect>
+ <text string="v">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
</element>
- <element name="colour_button_158_border">
+ <element name="colour_button_157_border">
<rect state="1">
<color red="0.25" green="0.50" blue="0.50"/>
</rect>
@@ -2903,15 +3089,19 @@
<color red="0.06" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_158">
+ <element name="colour_button_157">
<rect state="1">
<color red="0.50" green="1.00" blue="1.00"/>
</rect>
<rect state="0">
<color red="0.13" green="0.25" blue="0.25"/>
</rect>
+ <text string="&#60;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
</element>
- <element name="colour_button_160_border">
+ <element name="colour_button_159_border">
<rect state="1">
<color red="0.25" green="0.00" blue="0.25"/>
</rect>
@@ -2919,7 +3109,7 @@
<color red="0.06" green="0.00" blue="0.06"/>
</rect>
</element>
- <element name="colour_button_160">
+ <element name="colour_button_159">
<rect state="1">
<color red="0.50" green="0.00" blue="0.50"/>
</rect>
@@ -2935,7 +3125,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_161_border">
+ <element name="colour_button_160_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.50"/>
</rect>
@@ -2943,7 +3133,7 @@
<color red="0.00" green="0.06" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_161">
+ <element name="colour_button_160">
<rect state="1">
<color red="0.00" green="0.50" blue="1.00"/>
</rect>
@@ -2955,7 +3145,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_162_border">
+ <element name="colour_button_161_border">
<rect state="1">
<color red="0.50" green="0.25" blue="0.13"/>
</rect>
@@ -2963,7 +3153,7 @@
<color red="0.12" green="0.06" blue="0.03"/>
</rect>
</element>
- <element name="colour_button_162">
+ <element name="colour_button_161">
<rect state="1">
<color red="1.00" green="0.50" blue="0.25"/>
</rect>
@@ -2975,7 +3165,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_163_border">
+ <element name="colour_button_162_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -2983,7 +3173,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_163">
+ <element name="colour_button_162">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -2999,7 +3189,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_164_border">
+ <element name="colour_button_163_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -3007,7 +3197,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_164">
+ <element name="colour_button_163">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -3023,7 +3213,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_165_border">
+ <element name="colour_button_164_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -3031,7 +3221,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_165">
+ <element name="colour_button_164">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -3043,7 +3233,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_166_border">
+ <element name="colour_button_165_border">
<rect state="1">
<color red="0.25" green="0.50" blue="0.25"/>
</rect>
@@ -3051,7 +3241,7 @@
<color red="0.06" green="0.12" blue="0.06"/>
</rect>
</element>
- <element name="colour_button_166">
+ <element name="colour_button_165">
<rect state="1">
<color red="0.50" green="1.00" blue="0.50"/>
</rect>
@@ -3063,7 +3253,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_167_border">
+ <element name="colour_button_166_border">
<rect state="1">
<color red="0.50" green="0.50" blue="0.50"/>
</rect>
@@ -3071,7 +3261,7 @@
<color red="0.12" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_167">
+ <element name="colour_button_166">
<rect state="1">
<color red="1.00" green="1.00" blue="1.00"/>
</rect>
@@ -3083,7 +3273,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_168_border">
+ <element name="colour_button_167_border">
<rect state="1">
<color red="0.50" green="0.50" blue="0.50"/>
</rect>
@@ -3091,7 +3281,7 @@
<color red="0.12" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_168">
+ <element name="colour_button_167">
<rect state="1">
<color red="1.00" green="1.00" blue="1.00"/>
</rect>
@@ -3109,22 +3299,22 @@
</rect>
</element>
<element name="reel0" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Jackpot,Cherry,Single Bar(2),Red 7,Melon,Cherry(2),Double Bar,Blue 7,Melon,Cherry,Single Bar(3),Triple Bar,Cherry(1),Double Bar,Blue 7,Melon">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel1" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Jackpot,Cherry,Single Bar(2),Blue 7,Melon(1),Cherry,Double Bar(3),Red 7,Melon,Cherry,Single Bar,Triple Bar(2),Cherry,Double Bar,Red 7,Melon">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel2" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Jackpot,Cherry,Single Bar,Red 7,Melon,Cherry,Double Bar(3),Blue 7,Melon,Cherry,Single Bar(4),Triple Bar,Cherry(1),Double Bar,Blue 7(2),Melon">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel3" defstate="0">
- <reel reelreversed="0" stateoffset="-1365" numsymbolsvisible="1" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-1365" numsymbolsvisible="1" symbollist="1,2,3,4,5,6,7,8,9,10,11,12">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
@@ -3153,41 +3343,11 @@
<color red="0.5" green="0.0" blue="0.0"/>
</disk>
</element>
- <element name="led_digit_rect_black">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_red">
- <rect>
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_green">
- <rect>
- <color red="0.0" green="1.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_blue">
- <rect>
- <color red="0.0" green="0.0" blue="1.0"/>
- </rect>
- </element>
- <element name="led_digit_red">
+ <element name="led_digit">
<led7seg>
<color red="1.0" green="0.0" blue="0.0"/>
</led7seg>
</element>
- <element name="led_digit_green">
- <led7seg>
- <color red="0.0" green="1.0" blue="0.0"/>
- </led7seg>
- </element>
- <element name="led_digit_blue">
- <led7seg>
- <color red="0.0" green="0.5" blue="1.0"/>
- </led7seg>
- </element>
<element name="vfd0">
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
@@ -3233,2055 +3393,48 @@
</element>
<element name="label_12">
<text string="Moves">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_13">
<text string="Bank">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_14">
<text string="Credits">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_73">
<text string="Bonus">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_152">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
<element name="label_153">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="debug_backdrop_colour">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="debug_lamp_standard">
- <rect state="0">
- <color red="0.00" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_reel">
- <rect state="0">
- <color red="0.00" green="0.00" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="0.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_segment">
- <rect state="0">
- <color red="0.20" green="0.00" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_button">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_64">
- <text string="64">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_65">
- <text string="65">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_66">
- <text string="66">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_67">
- <text string="67">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_68">
- <text string="68">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_69">
- <text string="69">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_70">
- <text string="70">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_71">
- <text string="71">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_72">
- <text string="72">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_73">
- <text string="73">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_74">
- <text string="74">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_75">
- <text string="75">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_76">
- <text string="76">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_77">
- <text string="77">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_78">
- <text string="78">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_79">
- <text string="79">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_80">
- <text string="80">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_81">
- <text string="81">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_82">
- <text string="82">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_83">
- <text string="83">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_84">
- <text string="84">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_85">
- <text string="85">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_86">
- <text string="86">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_87">
- <text string="87">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_88">
- <text string="88">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_89">
- <text string="89">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_90">
- <text string="90">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_91">
- <text string="91">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_92">
- <text string="92">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_93">
- <text string="93">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_94">
- <text string="94">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_95">
- <text string="95">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_96">
- <text string="96">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_97">
- <text string="97">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_98">
- <text string="98">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_99">
- <text string="99">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_100">
- <text string="100">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_101">
- <text string="101">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_102">
- <text string="102">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_103">
- <text string="103">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_104">
- <text string="104">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_105">
- <text string="105">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_106">
- <text string="106">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_107">
- <text string="107">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_108">
- <text string="108">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_109">
- <text string="109">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_110">
- <text string="110">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_111">
- <text string="111">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_112">
- <text string="112">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_113">
- <text string="113">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_114">
- <text string="114">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_115">
- <text string="115">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_116">
- <text string="116">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_117">
- <text string="117">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_118">
- <text string="118">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_119">
- <text string="119">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_120">
- <text string="120">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_121">
- <text string="121">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_122">
- <text string="122">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_123">
- <text string="123">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_124">
- <text string="124">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_125">
- <text string="125">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_126">
- <text string="126">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_127">
- <text string="127">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_128">
- <text string="128">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_129">
- <text string="129">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_130">
- <text string="130">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_131">
- <text string="131">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_132">
- <text string="132">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_133">
- <text string="133">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_134">
- <text string="134">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_135">
- <text string="135">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_136">
- <text string="136">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_137">
- <text string="137">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_138">
- <text string="138">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_139">
- <text string="139">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_140">
- <text string="140">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_141">
- <text string="141">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_142">
- <text string="142">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_143">
- <text string="143">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_144">
- <text string="144">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_145">
- <text string="145">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_146">
- <text string="146">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_147">
- <text string="147">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_148">
- <text string="148">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_149">
- <text string="149">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_150">
- <text string="150">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_151">
- <text string="151">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_152">
- <text string="152">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_153">
- <text string="153">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_154">
- <text string="154">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_155">
- <text string="155">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_156">
- <text string="156">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_157">
- <text string="157">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_158">
- <text string="158">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_159">
- <text string="159">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_160">
- <text string="160">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_161">
- <text string="161">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_162">
- <text string="162">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_163">
- <text string="163">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_164">
- <text string="164">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_165">
- <text string="165">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_166">
- <text string="166">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_167">
- <text string="167">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_168">
- <text string="168">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_169">
- <text string="169">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_170">
- <text string="170">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_171">
- <text string="171">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_172">
- <text string="172">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_173">
- <text string="173">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_174">
- <text string="174">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_175">
- <text string="175">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_176">
- <text string="176">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_177">
- <text string="177">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_178">
- <text string="178">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_179">
- <text string="179">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_180">
- <text string="180">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_181">
- <text string="181">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_182">
- <text string="182">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_183">
- <text string="183">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_184">
- <text string="184">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_185">
- <text string="185">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_186">
- <text string="186">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_187">
- <text string="187">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_188">
- <text string="188">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_189">
- <text string="189">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_190">
- <text string="190">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_191">
- <text string="191">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_192">
- <text string="192">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_193">
- <text string="193">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_194">
- <text string="194">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_195">
- <text string="195">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_196">
- <text string="196">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_197">
- <text string="197">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_198">
- <text string="198">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_199">
- <text string="199">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_200">
- <text string="200">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_201">
- <text string="201">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_202">
- <text string="202">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_203">
- <text string="203">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_204">
- <text string="204">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_205">
- <text string="205">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_206">
- <text string="206">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_207">
- <text string="207">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_208">
- <text string="208">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_209">
- <text string="209">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_210">
- <text string="210">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_211">
- <text string="211">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_212">
- <text string="212">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_213">
- <text string="213">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_214">
- <text string="214">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_215">
- <text string="215">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_216">
- <text string="216">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_217">
- <text string="217">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_218">
- <text string="218">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_219">
- <text string="219">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_220">
- <text string="220">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_221">
- <text string="221">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_222">
- <text string="222">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_223">
- <text string="223">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_224">
- <text string="224">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_225">
- <text string="225">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_226">
- <text string="226">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_227">
- <text string="227">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_228">
- <text string="228">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_229">
- <text string="229">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_230">
- <text string="230">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_231">
- <text string="231">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_232">
- <text string="232">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_233">
- <text string="233">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_234">
- <text string="234">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_235">
- <text string="235">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_236">
- <text string="236">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_237">
- <text string="237">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_238">
- <text string="238">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_239">
- <text string="239">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_240">
- <text string="240">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_241">
- <text string="241">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_242">
- <text string="242">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_243">
- <text string="243">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_244">
- <text string="244">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_245">
- <text string="245">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_246">
- <text string="246">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_247">
- <text string="247">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_248">
- <text string="248">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_249">
- <text string="249">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_250">
- <text string="250">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_251">
- <text string="251">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_252">
- <text string="252">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_253">
- <text string="253">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_254">
- <text string="254">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_255">
- <text string="255">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_standard">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_button_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_button_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_stepper_value" defstate="0">
- <simplecounter maxstate="999" digits="3">
- <color red="1.0" green="1.0" blue="1.0"/>
- </simplecounter>
- </element>
- <element name="debug_reel_symbol_count_0">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_1">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_2">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_3">
- <text string="12">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
-
<view name="AWP Simulated Video">
<element ref="backdrop_colour">
<bounds x="0" y="0" width="748" height="655"/>
@@ -5289,58 +3442,58 @@
<element ref="reel_background">
<bounds x="124" y="418" width="80" height="140"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_0" state="0">
<bounds x="124.0000" y="418.0000" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_1" state="0">
<bounds x="127.3333" y="419.9445" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_2" state="0">
<bounds x="130.6667" y="421.8889" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_3" state="0">
<bounds x="134.0000" y="423.8333" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_4" state="0">
<bounds x="137.3333" y="425.7778" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_5" state="0">
<bounds x="140.6667" y="427.7222" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_0" state="0">
<bounds x="124.0000" y="464.6667" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_1" state="0">
<bounds x="127.3333" y="466.6111" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_2" state="0">
<bounds x="130.6667" y="468.5555" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_3" state="0">
<bounds x="134.0000" y="470.5000" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_4" state="0">
<bounds x="137.3333" y="472.4444" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_5" state="0">
<bounds x="140.6667" y="474.3889" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_0" state="0">
<bounds x="124.0000" y="511.3333" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_1" state="0">
<bounds x="127.3333" y="513.2778" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_2" state="0">
<bounds x="130.6667" y="515.2222" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_3" state="0">
<bounds x="134.0000" y="517.1667" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_4" state="0">
<bounds x="137.3333" y="519.1111" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_5" state="0">
<bounds x="140.6667" y="521.0555" width="46.6667" height="27.2222"/>
</element>
<element name="sreel1" ref="reel0" state="0">
@@ -5349,58 +3502,58 @@
<element ref="reel_background">
<bounds x="222" y="418" width="80" height="140"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_0" state="0">
<bounds x="222.0000" y="418.0000" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_1" state="0">
<bounds x="225.3333" y="419.9445" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_2" state="0">
<bounds x="228.6667" y="421.8889" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_3" state="0">
<bounds x="232.0000" y="423.8333" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_4" state="0">
<bounds x="235.3333" y="425.7778" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_5" state="0">
<bounds x="238.6667" y="427.7222" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_0" state="0">
<bounds x="222.0000" y="464.6667" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_1" state="0">
<bounds x="225.3333" y="466.6111" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_2" state="0">
<bounds x="228.6667" y="468.5555" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_3" state="0">
<bounds x="232.0000" y="470.5000" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_4" state="0">
<bounds x="235.3333" y="472.4444" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_5" state="0">
<bounds x="238.6667" y="474.3889" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_0" state="0">
<bounds x="222.0000" y="511.3333" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_1" state="0">
<bounds x="225.3333" y="513.2778" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_2" state="0">
<bounds x="228.6667" y="515.2222" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_3" state="0">
<bounds x="232.0000" y="517.1667" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_4" state="0">
<bounds x="235.3333" y="519.1111" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_5" state="0">
<bounds x="238.6667" y="521.0555" width="46.6667" height="27.2222"/>
</element>
<element name="sreel2" ref="reel1" state="0">
@@ -5409,58 +3562,58 @@
<element ref="reel_background">
<bounds x="320" y="418" width="80" height="140"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_0" state="0">
<bounds x="320.0000" y="418.0000" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_1" state="0">
<bounds x="323.3333" y="419.9445" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_2" state="0">
<bounds x="326.6667" y="421.8889" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_3" state="0">
<bounds x="330.0000" y="423.8333" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_4" state="0">
<bounds x="333.3333" y="425.7778" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_5" state="0">
<bounds x="336.6667" y="427.7222" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_0" state="0">
<bounds x="320.0000" y="464.6667" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_1" state="0">
<bounds x="323.3333" y="466.6111" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_2" state="0">
<bounds x="326.6667" y="468.5555" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_3" state="0">
<bounds x="330.0000" y="470.5000" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_4" state="0">
<bounds x="333.3333" y="472.4444" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_5" state="0">
<bounds x="336.6667" y="474.3889" width="46.6667" height="27.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_0" state="0">
<bounds x="320.0000" y="511.3333" width="80.0000" height="46.6667"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_1" state="0">
<bounds x="323.3333" y="513.2778" width="73.3333" height="42.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_2" state="0">
<bounds x="326.6667" y="515.2222" width="66.6667" height="38.8889"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_3" state="0">
<bounds x="330.0000" y="517.1667" width="60.0000" height="35.0000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_4" state="0">
<bounds x="333.3333" y="519.1111" width="53.3333" height="31.1111"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_5" state="0">
<bounds x="336.6667" y="521.0555" width="46.6667" height="27.2222"/>
</element>
<element name="sreel3" ref="reel2" state="0">
@@ -6258,6 +4411,60 @@
<element name="lamp38" ref="lamp_38_1" state="0">
<bounds x="323" y="5" width="15" height="15"/>
</element>
+ <element name="lamp9" ref="lamp_9_1_border" state="0">
+ <bounds x="699" y="211" width="42" height="28"/>
+ </element>
+ <element name="lamp9" ref="lamp_9_1" state="0">
+ <bounds x="701" y="213" width="38" height="24"/>
+ </element>
+ <element name="lamp10" ref="lamp_10_1_border" state="0">
+ <bounds x="699" y="239" width="42" height="28"/>
+ </element>
+ <element name="lamp10" ref="lamp_10_1" state="0">
+ <bounds x="701" y="241" width="38" height="24"/>
+ </element>
+ <element name="lamp11" ref="lamp_11_1_border" state="0">
+ <bounds x="699" y="267" width="42" height="28"/>
+ </element>
+ <element name="lamp11" ref="lamp_11_1" state="0">
+ <bounds x="701" y="269" width="38" height="24"/>
+ </element>
+ <element name="lamp12" ref="lamp_12_1_border" state="0">
+ <bounds x="699" y="295" width="42" height="28"/>
+ </element>
+ <element name="lamp12" ref="lamp_12_1" state="0">
+ <bounds x="701" y="297" width="38" height="24"/>
+ </element>
+ <element name="lamp14" ref="lamp_14_1_border" state="0">
+ <bounds x="699" y="323" width="42" height="28"/>
+ </element>
+ <element name="lamp14" ref="lamp_14_1" state="0">
+ <bounds x="701" y="325" width="38" height="24"/>
+ </element>
+ <element name="lamp15" ref="lamp_15_1_border" state="0">
+ <bounds x="699" y="379" width="42" height="28"/>
+ </element>
+ <element name="lamp15" ref="lamp_15_1" state="0">
+ <bounds x="701" y="381" width="38" height="24"/>
+ </element>
+ <element name="lamp6" ref="lamp_6_1_border" state="0">
+ <bounds x="699" y="63" width="42" height="28"/>
+ </element>
+ <element name="lamp6" ref="lamp_6_1" state="0">
+ <bounds x="701" y="65" width="38" height="24"/>
+ </element>
+ <element name="lamp7" ref="lamp_7_1_border" state="0">
+ <bounds x="699" y="155" width="42" height="28"/>
+ </element>
+ <element name="lamp7" ref="lamp_7_1" state="0">
+ <bounds x="701" y="157" width="38" height="24"/>
+ </element>
+ <element name="lamp8" ref="lamp_8_1_border" state="0">
+ <bounds x="699" y="183" width="42" height="28"/>
+ </element>
+ <element name="lamp8" ref="lamp_8_1" state="0">
+ <bounds x="701" y="185" width="38" height="24"/>
+ </element>
<element name="lamp192" ref="lamp_192_1_border" state="0">
<bounds x="456" y="532" width="24" height="24"/>
</element>
@@ -6288,2292 +4495,158 @@
<element name="lamp196" ref="lamp_196_1" state="0">
<bounds x="454" y="430" width="32" height="32"/>
</element>
- <element name="lamp120" ref="colour_button_155_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp120" ref="colour_button_154_border" state="0" inputtag="TODO" inputmask="0x04">
<bounds x="149" y="247" width="27" height="27"/>
</element>
- <element name="lamp120" ref="colour_button_155" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp120" ref="colour_button_154" state="0" inputtag="TODO" inputmask="0x04">
<bounds x="151" y="249" width="23" height="23"/>
</element>
- <element name="lamp123" ref="colour_button_156_border" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp123" ref="colour_button_155_border" state="0" inputtag="TODO" inputmask="0x08">
<bounds x="175" y="261" width="27" height="27"/>
</element>
- <element name="lamp123" ref="colour_button_156" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp123" ref="colour_button_155" state="0" inputtag="TODO" inputmask="0x08">
<bounds x="177" y="263" width="23" height="23"/>
</element>
- <element name="lamp119" ref="colour_button_157_border" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp119" ref="colour_button_156_border" state="0" inputtag="TODO" inputmask="0x10">
<bounds x="123" y="261" width="27" height="27"/>
</element>
- <element name="lamp119" ref="colour_button_157" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp119" ref="colour_button_156" state="0" inputtag="TODO" inputmask="0x10">
<bounds x="125" y="263" width="23" height="23"/>
</element>
- <element name="lamp169" ref="colour_button_158_border" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp169" ref="colour_button_157_border" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="149" y="273" width="27" height="27"/>
</element>
- <element name="lamp169" ref="colour_button_158" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp169" ref="colour_button_157" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="151" y="275" width="23" height="23"/>
</element>
- <element name="lamp240" ref="colour_button_160_border" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp240" ref="colour_button_159_border" state="0" inputtag="TODO" inputmask="0x40">
<bounds x="617" y="605" width="82" height="40"/>
</element>
- <element name="lamp240" ref="colour_button_160" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp240" ref="colour_button_159" state="0" inputtag="TODO" inputmask="0x40">
<bounds x="619" y="607" width="78" height="36"/>
</element>
- <element name="lamp241" ref="colour_button_161_border" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp241" ref="colour_button_160_border" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="531" y="605" width="82" height="40"/>
</element>
- <element name="lamp241" ref="colour_button_161" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp241" ref="colour_button_160" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="533" y="607" width="78" height="36"/>
</element>
- <element name="lamp242" ref="colour_button_162_border" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp242" ref="colour_button_161_border" state="0" inputtag="TODO" inputmask="0x10">
<bounds x="445" y="605" width="82" height="40"/>
</element>
- <element name="lamp242" ref="colour_button_162" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp242" ref="colour_button_161" state="0" inputtag="TODO" inputmask="0x10">
<bounds x="447" y="607" width="78" height="36"/>
</element>
- <element name="lamp244" ref="colour_button_163_border" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp244" ref="colour_button_162_border" state="0" inputtag="TODO" inputmask="0x08">
<bounds x="319" y="605" width="82" height="40"/>
</element>
- <element name="lamp244" ref="colour_button_163" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp244" ref="colour_button_162" state="0" inputtag="TODO" inputmask="0x08">
<bounds x="321" y="607" width="78" height="36"/>
</element>
- <element name="lamp246" ref="colour_button_164_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp246" ref="colour_button_163_border" state="0" inputtag="TODO" inputmask="0x04">
<bounds x="221" y="605" width="82" height="40"/>
</element>
- <element name="lamp246" ref="colour_button_164" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp246" ref="colour_button_163" state="0" inputtag="TODO" inputmask="0x04">
<bounds x="223" y="607" width="78" height="36"/>
</element>
- <element name="lamp247" ref="colour_button_165_border" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp247" ref="colour_button_164_border" state="0" inputtag="TODO" inputmask="0x02">
<bounds x="123" y="605" width="82" height="40"/>
</element>
- <element name="lamp247" ref="colour_button_165" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp247" ref="colour_button_164" state="0" inputtag="TODO" inputmask="0x02">
<bounds x="125" y="607" width="78" height="36"/>
</element>
- <element name="lamp248" ref="colour_button_166_border" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp248" ref="colour_button_165_border" state="0" inputtag="TODO" inputmask="0x01">
<bounds x="21" y="605" width="82" height="40"/>
</element>
- <element name="lamp248" ref="colour_button_166" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp248" ref="colour_button_165" state="0" inputtag="TODO" inputmask="0x01">
<bounds x="23" y="607" width="78" height="36"/>
</element>
- <element name="lamp13" ref="colour_button_167_border" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp13" ref="colour_button_166_border" state="0" inputtag="TODO" inputmask="0x40">
<bounds x="685" y="29" width="52" height="22"/>
</element>
- <element name="lamp13" ref="colour_button_167" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp13" ref="colour_button_166" state="0" inputtag="TODO" inputmask="0x40">
<bounds x="687" y="31" width="48" height="18"/>
</element>
- <element name="lamp13" ref="colour_button_168_border" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp13" ref="colour_button_167_border" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="685" y="7" width="52" height="22"/>
</element>
- <element name="lamp13" ref="colour_button_168" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp13" ref="colour_button_167" state="0" inputtag="TODO" inputmask="0x20">
<bounds x="687" y="9" width="48" height="18"/>
</element>
- <element ref="led_digit_rect_black">
- <bounds x="241" y="328" width="22" height="30"/>
- </element>
- <element name="digit0" ref="led_digit_green">
+ <element name="digit0" ref="led_digit" state="0">
<bounds x="241" y="328" width="22" height="30"/>
</element>
- <element ref="led_digit_rect_green">
- <bounds x="241" y="328" width="22" height="30"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="259" y="328" width="22" height="30"/>
- </element>
- <element name="digit1" ref="led_digit_green">
+ <element name="digit1" ref="led_digit" state="0">
<bounds x="259" y="328" width="22" height="30"/>
</element>
- <element ref="led_digit_rect_green">
- <bounds x="259" y="328" width="22" height="30"/>
- <color alpha="0.1"/>
- </element>
<element ref="vfd0_background">
<bounds x="221" y="247" width="272" height="26"/>
</element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="221" increment="17"/>
- <element name="vfd~i~" ref="vfd0">
- <bounds x="~x~" y="247" width="17" height="26"/>
- </element>
- </repeat>
- <element name="label12" ref="label_12">
- <bounds x="241" y="360" width="37" height="14"/>
- </element>
- <element name="label13" ref="label_13">
- <bounds x="226" y="273" width="27" height="14"/>
- </element>
- <element name="label14" ref="label_14">
- <bounds x="440" y="273" width="41" height="14"/>
- </element>
- <element name="label73" ref="label_73">
- <bounds x="308" y="587" width="35" height="14"/>
- </element>
- <element name="label152" ref="label_152">
- <bounds x="405" y="475" width="24" height="28"/>
- </element>
- <element name="label153" ref="label_153">
- <bounds x="93" y="475" width="24" height="28"/>
- </element>
- </view>
-
- <view name="MFME2MAME Debug">
- <element ref="debug_backdrop_colour">
- <bounds x="0" y="0" width="1920" height="1080"/>
- </element>
- <element name="lamp0" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_0" ref="debug_lamp_label_0">
- <bounds x="47" y="47" width="30" height="30"/>
- </element>
- <element name="lamp1" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_1" ref="debug_lamp_label_1">
- <bounds x="111" y="47" width="30" height="30"/>
- </element>
- <element name="lamp2" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_2" ref="debug_lamp_label_2">
- <bounds x="175" y="47" width="30" height="30"/>
- </element>
- <element name="lamp3" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_3" ref="debug_lamp_label_3">
- <bounds x="239" y="47" width="30" height="30"/>
- </element>
- <element name="lamp4" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_4" ref="debug_lamp_label_4">
- <bounds x="303" y="47" width="30" height="30"/>
- </element>
- <element name="lamp5" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_5" ref="debug_lamp_label_5">
- <bounds x="367" y="47" width="30" height="30"/>
- </element>
- <element name="lamp6" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_6" ref="debug_lamp_label_6">
- <bounds x="431" y="47" width="30" height="30"/>
- </element>
- <element name="lamp7" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_7" ref="debug_lamp_label_7">
- <bounds x="495" y="47" width="30" height="30"/>
- </element>
- <element name="lamp8" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_8" ref="debug_lamp_label_8">
- <bounds x="559" y="47" width="30" height="30"/>
- </element>
- <element name="lamp9" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_9" ref="debug_lamp_label_9">
- <bounds x="623" y="47" width="30" height="30"/>
- </element>
- <element name="lamp10" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_10" ref="debug_lamp_label_10">
- <bounds x="687" y="47" width="30" height="30"/>
- </element>
- <element name="lamp11" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_11" ref="debug_lamp_label_11">
- <bounds x="751" y="47" width="30" height="30"/>
- </element>
- <element name="lamp12" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_12" ref="debug_lamp_label_12">
- <bounds x="815" y="47" width="30" height="30"/>
- </element>
- <element name="lamp13" ref="debug_lamp_button" state="0">
- <bounds x="864" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_13" ref="debug_lamp_label_13">
- <bounds x="879" y="47" width="30" height="30"/>
- </element>
- <element name="lamp14" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_14" ref="debug_lamp_label_14">
- <bounds x="943" y="47" width="30" height="30"/>
- </element>
- <element name="lamp15" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_15" ref="debug_lamp_label_15">
- <bounds x="1007" y="47" width="30" height="30"/>
- </element>
- <element name="lamp16" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_16" ref="debug_lamp_label_16">
- <bounds x="47" y="111" width="30" height="30"/>
- </element>
- <element name="lamp17" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_17" ref="debug_lamp_label_17">
- <bounds x="111" y="111" width="30" height="30"/>
- </element>
- <element name="lamp18" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_18" ref="debug_lamp_label_18">
- <bounds x="175" y="111" width="30" height="30"/>
- </element>
- <element name="lamp19" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_19" ref="debug_lamp_label_19">
- <bounds x="239" y="111" width="30" height="30"/>
- </element>
- <element name="lamp20" ref="debug_lamp_reel" state="0">
- <bounds x="288" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_20" ref="debug_lamp_label_20">
- <bounds x="303" y="111" width="30" height="30"/>
- </element>
- <element name="lamp21" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_21" ref="debug_lamp_label_21">
- <bounds x="367" y="111" width="30" height="30"/>
- </element>
- <element name="lamp22" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_22" ref="debug_lamp_label_22">
- <bounds x="431" y="111" width="30" height="30"/>
- </element>
- <element name="lamp23" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_23" ref="debug_lamp_label_23">
- <bounds x="495" y="111" width="30" height="30"/>
- </element>
- <element name="lamp24" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_24" ref="debug_lamp_label_24">
- <bounds x="559" y="111" width="30" height="30"/>
- </element>
- <element name="lamp25" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_25" ref="debug_lamp_label_25">
- <bounds x="623" y="111" width="30" height="30"/>
- </element>
- <element name="lamp26" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_26" ref="debug_lamp_label_26">
- <bounds x="687" y="111" width="30" height="30"/>
- </element>
- <element name="lamp27" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_27" ref="debug_lamp_label_27">
- <bounds x="751" y="111" width="30" height="30"/>
- </element>
- <element name="lamp28" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_28" ref="debug_lamp_label_28">
- <bounds x="815" y="111" width="30" height="30"/>
- </element>
- <element name="lamp29" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_29" ref="debug_lamp_label_29">
- <bounds x="879" y="111" width="30" height="30"/>
- </element>
- <element name="lamp30" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_30" ref="debug_lamp_label_30">
- <bounds x="943" y="111" width="30" height="30"/>
- </element>
- <element name="lamp31" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_31" ref="debug_lamp_label_31">
- <bounds x="1007" y="111" width="30" height="30"/>
- </element>
- <element name="lamp32" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_32" ref="debug_lamp_label_32">
- <bounds x="47" y="175" width="30" height="30"/>
- </element>
- <element name="lamp33" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_33" ref="debug_lamp_label_33">
- <bounds x="111" y="175" width="30" height="30"/>
- </element>
- <element name="lamp34" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_34" ref="debug_lamp_label_34">
- <bounds x="175" y="175" width="30" height="30"/>
- </element>
- <element name="lamp35" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_35" ref="debug_lamp_label_35">
- <bounds x="239" y="175" width="30" height="30"/>
- </element>
- <element name="lamp36" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_36" ref="debug_lamp_label_36">
- <bounds x="303" y="175" width="30" height="30"/>
- </element>
- <element name="lamp37" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_37" ref="debug_lamp_label_37">
- <bounds x="367" y="175" width="30" height="30"/>
- </element>
- <element name="lamp38" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_38" ref="debug_lamp_label_38">
- <bounds x="431" y="175" width="30" height="30"/>
- </element>
- <element name="lamp39" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_39" ref="debug_lamp_label_39">
- <bounds x="495" y="175" width="30" height="30"/>
- </element>
- <element name="lamp40" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_40" ref="debug_lamp_label_40">
- <bounds x="559" y="175" width="30" height="30"/>
- </element>
- <element name="lamp41" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_41" ref="debug_lamp_label_41">
- <bounds x="623" y="175" width="30" height="30"/>
- </element>
- <element name="lamp42" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_42" ref="debug_lamp_label_42">
- <bounds x="687" y="175" width="30" height="30"/>
- </element>
- <element name="lamp43" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_43" ref="debug_lamp_label_43">
- <bounds x="751" y="175" width="30" height="30"/>
- </element>
- <element name="lamp44" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_44" ref="debug_lamp_label_44">
- <bounds x="815" y="175" width="30" height="30"/>
- </element>
- <element name="lamp45" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_45" ref="debug_lamp_label_45">
- <bounds x="879" y="175" width="30" height="30"/>
- </element>
- <element name="lamp46" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_46" ref="debug_lamp_label_46">
- <bounds x="943" y="175" width="30" height="30"/>
- </element>
- <element name="lamp47" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_47" ref="debug_lamp_label_47">
- <bounds x="1007" y="175" width="30" height="30"/>
- </element>
- <element name="lamp48" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_48" ref="debug_lamp_label_48">
- <bounds x="47" y="239" width="30" height="30"/>
- </element>
- <element name="lamp49" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_49" ref="debug_lamp_label_49">
- <bounds x="111" y="239" width="30" height="30"/>
- </element>
- <element name="lamp50" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_50" ref="debug_lamp_label_50">
- <bounds x="175" y="239" width="30" height="30"/>
- </element>
- <element name="lamp51" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_51" ref="debug_lamp_label_51">
- <bounds x="239" y="239" width="30" height="30"/>
- </element>
- <element name="lamp52" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_52" ref="debug_lamp_label_52">
- <bounds x="303" y="239" width="30" height="30"/>
- </element>
- <element name="lamp53" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_53" ref="debug_lamp_label_53">
- <bounds x="367" y="239" width="30" height="30"/>
- </element>
- <element name="lamp54" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_54" ref="debug_lamp_label_54">
- <bounds x="431" y="239" width="30" height="30"/>
- </element>
- <element name="lamp55" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_55" ref="debug_lamp_label_55">
- <bounds x="495" y="239" width="30" height="30"/>
- </element>
- <element name="lamp56" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_56" ref="debug_lamp_label_56">
- <bounds x="559" y="239" width="30" height="30"/>
- </element>
- <element name="lamp57" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_57" ref="debug_lamp_label_57">
- <bounds x="623" y="239" width="30" height="30"/>
- </element>
- <element name="lamp58" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_58" ref="debug_lamp_label_58">
- <bounds x="687" y="239" width="30" height="30"/>
- </element>
- <element name="lamp59" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_59" ref="debug_lamp_label_59">
- <bounds x="751" y="239" width="30" height="30"/>
- </element>
- <element name="lamp60" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_60" ref="debug_lamp_label_60">
- <bounds x="815" y="239" width="30" height="30"/>
- </element>
- <element name="lamp61" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_61" ref="debug_lamp_label_61">
- <bounds x="879" y="239" width="30" height="30"/>
- </element>
- <element name="lamp62" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_62" ref="debug_lamp_label_62">
- <bounds x="943" y="239" width="30" height="30"/>
- </element>
- <element name="lamp63" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="224" width="60" height="60"/>
+ <element name="vfd0" ref="vfd0" state="0">
+ <bounds x="221" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_63" ref="debug_lamp_label_63">
- <bounds x="1007" y="239" width="30" height="30"/>
+ <element name="vfd1" ref="vfd0" state="0">
+ <bounds x="238" y="247" width="17" height="26"/>
</element>
- <element name="lamp64" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="288" width="60" height="60"/>
+ <element name="vfd2" ref="vfd0" state="0">
+ <bounds x="255" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_64" ref="debug_lamp_label_64">
- <bounds x="47" y="303" width="30" height="30"/>
+ <element name="vfd3" ref="vfd0" state="0">
+ <bounds x="272" y="247" width="17" height="26"/>
</element>
- <element name="lamp65" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="288" width="60" height="60"/>
+ <element name="vfd4" ref="vfd0" state="0">
+ <bounds x="289" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_65" ref="debug_lamp_label_65">
- <bounds x="111" y="303" width="30" height="30"/>
+ <element name="vfd5" ref="vfd0" state="0">
+ <bounds x="306" y="247" width="17" height="26"/>
</element>
- <element name="lamp66" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="288" width="60" height="60"/>
+ <element name="vfd6" ref="vfd0" state="0">
+ <bounds x="323" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_66" ref="debug_lamp_label_66">
- <bounds x="175" y="303" width="30" height="30"/>
+ <element name="vfd7" ref="vfd0" state="0">
+ <bounds x="340" y="247" width="17" height="26"/>
</element>
- <element name="lamp67" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="288" width="60" height="60"/>
+ <element name="vfd8" ref="vfd0" state="0">
+ <bounds x="357" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_67" ref="debug_lamp_label_67">
- <bounds x="239" y="303" width="30" height="30"/>
+ <element name="vfd9" ref="vfd0" state="0">
+ <bounds x="374" y="247" width="17" height="26"/>
</element>
- <element name="lamp68" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="288" width="60" height="60"/>
+ <element name="vfd10" ref="vfd0" state="0">
+ <bounds x="391" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_68" ref="debug_lamp_label_68">
- <bounds x="303" y="303" width="30" height="30"/>
+ <element name="vfd11" ref="vfd0" state="0">
+ <bounds x="408" y="247" width="17" height="26"/>
</element>
- <element name="lamp69" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="288" width="60" height="60"/>
+ <element name="vfd12" ref="vfd0" state="0">
+ <bounds x="425" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_69" ref="debug_lamp_label_69">
- <bounds x="367" y="303" width="30" height="30"/>
+ <element name="vfd13" ref="vfd0" state="0">
+ <bounds x="442" y="247" width="17" height="26"/>
</element>
- <element name="lamp70" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="288" width="60" height="60"/>
+ <element name="vfd14" ref="vfd0" state="0">
+ <bounds x="459" y="247" width="17" height="26"/>
</element>
- <element name="debug_lamp_label_70" ref="debug_lamp_label_70">
- <bounds x="431" y="303" width="30" height="30"/>
+ <element name="vfd15" ref="vfd0" state="0">
+ <bounds x="476" y="247" width="17" height="26"/>
</element>
- <element name="lamp71" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_71" ref="debug_lamp_label_71">
- <bounds x="495" y="303" width="30" height="30"/>
- </element>
- <element name="lamp72" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_72" ref="debug_lamp_label_72">
- <bounds x="559" y="303" width="30" height="30"/>
- </element>
- <element name="lamp73" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_73" ref="debug_lamp_label_73">
- <bounds x="623" y="303" width="30" height="30"/>
- </element>
- <element name="lamp74" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_74" ref="debug_lamp_label_74">
- <bounds x="687" y="303" width="30" height="30"/>
- </element>
- <element name="lamp75" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_75" ref="debug_lamp_label_75">
- <bounds x="751" y="303" width="30" height="30"/>
- </element>
- <element name="lamp76" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_76" ref="debug_lamp_label_76">
- <bounds x="815" y="303" width="30" height="30"/>
- </element>
- <element name="lamp77" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_77" ref="debug_lamp_label_77">
- <bounds x="879" y="303" width="30" height="30"/>
- </element>
- <element name="lamp78" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_78" ref="debug_lamp_label_78">
- <bounds x="943" y="303" width="30" height="30"/>
- </element>
- <element name="lamp79" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_79" ref="debug_lamp_label_79">
- <bounds x="1007" y="303" width="30" height="30"/>
- </element>
- <element name="lamp80" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_80" ref="debug_lamp_label_80">
- <bounds x="47" y="367" width="30" height="30"/>
- </element>
- <element name="lamp81" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_81" ref="debug_lamp_label_81">
- <bounds x="111" y="367" width="30" height="30"/>
- </element>
- <element name="lamp82" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_82" ref="debug_lamp_label_82">
- <bounds x="175" y="367" width="30" height="30"/>
- </element>
- <element name="lamp83" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_83" ref="debug_lamp_label_83">
- <bounds x="239" y="367" width="30" height="30"/>
- </element>
- <element name="lamp84" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_84" ref="debug_lamp_label_84">
- <bounds x="303" y="367" width="30" height="30"/>
- </element>
- <element name="lamp85" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_85" ref="debug_lamp_label_85">
- <bounds x="367" y="367" width="30" height="30"/>
- </element>
- <element name="lamp86" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_86" ref="debug_lamp_label_86">
- <bounds x="431" y="367" width="30" height="30"/>
- </element>
- <element name="lamp87" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_87" ref="debug_lamp_label_87">
- <bounds x="495" y="367" width="30" height="30"/>
- </element>
- <element name="lamp88" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_88" ref="debug_lamp_label_88">
- <bounds x="559" y="367" width="30" height="30"/>
- </element>
- <element name="lamp89" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_89" ref="debug_lamp_label_89">
- <bounds x="623" y="367" width="30" height="30"/>
- </element>
- <element name="lamp90" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_90" ref="debug_lamp_label_90">
- <bounds x="687" y="367" width="30" height="30"/>
- </element>
- <element name="lamp91" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_91" ref="debug_lamp_label_91">
- <bounds x="751" y="367" width="30" height="30"/>
- </element>
- <element name="lamp92" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_92" ref="debug_lamp_label_92">
- <bounds x="815" y="367" width="30" height="30"/>
- </element>
- <element name="lamp93" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_93" ref="debug_lamp_label_93">
- <bounds x="879" y="367" width="30" height="30"/>
- </element>
- <element name="lamp94" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_94" ref="debug_lamp_label_94">
- <bounds x="943" y="367" width="30" height="30"/>
- </element>
- <element name="lamp95" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_95" ref="debug_lamp_label_95">
- <bounds x="1007" y="367" width="30" height="30"/>
- </element>
- <element name="lamp96" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_96" ref="debug_lamp_label_96">
- <bounds x="47" y="431" width="30" height="30"/>
- </element>
- <element name="lamp97" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_97" ref="debug_lamp_label_97">
- <bounds x="111" y="431" width="30" height="30"/>
- </element>
- <element name="lamp98" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_98" ref="debug_lamp_label_98">
- <bounds x="175" y="431" width="30" height="30"/>
- </element>
- <element name="lamp99" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_99" ref="debug_lamp_label_99">
- <bounds x="239" y="431" width="30" height="30"/>
- </element>
- <element name="lamp100" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_100" ref="debug_lamp_label_100">
- <bounds x="303" y="431" width="30" height="30"/>
- </element>
- <element name="lamp101" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_101" ref="debug_lamp_label_101">
- <bounds x="367" y="431" width="30" height="30"/>
- </element>
- <element name="lamp102" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_102" ref="debug_lamp_label_102">
- <bounds x="431" y="431" width="30" height="30"/>
- </element>
- <element name="lamp103" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_103" ref="debug_lamp_label_103">
- <bounds x="495" y="431" width="30" height="30"/>
- </element>
- <element name="lamp104" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_104" ref="debug_lamp_label_104">
- <bounds x="559" y="431" width="30" height="30"/>
- </element>
- <element name="lamp105" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_105" ref="debug_lamp_label_105">
- <bounds x="623" y="431" width="30" height="30"/>
- </element>
- <element name="lamp106" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_106" ref="debug_lamp_label_106">
- <bounds x="687" y="431" width="30" height="30"/>
- </element>
- <element name="lamp107" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_107" ref="debug_lamp_label_107">
- <bounds x="751" y="431" width="30" height="30"/>
- </element>
- <element name="lamp108" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_108" ref="debug_lamp_label_108">
- <bounds x="815" y="431" width="30" height="30"/>
- </element>
- <element name="lamp109" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_109" ref="debug_lamp_label_109">
- <bounds x="879" y="431" width="30" height="30"/>
- </element>
- <element name="lamp110" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_110" ref="debug_lamp_label_110">
- <bounds x="943" y="431" width="30" height="30"/>
- </element>
- <element name="lamp111" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_111" ref="debug_lamp_label_111">
- <bounds x="1007" y="431" width="30" height="30"/>
- </element>
- <element name="lamp112" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_112" ref="debug_lamp_label_112">
- <bounds x="47" y="495" width="30" height="30"/>
- </element>
- <element name="lamp113" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_113" ref="debug_lamp_label_113">
- <bounds x="111" y="495" width="30" height="30"/>
- </element>
- <element name="lamp114" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_114" ref="debug_lamp_label_114">
- <bounds x="175" y="495" width="30" height="30"/>
- </element>
- <element name="lamp115" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_115" ref="debug_lamp_label_115">
- <bounds x="239" y="495" width="30" height="30"/>
- </element>
- <element name="lamp116" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_116" ref="debug_lamp_label_116">
- <bounds x="303" y="495" width="30" height="30"/>
- </element>
- <element name="lamp117" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_117" ref="debug_lamp_label_117">
- <bounds x="367" y="495" width="30" height="30"/>
- </element>
- <element name="lamp118" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_118" ref="debug_lamp_label_118">
- <bounds x="431" y="495" width="30" height="30"/>
- </element>
- <element name="lamp119" ref="debug_lamp_button" state="0">
- <bounds x="480" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_119" ref="debug_lamp_label_119">
- <bounds x="495" y="495" width="30" height="30"/>
- </element>
- <element name="lamp120" ref="debug_lamp_button" state="0">
- <bounds x="544" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_120" ref="debug_lamp_label_120">
- <bounds x="559" y="495" width="30" height="30"/>
- </element>
- <element name="lamp121" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_121" ref="debug_lamp_label_121">
- <bounds x="623" y="495" width="30" height="30"/>
- </element>
- <element name="lamp122" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_122" ref="debug_lamp_label_122">
- <bounds x="687" y="495" width="30" height="30"/>
- </element>
- <element name="lamp123" ref="debug_lamp_button" state="0">
- <bounds x="736" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_123" ref="debug_lamp_label_123">
- <bounds x="751" y="495" width="30" height="30"/>
- </element>
- <element name="lamp124" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_124" ref="debug_lamp_label_124">
- <bounds x="815" y="495" width="30" height="30"/>
- </element>
- <element name="lamp125" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_125" ref="debug_lamp_label_125">
- <bounds x="879" y="495" width="30" height="30"/>
- </element>
- <element name="lamp126" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_126" ref="debug_lamp_label_126">
- <bounds x="943" y="495" width="30" height="30"/>
- </element>
- <element name="lamp127" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_127" ref="debug_lamp_label_127">
- <bounds x="1007" y="495" width="30" height="30"/>
- </element>
- <element name="lamp128" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_128" ref="debug_lamp_label_128">
- <bounds x="47" y="559" width="30" height="30"/>
- </element>
- <element name="lamp129" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_129" ref="debug_lamp_label_129">
- <bounds x="111" y="559" width="30" height="30"/>
- </element>
- <element name="lamp130" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_130" ref="debug_lamp_label_130">
- <bounds x="175" y="559" width="30" height="30"/>
- </element>
- <element name="lamp131" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_131" ref="debug_lamp_label_131">
- <bounds x="239" y="559" width="30" height="30"/>
- </element>
- <element name="lamp132" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_132" ref="debug_lamp_label_132">
- <bounds x="303" y="559" width="30" height="30"/>
- </element>
- <element name="lamp133" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_133" ref="debug_lamp_label_133">
- <bounds x="367" y="559" width="30" height="30"/>
- </element>
- <element name="lamp134" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_134" ref="debug_lamp_label_134">
- <bounds x="431" y="559" width="30" height="30"/>
- </element>
- <element name="lamp135" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_135" ref="debug_lamp_label_135">
- <bounds x="495" y="559" width="30" height="30"/>
- </element>
- <element name="lamp136" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_136" ref="debug_lamp_label_136">
- <bounds x="559" y="559" width="30" height="30"/>
- </element>
- <element name="lamp137" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_137" ref="debug_lamp_label_137">
- <bounds x="623" y="559" width="30" height="30"/>
- </element>
- <element name="lamp138" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_138" ref="debug_lamp_label_138">
- <bounds x="687" y="559" width="30" height="30"/>
- </element>
- <element name="lamp139" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_139" ref="debug_lamp_label_139">
- <bounds x="751" y="559" width="30" height="30"/>
- </element>
- <element name="lamp140" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_140" ref="debug_lamp_label_140">
- <bounds x="815" y="559" width="30" height="30"/>
- </element>
- <element name="lamp141" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_141" ref="debug_lamp_label_141">
- <bounds x="879" y="559" width="30" height="30"/>
- </element>
- <element name="lamp142" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_142" ref="debug_lamp_label_142">
- <bounds x="943" y="559" width="30" height="30"/>
- </element>
- <element name="lamp143" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_143" ref="debug_lamp_label_143">
- <bounds x="1007" y="559" width="30" height="30"/>
- </element>
- <element name="lamp144" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_144" ref="debug_lamp_label_144">
- <bounds x="47" y="623" width="30" height="30"/>
- </element>
- <element name="lamp145" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_145" ref="debug_lamp_label_145">
- <bounds x="111" y="623" width="30" height="30"/>
- </element>
- <element name="lamp146" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_146" ref="debug_lamp_label_146">
- <bounds x="175" y="623" width="30" height="30"/>
- </element>
- <element name="lamp147" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_147" ref="debug_lamp_label_147">
- <bounds x="239" y="623" width="30" height="30"/>
- </element>
- <element name="lamp148" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_148" ref="debug_lamp_label_148">
- <bounds x="303" y="623" width="30" height="30"/>
- </element>
- <element name="lamp149" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_149" ref="debug_lamp_label_149">
- <bounds x="367" y="623" width="30" height="30"/>
- </element>
- <element name="lamp150" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_150" ref="debug_lamp_label_150">
- <bounds x="431" y="623" width="30" height="30"/>
- </element>
- <element name="lamp151" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_151" ref="debug_lamp_label_151">
- <bounds x="495" y="623" width="30" height="30"/>
- </element>
- <element name="lamp152" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_152" ref="debug_lamp_label_152">
- <bounds x="559" y="623" width="30" height="30"/>
- </element>
- <element name="lamp153" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_153" ref="debug_lamp_label_153">
- <bounds x="623" y="623" width="30" height="30"/>
- </element>
- <element name="lamp154" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_154" ref="debug_lamp_label_154">
- <bounds x="687" y="623" width="30" height="30"/>
- </element>
- <element name="lamp155" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_155" ref="debug_lamp_label_155">
- <bounds x="751" y="623" width="30" height="30"/>
- </element>
- <element name="lamp156" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_156" ref="debug_lamp_label_156">
- <bounds x="815" y="623" width="30" height="30"/>
- </element>
- <element name="lamp157" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_157" ref="debug_lamp_label_157">
- <bounds x="879" y="623" width="30" height="30"/>
- </element>
- <element name="lamp158" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_158" ref="debug_lamp_label_158">
- <bounds x="943" y="623" width="30" height="30"/>
- </element>
- <element name="lamp159" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_159" ref="debug_lamp_label_159">
- <bounds x="1007" y="623" width="30" height="30"/>
- </element>
- <element name="lamp160" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_160" ref="debug_lamp_label_160">
- <bounds x="47" y="687" width="30" height="30"/>
- </element>
- <element name="lamp161" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_161" ref="debug_lamp_label_161">
- <bounds x="111" y="687" width="30" height="30"/>
- </element>
- <element name="lamp162" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_162" ref="debug_lamp_label_162">
- <bounds x="175" y="687" width="30" height="30"/>
- </element>
- <element name="lamp163" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_163" ref="debug_lamp_label_163">
- <bounds x="239" y="687" width="30" height="30"/>
- </element>
- <element name="lamp164" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_164" ref="debug_lamp_label_164">
- <bounds x="303" y="687" width="30" height="30"/>
- </element>
- <element name="lamp165" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_165" ref="debug_lamp_label_165">
- <bounds x="367" y="687" width="30" height="30"/>
- </element>
- <element name="lamp166" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_166" ref="debug_lamp_label_166">
- <bounds x="431" y="687" width="30" height="30"/>
- </element>
- <element name="lamp167" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_167" ref="debug_lamp_label_167">
- <bounds x="495" y="687" width="30" height="30"/>
- </element>
- <element name="lamp168" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_168" ref="debug_lamp_label_168">
- <bounds x="559" y="687" width="30" height="30"/>
- </element>
- <element name="lamp169" ref="debug_lamp_button" state="0">
- <bounds x="608" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_169" ref="debug_lamp_label_169">
- <bounds x="623" y="687" width="30" height="30"/>
- </element>
- <element name="lamp170" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_170" ref="debug_lamp_label_170">
- <bounds x="687" y="687" width="30" height="30"/>
- </element>
- <element name="lamp171" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_171" ref="debug_lamp_label_171">
- <bounds x="751" y="687" width="30" height="30"/>
- </element>
- <element name="lamp172" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_172" ref="debug_lamp_label_172">
- <bounds x="815" y="687" width="30" height="30"/>
- </element>
- <element name="lamp173" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_173" ref="debug_lamp_label_173">
- <bounds x="879" y="687" width="30" height="30"/>
- </element>
- <element name="lamp174" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_174" ref="debug_lamp_label_174">
- <bounds x="943" y="687" width="30" height="30"/>
- </element>
- <element name="lamp175" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_175" ref="debug_lamp_label_175">
- <bounds x="1007" y="687" width="30" height="30"/>
- </element>
- <element name="lamp176" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_176" ref="debug_lamp_label_176">
- <bounds x="47" y="751" width="30" height="30"/>
- </element>
- <element name="lamp177" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_177" ref="debug_lamp_label_177">
- <bounds x="111" y="751" width="30" height="30"/>
- </element>
- <element name="lamp178" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_178" ref="debug_lamp_label_178">
- <bounds x="175" y="751" width="30" height="30"/>
- </element>
- <element name="lamp179" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_179" ref="debug_lamp_label_179">
- <bounds x="239" y="751" width="30" height="30"/>
- </element>
- <element name="lamp180" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_180" ref="debug_lamp_label_180">
- <bounds x="303" y="751" width="30" height="30"/>
- </element>
- <element name="lamp181" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_181" ref="debug_lamp_label_181">
- <bounds x="367" y="751" width="30" height="30"/>
- </element>
- <element name="lamp182" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_182" ref="debug_lamp_label_182">
- <bounds x="431" y="751" width="30" height="30"/>
- </element>
- <element name="lamp183" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_183" ref="debug_lamp_label_183">
- <bounds x="495" y="751" width="30" height="30"/>
- </element>
- <element name="lamp184" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_184" ref="debug_lamp_label_184">
- <bounds x="559" y="751" width="30" height="30"/>
- </element>
- <element name="lamp185" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_185" ref="debug_lamp_label_185">
- <bounds x="623" y="751" width="30" height="30"/>
- </element>
- <element name="lamp186" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_186" ref="debug_lamp_label_186">
- <bounds x="687" y="751" width="30" height="30"/>
- </element>
- <element name="lamp187" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_187" ref="debug_lamp_label_187">
- <bounds x="751" y="751" width="30" height="30"/>
- </element>
- <element name="lamp188" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_188" ref="debug_lamp_label_188">
- <bounds x="815" y="751" width="30" height="30"/>
- </element>
- <element name="lamp189" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_189" ref="debug_lamp_label_189">
- <bounds x="879" y="751" width="30" height="30"/>
- </element>
- <element name="lamp190" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_190" ref="debug_lamp_label_190">
- <bounds x="943" y="751" width="30" height="30"/>
- </element>
- <element name="lamp191" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_191" ref="debug_lamp_label_191">
- <bounds x="1007" y="751" width="30" height="30"/>
- </element>
- <element name="lamp192" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_192" ref="debug_lamp_label_192">
- <bounds x="47" y="815" width="30" height="30"/>
- </element>
- <element name="lamp193" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_193" ref="debug_lamp_label_193">
- <bounds x="111" y="815" width="30" height="30"/>
- </element>
- <element name="lamp194" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_194" ref="debug_lamp_label_194">
- <bounds x="175" y="815" width="30" height="30"/>
- </element>
- <element name="lamp195" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_195" ref="debug_lamp_label_195">
- <bounds x="239" y="815" width="30" height="30"/>
- </element>
- <element name="lamp196" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_196" ref="debug_lamp_label_196">
- <bounds x="303" y="815" width="30" height="30"/>
- </element>
- <element name="lamp197" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_197" ref="debug_lamp_label_197">
- <bounds x="367" y="815" width="30" height="30"/>
- </element>
- <element name="lamp198" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_198" ref="debug_lamp_label_198">
- <bounds x="431" y="815" width="30" height="30"/>
- </element>
- <element name="lamp199" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_199" ref="debug_lamp_label_199">
- <bounds x="495" y="815" width="30" height="30"/>
- </element>
- <element name="lamp200" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_200" ref="debug_lamp_label_200">
- <bounds x="559" y="815" width="30" height="30"/>
- </element>
- <element name="lamp201" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_201" ref="debug_lamp_label_201">
- <bounds x="623" y="815" width="30" height="30"/>
- </element>
- <element name="lamp202" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_202" ref="debug_lamp_label_202">
- <bounds x="687" y="815" width="30" height="30"/>
- </element>
- <element name="lamp203" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_203" ref="debug_lamp_label_203">
- <bounds x="751" y="815" width="30" height="30"/>
- </element>
- <element name="lamp204" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_204" ref="debug_lamp_label_204">
- <bounds x="815" y="815" width="30" height="30"/>
- </element>
- <element name="lamp205" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_205" ref="debug_lamp_label_205">
- <bounds x="879" y="815" width="30" height="30"/>
- </element>
- <element name="lamp206" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_206" ref="debug_lamp_label_206">
- <bounds x="943" y="815" width="30" height="30"/>
- </element>
- <element name="lamp207" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_207" ref="debug_lamp_label_207">
- <bounds x="1007" y="815" width="30" height="30"/>
- </element>
- <element name="lamp208" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_208" ref="debug_lamp_label_208">
- <bounds x="47" y="879" width="30" height="30"/>
- </element>
- <element name="lamp209" ref="debug_lamp_button" state="0">
- <bounds x="96" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_209" ref="debug_lamp_label_209">
- <bounds x="111" y="879" width="30" height="30"/>
- </element>
- <element name="lamp210" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_210" ref="debug_lamp_label_210">
- <bounds x="175" y="879" width="30" height="30"/>
- </element>
- <element name="lamp211" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_211" ref="debug_lamp_label_211">
- <bounds x="239" y="879" width="30" height="30"/>
- </element>
- <element name="lamp212" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_212" ref="debug_lamp_label_212">
- <bounds x="303" y="879" width="30" height="30"/>
- </element>
- <element name="lamp213" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_213" ref="debug_lamp_label_213">
- <bounds x="367" y="879" width="30" height="30"/>
- </element>
- <element name="lamp214" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_214" ref="debug_lamp_label_214">
- <bounds x="431" y="879" width="30" height="30"/>
- </element>
- <element name="lamp215" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_215" ref="debug_lamp_label_215">
- <bounds x="495" y="879" width="30" height="30"/>
- </element>
- <element name="lamp216" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_216" ref="debug_lamp_label_216">
- <bounds x="559" y="879" width="30" height="30"/>
- </element>
- <element name="lamp217" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_217" ref="debug_lamp_label_217">
- <bounds x="623" y="879" width="30" height="30"/>
- </element>
- <element name="lamp218" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_218" ref="debug_lamp_label_218">
- <bounds x="687" y="879" width="30" height="30"/>
- </element>
- <element name="lamp219" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_219" ref="debug_lamp_label_219">
- <bounds x="751" y="879" width="30" height="30"/>
- </element>
- <element name="lamp220" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_220" ref="debug_lamp_label_220">
- <bounds x="815" y="879" width="30" height="30"/>
- </element>
- <element name="lamp221" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_221" ref="debug_lamp_label_221">
- <bounds x="879" y="879" width="30" height="30"/>
- </element>
- <element name="lamp222" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_222" ref="debug_lamp_label_222">
- <bounds x="943" y="879" width="30" height="30"/>
- </element>
- <element name="lamp223" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_223" ref="debug_lamp_label_223">
- <bounds x="1007" y="879" width="30" height="30"/>
- </element>
- <element name="lamp224" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_224" ref="debug_lamp_label_224">
- <bounds x="47" y="943" width="30" height="30"/>
- </element>
- <element name="lamp225" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_225" ref="debug_lamp_label_225">
- <bounds x="111" y="943" width="30" height="30"/>
- </element>
- <element name="lamp226" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_226" ref="debug_lamp_label_226">
- <bounds x="175" y="943" width="30" height="30"/>
- </element>
- <element name="lamp227" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_227" ref="debug_lamp_label_227">
- <bounds x="239" y="943" width="30" height="30"/>
- </element>
- <element name="lamp228" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_228" ref="debug_lamp_label_228">
- <bounds x="303" y="943" width="30" height="30"/>
- </element>
- <element name="lamp229" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_229" ref="debug_lamp_label_229">
- <bounds x="367" y="943" width="30" height="30"/>
- </element>
- <element name="lamp230" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_230" ref="debug_lamp_label_230">
- <bounds x="431" y="943" width="30" height="30"/>
- </element>
- <element name="lamp231" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_231" ref="debug_lamp_label_231">
- <bounds x="495" y="943" width="30" height="30"/>
- </element>
- <element name="lamp232" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_232" ref="debug_lamp_label_232">
- <bounds x="559" y="943" width="30" height="30"/>
- </element>
- <element name="lamp233" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_233" ref="debug_lamp_label_233">
- <bounds x="623" y="943" width="30" height="30"/>
- </element>
- <element name="lamp234" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_234" ref="debug_lamp_label_234">
- <bounds x="687" y="943" width="30" height="30"/>
- </element>
- <element name="lamp235" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_235" ref="debug_lamp_label_235">
- <bounds x="751" y="943" width="30" height="30"/>
- </element>
- <element name="lamp236" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_236" ref="debug_lamp_label_236">
- <bounds x="815" y="943" width="30" height="30"/>
- </element>
- <element name="lamp237" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_237" ref="debug_lamp_label_237">
- <bounds x="879" y="943" width="30" height="30"/>
- </element>
- <element name="lamp238" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_238" ref="debug_lamp_label_238">
- <bounds x="943" y="943" width="30" height="30"/>
- </element>
- <element name="lamp239" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_239" ref="debug_lamp_label_239">
- <bounds x="1007" y="943" width="30" height="30"/>
- </element>
- <element name="lamp240" ref="debug_lamp_button" state="0">
- <bounds x="32" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_240" ref="debug_lamp_label_240">
- <bounds x="47" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp241" ref="debug_lamp_button" state="0">
- <bounds x="96" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_241" ref="debug_lamp_label_241">
- <bounds x="111" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp242" ref="debug_lamp_button" state="0">
- <bounds x="160" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_242" ref="debug_lamp_label_242">
- <bounds x="175" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp243" ref="debug_lamp_button" state="0">
- <bounds x="224" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_243" ref="debug_lamp_label_243">
- <bounds x="239" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp244" ref="debug_lamp_button" state="0">
- <bounds x="288" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_244" ref="debug_lamp_label_244">
- <bounds x="303" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp245" ref="debug_lamp_button" state="0">
- <bounds x="352" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_245" ref="debug_lamp_label_245">
- <bounds x="367" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp246" ref="debug_lamp_button" state="0">
- <bounds x="416" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_246" ref="debug_lamp_label_246">
- <bounds x="431" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp247" ref="debug_lamp_button" state="0">
- <bounds x="480" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_247" ref="debug_lamp_label_247">
- <bounds x="495" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp248" ref="debug_lamp_button" state="0">
- <bounds x="544" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_248" ref="debug_lamp_label_248">
- <bounds x="559" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp249" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_249" ref="debug_lamp_label_249">
- <bounds x="623" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp250" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_250" ref="debug_lamp_label_250">
- <bounds x="687" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp251" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_251" ref="debug_lamp_label_251">
- <bounds x="751" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp252" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_252" ref="debug_lamp_label_252">
- <bounds x="815" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp253" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_253" ref="debug_lamp_label_253">
- <bounds x="879" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp254" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_254" ref="debug_lamp_label_254">
- <bounds x="943" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp255" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_255" ref="debug_lamp_label_255">
- <bounds x="1007" y="1007" width="30" height="30"/>
- </element>
- <element name="debug_button_0" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_0" ref="debug_button_label_0">
- <bounds x="1120" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_1" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_1" ref="debug_button_label_1">
- <bounds x="1204" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_2" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_2" ref="debug_button_label_2">
- <bounds x="1288" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_3" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_3" ref="debug_button_label_3">
- <bounds x="1372" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_4" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_4" ref="debug_button_label_4">
- <bounds x="1456" y="671" width="40" height="22"/>
- </element>
- <element name="lamp13" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_5" ref="debug_button_label_5">
- <bounds x="1540" y="671" width="40" height="22"/>
- </element>
- <element name="lamp13" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_6" ref="debug_button_label_6">
- <bounds x="1624" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_7" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_7" ref="debug_button_label_7">
- <bounds x="1708" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_8" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_8" ref="debug_button_label_8">
- <bounds x="1120" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_9" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_9" ref="debug_button_label_9">
- <bounds x="1204" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_10" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_10" ref="debug_button_label_10">
- <bounds x="1288" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_11" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_11" ref="debug_button_label_11">
- <bounds x="1372" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_12" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_12" ref="debug_button_label_12">
- <bounds x="1456" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_13" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_13" ref="debug_button_label_13">
- <bounds x="1540" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_14" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_14" ref="debug_button_label_14">
- <bounds x="1624" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_15" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_15" ref="debug_button_label_15">
- <bounds x="1708" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_16" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_16" ref="debug_button_label_16">
- <bounds x="1120" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_17" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_17" ref="debug_button_label_17">
- <bounds x="1204" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_18" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_18" ref="debug_button_label_18">
- <bounds x="1288" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_19" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_19" ref="debug_button_label_19">
- <bounds x="1372" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_20" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_20" ref="debug_button_label_20">
- <bounds x="1456" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_21" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_21" ref="debug_button_label_21">
- <bounds x="1540" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_22" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_22" ref="debug_button_label_22">
- <bounds x="1624" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_23" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_23" ref="debug_button_label_23">
- <bounds x="1708" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_24" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_24" ref="debug_button_label_24">
- <bounds x="1120" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_25" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_25" ref="debug_button_label_25">
- <bounds x="1204" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_26" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_26" ref="debug_button_label_26">
- <bounds x="1288" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_27" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_27" ref="debug_button_label_27">
- <bounds x="1372" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_28" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_28" ref="debug_button_label_28">
- <bounds x="1456" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_29" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_29" ref="debug_button_label_29">
- <bounds x="1540" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_30" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_30" ref="debug_button_label_30">
- <bounds x="1624" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_31" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_31" ref="debug_button_label_31">
- <bounds x="1708" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_32" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_32" ref="debug_button_label_32">
- <bounds x="1120" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_33" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_33" ref="debug_button_label_33">
- <bounds x="1204" y="863" width="40" height="22"/>
- </element>
- <element name="lamp120" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_34" ref="debug_button_label_34">
- <bounds x="1288" y="863" width="40" height="22"/>
- </element>
- <element name="lamp123" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_35" ref="debug_button_label_35">
- <bounds x="1372" y="863" width="40" height="22"/>
- </element>
- <element name="lamp119" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_36" ref="debug_button_label_36">
- <bounds x="1456" y="863" width="40" height="22"/>
- </element>
- <element name="lamp169" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_37" ref="debug_button_label_37">
- <bounds x="1540" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_38" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_38" ref="debug_button_label_38">
- <bounds x="1624" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_39" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_39" ref="debug_button_label_39">
- <bounds x="1708" y="863" width="40" height="22"/>
- </element>
- <element name="lamp248" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_40" ref="debug_button_label_40">
- <bounds x="1120" y="911" width="40" height="22"/>
- </element>
- <element name="lamp247" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_41" ref="debug_button_label_41">
- <bounds x="1204" y="911" width="40" height="22"/>
- </element>
- <element name="lamp246" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_42" ref="debug_button_label_42">
- <bounds x="1288" y="911" width="40" height="22"/>
- </element>
- <element name="lamp244" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_43" ref="debug_button_label_43">
- <bounds x="1372" y="911" width="40" height="22"/>
- </element>
- <element name="lamp242" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_44" ref="debug_button_label_44">
- <bounds x="1456" y="911" width="40" height="22"/>
- </element>
- <element name="lamp241" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_45" ref="debug_button_label_45">
- <bounds x="1540" y="911" width="40" height="22"/>
- </element>
- <element name="lamp240" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_46" ref="debug_button_label_46">
- <bounds x="1624" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_47" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_47" ref="debug_button_label_47">
- <bounds x="1708" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_48" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_48" ref="debug_button_label_48">
- <bounds x="1120" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_49" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_49" ref="debug_button_label_49">
- <bounds x="1204" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_50" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_50" ref="debug_button_label_50">
- <bounds x="1288" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_51" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_51" ref="debug_button_label_51">
- <bounds x="1372" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_52" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_52" ref="debug_button_label_52">
- <bounds x="1456" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_53" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_53" ref="debug_button_label_53">
- <bounds x="1540" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_54" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_54" ref="debug_button_label_54">
- <bounds x="1624" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_55" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_55" ref="debug_button_label_55">
- <bounds x="1708" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_56" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_56" ref="debug_button_label_56">
- <bounds x="1120" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_57" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_57" ref="debug_button_label_57">
- <bounds x="1204" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_58" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_58" ref="debug_button_label_58">
- <bounds x="1288" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_59" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_59" ref="debug_button_label_59">
- <bounds x="1372" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_60" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_60" ref="debug_button_label_60">
- <bounds x="1456" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_61" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_61" ref="debug_button_label_61">
- <bounds x="1540" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_62" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_62" ref="debug_button_label_62">
- <bounds x="1624" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_63" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_63" ref="debug_button_label_63">
- <bounds x="1708" y="1007" width="40" height="22"/>
- </element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="1150" increment="32"/>
- <element name="vfd~i~" ref="vfd0">
- <bounds x="~x~" y="600" width="32" height="48"/>
- </element>
- </repeat>
- <element ref="reel_background">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel1" ref="reel0" state="0">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel2" ref="reel1" state="0">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel3" ref="reel2" state="0">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="32.0000" width="120.0000" height="240.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="42.0000" width="110.0000" height="220.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="52.0000" width="100.0000" height="200.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="62.0000" width="90.0000" height="180.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="72.0000" width="80.0000" height="160.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="82.0000" width="70.0000" height="140.0000"/>
- </element>
- <element name="sreel4" ref="reel3" state="0">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="reel1" ref="debug_stepper_value">
- <bounds x="1100" y="272" width="50" height="30"/>
- </element>
- <element name="reel2" ref="debug_stepper_value">
- <bounds x="1240" y="272" width="50" height="30"/>
- </element>
- <element name="reel3" ref="debug_stepper_value">
- <bounds x="1380" y="272" width="50" height="30"/>
+ <element name="label12" ref="label_12">
+ <bounds x="241" y="360" width="37" height="14"/>
</element>
- <element name="reel4" ref="debug_stepper_value">
- <bounds x="1520" y="272" width="50" height="30"/>
+ <element name="label13" ref="label_13">
+ <bounds x="226" y="273" width="27" height="14"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_0">
- <bounds x="1180" y="272" width="50" height="30"/>
+ <element name="label14" ref="label_14">
+ <bounds x="440" y="273" width="41" height="14"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_1">
- <bounds x="1320" y="272" width="50" height="30"/>
+ <element name="label73" ref="label_73">
+ <bounds x="308" y="587" width="35" height="14"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_2">
- <bounds x="1460" y="272" width="50" height="30"/>
+ <element name="label152" ref="label_152">
+ <bounds x="405" y="475" width="24" height="28"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
- <bounds x="1600" y="272" width="50" height="30"/>
+ <element name="label153" ref="label_153">
+ <bounds x="93" y="475" width="24" height="28"/>
</element>
</view>
</mamelayout>
diff --git a/src/mame/layout/j6guabc.lay b/src/mame/layout/j6guabc.lay
index 6fc1c0103ea..c705d92717c 100644
--- a/src/mame/layout/j6guabc.lay
+++ b/src/mame/layout/j6guabc.lay
@@ -7727,4 +7727,4 @@
<bounds x="1600" y="272" width="50" height="30"/>
</element>
</view>
-</mamelayout> \ No newline at end of file
+</mamelayout>
diff --git a/src/mame/layout/j6indy6.lay b/src/mame/layout/j6indy6.lay
new file mode 100644
index 00000000000..184a752ac50
--- /dev/null
+++ b/src/mame/layout/j6indy6.lay
@@ -0,0 +1,3976 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- **************************************************** -->
+<!-- * This MAME layout file was generated by MFME2MAME * -->
+<!-- * Please visit mfme2mame.org for more information. * -->
+<!-- **************************************************** -->
+<mamelayout version="2">
+ <element name="backdrop_colour">
+ <rect>
+ <color red="0.00" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_144_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_144_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_145_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_145_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="L">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
+ </text>
+ <text string="O">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
+ </text>
+ <text string="S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
+ </text>
+ <text string="E">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
+ </text>
+ </element>
+ <element name="lamp_146_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_146_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;6">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_147_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_147_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="L">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
+ </text>
+ <text string="o">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
+ </text>
+ <text string="s">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
+ </text>
+ <text string="e">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
+ </text>
+ </element>
+ <element name="lamp_148_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_148_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_91_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_91_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Staff Of Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_92_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_92_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_93_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_93_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_94_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_94_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Path To Riches">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_95_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_95_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_86_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_86_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Runaway">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Cash">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_87_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_87_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_88_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_88_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="Crack">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="The Whip">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_89_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_89_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_90_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_90_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;2.40">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_106_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_106_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;5">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_105_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_105_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Staff Of Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_103_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_103_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_104_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_104_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_102_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_102_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_108_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_108_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_107_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_107_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="Crack">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="The Whip">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_96_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_96_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_97_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_97_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Leap Of Faith">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_98_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_98_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_99_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_99_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_100_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_100_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pit">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_101_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_101_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_80_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_80_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Holy">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Grail">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_81_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_81_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_82_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_82_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1.60">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_83_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_83_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Unveil A Prize">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_200_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_200_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_201_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_201_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1.20">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_202_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_202_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Treasure">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Hunt">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_85_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_85_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="Staff Of">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_84_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_84_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_118_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_118_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;6.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_119_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_119_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;5.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_120_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_120_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;4.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_122_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_122_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;2.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_123_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_123_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_121_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_121_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;3.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_117_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_117_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Win Series">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_116_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_116_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Fuse Time">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_115_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_115_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Reel A Fortune">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_114_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_114_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Stop N Step">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_113_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_113_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Stop A Fruit">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_112_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_112_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Spin A Win">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_157_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_157_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="LOSE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_160_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_160_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_161_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_161_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_163_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_163_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_166_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_166_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_162_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_162_1" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_167_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_167_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_165_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_165_1" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_164_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_164_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_199_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_199_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_198_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_198_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_197_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_197_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_196_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_196_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_222_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_222_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Lose">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_253_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_253_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Now !">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_68_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_68_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Escape">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_71_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_71_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Extra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Nudges">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_66_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_66_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Add A Bullet">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_65_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_65_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Go">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Back ">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_64_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_64_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Staff Of">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_69_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_69_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Advance">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_67_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_67_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Skill">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Stop">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_70_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_70_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Empty">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Gun">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_203_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_203_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_204_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_204_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_205_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_205_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_206_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_206_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="80p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_207_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_207_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_221_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_221_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="60p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_223_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_223_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_56_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_56_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="k">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_57_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_57_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="s">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_55_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_55_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="i">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_54_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_54_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="l">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_53_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_53_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="l">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_139_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_139_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_138_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_138_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_137_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_137_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_136_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_136_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_140_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_140_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_141_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_141_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_142_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_142_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_143_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_143_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_135_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_135_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_134_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_134_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_133_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_133_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_132_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_132_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_131_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_131_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_130_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_130_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_129_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_129_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_128_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_128_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_215_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_215_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;2 Melon">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_216_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_216_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;3 JPM">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_219_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_219_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;6 Triple Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_218_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_218_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;5 Double Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_217_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_217_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;4 Single Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_214_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_214_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.60 Grapes">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_213_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_213_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.20 Mixed Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_212_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_212_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1 Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_77_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_77_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="JPM">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_52_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_52_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="60p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_51_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_51_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_50_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_50_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_49_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_49_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_48_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_48_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="40p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_239_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_239_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Lose">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_173_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_173_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_60_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_60_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_171_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_171_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_59_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_59_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_58_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_58_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_169_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_169_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_167_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_167">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="START">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_168_border">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_168">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="CANCEL">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_169_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_169">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD LO">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_170_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_170">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD HI">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_171_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_171">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_172_border">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_172">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="COLLECT">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_173_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="colour_button_173">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string=" EXCHANGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_179_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_179">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="reel_background">
+ <rect>
+ <color red="1.0" green="1.0" blue="1.0"/>
+ </rect>
+ </element>
+ <element name="reel0" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar*,Melon,JPM,Single Bar,Cherry,JPM,Grapes*,Cherry,Melon,Double Bar*,Melon,Grapes,Cherry,Single Bar,Grapes*,Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel1" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar,Melon,JPM,Double Bar,Cherry*,JPM,Grapes,Cherry,Melon,Single Bar,Melon*,Grapes,Cherry,Double Bar,Grapes,Cherry*">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel2" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar,Melon,JPM*,Single Bar,Cherry,JPM*,Grapes,Cherry,Melon,Double Bar,Melon,Grapes,Cherry*,Single Bar,Grapes,Cherry*">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel3" defstate="0">
+ <reel reelreversed="0" stateoffset="-1365" numsymbolsvisible="1" symbollist="12,11,10,9,8,7,6,5,4,3,2,1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="led_background">
+ <rect>
+ <color red="0.4" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_on">
+ <rect state="1">
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_dot_on">
+ <disk state="1">
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </disk>
+ </element>
+ <element name="led_off">
+ <rect state="0">
+ <color red="0.5" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_dot_off">
+ <disk state="0">
+ <color red="0.5" green="0.0" blue="0.0"/>
+ </disk>
+ </element>
+ <element name="led_digit">
+ <led7seg>
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </led7seg>
+ </element>
+ <element name="vfd0">
+ <led16segsc>
+ <color red="0.0" green="1.0" blue="1.0"/>
+ </led16segsc>
+ </element>
+ <element name="vfd0_background">
+ <rect>
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="reel_lamp_layer_0" defstate="0">
+ <rect>
+ <color red="0.40" green="0.40" blue="0.40"/>
+ </rect>
+ <disk state="1">
+ <color red="0.50" green="0.50" blue="0.50"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_1" defstate="0">
+ <disk state="1">
+ <color red="0.60" green="0.60" blue="0.60"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_2" defstate="0">
+ <disk state="1">
+ <color red="0.70" green="0.70" blue="0.70"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_3" defstate="0">
+ <disk state="1">
+ <color red="0.80" green="0.80" blue="0.80"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_4" defstate="0">
+ <disk state="1">
+ <color red="0.90" green="0.90" blue="0.90"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_5" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="1.00" blue="1.00"/>
+ </disk>
+ </element>
+ <element name="label_19">
+ <text string="Revolver">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_20">
+ <text string="Big Repeater">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_55">
+ <text string="Staff">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Of Ra">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_65">
+ <text string="HIT">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_66">
+ <text string="MISSed">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_67">
+ <text string="Nudge">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_71">
+ <text string="Win">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Line">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_72">
+ <text string="Win">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Line">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_98">
+ <text string="Leap Of Faith">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_99">
+ <text string="Path To Riches">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_127">
+ <text string="Plays">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_133">
+ <text string="Snake">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pit">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_134">
+ <text string="1 - 12">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_165">
+ <text string="Holy Grail">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <view name="AWP Simulated Video">
+ <element ref="backdrop_colour">
+ <bounds x="0" y="0" width="792" height="646"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="269" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel1" ref="reel0" state="0">
+ <bounds x="269" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="351" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel2" ref="reel1" state="0">
+ <bounds x="351" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="433" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel3" ref="reel2" state="0">
+ <bounds x="433" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="399" y="77" width="70" height="70"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_0" state="0">
+ <bounds x="399.0000" y="77.0000" width="70.0000" height="70.0000"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_1" state="0">
+ <bounds x="401.9167" y="79.9167" width="64.1667" height="64.1667"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_2" state="0">
+ <bounds x="404.8333" y="82.8333" width="58.3333" height="58.3333"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_3" state="0">
+ <bounds x="407.7500" y="85.7500" width="52.5000" height="52.5000"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_4" state="0">
+ <bounds x="410.6667" y="88.6667" width="46.6667" height="46.6667"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_5" state="0">
+ <bounds x="413.5833" y="91.5833" width="40.8333" height="40.8333"/>
+ </element>
+ <element name="sreel4" ref="reel3" state="0">
+ <bounds x="399" y="77" width="70" height="70"/>
+ </element>
+ <element name="lamp144" ref="lamp_144_1_border" state="0">
+ <bounds x="479" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp144" ref="lamp_144_1" state="0">
+ <bounds x="481" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp145" ref="lamp_145_1_border" state="0">
+ <bounds x="521" y="3" width="20" height="60"/>
+ </element>
+ <element name="lamp145" ref="lamp_145_1" state="0">
+ <bounds x="523" y="5" width="16" height="56"/>
+ </element>
+ <element name="lamp146" ref="lamp_146_1_border" state="0">
+ <bounds x="541" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp146" ref="lamp_146_1" state="0">
+ <bounds x="543" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp147" ref="lamp_147_1_border" state="0">
+ <bounds x="583" y="3" width="20" height="60"/>
+ </element>
+ <element name="lamp147" ref="lamp_147_1" state="0">
+ <bounds x="585" y="5" width="16" height="56"/>
+ </element>
+ <element name="lamp148" ref="lamp_148_1_border" state="0">
+ <bounds x="603" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp148" ref="lamp_148_1" state="0">
+ <bounds x="605" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp91" ref="lamp_91_1_border" state="0">
+ <bounds x="335" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp91" ref="lamp_91_1" state="0">
+ <bounds x="337" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp92" ref="lamp_92_1_border" state="0">
+ <bounds x="335" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp92" ref="lamp_92_1" state="0">
+ <bounds x="337" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp93" ref="lamp_93_1_border" state="0">
+ <bounds x="335" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp93" ref="lamp_93_1" state="0">
+ <bounds x="337" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp94" ref="lamp_94_1_border" state="0">
+ <bounds x="335" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp94" ref="lamp_94_1" state="0">
+ <bounds x="337" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp95" ref="lamp_95_1_border" state="0">
+ <bounds x="335" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp95" ref="lamp_95_1" state="0">
+ <bounds x="337" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp86" ref="lamp_86_1_border" state="0">
+ <bounds x="25" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp86" ref="lamp_86_1" state="0">
+ <bounds x="27" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp87" ref="lamp_87_1_border" state="0">
+ <bounds x="87" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp87" ref="lamp_87_1" state="0">
+ <bounds x="89" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp88" ref="lamp_88_1_border" state="0">
+ <bounds x="149" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp88" ref="lamp_88_1" state="0">
+ <bounds x="151" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp89" ref="lamp_89_1_border" state="0">
+ <bounds x="211" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp89" ref="lamp_89_1" state="0">
+ <bounds x="213" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp90" ref="lamp_90_1_border" state="0">
+ <bounds x="273" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp90" ref="lamp_90_1" state="0">
+ <bounds x="275" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp106" ref="lamp_106_1_border" state="0">
+ <bounds x="707" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp106" ref="lamp_106_1" state="0">
+ <bounds x="709" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp105" ref="lamp_105_1_border" state="0">
+ <bounds x="707" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp105" ref="lamp_105_1" state="0">
+ <bounds x="709" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp103" ref="lamp_103_1_border" state="0">
+ <bounds x="707" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp103" ref="lamp_103_1" state="0">
+ <bounds x="709" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp104" ref="lamp_104_1_border" state="0">
+ <bounds x="707" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp104" ref="lamp_104_1" state="0">
+ <bounds x="709" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp102" ref="lamp_102_1_border" state="0">
+ <bounds x="707" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp102" ref="lamp_102_1" state="0">
+ <bounds x="709" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp108" ref="lamp_108_1_border" state="0">
+ <bounds x="645" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp108" ref="lamp_108_1" state="0">
+ <bounds x="647" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp107" ref="lamp_107_1_border" state="0">
+ <bounds x="707" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp107" ref="lamp_107_1" state="0">
+ <bounds x="709" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp96" ref="lamp_96_1_border" state="0">
+ <bounds x="335" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp96" ref="lamp_96_1" state="0">
+ <bounds x="337" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp97" ref="lamp_97_1_border" state="0">
+ <bounds x="397" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp97" ref="lamp_97_1" state="0">
+ <bounds x="399" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp98" ref="lamp_98_1_border" state="0">
+ <bounds x="459" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp98" ref="lamp_98_1" state="0">
+ <bounds x="461" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp99" ref="lamp_99_1_border" state="0">
+ <bounds x="521" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp99" ref="lamp_99_1" state="0">
+ <bounds x="523" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp100" ref="lamp_100_1_border" state="0">
+ <bounds x="583" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp100" ref="lamp_100_1" state="0">
+ <bounds x="585" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp101" ref="lamp_101_1_border" state="0">
+ <bounds x="645" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp101" ref="lamp_101_1" state="0">
+ <bounds x="647" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp80" ref="lamp_80_1_border" state="0">
+ <bounds x="25" y="207" width="62" height="32"/>
+ </element>
+ <element name="lamp80" ref="lamp_80_1" state="0">
+ <bounds x="27" y="209" width="58" height="28"/>
+ </element>
+ <element name="lamp81" ref="lamp_81_1_border" state="0">
+ <bounds x="25" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp81" ref="lamp_81_1" state="0">
+ <bounds x="27" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp82" ref="lamp_82_1_border" state="0">
+ <bounds x="25" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp82" ref="lamp_82_1" state="0">
+ <bounds x="27" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp83" ref="lamp_83_1_border" state="0">
+ <bounds x="25" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp83" ref="lamp_83_1" state="0">
+ <bounds x="27" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1_border" state="0">
+ <bounds x="25" y="239" width="62" height="32"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1" state="0">
+ <bounds x="27" y="241" width="58" height="28"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1_border" state="0">
+ <bounds x="25" y="271" width="62" height="32"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1" state="0">
+ <bounds x="27" y="273" width="58" height="28"/>
+ </element>
+ <element name="lamp202" ref="lamp_202_1_border" state="0">
+ <bounds x="25" y="303" width="62" height="32"/>
+ </element>
+ <element name="lamp202" ref="lamp_202_1" state="0">
+ <bounds x="27" y="305" width="58" height="28"/>
+ </element>
+ <element name="lamp85" ref="lamp_85_1_border" state="0">
+ <bounds x="25" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp85" ref="lamp_85_1" state="0">
+ <bounds x="27" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp84" ref="lamp_84_1_border" state="0">
+ <bounds x="25" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp84" ref="lamp_84_1" state="0">
+ <bounds x="27" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp118" ref="lamp_118_1_border" state="0">
+ <bounds x="250" y="55" width="58" height="20"/>
+ </element>
+ <element name="lamp118" ref="lamp_118_1" state="0">
+ <bounds x="252" y="57" width="54" height="16"/>
+ </element>
+ <element name="lamp119" ref="lamp_119_1_border" state="0">
+ <bounds x="260" y="75" width="58" height="20"/>
+ </element>
+ <element name="lamp119" ref="lamp_119_1" state="0">
+ <bounds x="262" y="77" width="54" height="16"/>
+ </element>
+ <element name="lamp120" ref="lamp_120_1_border" state="0">
+ <bounds x="270" y="95" width="58" height="20"/>
+ </element>
+ <element name="lamp120" ref="lamp_120_1" state="0">
+ <bounds x="272" y="97" width="54" height="16"/>
+ </element>
+ <element name="lamp122" ref="lamp_122_1_border" state="0">
+ <bounds x="260" y="135" width="58" height="20"/>
+ </element>
+ <element name="lamp122" ref="lamp_122_1" state="0">
+ <bounds x="262" y="137" width="54" height="16"/>
+ </element>
+ <element name="lamp123" ref="lamp_123_1_border" state="0">
+ <bounds x="250" y="155" width="58" height="20"/>
+ </element>
+ <element name="lamp123" ref="lamp_123_1" state="0">
+ <bounds x="252" y="157" width="54" height="16"/>
+ </element>
+ <element name="lamp121" ref="lamp_121_1_border" state="0">
+ <bounds x="270" y="115" width="58" height="20"/>
+ </element>
+ <element name="lamp121" ref="lamp_121_1" state="0">
+ <bounds x="272" y="117" width="54" height="16"/>
+ </element>
+ <element name="lamp117" ref="lamp_117_1_border" state="0">
+ <bounds x="114" y="55" width="112" height="20"/>
+ </element>
+ <element name="lamp117" ref="lamp_117_1" state="0">
+ <bounds x="116" y="57" width="108" height="16"/>
+ </element>
+ <element name="lamp116" ref="lamp_116_1_border" state="0">
+ <bounds x="104" y="75" width="112" height="20"/>
+ </element>
+ <element name="lamp116" ref="lamp_116_1" state="0">
+ <bounds x="106" y="77" width="108" height="16"/>
+ </element>
+ <element name="lamp115" ref="lamp_115_1_border" state="0">
+ <bounds x="94" y="95" width="112" height="20"/>
+ </element>
+ <element name="lamp115" ref="lamp_115_1" state="0">
+ <bounds x="96" y="97" width="108" height="16"/>
+ </element>
+ <element name="lamp114" ref="lamp_114_1_border" state="0">
+ <bounds x="104" y="135" width="112" height="20"/>
+ </element>
+ <element name="lamp114" ref="lamp_114_1" state="0">
+ <bounds x="106" y="137" width="108" height="16"/>
+ </element>
+ <element name="lamp113" ref="lamp_113_1_border" state="0">
+ <bounds x="94" y="115" width="112" height="20"/>
+ </element>
+ <element name="lamp113" ref="lamp_113_1" state="0">
+ <bounds x="96" y="117" width="108" height="16"/>
+ </element>
+ <element name="lamp112" ref="lamp_112_1_border" state="0">
+ <bounds x="114" y="155" width="112" height="20"/>
+ </element>
+ <element name="lamp112" ref="lamp_112_1" state="0">
+ <bounds x="116" y="157" width="108" height="16"/>
+ </element>
+ <element name="lamp157" ref="lamp_157_1_border" state="0">
+ <bounds x="582" y="149" width="46" height="22"/>
+ </element>
+ <element name="lamp157" ref="lamp_157_1" state="0">
+ <bounds x="584" y="151" width="42" height="18"/>
+ </element>
+ <element name="lamp160" ref="lamp_160_1_border" state="0">
+ <bounds x="678" y="136" width="22" height="22"/>
+ </element>
+ <element name="lamp160" ref="lamp_160_1" state="0">
+ <bounds x="680" y="138" width="18" height="18"/>
+ </element>
+ <element name="lamp161" ref="lamp_161_1_border" state="0">
+ <bounds x="678" y="113" width="22" height="22"/>
+ </element>
+ <element name="lamp161" ref="lamp_161_1" state="0">
+ <bounds x="680" y="115" width="18" height="18"/>
+ </element>
+ <element name="lamp163" ref="lamp_163_1_border" state="0">
+ <bounds x="636" y="113" width="22" height="22"/>
+ </element>
+ <element name="lamp163" ref="lamp_163_1" state="0">
+ <bounds x="638" y="115" width="18" height="18"/>
+ </element>
+ <element name="lamp166" ref="lamp_166_1_border" state="0">
+ <bounds x="636" y="136" width="22" height="22"/>
+ </element>
+ <element name="lamp166" ref="lamp_166_1" state="0">
+ <bounds x="638" y="138" width="18" height="18"/>
+ </element>
+ <element name="lamp162" ref="lamp_162_1_border" state="0">
+ <bounds x="657" y="100" width="22" height="22"/>
+ </element>
+ <element name="lamp162" ref="lamp_162_1" state="0">
+ <bounds x="659" y="102" width="18" height="18"/>
+ </element>
+ <element name="lamp167" ref="lamp_167_1_border" state="0">
+ <bounds x="657" y="148" width="22" height="22"/>
+ </element>
+ <element name="lamp167" ref="lamp_167_1" state="0">
+ <bounds x="659" y="150" width="18" height="18"/>
+ </element>
+ <element name="lamp165" ref="lamp_165_1_border" state="0">
+ <bounds x="602" y="102" width="22" height="22"/>
+ </element>
+ <element name="lamp165" ref="lamp_165_1" state="0">
+ <bounds x="604" y="104" width="18" height="18"/>
+ </element>
+ <element name="lamp164" ref="lamp_164_1_border" state="0">
+ <bounds x="602" y="125" width="22" height="22"/>
+ </element>
+ <element name="lamp164" ref="lamp_164_1" state="0">
+ <bounds x="604" y="127" width="18" height="18"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1_border" state="0">
+ <bounds x="185" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1" state="0">
+ <bounds x="187" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1_border" state="0">
+ <bounds x="148" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1" state="0">
+ <bounds x="150" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1_border" state="0">
+ <bounds x="111" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1" state="0">
+ <bounds x="113" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1_border" state="0">
+ <bounds x="74" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1" state="0">
+ <bounds x="76" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp222" ref="lamp_222_1_border" state="0">
+ <bounds x="22" y="523" width="46" height="24"/>
+ </element>
+ <element name="lamp222" ref="lamp_222_1" state="0">
+ <bounds x="24" y="525" width="42" height="20"/>
+ </element>
+ <element name="lamp253" ref="lamp_253_1_border" state="0">
+ <bounds x="16" y="490" width="57" height="32"/>
+ </element>
+ <element name="lamp253" ref="lamp_253_1" state="0">
+ <bounds x="18" y="492" width="53" height="28"/>
+ </element>
+ <element name="lamp68" ref="lamp_68_1_border" state="0">
+ <bounds x="186" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp68" ref="lamp_68_1" state="0">
+ <bounds x="188" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp71" ref="lamp_71_1_border" state="0">
+ <bounds x="186" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp71" ref="lamp_71_1" state="0">
+ <bounds x="188" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp66" ref="lamp_66_1_border" state="0">
+ <bounds x="129" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp66" ref="lamp_66_1" state="0">
+ <bounds x="131" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp65" ref="lamp_65_1_border" state="0">
+ <bounds x="72" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp65" ref="lamp_65_1" state="0">
+ <bounds x="74" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp64" ref="lamp_64_1_border" state="0">
+ <bounds x="15" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp64" ref="lamp_64_1" state="0">
+ <bounds x="17" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp69" ref="lamp_69_1_border" state="0">
+ <bounds x="15" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp69" ref="lamp_69_1" state="0">
+ <bounds x="17" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp67" ref="lamp_67_1_border" state="0">
+ <bounds x="72" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp67" ref="lamp_67_1" state="0">
+ <bounds x="74" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp70" ref="lamp_70_1_border" state="0">
+ <bounds x="129" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp70" ref="lamp_70_1" state="0">
+ <bounds x="131" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp203" ref="lamp_203_1_border" state="0">
+ <bounds x="25" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp203" ref="lamp_203_1" state="0">
+ <bounds x="27" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp204" ref="lamp_204_1_border" state="0">
+ <bounds x="87" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp204" ref="lamp_204_1" state="0">
+ <bounds x="89" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp205" ref="lamp_205_1_border" state="0">
+ <bounds x="149" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp205" ref="lamp_205_1" state="0">
+ <bounds x="151" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp206" ref="lamp_206_1_border" state="0">
+ <bounds x="211" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp206" ref="lamp_206_1" state="0">
+ <bounds x="213" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp207" ref="lamp_207_1_border" state="0">
+ <bounds x="273" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp207" ref="lamp_207_1" state="0">
+ <bounds x="275" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp221" ref="lamp_221_1_border" state="0">
+ <bounds x="335" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp221" ref="lamp_221_1" state="0">
+ <bounds x="337" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp223" ref="lamp_223_1_border" state="0">
+ <bounds x="397" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp223" ref="lamp_223_1" state="0">
+ <bounds x="399" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp56" ref="lamp_56_1_border" state="0">
+ <bounds x="386" y="228" width="27" height="27"/>
+ </element>
+ <element name="lamp56" ref="lamp_56_1" state="0">
+ <bounds x="388" y="230" width="23" height="23"/>
+ </element>
+ <element name="lamp57" ref="lamp_57_1_border" state="0">
+ <bounds x="359" y="223" width="27" height="32"/>
+ </element>
+ <element name="lamp57" ref="lamp_57_1" state="0">
+ <bounds x="361" y="225" width="23" height="28"/>
+ </element>
+ <element name="lamp55" ref="lamp_55_1_border" state="0">
+ <bounds x="413" y="233" width="27" height="22"/>
+ </element>
+ <element name="lamp55" ref="lamp_55_1" state="0">
+ <bounds x="415" y="235" width="23" height="18"/>
+ </element>
+ <element name="lamp54" ref="lamp_54_1_border" state="0">
+ <bounds x="440" y="228" width="27" height="27"/>
+ </element>
+ <element name="lamp54" ref="lamp_54_1" state="0">
+ <bounds x="442" y="230" width="23" height="23"/>
+ </element>
+ <element name="lamp53" ref="lamp_53_1_border" state="0">
+ <bounds x="467" y="223" width="27" height="32"/>
+ </element>
+ <element name="lamp53" ref="lamp_53_1" state="0">
+ <bounds x="469" y="225" width="23" height="28"/>
+ </element>
+ <element name="lamp139" ref="lamp_139_1_border" state="0">
+ <bounds x="308" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp139" ref="lamp_139_1" state="0">
+ <bounds x="310" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp138" ref="lamp_138_1_border" state="0">
+ <bounds x="288" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp138" ref="lamp_138_1" state="0">
+ <bounds x="290" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp137" ref="lamp_137_1_border" state="0">
+ <bounds x="268" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp137" ref="lamp_137_1" state="0">
+ <bounds x="270" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp136" ref="lamp_136_1_border" state="0">
+ <bounds x="248" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp136" ref="lamp_136_1" state="0">
+ <bounds x="250" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp140" ref="lamp_140_1_border" state="0">
+ <bounds x="248" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp140" ref="lamp_140_1" state="0">
+ <bounds x="250" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp141" ref="lamp_141_1_border" state="0">
+ <bounds x="268" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp141" ref="lamp_141_1" state="0">
+ <bounds x="270" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp142" ref="lamp_142_1_border" state="0">
+ <bounds x="288" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp142" ref="lamp_142_1" state="0">
+ <bounds x="290" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp143" ref="lamp_143_1_border" state="0">
+ <bounds x="308" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp143" ref="lamp_143_1" state="0">
+ <bounds x="310" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp135" ref="lamp_135_1_border" state="0">
+ <bounds x="308" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp135" ref="lamp_135_1" state="0">
+ <bounds x="310" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1_border" state="0">
+ <bounds x="288" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1" state="0">
+ <bounds x="290" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp133" ref="lamp_133_1_border" state="0">
+ <bounds x="268" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp133" ref="lamp_133_1" state="0">
+ <bounds x="270" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp132" ref="lamp_132_1_border" state="0">
+ <bounds x="248" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp132" ref="lamp_132_1" state="0">
+ <bounds x="250" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp131" ref="lamp_131_1_border" state="0">
+ <bounds x="308" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp131" ref="lamp_131_1" state="0">
+ <bounds x="310" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp130" ref="lamp_130_1_border" state="0">
+ <bounds x="288" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp130" ref="lamp_130_1" state="0">
+ <bounds x="290" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp129" ref="lamp_129_1_border" state="0">
+ <bounds x="268" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp129" ref="lamp_129_1" state="0">
+ <bounds x="270" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp128" ref="lamp_128_1_border" state="0">
+ <bounds x="248" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp128" ref="lamp_128_1" state="0">
+ <bounds x="250" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp215" ref="lamp_215_1_border" state="0">
+ <bounds x="734" y="463" width="96" height="27"/>
+ </element>
+ <element name="lamp215" ref="lamp_215_1" state="0">
+ <bounds x="736" y="465" width="88" height="23"/>
+ </element>
+ <element name="lamp216" ref="lamp_216_1_border" state="0">
+ <bounds x="734" y="436" width="96" height="27"/>
+ </element>
+ <element name="lamp216" ref="lamp_216_1" state="0">
+ <bounds x="736" y="438" width="88" height="23"/>
+ </element>
+ <element name="lamp219" ref="lamp_219_1_border" state="0">
+ <bounds x="734" y="355" width="96" height="27"/>
+ </element>
+ <element name="lamp219" ref="lamp_219_1" state="0">
+ <bounds x="736" y="357" width="88" height="23"/>
+ </element>
+ <element name="lamp218" ref="lamp_218_1_border" state="0">
+ <bounds x="734" y="382" width="96" height="27"/>
+ </element>
+ <element name="lamp218" ref="lamp_218_1" state="0">
+ <bounds x="736" y="384" width="88" height="23"/>
+ </element>
+ <element name="lamp217" ref="lamp_217_1_border" state="0">
+ <bounds x="734" y="409" width="96" height="27"/>
+ </element>
+ <element name="lamp217" ref="lamp_217_1" state="0">
+ <bounds x="736" y="411" width="88" height="23"/>
+ </element>
+ <element name="lamp214" ref="lamp_214_1_border" state="0">
+ <bounds x="734" y="490" width="96" height="27"/>
+ </element>
+ <element name="lamp214" ref="lamp_214_1" state="0">
+ <bounds x="736" y="492" width="88" height="23"/>
+ </element>
+ <element name="lamp213" ref="lamp_213_1_border" state="0">
+ <bounds x="734" y="517" width="96" height="27"/>
+ </element>
+ <element name="lamp213" ref="lamp_213_1" state="0">
+ <bounds x="736" y="519" width="88" height="23"/>
+ </element>
+ <element name="lamp212" ref="lamp_212_1_border" state="0">
+ <bounds x="734" y="544" width="96" height="27"/>
+ </element>
+ <element name="lamp212" ref="lamp_212_1" state="0">
+ <bounds x="736" y="546" width="88" height="23"/>
+ </element>
+ <element name="lamp77" ref="lamp_77_1_border" state="0">
+ <bounds x="572" y="291" width="42" height="42"/>
+ </element>
+ <element name="lamp77" ref="lamp_77_1" state="0">
+ <bounds x="574" y="293" width="38" height="38"/>
+ </element>
+ <element name="lamp52" ref="lamp_52_1_border" state="0">
+ <bounds x="703" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp52" ref="lamp_52_1" state="0">
+ <bounds x="705" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp51" ref="lamp_51_1_border" state="0">
+ <bounds x="656" y="221" width="47" height="22"/>
+ </element>
+ <element name="lamp51" ref="lamp_51_1" state="0">
+ <bounds x="658" y="223" width="43" height="18"/>
+ </element>
+ <element name="lamp50" ref="lamp_50_1_border" state="0">
+ <bounds x="619" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp50" ref="lamp_50_1" state="0">
+ <bounds x="621" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp49" ref="lamp_49_1_border" state="0">
+ <bounds x="572" y="221" width="47" height="22"/>
+ </element>
+ <element name="lamp49" ref="lamp_49_1" state="0">
+ <bounds x="574" y="223" width="43" height="18"/>
+ </element>
+ <element name="lamp48" ref="lamp_48_1_border" state="0">
+ <bounds x="535" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp48" ref="lamp_48_1" state="0">
+ <bounds x="537" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1_border" state="0">
+ <bounds x="404" y="148" width="62" height="22"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1" state="0">
+ <bounds x="406" y="150" width="58" height="18"/>
+ </element>
+ <element name="lamp173" ref="lamp_173_1_border" state="0">
+ <bounds x="181" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp172" ref="lamp_173_1" state="0">
+ <bounds x="183" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp60" ref="lamp_60_1_border" state="0">
+ <bounds x="181" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp60" ref="lamp_60_1" state="0">
+ <bounds x="183" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp171" ref="lamp_171_1_border" state="0">
+ <bounds x="144" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp170" ref="lamp_171_1" state="0">
+ <bounds x="146" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp59" ref="lamp_59_1_border" state="0">
+ <bounds x="144" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp59" ref="lamp_59_1" state="0">
+ <bounds x="146" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp58" ref="lamp_58_1_border" state="0">
+ <bounds x="107" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp58" ref="lamp_58_1" state="0">
+ <bounds x="109" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp169" ref="lamp_169_1_border" state="0">
+ <bounds x="107" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp168" ref="lamp_169_1" state="0">
+ <bounds x="109" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp192" ref="colour_button_167_border" state="0" inputtag="J9_0" inputmask="0x01">
+ <bounds x="692" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp192" ref="colour_button_167" state="0" inputtag="J9_0" inputmask="0x01">
+ <bounds x="694" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp241" ref="colour_button_168_border" state="0" inputtag="J9_2" inputmask="0x01">
+ <bounds x="184" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp241" ref="colour_button_168" state="0" inputtag="J9_2" inputmask="0x01">
+ <bounds x="186" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp208" ref="colour_button_169_border" state="0" inputtag="J9_0" inputmask="0x08">
+ <bounds x="432" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp208" ref="colour_button_169" state="0" inputtag="J9_0" inputmask="0x08">
+ <bounds x="434" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp210" ref="colour_button_170_border" state="0" inputtag="J9_0" inputmask="0x10">
+ <bounds x="350" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp210" ref="colour_button_170" state="0" inputtag="J9_0" inputmask="0x10">
+ <bounds x="352" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp240" ref="colour_button_171_border" state="0" inputtag="J9_0" inputmask="0x20">
+ <bounds x="268" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp240" ref="colour_button_171" state="0" inputtag="J9_0" inputmask="0x20">
+ <bounds x="270" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp195" ref="colour_button_172_border" state="0" inputtag="J9_0" inputmask="0x04">
+ <bounds x="603" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp195" ref="colour_button_172" state="0" inputtag="J9_0" inputmask="0x04">
+ <bounds x="605" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp194" ref="colour_button_173_border" state="0" inputtag="J9_0" inputmask="0x02">
+ <bounds x="521" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp194" ref="colour_button_173" state="0" inputtag="J9_0" inputmask="0x02">
+ <bounds x="523" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp13" ref="colour_button_179_border" state="0" inputtag="COINS" inputmask="0x01">
+ <bounds x="571" y="418" width="42" height="27"/>
+ </element>
+ <element name="lamp13" ref="colour_button_179" state="0" inputtag="COINS" inputmask="0x01">
+ <bounds x="573" y="420" width="38" height="23"/>
+ </element>
+ <element name="digit3" ref="led_digit" state="0">
+ <bounds x="512" y="95" width="30" height="40"/>
+ </element>
+ <element name="digit2" ref="led_digit" state="0">
+ <bounds x="482" y="95" width="30" height="40"/>
+ </element>
+ <element name="digit0" ref="led_digit" state="0">
+ <bounds x="561" y="376" width="30" height="40"/>
+ </element>
+ <element name="digit1" ref="led_digit" state="0">
+ <bounds x="591" y="376" width="30" height="40"/>
+ </element>
+ <element ref="vfd0_background">
+ <bounds x="256" y="380" width="272" height="30"/>
+ </element>
+ <element name="vfd0" ref="vfd0" state="0">
+ <bounds x="256" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd1" ref="vfd0" state="0">
+ <bounds x="273" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd2" ref="vfd0" state="0">
+ <bounds x="290" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd3" ref="vfd0" state="0">
+ <bounds x="307" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd4" ref="vfd0" state="0">
+ <bounds x="324" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd5" ref="vfd0" state="0">
+ <bounds x="341" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd6" ref="vfd0" state="0">
+ <bounds x="358" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd7" ref="vfd0" state="0">
+ <bounds x="375" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd8" ref="vfd0" state="0">
+ <bounds x="392" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd9" ref="vfd0" state="0">
+ <bounds x="409" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd10" ref="vfd0" state="0">
+ <bounds x="426" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd11" ref="vfd0" state="0">
+ <bounds x="443" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd12" ref="vfd0" state="0">
+ <bounds x="460" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd13" ref="vfd0" state="0">
+ <bounds x="477" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd14" ref="vfd0" state="0">
+ <bounds x="494" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd15" ref="vfd0" state="0">
+ <bounds x="511" y="380" width="17" height="30"/>
+ </element>
+ <element name="label19" ref="label_19">
+ <bounds x="636" y="85" width="48" height="14"/>
+ </element>
+ <element name="label20" ref="label_20">
+ <bounds x="515" y="63" width="83" height="16"/>
+ </element>
+ <element name="label55" ref="label_55">
+ <bounds x="215" y="94" width="35" height="32"/>
+ </element>
+ <element name="label65" ref="label_65">
+ <bounds x="578" y="106" width="17" height="14"/>
+ </element>
+ <element name="label66" ref="label_66">
+ <bounds x="555" y="130" width="41" height="14"/>
+ </element>
+ <element name="label67" ref="label_67">
+ <bounds x="488" y="135" width="41" height="32"/>
+ </element>
+ <element name="label71" ref="label_71">
+ <bounds x="242" y="498" width="25" height="26"/>
+ </element>
+ <element name="label72" ref="label_72">
+ <bounds x="515" y="498" width="25" height="26"/>
+ </element>
+ <element name="label98" ref="label_98">
+ <bounds x="383" y="258" width="71" height="14"/>
+ </element>
+ <element name="label99" ref="label_99">
+ <bounds x="238" y="228" width="80" height="14"/>
+ </element>
+ <element name="label127" ref="label_127">
+ <bounds x="558" y="355" width="51" height="22"/>
+ </element>
+ <element name="label133" ref="label_133">
+ <bounds x="621" y="245" width="40" height="32"/>
+ </element>
+ <element name="label134" ref="label_134">
+ <bounds x="409" y="56" width="49" height="22"/>
+ </element>
+ <element name="label165" ref="label_165">
+ <bounds x="118" y="207" width="63" height="16"/>
+ </element>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/j6indy8.lay b/src/mame/layout/j6indy8.lay
new file mode 100644
index 00000000000..aa4218a4488
--- /dev/null
+++ b/src/mame/layout/j6indy8.lay
@@ -0,0 +1,3976 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- **************************************************** -->
+<!-- * This MAME layout file was generated by MFME2MAME * -->
+<!-- * Please visit mfme2mame.org for more information. * -->
+<!-- **************************************************** -->
+<mamelayout version="2">
+ <element name="backdrop_colour">
+ <rect>
+ <color red="0.00" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_144_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_144_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_145_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_145_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="L">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
+ </text>
+ <text string="O">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
+ </text>
+ <text string="S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
+ </text>
+ <text string="E">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
+ </text>
+ </element>
+ <element name="lamp_146_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_146_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;8">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_147_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_147_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="L">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
+ </text>
+ <text string="o">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
+ </text>
+ <text string="s">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
+ </text>
+ <text string="e">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
+ </text>
+ </element>
+ <element name="lamp_148_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_148_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_91_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_91_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Staff Of Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_92_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_92_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_93_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_93_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_94_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_94_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Path To Riches">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_95_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_95_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_86_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_86_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Runaway">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Cash">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_87_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_87_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_88_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_88_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="Crack">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="The Whip">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_89_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_89_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_90_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_90_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;2.40">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_106_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_106_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;5">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_105_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.25" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.06" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_105_1" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.13" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Staff Of Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_103_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_103_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_104_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_104_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_102_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_102_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_108_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_108_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_107_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_107_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="Crack">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="The Whip">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_96_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_96_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_97_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_97_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Leap Of Faith">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_98_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_98_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_99_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_99_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_100_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_100_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pit">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_101_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_101_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_80_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_80_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Holy">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Grail">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_81_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_81_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_82_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_82_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1.60">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_83_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_83_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Unveil A Prize">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_200_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_200_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_201_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_201_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1.20">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_202_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="lamp_202_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string="Treasure">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Hunt">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_85_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_85_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="Staff Of">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_84_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_84_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_118_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_118_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;6.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_119_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_119_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;5.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_120_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_120_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;4.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_122_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_122_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;2.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_123_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_123_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_121_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_121_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;3.00">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_117_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_117_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Win Series">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_116_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_116_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Fuse Time">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_115_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_115_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Reel A Fortune">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_114_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_114_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Stop N Step">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_113_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_113_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Stop A Fruit">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_112_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_112_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="Spin A Win">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_157_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_157_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="LOSE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_160_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_160_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_161_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_161_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_163_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_163_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_166_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_166_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_162_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_162_1" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_167_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_167_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_165_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_165_1" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_164_1_border" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </disk>
+ </element>
+ <element name="lamp_164_1" defstate="0">
+ <disk state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </disk>
+ <disk state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </disk>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.10" y="0.10" width="0.80" height="0.80"/>
+ </text>
+ </element>
+ <element name="lamp_199_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_199_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_198_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_198_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_197_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_197_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_196_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_196_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_222_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_222_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Lose">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_253_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_253_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Now !">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_68_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_68_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Escape">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_71_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_71_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Extra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Nudges">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_66_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_66_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Add A Bullet">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_65_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_65_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Go">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Back ">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_64_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_64_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Staff Of">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Ra">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_69_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_69_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Advance">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_67_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_67_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Skill">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Stop">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_70_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_70_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Empty">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Gun">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_203_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_203_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_204_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_204_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_205_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_205_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="?">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_206_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_206_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="80p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_207_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_207_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Revolver">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_221_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_221_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="60p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_223_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_223_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="Nudge">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="lamp_56_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_56_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="k">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_57_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_57_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="s">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_55_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_55_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="i">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_54_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_54_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="l">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_53_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_53_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="l">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_139_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_139_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_138_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_138_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_137_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_137_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_136_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_136_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_140_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_140_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_141_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_141_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_142_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_142_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_143_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_143_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_135_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_135_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_134_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_134_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_133_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_133_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_132_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_132_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_131_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_131_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_130_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_130_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_129_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_129_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_128_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_128_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_215_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_215_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;2 Melon">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_216_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_216_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;3 JPM">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_219_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_219_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;8 Triple Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_218_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_218_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;5 Double Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_217_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_217_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;4 Single Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_214_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_214_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.60 Grapes">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_213_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_213_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1.20 Mixed Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_212_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_212_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.13"/>
+ </rect>
+ <text string="&#xA3;1 Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_77_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.25"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.06"/>
+ </rect>
+ </element>
+ <element name="lamp_77_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.13"/>
+ </rect>
+ <text string="JPM">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_52_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_52_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="60p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_51_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_51_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_50_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_50_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_49_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_49_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Snake">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_48_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_48_1" defstate="0">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="40p">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_239_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_239_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="Lose">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_173_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_173_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_60_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_60_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_171_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_171_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_59_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_59_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_58_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_58_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="&#5121;">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_169_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_169_1" defstate="0">
+ <text string="&#10710;" state="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_167_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_167">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="START">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_168_border">
+ <rect state="1">
+ <color red="0.50" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_168">
+ <rect state="1">
+ <color red="1.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="CANCEL">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_169_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_169">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD LO">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_170_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_170">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD HI">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_171_border">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_171">
+ <rect state="1">
+ <color red="1.00" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.00" blue="0.00"/>
+ </rect>
+ <text string="HOLD">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="NUDGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="colour_button_172_border">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_172">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="COLLECT">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_173_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.50"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.12"/>
+ </rect>
+ </element>
+ <element name="colour_button_173">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="1.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.25"/>
+ </rect>
+ <text string=" EXCHANGE">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="colour_button_179_border">
+ <rect state="1">
+ <color red="0.00" green="0.25" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.06" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="colour_button_179">
+ <rect state="1">
+ <color red="0.00" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.00" green="0.13" blue="0.00"/>
+ </rect>
+ <text string="&#xA3;1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="reel_background">
+ <rect>
+ <color red="1.0" green="1.0" blue="1.0"/>
+ </rect>
+ </element>
+ <element name="reel0" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar*,Melon,JPM,Single Bar,Cherry,JPM,Grapes*,Cherry,Melon,Double Bar*,Melon,Grapes,Cherry,Single Bar,Grapes*,Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel1" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar,Melon,JPM,Double Bar,Cherry*,JPM,Grapes,Cherry,Melon,Single Bar,Melon*,Grapes,Cherry,Double Bar,Grapes,Cherry*">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel2" defstate="0">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Triple Bar,Melon,JPM*,Single Bar,Cherry,JPM*,Grapes,Cherry,Melon,Double Bar,Melon,Grapes,Cherry*,Single Bar,Grapes,Cherry*">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="reel3" defstate="0">
+ <reel reelreversed="0" stateoffset="-1365" numsymbolsvisible="1" symbollist="12,11,10,9,8,7,6,5,4,3,2,1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </reel>
+ </element>
+ <element name="led_background">
+ <rect>
+ <color red="0.4" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_on">
+ <rect state="1">
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_dot_on">
+ <disk state="1">
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </disk>
+ </element>
+ <element name="led_off">
+ <rect state="0">
+ <color red="0.5" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="led_dot_off">
+ <disk state="0">
+ <color red="0.5" green="0.0" blue="0.0"/>
+ </disk>
+ </element>
+ <element name="led_digit">
+ <led7seg>
+ <color red="1.0" green="0.0" blue="0.0"/>
+ </led7seg>
+ </element>
+ <element name="vfd0">
+ <led16segsc>
+ <color red="0.0" green="1.0" blue="1.0"/>
+ </led16segsc>
+ </element>
+ <element name="vfd0_background">
+ <rect>
+ <color red="0.0" green="0.0" blue="0.0"/>
+ </rect>
+ </element>
+ <element name="reel_lamp_layer_0" defstate="0">
+ <rect>
+ <color red="0.40" green="0.40" blue="0.40"/>
+ </rect>
+ <disk state="1">
+ <color red="0.50" green="0.50" blue="0.50"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_1" defstate="0">
+ <disk state="1">
+ <color red="0.60" green="0.60" blue="0.60"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_2" defstate="0">
+ <disk state="1">
+ <color red="0.70" green="0.70" blue="0.70"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_3" defstate="0">
+ <disk state="1">
+ <color red="0.80" green="0.80" blue="0.80"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_4" defstate="0">
+ <disk state="1">
+ <color red="0.90" green="0.90" blue="0.90"/>
+ </disk>
+ </element>
+ <element name="reel_lamp_layer_5" defstate="0">
+ <disk state="1">
+ <color red="1.00" green="1.00" blue="1.00"/>
+ </disk>
+ </element>
+ <element name="label_19">
+ <text string="Revolver">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_20">
+ <text string="Big Repeater">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_55">
+ <text string="Staff">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Of Ra">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_65">
+ <text string="HIT">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_66">
+ <text string="MISSed">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_67">
+ <text string="Nudge">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pot">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_71">
+ <text string="Win">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Line">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_72">
+ <text string="Win">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Line">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_98">
+ <text string="Leap Of Faith">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_99">
+ <text string="Path To Riches">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_127">
+ <text string="Plays">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_133">
+ <text string="Snake">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
+ </text>
+ <text string="Pit">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
+ </text>
+ </element>
+ <element name="label_134">
+ <text string="1 - 12">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="label_165">
+ <text string="Holy Grail">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <view name="AWP Simulated Video">
+ <element ref="backdrop_colour">
+ <bounds x="0" y="0" width="792" height="646"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="269" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp2" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp1" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_0" state="0">
+ <bounds x="269.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_1" state="0">
+ <bounds x="272.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_2" state="0">
+ <bounds x="275.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_3" state="0">
+ <bounds x="279.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_4" state="0">
+ <bounds x="282.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp0" ref="reel_lamp_layer_5" state="0">
+ <bounds x="285.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel1" ref="reel0" state="0">
+ <bounds x="269" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="351" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp5" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp4" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_0" state="0">
+ <bounds x="351.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_1" state="0">
+ <bounds x="354.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_2" state="0">
+ <bounds x="357.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_3" state="0">
+ <bounds x="361.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_4" state="0">
+ <bounds x="364.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp3" ref="reel_lamp_layer_5" state="0">
+ <bounds x="367.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel2" ref="reel1" state="0">
+ <bounds x="351" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="433" y="413" width="80" height="190"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="413.0000" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="415.6389" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="418.2778" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="420.9167" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="423.5555" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp18" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="426.1945" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="476.3333" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="478.9722" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="481.6111" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="484.2500" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="486.8889" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp17" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="489.5278" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_0" state="0">
+ <bounds x="433.0000" y="539.6667" width="80.0000" height="63.3333"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_1" state="0">
+ <bounds x="436.3333" y="542.3056" width="73.3333" height="58.0556"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_2" state="0">
+ <bounds x="439.6667" y="544.9445" width="66.6667" height="52.7778"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_3" state="0">
+ <bounds x="443.0000" y="547.5834" width="60.0000" height="47.5000"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_4" state="0">
+ <bounds x="446.3333" y="550.2222" width="53.3333" height="42.2222"/>
+ </element>
+ <element name="lamp16" ref="reel_lamp_layer_5" state="0">
+ <bounds x="449.6667" y="552.8611" width="46.6667" height="36.9444"/>
+ </element>
+ <element name="sreel3" ref="reel2" state="0">
+ <bounds x="433" y="413" width="80" height="190"/>
+ </element>
+ <element ref="reel_background">
+ <bounds x="399" y="77" width="70" height="70"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_0" state="0">
+ <bounds x="399.0000" y="77.0000" width="70.0000" height="70.0000"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_1" state="0">
+ <bounds x="401.9167" y="79.9167" width="64.1667" height="64.1667"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_2" state="0">
+ <bounds x="404.8333" y="82.8333" width="58.3333" height="58.3333"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_3" state="0">
+ <bounds x="407.7500" y="85.7500" width="52.5000" height="52.5000"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_4" state="0">
+ <bounds x="410.6667" y="88.6667" width="46.6667" height="46.6667"/>
+ </element>
+ <element name="lamp20" ref="reel_lamp_layer_5" state="0">
+ <bounds x="413.5833" y="91.5833" width="40.8333" height="40.8333"/>
+ </element>
+ <element name="sreel4" ref="reel3" state="0">
+ <bounds x="399" y="77" width="70" height="70"/>
+ </element>
+ <element name="lamp144" ref="lamp_144_1_border" state="0">
+ <bounds x="479" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp144" ref="lamp_144_1" state="0">
+ <bounds x="481" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp145" ref="lamp_145_1_border" state="0">
+ <bounds x="521" y="3" width="20" height="60"/>
+ </element>
+ <element name="lamp145" ref="lamp_145_1" state="0">
+ <bounds x="523" y="5" width="16" height="56"/>
+ </element>
+ <element name="lamp146" ref="lamp_146_1_border" state="0">
+ <bounds x="541" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp146" ref="lamp_146_1" state="0">
+ <bounds x="543" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp147" ref="lamp_147_1_border" state="0">
+ <bounds x="583" y="3" width="20" height="60"/>
+ </element>
+ <element name="lamp147" ref="lamp_147_1" state="0">
+ <bounds x="585" y="5" width="16" height="56"/>
+ </element>
+ <element name="lamp148" ref="lamp_148_1_border" state="0">
+ <bounds x="603" y="3" width="42" height="60"/>
+ </element>
+ <element name="lamp148" ref="lamp_148_1" state="0">
+ <bounds x="605" y="5" width="38" height="56"/>
+ </element>
+ <element name="lamp91" ref="lamp_91_1_border" state="0">
+ <bounds x="335" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp91" ref="lamp_91_1" state="0">
+ <bounds x="337" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp92" ref="lamp_92_1_border" state="0">
+ <bounds x="335" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp92" ref="lamp_92_1" state="0">
+ <bounds x="337" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp93" ref="lamp_93_1_border" state="0">
+ <bounds x="335" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp93" ref="lamp_93_1" state="0">
+ <bounds x="337" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp94" ref="lamp_94_1_border" state="0">
+ <bounds x="335" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp94" ref="lamp_94_1" state="0">
+ <bounds x="337" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp95" ref="lamp_95_1_border" state="0">
+ <bounds x="335" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp95" ref="lamp_95_1" state="0">
+ <bounds x="337" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp86" ref="lamp_86_1_border" state="0">
+ <bounds x="25" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp86" ref="lamp_86_1" state="0">
+ <bounds x="27" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp87" ref="lamp_87_1_border" state="0">
+ <bounds x="87" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp87" ref="lamp_87_1" state="0">
+ <bounds x="89" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp88" ref="lamp_88_1_border" state="0">
+ <bounds x="149" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp88" ref="lamp_88_1" state="0">
+ <bounds x="151" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp89" ref="lamp_89_1_border" state="0">
+ <bounds x="211" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp89" ref="lamp_89_1" state="0">
+ <bounds x="213" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp90" ref="lamp_90_1_border" state="0">
+ <bounds x="273" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp90" ref="lamp_90_1" state="0">
+ <bounds x="275" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp106" ref="lamp_106_1_border" state="0">
+ <bounds x="707" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp106" ref="lamp_106_1" state="0">
+ <bounds x="709" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp105" ref="lamp_105_1_border" state="0">
+ <bounds x="707" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp105" ref="lamp_105_1" state="0">
+ <bounds x="709" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp103" ref="lamp_103_1_border" state="0">
+ <bounds x="707" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp103" ref="lamp_103_1" state="0">
+ <bounds x="709" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp104" ref="lamp_104_1_border" state="0">
+ <bounds x="707" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp104" ref="lamp_104_1" state="0">
+ <bounds x="709" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp102" ref="lamp_102_1_border" state="0">
+ <bounds x="707" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp102" ref="lamp_102_1" state="0">
+ <bounds x="709" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp108" ref="lamp_108_1_border" state="0">
+ <bounds x="645" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp108" ref="lamp_108_1" state="0">
+ <bounds x="647" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp107" ref="lamp_107_1_border" state="0">
+ <bounds x="707" y="15" width="62" height="32"/>
+ </element>
+ <element name="lamp107" ref="lamp_107_1" state="0">
+ <bounds x="709" y="17" width="58" height="28"/>
+ </element>
+ <element name="lamp96" ref="lamp_96_1_border" state="0">
+ <bounds x="335" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp96" ref="lamp_96_1" state="0">
+ <bounds x="337" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp97" ref="lamp_97_1_border" state="0">
+ <bounds x="397" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp97" ref="lamp_97_1" state="0">
+ <bounds x="399" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp98" ref="lamp_98_1_border" state="0">
+ <bounds x="459" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp98" ref="lamp_98_1" state="0">
+ <bounds x="461" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp99" ref="lamp_99_1_border" state="0">
+ <bounds x="521" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp99" ref="lamp_99_1" state="0">
+ <bounds x="523" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp100" ref="lamp_100_1_border" state="0">
+ <bounds x="583" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp100" ref="lamp_100_1" state="0">
+ <bounds x="585" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp101" ref="lamp_101_1_border" state="0">
+ <bounds x="645" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp101" ref="lamp_101_1" state="0">
+ <bounds x="647" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp80" ref="lamp_80_1_border" state="0">
+ <bounds x="25" y="207" width="62" height="32"/>
+ </element>
+ <element name="lamp80" ref="lamp_80_1" state="0">
+ <bounds x="27" y="209" width="58" height="28"/>
+ </element>
+ <element name="lamp81" ref="lamp_81_1_border" state="0">
+ <bounds x="25" y="175" width="62" height="32"/>
+ </element>
+ <element name="lamp81" ref="lamp_81_1" state="0">
+ <bounds x="27" y="177" width="58" height="28"/>
+ </element>
+ <element name="lamp82" ref="lamp_82_1_border" state="0">
+ <bounds x="25" y="143" width="62" height="32"/>
+ </element>
+ <element name="lamp82" ref="lamp_82_1" state="0">
+ <bounds x="27" y="145" width="58" height="28"/>
+ </element>
+ <element name="lamp83" ref="lamp_83_1_border" state="0">
+ <bounds x="25" y="111" width="62" height="32"/>
+ </element>
+ <element name="lamp83" ref="lamp_83_1" state="0">
+ <bounds x="27" y="113" width="58" height="28"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1_border" state="0">
+ <bounds x="25" y="239" width="62" height="32"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1" state="0">
+ <bounds x="27" y="241" width="58" height="28"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1_border" state="0">
+ <bounds x="25" y="271" width="62" height="32"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1" state="0">
+ <bounds x="27" y="273" width="58" height="28"/>
+ </element>
+ <element name="lamp202" ref="lamp_202_1_border" state="0">
+ <bounds x="25" y="303" width="62" height="32"/>
+ </element>
+ <element name="lamp202" ref="lamp_202_1" state="0">
+ <bounds x="27" y="305" width="58" height="28"/>
+ </element>
+ <element name="lamp85" ref="lamp_85_1_border" state="0">
+ <bounds x="25" y="47" width="62" height="32"/>
+ </element>
+ <element name="lamp85" ref="lamp_85_1" state="0">
+ <bounds x="27" y="49" width="58" height="28"/>
+ </element>
+ <element name="lamp84" ref="lamp_84_1_border" state="0">
+ <bounds x="25" y="79" width="62" height="32"/>
+ </element>
+ <element name="lamp84" ref="lamp_84_1" state="0">
+ <bounds x="27" y="81" width="58" height="28"/>
+ </element>
+ <element name="lamp118" ref="lamp_118_1_border" state="0">
+ <bounds x="250" y="55" width="58" height="20"/>
+ </element>
+ <element name="lamp118" ref="lamp_118_1" state="0">
+ <bounds x="252" y="57" width="54" height="16"/>
+ </element>
+ <element name="lamp119" ref="lamp_119_1_border" state="0">
+ <bounds x="260" y="75" width="58" height="20"/>
+ </element>
+ <element name="lamp119" ref="lamp_119_1" state="0">
+ <bounds x="262" y="77" width="54" height="16"/>
+ </element>
+ <element name="lamp120" ref="lamp_120_1_border" state="0">
+ <bounds x="270" y="95" width="58" height="20"/>
+ </element>
+ <element name="lamp120" ref="lamp_120_1" state="0">
+ <bounds x="272" y="97" width="54" height="16"/>
+ </element>
+ <element name="lamp122" ref="lamp_122_1_border" state="0">
+ <bounds x="260" y="135" width="58" height="20"/>
+ </element>
+ <element name="lamp122" ref="lamp_122_1" state="0">
+ <bounds x="262" y="137" width="54" height="16"/>
+ </element>
+ <element name="lamp123" ref="lamp_123_1_border" state="0">
+ <bounds x="250" y="155" width="58" height="20"/>
+ </element>
+ <element name="lamp123" ref="lamp_123_1" state="0">
+ <bounds x="252" y="157" width="54" height="16"/>
+ </element>
+ <element name="lamp121" ref="lamp_121_1_border" state="0">
+ <bounds x="270" y="115" width="58" height="20"/>
+ </element>
+ <element name="lamp121" ref="lamp_121_1" state="0">
+ <bounds x="272" y="117" width="54" height="16"/>
+ </element>
+ <element name="lamp117" ref="lamp_117_1_border" state="0">
+ <bounds x="114" y="55" width="112" height="20"/>
+ </element>
+ <element name="lamp117" ref="lamp_117_1" state="0">
+ <bounds x="116" y="57" width="108" height="16"/>
+ </element>
+ <element name="lamp116" ref="lamp_116_1_border" state="0">
+ <bounds x="104" y="75" width="112" height="20"/>
+ </element>
+ <element name="lamp116" ref="lamp_116_1" state="0">
+ <bounds x="106" y="77" width="108" height="16"/>
+ </element>
+ <element name="lamp115" ref="lamp_115_1_border" state="0">
+ <bounds x="94" y="95" width="112" height="20"/>
+ </element>
+ <element name="lamp115" ref="lamp_115_1" state="0">
+ <bounds x="96" y="97" width="108" height="16"/>
+ </element>
+ <element name="lamp114" ref="lamp_114_1_border" state="0">
+ <bounds x="104" y="135" width="112" height="20"/>
+ </element>
+ <element name="lamp114" ref="lamp_114_1" state="0">
+ <bounds x="106" y="137" width="108" height="16"/>
+ </element>
+ <element name="lamp113" ref="lamp_113_1_border" state="0">
+ <bounds x="94" y="115" width="112" height="20"/>
+ </element>
+ <element name="lamp113" ref="lamp_113_1" state="0">
+ <bounds x="96" y="117" width="108" height="16"/>
+ </element>
+ <element name="lamp112" ref="lamp_112_1_border" state="0">
+ <bounds x="114" y="155" width="112" height="20"/>
+ </element>
+ <element name="lamp112" ref="lamp_112_1" state="0">
+ <bounds x="116" y="157" width="108" height="16"/>
+ </element>
+ <element name="lamp157" ref="lamp_157_1_border" state="0">
+ <bounds x="582" y="149" width="46" height="22"/>
+ </element>
+ <element name="lamp157" ref="lamp_157_1" state="0">
+ <bounds x="584" y="151" width="42" height="18"/>
+ </element>
+ <element name="lamp160" ref="lamp_160_1_border" state="0">
+ <bounds x="678" y="136" width="22" height="22"/>
+ </element>
+ <element name="lamp160" ref="lamp_160_1" state="0">
+ <bounds x="680" y="138" width="18" height="18"/>
+ </element>
+ <element name="lamp161" ref="lamp_161_1_border" state="0">
+ <bounds x="678" y="113" width="22" height="22"/>
+ </element>
+ <element name="lamp161" ref="lamp_161_1" state="0">
+ <bounds x="680" y="115" width="18" height="18"/>
+ </element>
+ <element name="lamp163" ref="lamp_163_1_border" state="0">
+ <bounds x="636" y="113" width="22" height="22"/>
+ </element>
+ <element name="lamp163" ref="lamp_163_1" state="0">
+ <bounds x="638" y="115" width="18" height="18"/>
+ </element>
+ <element name="lamp166" ref="lamp_166_1_border" state="0">
+ <bounds x="636" y="136" width="22" height="22"/>
+ </element>
+ <element name="lamp166" ref="lamp_166_1" state="0">
+ <bounds x="638" y="138" width="18" height="18"/>
+ </element>
+ <element name="lamp162" ref="lamp_162_1_border" state="0">
+ <bounds x="657" y="100" width="22" height="22"/>
+ </element>
+ <element name="lamp162" ref="lamp_162_1" state="0">
+ <bounds x="659" y="102" width="18" height="18"/>
+ </element>
+ <element name="lamp167" ref="lamp_167_1_border" state="0">
+ <bounds x="657" y="148" width="22" height="22"/>
+ </element>
+ <element name="lamp167" ref="lamp_167_1" state="0">
+ <bounds x="659" y="150" width="18" height="18"/>
+ </element>
+ <element name="lamp165" ref="lamp_165_1_border" state="0">
+ <bounds x="602" y="102" width="22" height="22"/>
+ </element>
+ <element name="lamp165" ref="lamp_165_1" state="0">
+ <bounds x="604" y="104" width="18" height="18"/>
+ </element>
+ <element name="lamp164" ref="lamp_164_1_border" state="0">
+ <bounds x="602" y="125" width="22" height="22"/>
+ </element>
+ <element name="lamp164" ref="lamp_164_1" state="0">
+ <bounds x="604" y="127" width="18" height="18"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1_border" state="0">
+ <bounds x="185" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1" state="0">
+ <bounds x="187" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1_border" state="0">
+ <bounds x="148" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1" state="0">
+ <bounds x="150" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1_border" state="0">
+ <bounds x="111" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1" state="0">
+ <bounds x="113" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1_border" state="0">
+ <bounds x="74" y="497" width="37" height="47"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1" state="0">
+ <bounds x="76" y="499" width="33" height="43"/>
+ </element>
+ <element name="lamp222" ref="lamp_222_1_border" state="0">
+ <bounds x="22" y="523" width="46" height="24"/>
+ </element>
+ <element name="lamp222" ref="lamp_222_1" state="0">
+ <bounds x="24" y="525" width="42" height="20"/>
+ </element>
+ <element name="lamp253" ref="lamp_253_1_border" state="0">
+ <bounds x="16" y="490" width="57" height="32"/>
+ </element>
+ <element name="lamp253" ref="lamp_253_1" state="0">
+ <bounds x="18" y="492" width="53" height="28"/>
+ </element>
+ <element name="lamp68" ref="lamp_68_1_border" state="0">
+ <bounds x="186" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp68" ref="lamp_68_1" state="0">
+ <bounds x="188" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp71" ref="lamp_71_1_border" state="0">
+ <bounds x="186" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp71" ref="lamp_71_1" state="0">
+ <bounds x="188" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp66" ref="lamp_66_1_border" state="0">
+ <bounds x="129" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp66" ref="lamp_66_1" state="0">
+ <bounds x="131" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp65" ref="lamp_65_1_border" state="0">
+ <bounds x="72" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp65" ref="lamp_65_1" state="0">
+ <bounds x="74" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp64" ref="lamp_64_1_border" state="0">
+ <bounds x="15" y="401" width="57" height="32"/>
+ </element>
+ <element name="lamp64" ref="lamp_64_1" state="0">
+ <bounds x="17" y="403" width="53" height="28"/>
+ </element>
+ <element name="lamp69" ref="lamp_69_1_border" state="0">
+ <bounds x="15" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp69" ref="lamp_69_1" state="0">
+ <bounds x="17" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp67" ref="lamp_67_1_border" state="0">
+ <bounds x="72" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp67" ref="lamp_67_1" state="0">
+ <bounds x="74" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp70" ref="lamp_70_1_border" state="0">
+ <bounds x="129" y="433" width="57" height="32"/>
+ </element>
+ <element name="lamp70" ref="lamp_70_1" state="0">
+ <bounds x="131" y="435" width="53" height="28"/>
+ </element>
+ <element name="lamp203" ref="lamp_203_1_border" state="0">
+ <bounds x="25" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp203" ref="lamp_203_1" state="0">
+ <bounds x="27" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp204" ref="lamp_204_1_border" state="0">
+ <bounds x="87" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp204" ref="lamp_204_1" state="0">
+ <bounds x="89" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp205" ref="lamp_205_1_border" state="0">
+ <bounds x="149" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp205" ref="lamp_205_1" state="0">
+ <bounds x="151" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp206" ref="lamp_206_1_border" state="0">
+ <bounds x="211" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp206" ref="lamp_206_1" state="0">
+ <bounds x="213" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp207" ref="lamp_207_1_border" state="0">
+ <bounds x="273" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp207" ref="lamp_207_1" state="0">
+ <bounds x="275" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp221" ref="lamp_221_1_border" state="0">
+ <bounds x="335" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp221" ref="lamp_221_1" state="0">
+ <bounds x="337" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp223" ref="lamp_223_1_border" state="0">
+ <bounds x="397" y="335" width="62" height="32"/>
+ </element>
+ <element name="lamp223" ref="lamp_223_1" state="0">
+ <bounds x="399" y="337" width="58" height="28"/>
+ </element>
+ <element name="lamp56" ref="lamp_56_1_border" state="0">
+ <bounds x="386" y="228" width="27" height="27"/>
+ </element>
+ <element name="lamp56" ref="lamp_56_1" state="0">
+ <bounds x="388" y="230" width="23" height="23"/>
+ </element>
+ <element name="lamp57" ref="lamp_57_1_border" state="0">
+ <bounds x="359" y="223" width="27" height="32"/>
+ </element>
+ <element name="lamp57" ref="lamp_57_1" state="0">
+ <bounds x="361" y="225" width="23" height="28"/>
+ </element>
+ <element name="lamp55" ref="lamp_55_1_border" state="0">
+ <bounds x="413" y="233" width="27" height="22"/>
+ </element>
+ <element name="lamp55" ref="lamp_55_1" state="0">
+ <bounds x="415" y="235" width="23" height="18"/>
+ </element>
+ <element name="lamp54" ref="lamp_54_1_border" state="0">
+ <bounds x="440" y="228" width="27" height="27"/>
+ </element>
+ <element name="lamp54" ref="lamp_54_1" state="0">
+ <bounds x="442" y="230" width="23" height="23"/>
+ </element>
+ <element name="lamp53" ref="lamp_53_1_border" state="0">
+ <bounds x="467" y="223" width="27" height="32"/>
+ </element>
+ <element name="lamp53" ref="lamp_53_1" state="0">
+ <bounds x="469" y="225" width="23" height="28"/>
+ </element>
+ <element name="lamp139" ref="lamp_139_1_border" state="0">
+ <bounds x="308" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp139" ref="lamp_139_1" state="0">
+ <bounds x="310" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp138" ref="lamp_138_1_border" state="0">
+ <bounds x="288" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp138" ref="lamp_138_1" state="0">
+ <bounds x="290" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp137" ref="lamp_137_1_border" state="0">
+ <bounds x="268" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp137" ref="lamp_137_1" state="0">
+ <bounds x="270" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp136" ref="lamp_136_1_border" state="0">
+ <bounds x="248" y="262" width="22" height="22"/>
+ </element>
+ <element name="lamp136" ref="lamp_136_1" state="0">
+ <bounds x="250" y="264" width="18" height="18"/>
+ </element>
+ <element name="lamp140" ref="lamp_140_1_border" state="0">
+ <bounds x="248" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp140" ref="lamp_140_1" state="0">
+ <bounds x="250" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp141" ref="lamp_141_1_border" state="0">
+ <bounds x="268" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp141" ref="lamp_141_1" state="0">
+ <bounds x="270" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp142" ref="lamp_142_1_border" state="0">
+ <bounds x="288" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp142" ref="lamp_142_1" state="0">
+ <bounds x="290" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp143" ref="lamp_143_1_border" state="0">
+ <bounds x="308" y="242" width="22" height="22"/>
+ </element>
+ <element name="lamp143" ref="lamp_143_1" state="0">
+ <bounds x="310" y="244" width="18" height="18"/>
+ </element>
+ <element name="lamp135" ref="lamp_135_1_border" state="0">
+ <bounds x="308" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp135" ref="lamp_135_1" state="0">
+ <bounds x="310" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1_border" state="0">
+ <bounds x="288" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1" state="0">
+ <bounds x="290" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp133" ref="lamp_133_1_border" state="0">
+ <bounds x="268" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp133" ref="lamp_133_1" state="0">
+ <bounds x="270" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp132" ref="lamp_132_1_border" state="0">
+ <bounds x="248" y="282" width="22" height="22"/>
+ </element>
+ <element name="lamp132" ref="lamp_132_1" state="0">
+ <bounds x="250" y="284" width="18" height="18"/>
+ </element>
+ <element name="lamp131" ref="lamp_131_1_border" state="0">
+ <bounds x="308" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp131" ref="lamp_131_1" state="0">
+ <bounds x="310" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp130" ref="lamp_130_1_border" state="0">
+ <bounds x="288" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp130" ref="lamp_130_1" state="0">
+ <bounds x="290" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp129" ref="lamp_129_1_border" state="0">
+ <bounds x="268" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp129" ref="lamp_129_1" state="0">
+ <bounds x="270" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp128" ref="lamp_128_1_border" state="0">
+ <bounds x="248" y="302" width="22" height="22"/>
+ </element>
+ <element name="lamp128" ref="lamp_128_1" state="0">
+ <bounds x="250" y="304" width="18" height="18"/>
+ </element>
+ <element name="lamp215" ref="lamp_215_1_border" state="0">
+ <bounds x="734" y="463" width="96" height="27"/>
+ </element>
+ <element name="lamp215" ref="lamp_215_1" state="0">
+ <bounds x="736" y="465" width="88" height="23"/>
+ </element>
+ <element name="lamp216" ref="lamp_216_1_border" state="0">
+ <bounds x="734" y="436" width="96" height="27"/>
+ </element>
+ <element name="lamp216" ref="lamp_216_1" state="0">
+ <bounds x="736" y="438" width="88" height="23"/>
+ </element>
+ <element name="lamp219" ref="lamp_219_1_border" state="0">
+ <bounds x="734" y="355" width="96" height="27"/>
+ </element>
+ <element name="lamp219" ref="lamp_219_1" state="0">
+ <bounds x="736" y="357" width="88" height="23"/>
+ </element>
+ <element name="lamp218" ref="lamp_218_1_border" state="0">
+ <bounds x="734" y="382" width="96" height="27"/>
+ </element>
+ <element name="lamp218" ref="lamp_218_1" state="0">
+ <bounds x="736" y="384" width="88" height="23"/>
+ </element>
+ <element name="lamp217" ref="lamp_217_1_border" state="0">
+ <bounds x="734" y="409" width="96" height="27"/>
+ </element>
+ <element name="lamp217" ref="lamp_217_1" state="0">
+ <bounds x="736" y="411" width="88" height="23"/>
+ </element>
+ <element name="lamp214" ref="lamp_214_1_border" state="0">
+ <bounds x="734" y="490" width="96" height="27"/>
+ </element>
+ <element name="lamp214" ref="lamp_214_1" state="0">
+ <bounds x="736" y="492" width="88" height="23"/>
+ </element>
+ <element name="lamp213" ref="lamp_213_1_border" state="0">
+ <bounds x="734" y="517" width="96" height="27"/>
+ </element>
+ <element name="lamp213" ref="lamp_213_1" state="0">
+ <bounds x="736" y="519" width="88" height="23"/>
+ </element>
+ <element name="lamp212" ref="lamp_212_1_border" state="0">
+ <bounds x="734" y="544" width="96" height="27"/>
+ </element>
+ <element name="lamp212" ref="lamp_212_1" state="0">
+ <bounds x="736" y="546" width="88" height="23"/>
+ </element>
+ <element name="lamp77" ref="lamp_77_1_border" state="0">
+ <bounds x="572" y="291" width="42" height="42"/>
+ </element>
+ <element name="lamp77" ref="lamp_77_1" state="0">
+ <bounds x="574" y="293" width="38" height="38"/>
+ </element>
+ <element name="lamp52" ref="lamp_52_1_border" state="0">
+ <bounds x="703" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp52" ref="lamp_52_1" state="0">
+ <bounds x="705" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp51" ref="lamp_51_1_border" state="0">
+ <bounds x="656" y="221" width="47" height="22"/>
+ </element>
+ <element name="lamp51" ref="lamp_51_1" state="0">
+ <bounds x="658" y="223" width="43" height="18"/>
+ </element>
+ <element name="lamp50" ref="lamp_50_1_border" state="0">
+ <bounds x="619" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp50" ref="lamp_50_1" state="0">
+ <bounds x="621" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp49" ref="lamp_49_1_border" state="0">
+ <bounds x="572" y="221" width="47" height="22"/>
+ </element>
+ <element name="lamp49" ref="lamp_49_1" state="0">
+ <bounds x="574" y="223" width="43" height="18"/>
+ </element>
+ <element name="lamp48" ref="lamp_48_1_border" state="0">
+ <bounds x="535" y="221" width="37" height="22"/>
+ </element>
+ <element name="lamp48" ref="lamp_48_1" state="0">
+ <bounds x="537" y="223" width="33" height="18"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1_border" state="0">
+ <bounds x="404" y="148" width="62" height="22"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1" state="0">
+ <bounds x="406" y="150" width="58" height="18"/>
+ </element>
+ <element name="lamp173" ref="lamp_173_1_border" state="0">
+ <bounds x="181" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp172" ref="lamp_173_1" state="0">
+ <bounds x="183" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp60" ref="lamp_60_1_border" state="0">
+ <bounds x="181" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp60" ref="lamp_60_1" state="0">
+ <bounds x="183" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp171" ref="lamp_171_1_border" state="0">
+ <bounds x="144" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp170" ref="lamp_171_1" state="0">
+ <bounds x="146" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp59" ref="lamp_59_1_border" state="0">
+ <bounds x="144" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp59" ref="lamp_59_1" state="0">
+ <bounds x="146" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp58" ref="lamp_58_1_border" state="0">
+ <bounds x="107" y="224" width="37" height="37"/>
+ </element>
+ <element name="lamp58" ref="lamp_58_1" state="0">
+ <bounds x="109" y="226" width="33" height="33"/>
+ </element>
+ <element name="lamp169" ref="lamp_169_1_border" state="0">
+ <bounds x="107" y="262" width="37" height="37"/>
+ </element>
+ <element name="lamp168" ref="lamp_169_1" state="0">
+ <bounds x="109" y="264" width="33" height="33"/>
+ </element>
+ <element name="lamp192" ref="colour_button_167_border" state="0" inputtag="J9_0" inputmask="0x01">
+ <bounds x="692" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp192" ref="colour_button_167" state="0" inputtag="J9_0" inputmask="0x01">
+ <bounds x="694" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp241" ref="colour_button_168_border" state="0" inputtag="J9_2" inputmask="0x01">
+ <bounds x="184" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp241" ref="colour_button_168" state="0" inputtag="J9_2" inputmask="0x01">
+ <bounds x="186" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp208" ref="colour_button_169_border" state="0" inputtag="J9_0" inputmask="0x08">
+ <bounds x="432" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp208" ref="colour_button_169" state="0" inputtag="J9_0" inputmask="0x08">
+ <bounds x="434" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp210" ref="colour_button_170_border" state="0" inputtag="J9_0" inputmask="0x10">
+ <bounds x="350" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp210" ref="colour_button_170" state="0" inputtag="J9_0" inputmask="0x10">
+ <bounds x="352" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp240" ref="colour_button_171_border" state="0" inputtag="J9_0" inputmask="0x20">
+ <bounds x="268" y="604" width="82" height="38"/>
+ </element>
+ <element name="lamp240" ref="colour_button_171" state="0" inputtag="J9_0" inputmask="0x20">
+ <bounds x="270" y="606" width="78" height="34"/>
+ </element>
+ <element name="lamp195" ref="colour_button_172_border" state="0" inputtag="J9_0" inputmask="0x04">
+ <bounds x="603" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp195" ref="colour_button_172" state="0" inputtag="J9_0" inputmask="0x04">
+ <bounds x="605" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp194" ref="colour_button_173_border" state="0" inputtag="J9_0" inputmask="0x02">
+ <bounds x="521" y="604" width="78" height="38"/>
+ </element>
+ <element name="lamp194" ref="colour_button_173" state="0" inputtag="J9_0" inputmask="0x02">
+ <bounds x="523" y="606" width="74" height="34"/>
+ </element>
+ <element name="lamp13" ref="colour_button_179_border" state="0" inputtag="COINS" inputmask="0x01">
+ <bounds x="571" y="418" width="42" height="27"/>
+ </element>
+ <element name="lamp13" ref="colour_button_179" state="0" inputtag="COINS" inputmask="0x01">
+ <bounds x="573" y="420" width="38" height="23"/>
+ </element>
+ <element name="digit3" ref="led_digit" state="0">
+ <bounds x="512" y="95" width="30" height="40"/>
+ </element>
+ <element name="digit2" ref="led_digit" state="0">
+ <bounds x="482" y="95" width="30" height="40"/>
+ </element>
+ <element name="digit0" ref="led_digit" state="0">
+ <bounds x="561" y="376" width="30" height="40"/>
+ </element>
+ <element name="digit1" ref="led_digit" state="0">
+ <bounds x="591" y="376" width="30" height="40"/>
+ </element>
+ <element ref="vfd0_background">
+ <bounds x="256" y="380" width="272" height="30"/>
+ </element>
+ <element name="vfd0" ref="vfd0" state="0">
+ <bounds x="256" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd1" ref="vfd0" state="0">
+ <bounds x="273" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd2" ref="vfd0" state="0">
+ <bounds x="290" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd3" ref="vfd0" state="0">
+ <bounds x="307" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd4" ref="vfd0" state="0">
+ <bounds x="324" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd5" ref="vfd0" state="0">
+ <bounds x="341" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd6" ref="vfd0" state="0">
+ <bounds x="358" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd7" ref="vfd0" state="0">
+ <bounds x="375" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd8" ref="vfd0" state="0">
+ <bounds x="392" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd9" ref="vfd0" state="0">
+ <bounds x="409" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd10" ref="vfd0" state="0">
+ <bounds x="426" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd11" ref="vfd0" state="0">
+ <bounds x="443" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd12" ref="vfd0" state="0">
+ <bounds x="460" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd13" ref="vfd0" state="0">
+ <bounds x="477" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd14" ref="vfd0" state="0">
+ <bounds x="494" y="380" width="17" height="30"/>
+ </element>
+ <element name="vfd15" ref="vfd0" state="0">
+ <bounds x="511" y="380" width="17" height="30"/>
+ </element>
+ <element name="label19" ref="label_19">
+ <bounds x="636" y="85" width="48" height="14"/>
+ </element>
+ <element name="label20" ref="label_20">
+ <bounds x="515" y="63" width="83" height="16"/>
+ </element>
+ <element name="label55" ref="label_55">
+ <bounds x="215" y="94" width="35" height="32"/>
+ </element>
+ <element name="label65" ref="label_65">
+ <bounds x="578" y="106" width="17" height="14"/>
+ </element>
+ <element name="label66" ref="label_66">
+ <bounds x="555" y="130" width="41" height="14"/>
+ </element>
+ <element name="label67" ref="label_67">
+ <bounds x="488" y="135" width="41" height="32"/>
+ </element>
+ <element name="label71" ref="label_71">
+ <bounds x="242" y="498" width="25" height="26"/>
+ </element>
+ <element name="label72" ref="label_72">
+ <bounds x="515" y="498" width="25" height="26"/>
+ </element>
+ <element name="label98" ref="label_98">
+ <bounds x="383" y="258" width="71" height="14"/>
+ </element>
+ <element name="label99" ref="label_99">
+ <bounds x="238" y="228" width="80" height="14"/>
+ </element>
+ <element name="label127" ref="label_127">
+ <bounds x="558" y="355" width="51" height="22"/>
+ </element>
+ <element name="label133" ref="label_133">
+ <bounds x="621" y="245" width="40" height="32"/>
+ </element>
+ <element name="label134" ref="label_134">
+ <bounds x="409" y="56" width="49" height="22"/>
+ </element>
+ <element name="label165" ref="label_165">
+ <bounds x="118" y="207" width="63" height="16"/>
+ </element>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/j6indyi.lay b/src/mame/layout/j6indyi.lay
deleted file mode 100644
index 71ba12470f9..00000000000
--- a/src/mame/layout/j6indyi.lay
+++ /dev/null
@@ -1,8015 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- **************************************************** -->
-<!-- * This MAME layout file was generated by MFME2MAME * -->
-<!-- * Please visit mfme2mame.org for more information. * -->
-<!-- **************************************************** -->
-
-<mamelayout version="2">
- <element name="backdrop_colour">
- <rect>
- <color red="0.00" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_144_1_border" defstate="0">
- <rect state="1">
- <color red="0.25" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.06" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_144_1" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.13" green="0.13" blue="0.25"/>
- </rect>
- <text string="&#xA3;3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_145_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_145_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="L">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
- </text>
- <text string="O">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
- </text>
- <text string="S">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
- </text>
- <text string="E">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
- </text>
- </element>
- <element name="lamp_146_1_border" defstate="0">
- <rect state="1">
- <color red="0.25" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.06" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_146_1" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.13" green="0.13" blue="0.25"/>
- </rect>
- <text string="&#xA3;8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_147_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_147_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="L">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.22"/>
- </text>
- <text string="o">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.28" width="0.90" height="0.22"/>
- </text>
- <text string="s">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.22"/>
- </text>
- <text string="e">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.72" width="0.90" height="0.22"/>
- </text>
- </element>
- <element name="lamp_148_1_border" defstate="0">
- <rect state="1">
- <color red="0.25" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.06" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_148_1" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.13" green="0.13" blue="0.25"/>
- </rect>
- <text string="&#xA3;3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_91_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_91_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Staff Of Ra">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_92_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_92_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_93_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_93_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_94_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_94_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Path To Riches">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_95_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_95_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_86_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_86_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Runaway">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Cash">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_87_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_87_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_88_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_88_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="Crack">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="The Whip">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_89_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_89_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_90_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_90_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;2.40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_106_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_106_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_105_1_border" defstate="0">
- <rect state="1">
- <color red="0.25" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.06" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_105_1" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.13" green="0.13" blue="0.13"/>
- </rect>
- <text string="Staff Of Ra">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_103_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_103_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_104_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_104_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_102_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_102_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_108_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_108_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_107_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_107_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="Crack">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="The Whip">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_96_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_96_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_97_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_97_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Leap Of Faith">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_98_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_98_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_99_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_99_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_100_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_100_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Snake">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pit">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_101_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_101_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_80_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_80_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Holy">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Grail">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_81_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_81_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_82_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_82_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;1.60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_83_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_83_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Unveil A Prize">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_200_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_200_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_201_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_201_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;1.20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_202_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="lamp_202_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string="Treasure">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Hunt">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_85_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_85_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="Staff Of">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Ra">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_84_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_84_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_118_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_118_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;6.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_119_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_119_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;5.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_120_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_120_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;4.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_122_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_122_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;2.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_123_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_123_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;1.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_121_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_121_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.13"/>
- </rect>
- <text string="&#xA3;3.00">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_117_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_117_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Win Series">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_116_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_116_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Fuse Time">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_115_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_115_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Reel A Fortune">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_114_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_114_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Stop N Step">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_113_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_113_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Stop A Fruit">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_112_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_112_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.13"/>
- </rect>
- <text string="Spin A Win">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_157_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_157_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="LOSE">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_160_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_160_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_161_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_161_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_163_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_163_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_166_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_166_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_162_1_border" defstate="0">
- <disk state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_162_1" defstate="0">
- <disk state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_167_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_167_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_165_1_border" defstate="0">
- <disk state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_165_1" defstate="0">
- <disk state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_164_1_border" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_164_1" defstate="0">
- <disk state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </disk>
- <disk state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </disk>
- </element>
- <element name="lamp_222_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_222_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Lose">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_253_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_253_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Now !">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_68_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_68_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Escape">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_71_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_71_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Extra">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Nudges">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_66_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_66_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Add A Bullet">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_65_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_65_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Go">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Back ">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_64_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_64_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Staff Of">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Ra">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_69_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_69_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Advance">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_67_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_67_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Skill">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Stop">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_70_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_70_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="Empty">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Gun">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_203_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_203_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_204_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_204_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="&#xA3;1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_205_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_205_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_206_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_206_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="80p">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_207_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_207_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Revolver">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_221_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_221_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="60p">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_223_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_223_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="Nudge">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="lamp_169_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_169_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_168_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_168_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_58_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_58_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_59_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_59_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_171_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_171_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_170_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_170_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_60_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_60_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="?">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_173_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_173_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_172_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_172_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_56_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_56_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="k">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_57_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_57_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="s">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_55_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_55_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="i">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_54_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_54_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="l">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_53_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_53_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="l">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_139_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_139_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_138_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_138_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_137_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_137_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_136_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_136_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_140_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_140_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_141_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_141_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_142_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_142_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_143_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_143_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_135_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_135_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_134_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_134_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_133_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_133_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_132_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_132_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_131_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_131_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_130_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_130_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_129_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_129_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_128_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_128_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_215_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_215_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_216_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_216_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_219_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_219_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_218_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_218_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_217_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_217_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_214_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_214_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;1.60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_213_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_213_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;1.20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_212_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.25"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.06"/>
- </rect>
- </element>
- <element name="lamp_212_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.13"/>
- </rect>
- <text string="&#xA3;1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_52_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_52_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="60p">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_51_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_51_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Snake">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_50_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_50_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="&#xA3;1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_49_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_49_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Snake">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_48_1_border" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_48_1" defstate="0">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="40p">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="lamp_239_1_border" defstate="0">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="lamp_239_1" defstate="0">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="Lose">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="colour_button_167_border">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_167">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string=" START">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="colour_button_168_border">
- <rect state="1">
- <color red="0.50" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_168">
- <rect state="1">
- <color red="1.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.13" blue="0.00"/>
- </rect>
- <text string="CANCEL">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="colour_button_169_border">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_169">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="HOLD LO">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="NUDGE">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="colour_button_170_border">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_170">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="HOLD HI">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="NUDGE">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="colour_button_171_border">
- <rect state="1">
- <color red="0.50" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_171">
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.00" blue="0.00"/>
- </rect>
- <text string="HOLD">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="NUDGE">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="colour_button_172_border">
- <rect state="1">
- <color red="0.50" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.12" green="0.12" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_172">
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.25" green="0.25" blue="0.00"/>
- </rect>
- <text string="COLLECT">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="colour_button_173_border">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.50"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.12"/>
- </rect>
- </element>
- <element name="colour_button_173">
- <rect state="1">
- <color red="0.00" green="0.50" blue="1.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.25"/>
- </rect>
- <text string=" EXCHANGE">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="colour_button_179_border">
- <rect state="1">
- <color red="0.00" green="0.25" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.06" blue="0.00"/>
- </rect>
- </element>
- <element name="colour_button_179">
- <rect state="1">
- <color red="0.00" green="0.50" blue="0.00"/>
- </rect>
- <rect state="0">
- <color red="0.00" green="0.13" blue="0.00"/>
- </rect>
- <text string="&#xA3;1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="reel_background">
- <rect>
- <color red="1.0" green="1.0" blue="1.0"/>
- </rect>
- </element>
- <element name="reel0" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel1" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel2" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel3" defstate="0">
- <reel reelreversed="0" stateoffset="-1365" numsymbolsvisible="1" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="led_background">
- <rect>
- <color red="0.4" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_on">
- <rect state="1">
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_dot_on">
- <disk state="1">
- <color red="1.0" green="0.0" blue="0.0"/>
- </disk>
- </element>
- <element name="led_off">
- <rect state="0">
- <color red="0.5" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_dot_off">
- <disk state="0">
- <color red="0.5" green="0.0" blue="0.0"/>
- </disk>
- </element>
- <element name="led_digit_rect_black">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_red">
- <rect>
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_green">
- <rect>
- <color red="0.0" green="1.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_blue">
- <rect>
- <color red="0.0" green="0.0" blue="1.0"/>
- </rect>
- </element>
- <element name="led_digit_red">
- <led7seg>
- <color red="1.0" green="0.0" blue="0.0"/>
- </led7seg>
- </element>
- <element name="led_digit_green">
- <led7seg>
- <color red="0.0" green="1.0" blue="0.0"/>
- </led7seg>
- </element>
- <element name="led_digit_blue">
- <led7seg>
- <color red="0.0" green="0.5" blue="1.0"/>
- </led7seg>
- </element>
- <element name="vfd0">
- <led16segsc>
- <color red="0.0" green="1.0" blue="1.0"/>
- </led16segsc>
- </element>
- <element name="vfd0_background">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="reel_lamp_layer_0" defstate="0">
- <rect>
- <color red="0.40" green="0.40" blue="0.40"/>
- </rect>
- <disk state="1">
- <color red="0.50" green="0.50" blue="0.50"/>
- </disk>
- </element>
- <element name="reel_lamp_layer_1" defstate="0">
- <disk state="1">
- <color red="0.60" green="0.60" blue="0.60"/>
- </disk>
- </element>
- <element name="reel_lamp_layer_2" defstate="0">
- <disk state="1">
- <color red="0.70" green="0.70" blue="0.70"/>
- </disk>
- </element>
- <element name="reel_lamp_layer_3" defstate="0">
- <disk state="1">
- <color red="0.80" green="0.80" blue="0.80"/>
- </disk>
- </element>
- <element name="reel_lamp_layer_4" defstate="0">
- <disk state="1">
- <color red="0.90" green="0.90" blue="0.90"/>
- </disk>
- </element>
- <element name="reel_lamp_layer_5" defstate="0">
- <disk state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </disk>
- </element>
- <element name="label_19">
- <text string="Revolver">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_20">
- <text string="Big Repeater">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_55">
- <text string="Staff">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Of Ra">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="label_65">
- <text string="HIT">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_66">
- <text string="MISSed">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_67">
- <text string="Nudge">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pot">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="label_71">
- <text string="Win">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Line">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="label_72">
- <text string="Win">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Line">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="label_94">
- <text string="Holy Grail">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_105">
- <text string="Leap Of Faith">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_106">
- <text string="Path To Riches">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_134">
- <text string="Plays">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="label_140">
- <text string="Snake">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
- </text>
- <text string="Pit">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
- </text>
- </element>
- <element name="label_141">
- <text string="1 - 12">
- <color red="1.0" green="1.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_backdrop_colour">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="debug_lamp_standard">
- <rect state="0">
- <color red="0.00" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_reel">
- <rect state="0">
- <color red="0.00" green="0.00" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="0.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_segment">
- <rect state="0">
- <color red="0.20" green="0.00" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_button">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_64">
- <text string="64">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_65">
- <text string="65">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_66">
- <text string="66">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_67">
- <text string="67">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_68">
- <text string="68">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_69">
- <text string="69">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_70">
- <text string="70">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_71">
- <text string="71">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_72">
- <text string="72">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_73">
- <text string="73">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_74">
- <text string="74">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_75">
- <text string="75">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_76">
- <text string="76">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_77">
- <text string="77">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_78">
- <text string="78">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_79">
- <text string="79">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_80">
- <text string="80">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_81">
- <text string="81">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_82">
- <text string="82">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_83">
- <text string="83">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_84">
- <text string="84">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_85">
- <text string="85">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_86">
- <text string="86">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_87">
- <text string="87">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_88">
- <text string="88">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_89">
- <text string="89">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_90">
- <text string="90">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_91">
- <text string="91">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_92">
- <text string="92">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_93">
- <text string="93">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_94">
- <text string="94">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_95">
- <text string="95">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_96">
- <text string="96">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_97">
- <text string="97">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_98">
- <text string="98">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_99">
- <text string="99">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_100">
- <text string="100">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_101">
- <text string="101">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_102">
- <text string="102">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_103">
- <text string="103">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_104">
- <text string="104">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_105">
- <text string="105">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_106">
- <text string="106">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_107">
- <text string="107">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_108">
- <text string="108">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_109">
- <text string="109">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_110">
- <text string="110">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_111">
- <text string="111">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_112">
- <text string="112">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_113">
- <text string="113">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_114">
- <text string="114">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_115">
- <text string="115">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_116">
- <text string="116">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_117">
- <text string="117">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_118">
- <text string="118">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_119">
- <text string="119">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_120">
- <text string="120">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_121">
- <text string="121">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_122">
- <text string="122">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_123">
- <text string="123">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_124">
- <text string="124">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_125">
- <text string="125">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_126">
- <text string="126">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_127">
- <text string="127">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_128">
- <text string="128">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_129">
- <text string="129">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_130">
- <text string="130">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_131">
- <text string="131">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_132">
- <text string="132">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_133">
- <text string="133">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_134">
- <text string="134">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_135">
- <text string="135">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_136">
- <text string="136">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_137">
- <text string="137">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_138">
- <text string="138">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_139">
- <text string="139">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_140">
- <text string="140">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_141">
- <text string="141">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_142">
- <text string="142">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_143">
- <text string="143">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_144">
- <text string="144">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_145">
- <text string="145">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_146">
- <text string="146">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_147">
- <text string="147">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_148">
- <text string="148">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_149">
- <text string="149">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_150">
- <text string="150">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_151">
- <text string="151">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_152">
- <text string="152">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_153">
- <text string="153">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_154">
- <text string="154">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_155">
- <text string="155">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_156">
- <text string="156">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_157">
- <text string="157">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_158">
- <text string="158">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_159">
- <text string="159">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_160">
- <text string="160">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_161">
- <text string="161">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_162">
- <text string="162">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_163">
- <text string="163">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_164">
- <text string="164">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_165">
- <text string="165">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_166">
- <text string="166">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_167">
- <text string="167">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_168">
- <text string="168">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_169">
- <text string="169">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_170">
- <text string="170">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_171">
- <text string="171">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_172">
- <text string="172">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_173">
- <text string="173">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_174">
- <text string="174">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_175">
- <text string="175">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_176">
- <text string="176">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_177">
- <text string="177">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_178">
- <text string="178">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_179">
- <text string="179">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_180">
- <text string="180">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_181">
- <text string="181">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_182">
- <text string="182">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_183">
- <text string="183">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_184">
- <text string="184">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_185">
- <text string="185">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_186">
- <text string="186">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_187">
- <text string="187">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_188">
- <text string="188">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_189">
- <text string="189">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_190">
- <text string="190">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_191">
- <text string="191">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_192">
- <text string="192">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_193">
- <text string="193">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_194">
- <text string="194">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_195">
- <text string="195">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_196">
- <text string="196">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_197">
- <text string="197">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_198">
- <text string="198">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_199">
- <text string="199">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_200">
- <text string="200">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_201">
- <text string="201">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_202">
- <text string="202">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_203">
- <text string="203">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_204">
- <text string="204">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_205">
- <text string="205">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_206">
- <text string="206">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_207">
- <text string="207">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_208">
- <text string="208">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_209">
- <text string="209">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_210">
- <text string="210">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_211">
- <text string="211">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_212">
- <text string="212">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_213">
- <text string="213">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_214">
- <text string="214">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_215">
- <text string="215">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_216">
- <text string="216">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_217">
- <text string="217">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_218">
- <text string="218">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_219">
- <text string="219">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_220">
- <text string="220">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_221">
- <text string="221">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_222">
- <text string="222">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_223">
- <text string="223">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_224">
- <text string="224">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_225">
- <text string="225">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_226">
- <text string="226">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_227">
- <text string="227">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_228">
- <text string="228">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_229">
- <text string="229">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_230">
- <text string="230">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_231">
- <text string="231">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_232">
- <text string="232">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_233">
- <text string="233">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_234">
- <text string="234">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_235">
- <text string="235">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_236">
- <text string="236">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_237">
- <text string="237">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_238">
- <text string="238">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_239">
- <text string="239">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_240">
- <text string="240">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_241">
- <text string="241">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_242">
- <text string="242">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_243">
- <text string="243">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_244">
- <text string="244">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_245">
- <text string="245">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_246">
- <text string="246">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_247">
- <text string="247">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_248">
- <text string="248">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_249">
- <text string="249">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_250">
- <text string="250">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_251">
- <text string="251">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_252">
- <text string="252">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_253">
- <text string="253">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_254">
- <text string="254">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_255">
- <text string="255">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_standard">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_button_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_button_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_stepper_value" defstate="0">
- <simplecounter maxstate="999" digits="3">
- <color red="1.0" green="1.0" blue="1.0"/>
- </simplecounter>
- </element>
- <element name="debug_reel_symbol_count_0">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_1">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_2">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_3">
- <text string="12">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
-
- <view name="AWP Simulated Video">
- <element ref="backdrop_colour">
- <bounds x="0" y="0" width="792" height="646"/>
- </element>
- <element ref="reel_background">
- <bounds x="269" y="413" width="80" height="190"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_0" state="0">
- <bounds x="269.0000" y="413.0000" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_1" state="0">
- <bounds x="272.3333" y="415.6389" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_2" state="0">
- <bounds x="275.6667" y="418.2778" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_3" state="0">
- <bounds x="279.0000" y="420.9167" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_4" state="0">
- <bounds x="282.3333" y="423.5555" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp2" ref="reel_lamp_layer_5" state="0">
- <bounds x="285.6667" y="426.1945" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_0" state="0">
- <bounds x="269.0000" y="476.3333" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_1" state="0">
- <bounds x="272.3333" y="478.9722" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_2" state="0">
- <bounds x="275.6667" y="481.6111" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_3" state="0">
- <bounds x="279.0000" y="484.2500" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_4" state="0">
- <bounds x="282.3333" y="486.8889" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp1" ref="reel_lamp_layer_5" state="0">
- <bounds x="285.6667" y="489.5278" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_0" state="0">
- <bounds x="269.0000" y="539.6667" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_1" state="0">
- <bounds x="272.3333" y="542.3056" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_2" state="0">
- <bounds x="275.6667" y="544.9445" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_3" state="0">
- <bounds x="279.0000" y="547.5834" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_4" state="0">
- <bounds x="282.3333" y="550.2222" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp0" ref="reel_lamp_layer_5" state="0">
- <bounds x="285.6667" y="552.8611" width="46.6667" height="36.9444"/>
- </element>
- <element name="sreel1" ref="reel0" state="0">
- <bounds x="269" y="413" width="80" height="190"/>
- </element>
- <element ref="reel_background">
- <bounds x="351" y="413" width="80" height="190"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_0" state="0">
- <bounds x="351.0000" y="413.0000" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_1" state="0">
- <bounds x="354.3333" y="415.6389" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_2" state="0">
- <bounds x="357.6667" y="418.2778" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_3" state="0">
- <bounds x="361.0000" y="420.9167" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_4" state="0">
- <bounds x="364.3333" y="423.5555" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp5" ref="reel_lamp_layer_5" state="0">
- <bounds x="367.6667" y="426.1945" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_0" state="0">
- <bounds x="351.0000" y="476.3333" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_1" state="0">
- <bounds x="354.3333" y="478.9722" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_2" state="0">
- <bounds x="357.6667" y="481.6111" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_3" state="0">
- <bounds x="361.0000" y="484.2500" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_4" state="0">
- <bounds x="364.3333" y="486.8889" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp4" ref="reel_lamp_layer_5" state="0">
- <bounds x="367.6667" y="489.5278" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_0" state="0">
- <bounds x="351.0000" y="539.6667" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_1" state="0">
- <bounds x="354.3333" y="542.3056" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_2" state="0">
- <bounds x="357.6667" y="544.9445" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_3" state="0">
- <bounds x="361.0000" y="547.5834" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_4" state="0">
- <bounds x="364.3333" y="550.2222" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp3" ref="reel_lamp_layer_5" state="0">
- <bounds x="367.6667" y="552.8611" width="46.6667" height="36.9444"/>
- </element>
- <element name="sreel2" ref="reel1" state="0">
- <bounds x="351" y="413" width="80" height="190"/>
- </element>
- <element ref="reel_background">
- <bounds x="433" y="413" width="80" height="190"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_0" state="0">
- <bounds x="433.0000" y="413.0000" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_1" state="0">
- <bounds x="436.3333" y="415.6389" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_2" state="0">
- <bounds x="439.6667" y="418.2778" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_3" state="0">
- <bounds x="443.0000" y="420.9167" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_4" state="0">
- <bounds x="446.3333" y="423.5555" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp18" ref="reel_lamp_layer_5" state="0">
- <bounds x="449.6667" y="426.1945" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_0" state="0">
- <bounds x="433.0000" y="476.3333" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_1" state="0">
- <bounds x="436.3333" y="478.9722" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_2" state="0">
- <bounds x="439.6667" y="481.6111" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_3" state="0">
- <bounds x="443.0000" y="484.2500" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_4" state="0">
- <bounds x="446.3333" y="486.8889" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp17" ref="reel_lamp_layer_5" state="0">
- <bounds x="449.6667" y="489.5278" width="46.6667" height="36.9444"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_0" state="0">
- <bounds x="433.0000" y="539.6667" width="80.0000" height="63.3333"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_1" state="0">
- <bounds x="436.3333" y="542.3056" width="73.3333" height="58.0556"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_2" state="0">
- <bounds x="439.6667" y="544.9445" width="66.6667" height="52.7778"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_3" state="0">
- <bounds x="443.0000" y="547.5834" width="60.0000" height="47.5000"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_4" state="0">
- <bounds x="446.3333" y="550.2222" width="53.3333" height="42.2222"/>
- </element>
- <element name="lamp16" ref="reel_lamp_layer_5" state="0">
- <bounds x="449.6667" y="552.8611" width="46.6667" height="36.9444"/>
- </element>
- <element name="sreel3" ref="reel2" state="0">
- <bounds x="433" y="413" width="80" height="190"/>
- </element>
- <element ref="reel_background">
- <bounds x="399" y="77" width="70" height="70"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_0" state="0">
- <bounds x="399.0000" y="77.0000" width="50.0000" height="50.0000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_1" state="0">
- <bounds x="411.0833" y="79.0833" width="45.8333" height="45.8333"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_2" state="0">
- <bounds x="413.1667" y="81.1667" width="41.6667" height="41.6667"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_3" state="0">
- <bounds x="415.2500" y="83.2500" width="37.5000" height="37.5000"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_4" state="0">
- <bounds x="417.3333" y="85.3333" width="33.3333" height="33.3333"/>
- </element>
- <element name="lamp20" ref="reel_lamp_layer_5" state="0">
- <bounds x="419.4167" y="87.4167" width="29.1667" height="29.1667"/>
- </element>
- <element name="sreel4" ref="reel3" state="0">
- <bounds x="399" y="77" width="50" height="50"/>
- </element>
- <element name="lamp144" ref="lamp_144_1_border" state="0">
- <bounds x="479" y="3" width="42" height="60"/>
- </element>
- <element name="lamp144" ref="lamp_144_1" state="0">
- <bounds x="481" y="5" width="38" height="56"/>
- </element>
- <element name="lamp145" ref="lamp_145_1_border" state="0">
- <bounds x="521" y="3" width="20" height="60"/>
- </element>
- <element name="lamp145" ref="lamp_145_1" state="0">
- <bounds x="523" y="5" width="16" height="56"/>
- </element>
- <element name="lamp146" ref="lamp_146_1_border" state="0">
- <bounds x="541" y="3" width="42" height="60"/>
- </element>
- <element name="lamp146" ref="lamp_146_1" state="0">
- <bounds x="543" y="5" width="38" height="56"/>
- </element>
- <element name="lamp147" ref="lamp_147_1_border" state="0">
- <bounds x="583" y="3" width="20" height="60"/>
- </element>
- <element name="lamp147" ref="lamp_147_1" state="0">
- <bounds x="585" y="5" width="16" height="56"/>
- </element>
- <element name="lamp148" ref="lamp_148_1_border" state="0">
- <bounds x="603" y="3" width="42" height="60"/>
- </element>
- <element name="lamp148" ref="lamp_148_1" state="0">
- <bounds x="605" y="5" width="38" height="56"/>
- </element>
- <element name="lamp91" ref="lamp_91_1_border" state="0">
- <bounds x="335" y="15" width="62" height="32"/>
- </element>
- <element name="lamp91" ref="lamp_91_1" state="0">
- <bounds x="337" y="17" width="58" height="28"/>
- </element>
- <element name="lamp92" ref="lamp_92_1_border" state="0">
- <bounds x="335" y="47" width="62" height="32"/>
- </element>
- <element name="lamp92" ref="lamp_92_1" state="0">
- <bounds x="337" y="49" width="58" height="28"/>
- </element>
- <element name="lamp93" ref="lamp_93_1_border" state="0">
- <bounds x="335" y="79" width="62" height="32"/>
- </element>
- <element name="lamp93" ref="lamp_93_1" state="0">
- <bounds x="337" y="81" width="58" height="28"/>
- </element>
- <element name="lamp94" ref="lamp_94_1_border" state="0">
- <bounds x="335" y="111" width="62" height="32"/>
- </element>
- <element name="lamp94" ref="lamp_94_1" state="0">
- <bounds x="337" y="113" width="58" height="28"/>
- </element>
- <element name="lamp95" ref="lamp_95_1_border" state="0">
- <bounds x="335" y="143" width="62" height="32"/>
- </element>
- <element name="lamp95" ref="lamp_95_1" state="0">
- <bounds x="337" y="145" width="58" height="28"/>
- </element>
- <element name="lamp86" ref="lamp_86_1_border" state="0">
- <bounds x="25" y="15" width="62" height="32"/>
- </element>
- <element name="lamp86" ref="lamp_86_1" state="0">
- <bounds x="27" y="17" width="58" height="28"/>
- </element>
- <element name="lamp87" ref="lamp_87_1_border" state="0">
- <bounds x="87" y="15" width="62" height="32"/>
- </element>
- <element name="lamp87" ref="lamp_87_1" state="0">
- <bounds x="89" y="17" width="58" height="28"/>
- </element>
- <element name="lamp88" ref="lamp_88_1_border" state="0">
- <bounds x="149" y="15" width="62" height="32"/>
- </element>
- <element name="lamp88" ref="lamp_88_1" state="0">
- <bounds x="151" y="17" width="58" height="28"/>
- </element>
- <element name="lamp89" ref="lamp_89_1_border" state="0">
- <bounds x="211" y="15" width="62" height="32"/>
- </element>
- <element name="lamp89" ref="lamp_89_1" state="0">
- <bounds x="213" y="17" width="58" height="28"/>
- </element>
- <element name="lamp90" ref="lamp_90_1_border" state="0">
- <bounds x="273" y="15" width="62" height="32"/>
- </element>
- <element name="lamp90" ref="lamp_90_1" state="0">
- <bounds x="275" y="17" width="58" height="28"/>
- </element>
- <element name="lamp106" ref="lamp_106_1_border" state="0">
- <bounds x="707" y="47" width="62" height="32"/>
- </element>
- <element name="lamp106" ref="lamp_106_1" state="0">
- <bounds x="709" y="49" width="58" height="28"/>
- </element>
- <element name="lamp105" ref="lamp_105_1_border" state="0">
- <bounds x="707" y="79" width="62" height="32"/>
- </element>
- <element name="lamp105" ref="lamp_105_1" state="0">
- <bounds x="709" y="81" width="58" height="28"/>
- </element>
- <element name="lamp103" ref="lamp_103_1_border" state="0">
- <bounds x="707" y="143" width="62" height="32"/>
- </element>
- <element name="lamp103" ref="lamp_103_1" state="0">
- <bounds x="709" y="145" width="58" height="28"/>
- </element>
- <element name="lamp104" ref="lamp_104_1_border" state="0">
- <bounds x="707" y="111" width="62" height="32"/>
- </element>
- <element name="lamp104" ref="lamp_104_1" state="0">
- <bounds x="709" y="113" width="58" height="28"/>
- </element>
- <element name="lamp102" ref="lamp_102_1_border" state="0">
- <bounds x="707" y="175" width="62" height="32"/>
- </element>
- <element name="lamp102" ref="lamp_102_1" state="0">
- <bounds x="709" y="177" width="58" height="28"/>
- </element>
- <element name="lamp108" ref="lamp_108_1_border" state="0">
- <bounds x="645" y="15" width="62" height="32"/>
- </element>
- <element name="lamp108" ref="lamp_108_1" state="0">
- <bounds x="647" y="17" width="58" height="28"/>
- </element>
- <element name="lamp107" ref="lamp_107_1_border" state="0">
- <bounds x="707" y="15" width="62" height="32"/>
- </element>
- <element name="lamp107" ref="lamp_107_1" state="0">
- <bounds x="709" y="17" width="58" height="28"/>
- </element>
- <element name="lamp96" ref="lamp_96_1_border" state="0">
- <bounds x="335" y="175" width="62" height="32"/>
- </element>
- <element name="lamp96" ref="lamp_96_1" state="0">
- <bounds x="337" y="177" width="58" height="28"/>
- </element>
- <element name="lamp97" ref="lamp_97_1_border" state="0">
- <bounds x="397" y="175" width="62" height="32"/>
- </element>
- <element name="lamp97" ref="lamp_97_1" state="0">
- <bounds x="399" y="177" width="58" height="28"/>
- </element>
- <element name="lamp98" ref="lamp_98_1_border" state="0">
- <bounds x="459" y="175" width="62" height="32"/>
- </element>
- <element name="lamp98" ref="lamp_98_1" state="0">
- <bounds x="461" y="177" width="58" height="28"/>
- </element>
- <element name="lamp99" ref="lamp_99_1_border" state="0">
- <bounds x="521" y="175" width="62" height="32"/>
- </element>
- <element name="lamp99" ref="lamp_99_1" state="0">
- <bounds x="523" y="177" width="58" height="28"/>
- </element>
- <element name="lamp100" ref="lamp_100_1_border" state="0">
- <bounds x="583" y="175" width="62" height="32"/>
- </element>
- <element name="lamp100" ref="lamp_100_1" state="0">
- <bounds x="585" y="177" width="58" height="28"/>
- </element>
- <element name="lamp101" ref="lamp_101_1_border" state="0">
- <bounds x="645" y="175" width="62" height="32"/>
- </element>
- <element name="lamp101" ref="lamp_101_1" state="0">
- <bounds x="647" y="177" width="58" height="28"/>
- </element>
- <element name="lamp80" ref="lamp_80_1_border" state="0">
- <bounds x="25" y="207" width="62" height="32"/>
- </element>
- <element name="lamp80" ref="lamp_80_1" state="0">
- <bounds x="27" y="209" width="58" height="28"/>
- </element>
- <element name="lamp81" ref="lamp_81_1_border" state="0">
- <bounds x="25" y="175" width="62" height="32"/>
- </element>
- <element name="lamp81" ref="lamp_81_1" state="0">
- <bounds x="27" y="177" width="58" height="28"/>
- </element>
- <element name="lamp82" ref="lamp_82_1_border" state="0">
- <bounds x="25" y="143" width="62" height="32"/>
- </element>
- <element name="lamp82" ref="lamp_82_1" state="0">
- <bounds x="27" y="145" width="58" height="28"/>
- </element>
- <element name="lamp83" ref="lamp_83_1_border" state="0">
- <bounds x="25" y="111" width="62" height="32"/>
- </element>
- <element name="lamp83" ref="lamp_83_1" state="0">
- <bounds x="27" y="113" width="58" height="28"/>
- </element>
- <element name="lamp200" ref="lamp_200_1_border" state="0">
- <bounds x="25" y="239" width="62" height="32"/>
- </element>
- <element name="lamp200" ref="lamp_200_1" state="0">
- <bounds x="27" y="241" width="58" height="28"/>
- </element>
- <element name="lamp201" ref="lamp_201_1_border" state="0">
- <bounds x="25" y="271" width="62" height="32"/>
- </element>
- <element name="lamp201" ref="lamp_201_1" state="0">
- <bounds x="27" y="273" width="58" height="28"/>
- </element>
- <element name="lamp202" ref="lamp_202_1_border" state="0">
- <bounds x="25" y="303" width="62" height="32"/>
- </element>
- <element name="lamp202" ref="lamp_202_1" state="0">
- <bounds x="27" y="305" width="58" height="28"/>
- </element>
- <element name="lamp85" ref="lamp_85_1_border" state="0">
- <bounds x="25" y="47" width="62" height="32"/>
- </element>
- <element name="lamp85" ref="lamp_85_1" state="0">
- <bounds x="27" y="49" width="58" height="28"/>
- </element>
- <element name="lamp84" ref="lamp_84_1_border" state="0">
- <bounds x="25" y="79" width="62" height="32"/>
- </element>
- <element name="lamp84" ref="lamp_84_1" state="0">
- <bounds x="27" y="81" width="58" height="28"/>
- </element>
- <element name="lamp118" ref="lamp_118_1_border" state="0">
- <bounds x="250" y="55" width="58" height="20"/>
- </element>
- <element name="lamp118" ref="lamp_118_1" state="0">
- <bounds x="252" y="57" width="54" height="16"/>
- </element>
- <element name="lamp119" ref="lamp_119_1_border" state="0">
- <bounds x="260" y="75" width="58" height="20"/>
- </element>
- <element name="lamp119" ref="lamp_119_1" state="0">
- <bounds x="262" y="77" width="54" height="16"/>
- </element>
- <element name="lamp120" ref="lamp_120_1_border" state="0">
- <bounds x="270" y="95" width="58" height="20"/>
- </element>
- <element name="lamp120" ref="lamp_120_1" state="0">
- <bounds x="272" y="97" width="54" height="16"/>
- </element>
- <element name="lamp122" ref="lamp_122_1_border" state="0">
- <bounds x="260" y="135" width="58" height="20"/>
- </element>
- <element name="lamp122" ref="lamp_122_1" state="0">
- <bounds x="262" y="137" width="54" height="16"/>
- </element>
- <element name="lamp123" ref="lamp_123_1_border" state="0">
- <bounds x="250" y="155" width="58" height="20"/>
- </element>
- <element name="lamp123" ref="lamp_123_1" state="0">
- <bounds x="252" y="157" width="54" height="16"/>
- </element>
- <element name="lamp121" ref="lamp_121_1_border" state="0">
- <bounds x="270" y="115" width="58" height="20"/>
- </element>
- <element name="lamp121" ref="lamp_121_1" state="0">
- <bounds x="272" y="117" width="54" height="16"/>
- </element>
- <element name="lamp117" ref="lamp_117_1_border" state="0">
- <bounds x="114" y="55" width="112" height="20"/>
- </element>
- <element name="lamp117" ref="lamp_117_1" state="0">
- <bounds x="116" y="57" width="108" height="16"/>
- </element>
- <element name="lamp116" ref="lamp_116_1_border" state="0">
- <bounds x="104" y="75" width="112" height="20"/>
- </element>
- <element name="lamp116" ref="lamp_116_1" state="0">
- <bounds x="106" y="77" width="108" height="16"/>
- </element>
- <element name="lamp115" ref="lamp_115_1_border" state="0">
- <bounds x="94" y="95" width="112" height="20"/>
- </element>
- <element name="lamp115" ref="lamp_115_1" state="0">
- <bounds x="96" y="97" width="108" height="16"/>
- </element>
- <element name="lamp114" ref="lamp_114_1_border" state="0">
- <bounds x="104" y="135" width="112" height="20"/>
- </element>
- <element name="lamp114" ref="lamp_114_1" state="0">
- <bounds x="106" y="137" width="108" height="16"/>
- </element>
- <element name="lamp113" ref="lamp_113_1_border" state="0">
- <bounds x="94" y="115" width="112" height="20"/>
- </element>
- <element name="lamp113" ref="lamp_113_1" state="0">
- <bounds x="96" y="117" width="108" height="16"/>
- </element>
- <element name="lamp112" ref="lamp_112_1_border" state="0">
- <bounds x="114" y="155" width="112" height="20"/>
- </element>
- <element name="lamp112" ref="lamp_112_1" state="0">
- <bounds x="116" y="157" width="108" height="16"/>
- </element>
- <element name="lamp157" ref="lamp_157_1_border" state="0">
- <bounds x="582" y="149" width="46" height="22"/>
- </element>
- <element name="lamp157" ref="lamp_157_1" state="0">
- <bounds x="584" y="151" width="42" height="18"/>
- </element>
- <element name="lamp160" ref="lamp_160_1_border" state="0">
- <bounds x="678" y="136" width="22" height="22"/>
- </element>
- <element name="lamp160" ref="lamp_160_1" state="0">
- <bounds x="680" y="138" width="18" height="18"/>
- </element>
- <element name="lamp161" ref="lamp_161_1_border" state="0">
- <bounds x="678" y="113" width="22" height="22"/>
- </element>
- <element name="lamp161" ref="lamp_161_1" state="0">
- <bounds x="680" y="115" width="18" height="18"/>
- </element>
- <element name="lamp163" ref="lamp_163_1_border" state="0">
- <bounds x="636" y="113" width="22" height="22"/>
- </element>
- <element name="lamp163" ref="lamp_163_1" state="0">
- <bounds x="638" y="115" width="18" height="18"/>
- </element>
- <element name="lamp166" ref="lamp_166_1_border" state="0">
- <bounds x="636" y="136" width="22" height="22"/>
- </element>
- <element name="lamp166" ref="lamp_166_1" state="0">
- <bounds x="638" y="138" width="18" height="18"/>
- </element>
- <element name="lamp162" ref="lamp_162_1_border" state="0">
- <bounds x="657" y="100" width="22" height="22"/>
- </element>
- <element name="lamp162" ref="lamp_162_1" state="0">
- <bounds x="659" y="102" width="18" height="18"/>
- </element>
- <element name="lamp167" ref="lamp_167_1_border" state="0">
- <bounds x="657" y="148" width="22" height="22"/>
- </element>
- <element name="lamp167" ref="lamp_167_1" state="0">
- <bounds x="659" y="150" width="18" height="18"/>
- </element>
- <element name="lamp165" ref="lamp_165_1_border" state="0">
- <bounds x="602" y="102" width="22" height="22"/>
- </element>
- <element name="lamp165" ref="lamp_165_1" state="0">
- <bounds x="604" y="104" width="18" height="18"/>
- </element>
- <element name="lamp164" ref="lamp_164_1_border" state="0">
- <bounds x="602" y="125" width="22" height="22"/>
- </element>
- <element name="lamp164" ref="lamp_164_1" state="0">
- <bounds x="604" y="127" width="18" height="18"/>
- </element>
- <element name="lamp222" ref="lamp_222_1_border" state="0">
- <bounds x="22" y="523" width="46" height="24"/>
- </element>
- <element name="lamp222" ref="lamp_222_1" state="0">
- <bounds x="24" y="525" width="42" height="20"/>
- </element>
- <element name="lamp253" ref="lamp_253_1_border" state="0">
- <bounds x="16" y="490" width="57" height="32"/>
- </element>
- <element name="lamp253" ref="lamp_253_1" state="0">
- <bounds x="18" y="492" width="53" height="28"/>
- </element>
- <element name="lamp68" ref="lamp_68_1_border" state="0">
- <bounds x="186" y="401" width="57" height="32"/>
- </element>
- <element name="lamp68" ref="lamp_68_1" state="0">
- <bounds x="188" y="403" width="53" height="28"/>
- </element>
- <element name="lamp71" ref="lamp_71_1_border" state="0">
- <bounds x="186" y="433" width="57" height="32"/>
- </element>
- <element name="lamp71" ref="lamp_71_1" state="0">
- <bounds x="188" y="435" width="53" height="28"/>
- </element>
- <element name="lamp66" ref="lamp_66_1_border" state="0">
- <bounds x="129" y="401" width="57" height="32"/>
- </element>
- <element name="lamp66" ref="lamp_66_1" state="0">
- <bounds x="131" y="403" width="53" height="28"/>
- </element>
- <element name="lamp65" ref="lamp_65_1_border" state="0">
- <bounds x="72" y="401" width="57" height="32"/>
- </element>
- <element name="lamp65" ref="lamp_65_1" state="0">
- <bounds x="74" y="403" width="53" height="28"/>
- </element>
- <element name="lamp64" ref="lamp_64_1_border" state="0">
- <bounds x="15" y="401" width="57" height="32"/>
- </element>
- <element name="lamp64" ref="lamp_64_1" state="0">
- <bounds x="17" y="403" width="53" height="28"/>
- </element>
- <element name="lamp69" ref="lamp_69_1_border" state="0">
- <bounds x="15" y="433" width="57" height="32"/>
- </element>
- <element name="lamp69" ref="lamp_69_1" state="0">
- <bounds x="17" y="435" width="53" height="28"/>
- </element>
- <element name="lamp67" ref="lamp_67_1_border" state="0">
- <bounds x="72" y="433" width="57" height="32"/>
- </element>
- <element name="lamp67" ref="lamp_67_1" state="0">
- <bounds x="74" y="435" width="53" height="28"/>
- </element>
- <element name="lamp70" ref="lamp_70_1_border" state="0">
- <bounds x="129" y="433" width="57" height="32"/>
- </element>
- <element name="lamp70" ref="lamp_70_1" state="0">
- <bounds x="131" y="435" width="53" height="28"/>
- </element>
- <element name="lamp203" ref="lamp_203_1_border" state="0">
- <bounds x="25" y="335" width="62" height="32"/>
- </element>
- <element name="lamp203" ref="lamp_203_1" state="0">
- <bounds x="27" y="337" width="58" height="28"/>
- </element>
- <element name="lamp204" ref="lamp_204_1_border" state="0">
- <bounds x="87" y="335" width="62" height="32"/>
- </element>
- <element name="lamp204" ref="lamp_204_1" state="0">
- <bounds x="89" y="337" width="58" height="28"/>
- </element>
- <element name="lamp205" ref="lamp_205_1_border" state="0">
- <bounds x="149" y="335" width="62" height="32"/>
- </element>
- <element name="lamp205" ref="lamp_205_1" state="0">
- <bounds x="151" y="337" width="58" height="28"/>
- </element>
- <element name="lamp206" ref="lamp_206_1_border" state="0">
- <bounds x="211" y="335" width="62" height="32"/>
- </element>
- <element name="lamp206" ref="lamp_206_1" state="0">
- <bounds x="213" y="337" width="58" height="28"/>
- </element>
- <element name="lamp207" ref="lamp_207_1_border" state="0">
- <bounds x="273" y="335" width="62" height="32"/>
- </element>
- <element name="lamp207" ref="lamp_207_1" state="0">
- <bounds x="275" y="337" width="58" height="28"/>
- </element>
- <element name="lamp221" ref="lamp_221_1_border" state="0">
- <bounds x="335" y="335" width="62" height="32"/>
- </element>
- <element name="lamp221" ref="lamp_221_1" state="0">
- <bounds x="337" y="337" width="58" height="28"/>
- </element>
- <element name="lamp223" ref="lamp_223_1_border" state="0">
- <bounds x="397" y="335" width="62" height="32"/>
- </element>
- <element name="lamp223" ref="lamp_223_1" state="0">
- <bounds x="399" y="337" width="58" height="28"/>
- </element>
- <element name="lamp169" ref="lamp_169_1_border" state="0">
- <bounds x="107" y="281" width="37" height="37"/>
- </element>
- <element name="lamp169" ref="lamp_169_1" state="0">
- <bounds x="109" y="283" width="33" height="33"/>
- </element>
- <element name="lamp168" ref="lamp_168_1_border" state="0">
- <bounds x="107" y="281" width="37" height="37"/>
- </element>
- <element name="lamp168" ref="lamp_168_1" state="0">
- <bounds x="109" y="283" width="33" height="33"/>
- </element>
- <element name="lamp58" ref="lamp_58_1_border" state="0">
- <bounds x="107" y="243" width="37" height="37"/>
- </element>
- <element name="lamp58" ref="lamp_58_1" state="0">
- <bounds x="109" y="245" width="33" height="33"/>
- </element>
- <element name="lamp59" ref="lamp_59_1_border" state="0">
- <bounds x="144" y="243" width="37" height="37"/>
- </element>
- <element name="lamp59" ref="lamp_59_1" state="0">
- <bounds x="146" y="245" width="33" height="33"/>
- </element>
- <element name="lamp171" ref="lamp_171_1_border" state="0">
- <bounds x="144" y="281" width="37" height="37"/>
- </element>
- <element name="lamp171" ref="lamp_171_1" state="0">
- <bounds x="146" y="283" width="33" height="33"/>
- </element>
- <element name="lamp170" ref="lamp_170_1_border" state="0">
- <bounds x="144" y="281" width="37" height="37"/>
- </element>
- <element name="lamp170" ref="lamp_170_1" state="0">
- <bounds x="146" y="283" width="33" height="33"/>
- </element>
- <element name="lamp60" ref="lamp_60_1_border" state="0">
- <bounds x="181" y="243" width="37" height="37"/>
- </element>
- <element name="lamp60" ref="lamp_60_1" state="0">
- <bounds x="183" y="245" width="33" height="33"/>
- </element>
- <element name="lamp173" ref="lamp_173_1_border" state="0">
- <bounds x="181" y="281" width="37" height="37"/>
- </element>
- <element name="lamp173" ref="lamp_173_1" state="0">
- <bounds x="183" y="283" width="33" height="33"/>
- </element>
- <element name="lamp172" ref="lamp_172_1_border" state="0">
- <bounds x="181" y="281" width="37" height="37"/>
- </element>
- <element name="lamp172" ref="lamp_172_1" state="0">
- <bounds x="183" y="283" width="33" height="33"/>
- </element>
- <element name="lamp56" ref="lamp_56_1_border" state="0">
- <bounds x="386" y="228" width="27" height="27"/>
- </element>
- <element name="lamp56" ref="lamp_56_1" state="0">
- <bounds x="388" y="230" width="23" height="23"/>
- </element>
- <element name="lamp57" ref="lamp_57_1_border" state="0">
- <bounds x="359" y="223" width="27" height="32"/>
- </element>
- <element name="lamp57" ref="lamp_57_1" state="0">
- <bounds x="361" y="225" width="23" height="28"/>
- </element>
- <element name="lamp55" ref="lamp_55_1_border" state="0">
- <bounds x="413" y="233" width="27" height="22"/>
- </element>
- <element name="lamp55" ref="lamp_55_1" state="0">
- <bounds x="415" y="235" width="23" height="18"/>
- </element>
- <element name="lamp54" ref="lamp_54_1_border" state="0">
- <bounds x="440" y="228" width="27" height="27"/>
- </element>
- <element name="lamp54" ref="lamp_54_1" state="0">
- <bounds x="442" y="230" width="23" height="23"/>
- </element>
- <element name="lamp53" ref="lamp_53_1_border" state="0">
- <bounds x="467" y="223" width="27" height="32"/>
- </element>
- <element name="lamp53" ref="lamp_53_1" state="0">
- <bounds x="469" y="225" width="23" height="28"/>
- </element>
- <element name="lamp139" ref="lamp_139_1_border" state="0">
- <bounds x="308" y="262" width="22" height="22"/>
- </element>
- <element name="lamp139" ref="lamp_139_1" state="0">
- <bounds x="310" y="264" width="18" height="18"/>
- </element>
- <element name="lamp138" ref="lamp_138_1_border" state="0">
- <bounds x="288" y="262" width="22" height="22"/>
- </element>
- <element name="lamp138" ref="lamp_138_1" state="0">
- <bounds x="290" y="264" width="18" height="18"/>
- </element>
- <element name="lamp137" ref="lamp_137_1_border" state="0">
- <bounds x="268" y="262" width="22" height="22"/>
- </element>
- <element name="lamp137" ref="lamp_137_1" state="0">
- <bounds x="270" y="264" width="18" height="18"/>
- </element>
- <element name="lamp136" ref="lamp_136_1_border" state="0">
- <bounds x="248" y="262" width="22" height="22"/>
- </element>
- <element name="lamp136" ref="lamp_136_1" state="0">
- <bounds x="250" y="264" width="18" height="18"/>
- </element>
- <element name="lamp140" ref="lamp_140_1_border" state="0">
- <bounds x="248" y="242" width="22" height="22"/>
- </element>
- <element name="lamp140" ref="lamp_140_1" state="0">
- <bounds x="250" y="244" width="18" height="18"/>
- </element>
- <element name="lamp141" ref="lamp_141_1_border" state="0">
- <bounds x="268" y="242" width="22" height="22"/>
- </element>
- <element name="lamp141" ref="lamp_141_1" state="0">
- <bounds x="270" y="244" width="18" height="18"/>
- </element>
- <element name="lamp142" ref="lamp_142_1_border" state="0">
- <bounds x="288" y="242" width="22" height="22"/>
- </element>
- <element name="lamp142" ref="lamp_142_1" state="0">
- <bounds x="290" y="244" width="18" height="18"/>
- </element>
- <element name="lamp143" ref="lamp_143_1_border" state="0">
- <bounds x="308" y="242" width="22" height="22"/>
- </element>
- <element name="lamp143" ref="lamp_143_1" state="0">
- <bounds x="310" y="244" width="18" height="18"/>
- </element>
- <element name="lamp135" ref="lamp_135_1_border" state="0">
- <bounds x="308" y="282" width="22" height="22"/>
- </element>
- <element name="lamp135" ref="lamp_135_1" state="0">
- <bounds x="310" y="284" width="18" height="18"/>
- </element>
- <element name="lamp134" ref="lamp_134_1_border" state="0">
- <bounds x="288" y="282" width="22" height="22"/>
- </element>
- <element name="lamp134" ref="lamp_134_1" state="0">
- <bounds x="290" y="284" width="18" height="18"/>
- </element>
- <element name="lamp133" ref="lamp_133_1_border" state="0">
- <bounds x="268" y="282" width="22" height="22"/>
- </element>
- <element name="lamp133" ref="lamp_133_1" state="0">
- <bounds x="270" y="284" width="18" height="18"/>
- </element>
- <element name="lamp132" ref="lamp_132_1_border" state="0">
- <bounds x="248" y="282" width="22" height="22"/>
- </element>
- <element name="lamp132" ref="lamp_132_1" state="0">
- <bounds x="250" y="284" width="18" height="18"/>
- </element>
- <element name="lamp131" ref="lamp_131_1_border" state="0">
- <bounds x="308" y="302" width="22" height="22"/>
- </element>
- <element name="lamp131" ref="lamp_131_1" state="0">
- <bounds x="310" y="304" width="18" height="18"/>
- </element>
- <element name="lamp130" ref="lamp_130_1_border" state="0">
- <bounds x="288" y="302" width="22" height="22"/>
- </element>
- <element name="lamp130" ref="lamp_130_1" state="0">
- <bounds x="290" y="304" width="18" height="18"/>
- </element>
- <element name="lamp129" ref="lamp_129_1_border" state="0">
- <bounds x="268" y="302" width="22" height="22"/>
- </element>
- <element name="lamp129" ref="lamp_129_1" state="0">
- <bounds x="270" y="304" width="18" height="18"/>
- </element>
- <element name="lamp128" ref="lamp_128_1_border" state="0">
- <bounds x="248" y="302" width="22" height="22"/>
- </element>
- <element name="lamp128" ref="lamp_128_1" state="0">
- <bounds x="250" y="304" width="18" height="18"/>
- </element>
- <element name="lamp215" ref="lamp_215_1_border" state="0">
- <bounds x="734" y="463" width="48" height="27"/>
- </element>
- <element name="lamp215" ref="lamp_215_1" state="0">
- <bounds x="736" y="465" width="44" height="23"/>
- </element>
- <element name="lamp216" ref="lamp_216_1_border" state="0">
- <bounds x="734" y="436" width="48" height="27"/>
- </element>
- <element name="lamp216" ref="lamp_216_1" state="0">
- <bounds x="736" y="438" width="44" height="23"/>
- </element>
- <element name="lamp219" ref="lamp_219_1_border" state="0">
- <bounds x="734" y="355" width="48" height="27"/>
- </element>
- <element name="lamp219" ref="lamp_219_1" state="0">
- <bounds x="736" y="357" width="44" height="23"/>
- </element>
- <element name="lamp218" ref="lamp_218_1_border" state="0">
- <bounds x="734" y="382" width="48" height="27"/>
- </element>
- <element name="lamp218" ref="lamp_218_1" state="0">
- <bounds x="736" y="384" width="44" height="23"/>
- </element>
- <element name="lamp217" ref="lamp_217_1_border" state="0">
- <bounds x="734" y="409" width="48" height="27"/>
- </element>
- <element name="lamp217" ref="lamp_217_1" state="0">
- <bounds x="736" y="411" width="44" height="23"/>
- </element>
- <element name="lamp214" ref="lamp_214_1_border" state="0">
- <bounds x="734" y="490" width="48" height="27"/>
- </element>
- <element name="lamp214" ref="lamp_214_1" state="0">
- <bounds x="736" y="492" width="44" height="23"/>
- </element>
- <element name="lamp213" ref="lamp_213_1_border" state="0">
- <bounds x="734" y="517" width="48" height="27"/>
- </element>
- <element name="lamp213" ref="lamp_213_1" state="0">
- <bounds x="736" y="519" width="44" height="23"/>
- </element>
- <element name="lamp212" ref="lamp_212_1_border" state="0">
- <bounds x="734" y="544" width="48" height="27"/>
- </element>
- <element name="lamp212" ref="lamp_212_1" state="0">
- <bounds x="736" y="546" width="44" height="23"/>
- </element>
- <element name="lamp52" ref="lamp_52_1_border" state="0">
- <bounds x="703" y="221" width="37" height="22"/>
- </element>
- <element name="lamp52" ref="lamp_52_1" state="0">
- <bounds x="705" y="223" width="33" height="18"/>
- </element>
- <element name="lamp51" ref="lamp_51_1_border" state="0">
- <bounds x="656" y="221" width="47" height="22"/>
- </element>
- <element name="lamp51" ref="lamp_51_1" state="0">
- <bounds x="658" y="223" width="43" height="18"/>
- </element>
- <element name="lamp50" ref="lamp_50_1_border" state="0">
- <bounds x="619" y="221" width="37" height="22"/>
- </element>
- <element name="lamp50" ref="lamp_50_1" state="0">
- <bounds x="621" y="223" width="33" height="18"/>
- </element>
- <element name="lamp49" ref="lamp_49_1_border" state="0">
- <bounds x="572" y="221" width="47" height="22"/>
- </element>
- <element name="lamp49" ref="lamp_49_1" state="0">
- <bounds x="574" y="223" width="43" height="18"/>
- </element>
- <element name="lamp48" ref="lamp_48_1_border" state="0">
- <bounds x="535" y="221" width="37" height="22"/>
- </element>
- <element name="lamp48" ref="lamp_48_1" state="0">
- <bounds x="537" y="223" width="33" height="18"/>
- </element>
- <element name="lamp239" ref="lamp_239_1_border" state="0">
- <bounds x="404" y="148" width="62" height="22"/>
- </element>
- <element name="lamp239" ref="lamp_239_1" state="0">
- <bounds x="406" y="150" width="58" height="18"/>
- </element>
- <element name="lamp192" ref="colour_button_167_border" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="692" y="604" width="82" height="38"/>
- </element>
- <element name="lamp192" ref="colour_button_167" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="694" y="606" width="78" height="34"/>
- </element>
- <element name="lamp241" ref="colour_button_168_border" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="184" y="604" width="78" height="38"/>
- </element>
- <element name="lamp241" ref="colour_button_168" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="186" y="606" width="74" height="34"/>
- </element>
- <element name="lamp208" ref="colour_button_169_border" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="432" y="604" width="82" height="38"/>
- </element>
- <element name="lamp208" ref="colour_button_169" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="434" y="606" width="78" height="34"/>
- </element>
- <element name="lamp210" ref="colour_button_170_border" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="350" y="604" width="82" height="38"/>
- </element>
- <element name="lamp210" ref="colour_button_170" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="352" y="606" width="78" height="34"/>
- </element>
- <element name="lamp240" ref="colour_button_171_border" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="268" y="604" width="82" height="38"/>
- </element>
- <element name="lamp240" ref="colour_button_171" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="270" y="606" width="78" height="34"/>
- </element>
- <element name="lamp195" ref="colour_button_172_border" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="603" y="604" width="78" height="38"/>
- </element>
- <element name="lamp195" ref="colour_button_172" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="605" y="606" width="74" height="34"/>
- </element>
- <element name="lamp194" ref="colour_button_173_border" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="521" y="604" width="78" height="38"/>
- </element>
- <element name="lamp194" ref="colour_button_173" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="523" y="606" width="74" height="34"/>
- </element>
- <element name="lamp13" ref="colour_button_179_border" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="571" y="418" width="42" height="27"/>
- </element>
- <element name="lamp13" ref="colour_button_179" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="573" y="420" width="38" height="23"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="512" y="95" width="30" height="40"/>
- </element>
- <element name="digit3" ref="led_digit_green">
- <bounds x="512" y="95" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
- <bounds x="512" y="95" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="482" y="95" width="30" height="40"/>
- </element>
- <element name="digit2" ref="led_digit_green">
- <bounds x="482" y="95" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
- <bounds x="482" y="95" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="561" y="376" width="30" height="40"/>
- </element>
- <element name="digit0" ref="led_digit_red">
- <bounds x="561" y="376" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="561" y="376" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="591" y="376" width="30" height="40"/>
- </element>
- <element name="digit1" ref="led_digit_red">
- <bounds x="591" y="376" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="591" y="376" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="vfd0_background">
- <bounds x="256" y="380" width="272" height="30"/>
- </element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="256" increment="17"/>
- <element name="vfd~i~" ref="vfd0">
- <bounds x="~x~" y="380" width="17" height="30"/>
- </element>
- </repeat>
- <element name="label19" ref="label_19">
- <bounds x="636" y="85" width="48" height="14"/>
- </element>
- <element name="label20" ref="label_20">
- <bounds x="515" y="63" width="83" height="16"/>
- </element>
- <element name="label55" ref="label_55">
- <bounds x="215" y="94" width="35" height="32"/>
- </element>
- <element name="label65" ref="label_65">
- <bounds x="578" y="106" width="17" height="14"/>
- </element>
- <element name="label66" ref="label_66">
- <bounds x="555" y="130" width="41" height="14"/>
- </element>
- <element name="label67" ref="label_67">
- <bounds x="488" y="135" width="41" height="32"/>
- </element>
- <element name="label71" ref="label_71">
- <bounds x="242" y="498" width="25" height="26"/>
- </element>
- <element name="label72" ref="label_72">
- <bounds x="515" y="498" width="25" height="26"/>
- </element>
- <element name="label94" ref="label_94">
- <bounds x="118" y="226" width="63" height="16"/>
- </element>
- <element name="label105" ref="label_105">
- <bounds x="383" y="258" width="71" height="14"/>
- </element>
- <element name="label106" ref="label_106">
- <bounds x="238" y="228" width="80" height="14"/>
- </element>
- <element name="label134" ref="label_134">
- <bounds x="558" y="355" width="51" height="22"/>
- </element>
- <element name="label140" ref="label_140">
- <bounds x="621" y="245" width="40" height="32"/>
- </element>
- <element name="label141" ref="label_141">
- <bounds x="409" y="56" width="49" height="22"/>
- </element>
- </view>
-
- <view name="MFME2MAME Debug">
- <element ref="debug_backdrop_colour">
- <bounds x="0" y="0" width="1920" height="1080"/>
- </element>
- <element name="lamp0" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_0" ref="debug_lamp_label_0">
- <bounds x="47" y="47" width="30" height="30"/>
- </element>
- <element name="lamp1" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_1" ref="debug_lamp_label_1">
- <bounds x="111" y="47" width="30" height="30"/>
- </element>
- <element name="lamp2" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_2" ref="debug_lamp_label_2">
- <bounds x="175" y="47" width="30" height="30"/>
- </element>
- <element name="lamp3" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_3" ref="debug_lamp_label_3">
- <bounds x="239" y="47" width="30" height="30"/>
- </element>
- <element name="lamp4" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_4" ref="debug_lamp_label_4">
- <bounds x="303" y="47" width="30" height="30"/>
- </element>
- <element name="lamp5" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_5" ref="debug_lamp_label_5">
- <bounds x="367" y="47" width="30" height="30"/>
- </element>
- <element name="lamp6" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_6" ref="debug_lamp_label_6">
- <bounds x="431" y="47" width="30" height="30"/>
- </element>
- <element name="lamp7" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_7" ref="debug_lamp_label_7">
- <bounds x="495" y="47" width="30" height="30"/>
- </element>
- <element name="lamp8" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_8" ref="debug_lamp_label_8">
- <bounds x="559" y="47" width="30" height="30"/>
- </element>
- <element name="lamp9" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_9" ref="debug_lamp_label_9">
- <bounds x="623" y="47" width="30" height="30"/>
- </element>
- <element name="lamp10" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_10" ref="debug_lamp_label_10">
- <bounds x="687" y="47" width="30" height="30"/>
- </element>
- <element name="lamp11" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_11" ref="debug_lamp_label_11">
- <bounds x="751" y="47" width="30" height="30"/>
- </element>
- <element name="lamp12" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_12" ref="debug_lamp_label_12">
- <bounds x="815" y="47" width="30" height="30"/>
- </element>
- <element name="lamp13" ref="debug_lamp_button" state="0">
- <bounds x="864" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_13" ref="debug_lamp_label_13">
- <bounds x="879" y="47" width="30" height="30"/>
- </element>
- <element name="lamp14" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_14" ref="debug_lamp_label_14">
- <bounds x="943" y="47" width="30" height="30"/>
- </element>
- <element name="lamp15" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_15" ref="debug_lamp_label_15">
- <bounds x="1007" y="47" width="30" height="30"/>
- </element>
- <element name="lamp16" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_16" ref="debug_lamp_label_16">
- <bounds x="47" y="111" width="30" height="30"/>
- </element>
- <element name="lamp17" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_17" ref="debug_lamp_label_17">
- <bounds x="111" y="111" width="30" height="30"/>
- </element>
- <element name="lamp18" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_18" ref="debug_lamp_label_18">
- <bounds x="175" y="111" width="30" height="30"/>
- </element>
- <element name="lamp19" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_19" ref="debug_lamp_label_19">
- <bounds x="239" y="111" width="30" height="30"/>
- </element>
- <element name="lamp20" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_20" ref="debug_lamp_label_20">
- <bounds x="303" y="111" width="30" height="30"/>
- </element>
- <element name="lamp21" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_21" ref="debug_lamp_label_21">
- <bounds x="367" y="111" width="30" height="30"/>
- </element>
- <element name="lamp22" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_22" ref="debug_lamp_label_22">
- <bounds x="431" y="111" width="30" height="30"/>
- </element>
- <element name="lamp23" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_23" ref="debug_lamp_label_23">
- <bounds x="495" y="111" width="30" height="30"/>
- </element>
- <element name="lamp24" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_24" ref="debug_lamp_label_24">
- <bounds x="559" y="111" width="30" height="30"/>
- </element>
- <element name="lamp25" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_25" ref="debug_lamp_label_25">
- <bounds x="623" y="111" width="30" height="30"/>
- </element>
- <element name="lamp26" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_26" ref="debug_lamp_label_26">
- <bounds x="687" y="111" width="30" height="30"/>
- </element>
- <element name="lamp27" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_27" ref="debug_lamp_label_27">
- <bounds x="751" y="111" width="30" height="30"/>
- </element>
- <element name="lamp28" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_28" ref="debug_lamp_label_28">
- <bounds x="815" y="111" width="30" height="30"/>
- </element>
- <element name="lamp29" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_29" ref="debug_lamp_label_29">
- <bounds x="879" y="111" width="30" height="30"/>
- </element>
- <element name="lamp30" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_30" ref="debug_lamp_label_30">
- <bounds x="943" y="111" width="30" height="30"/>
- </element>
- <element name="lamp31" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_31" ref="debug_lamp_label_31">
- <bounds x="1007" y="111" width="30" height="30"/>
- </element>
- <element name="lamp32" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_32" ref="debug_lamp_label_32">
- <bounds x="47" y="175" width="30" height="30"/>
- </element>
- <element name="lamp33" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_33" ref="debug_lamp_label_33">
- <bounds x="111" y="175" width="30" height="30"/>
- </element>
- <element name="lamp34" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_34" ref="debug_lamp_label_34">
- <bounds x="175" y="175" width="30" height="30"/>
- </element>
- <element name="lamp35" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_35" ref="debug_lamp_label_35">
- <bounds x="239" y="175" width="30" height="30"/>
- </element>
- <element name="lamp36" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_36" ref="debug_lamp_label_36">
- <bounds x="303" y="175" width="30" height="30"/>
- </element>
- <element name="lamp37" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_37" ref="debug_lamp_label_37">
- <bounds x="367" y="175" width="30" height="30"/>
- </element>
- <element name="lamp38" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_38" ref="debug_lamp_label_38">
- <bounds x="431" y="175" width="30" height="30"/>
- </element>
- <element name="lamp39" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_39" ref="debug_lamp_label_39">
- <bounds x="495" y="175" width="30" height="30"/>
- </element>
- <element name="lamp40" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_40" ref="debug_lamp_label_40">
- <bounds x="559" y="175" width="30" height="30"/>
- </element>
- <element name="lamp41" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_41" ref="debug_lamp_label_41">
- <bounds x="623" y="175" width="30" height="30"/>
- </element>
- <element name="lamp42" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_42" ref="debug_lamp_label_42">
- <bounds x="687" y="175" width="30" height="30"/>
- </element>
- <element name="lamp43" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_43" ref="debug_lamp_label_43">
- <bounds x="751" y="175" width="30" height="30"/>
- </element>
- <element name="lamp44" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_44" ref="debug_lamp_label_44">
- <bounds x="815" y="175" width="30" height="30"/>
- </element>
- <element name="lamp45" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_45" ref="debug_lamp_label_45">
- <bounds x="879" y="175" width="30" height="30"/>
- </element>
- <element name="lamp46" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_46" ref="debug_lamp_label_46">
- <bounds x="943" y="175" width="30" height="30"/>
- </element>
- <element name="lamp47" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_47" ref="debug_lamp_label_47">
- <bounds x="1007" y="175" width="30" height="30"/>
- </element>
- <element name="lamp48" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_48" ref="debug_lamp_label_48">
- <bounds x="47" y="239" width="30" height="30"/>
- </element>
- <element name="lamp49" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_49" ref="debug_lamp_label_49">
- <bounds x="111" y="239" width="30" height="30"/>
- </element>
- <element name="lamp50" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_50" ref="debug_lamp_label_50">
- <bounds x="175" y="239" width="30" height="30"/>
- </element>
- <element name="lamp51" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_51" ref="debug_lamp_label_51">
- <bounds x="239" y="239" width="30" height="30"/>
- </element>
- <element name="lamp52" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_52" ref="debug_lamp_label_52">
- <bounds x="303" y="239" width="30" height="30"/>
- </element>
- <element name="lamp53" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_53" ref="debug_lamp_label_53">
- <bounds x="367" y="239" width="30" height="30"/>
- </element>
- <element name="lamp54" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_54" ref="debug_lamp_label_54">
- <bounds x="431" y="239" width="30" height="30"/>
- </element>
- <element name="lamp55" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_55" ref="debug_lamp_label_55">
- <bounds x="495" y="239" width="30" height="30"/>
- </element>
- <element name="lamp56" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_56" ref="debug_lamp_label_56">
- <bounds x="559" y="239" width="30" height="30"/>
- </element>
- <element name="lamp57" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_57" ref="debug_lamp_label_57">
- <bounds x="623" y="239" width="30" height="30"/>
- </element>
- <element name="lamp58" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_58" ref="debug_lamp_label_58">
- <bounds x="687" y="239" width="30" height="30"/>
- </element>
- <element name="lamp59" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_59" ref="debug_lamp_label_59">
- <bounds x="751" y="239" width="30" height="30"/>
- </element>
- <element name="lamp60" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_60" ref="debug_lamp_label_60">
- <bounds x="815" y="239" width="30" height="30"/>
- </element>
- <element name="lamp61" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_61" ref="debug_lamp_label_61">
- <bounds x="879" y="239" width="30" height="30"/>
- </element>
- <element name="lamp62" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_62" ref="debug_lamp_label_62">
- <bounds x="943" y="239" width="30" height="30"/>
- </element>
- <element name="lamp63" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_63" ref="debug_lamp_label_63">
- <bounds x="1007" y="239" width="30" height="30"/>
- </element>
- <element name="lamp64" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_64" ref="debug_lamp_label_64">
- <bounds x="47" y="303" width="30" height="30"/>
- </element>
- <element name="lamp65" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_65" ref="debug_lamp_label_65">
- <bounds x="111" y="303" width="30" height="30"/>
- </element>
- <element name="lamp66" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_66" ref="debug_lamp_label_66">
- <bounds x="175" y="303" width="30" height="30"/>
- </element>
- <element name="lamp67" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_67" ref="debug_lamp_label_67">
- <bounds x="239" y="303" width="30" height="30"/>
- </element>
- <element name="lamp68" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_68" ref="debug_lamp_label_68">
- <bounds x="303" y="303" width="30" height="30"/>
- </element>
- <element name="lamp69" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_69" ref="debug_lamp_label_69">
- <bounds x="367" y="303" width="30" height="30"/>
- </element>
- <element name="lamp70" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_70" ref="debug_lamp_label_70">
- <bounds x="431" y="303" width="30" height="30"/>
- </element>
- <element name="lamp71" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_71" ref="debug_lamp_label_71">
- <bounds x="495" y="303" width="30" height="30"/>
- </element>
- <element name="lamp72" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_72" ref="debug_lamp_label_72">
- <bounds x="559" y="303" width="30" height="30"/>
- </element>
- <element name="lamp73" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_73" ref="debug_lamp_label_73">
- <bounds x="623" y="303" width="30" height="30"/>
- </element>
- <element name="lamp74" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_74" ref="debug_lamp_label_74">
- <bounds x="687" y="303" width="30" height="30"/>
- </element>
- <element name="lamp75" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_75" ref="debug_lamp_label_75">
- <bounds x="751" y="303" width="30" height="30"/>
- </element>
- <element name="lamp76" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_76" ref="debug_lamp_label_76">
- <bounds x="815" y="303" width="30" height="30"/>
- </element>
- <element name="lamp77" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_77" ref="debug_lamp_label_77">
- <bounds x="879" y="303" width="30" height="30"/>
- </element>
- <element name="lamp78" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_78" ref="debug_lamp_label_78">
- <bounds x="943" y="303" width="30" height="30"/>
- </element>
- <element name="lamp79" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_79" ref="debug_lamp_label_79">
- <bounds x="1007" y="303" width="30" height="30"/>
- </element>
- <element name="lamp80" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_80" ref="debug_lamp_label_80">
- <bounds x="47" y="367" width="30" height="30"/>
- </element>
- <element name="lamp81" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_81" ref="debug_lamp_label_81">
- <bounds x="111" y="367" width="30" height="30"/>
- </element>
- <element name="lamp82" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_82" ref="debug_lamp_label_82">
- <bounds x="175" y="367" width="30" height="30"/>
- </element>
- <element name="lamp83" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_83" ref="debug_lamp_label_83">
- <bounds x="239" y="367" width="30" height="30"/>
- </element>
- <element name="lamp84" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_84" ref="debug_lamp_label_84">
- <bounds x="303" y="367" width="30" height="30"/>
- </element>
- <element name="lamp85" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_85" ref="debug_lamp_label_85">
- <bounds x="367" y="367" width="30" height="30"/>
- </element>
- <element name="lamp86" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_86" ref="debug_lamp_label_86">
- <bounds x="431" y="367" width="30" height="30"/>
- </element>
- <element name="lamp87" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_87" ref="debug_lamp_label_87">
- <bounds x="495" y="367" width="30" height="30"/>
- </element>
- <element name="lamp88" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_88" ref="debug_lamp_label_88">
- <bounds x="559" y="367" width="30" height="30"/>
- </element>
- <element name="lamp89" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_89" ref="debug_lamp_label_89">
- <bounds x="623" y="367" width="30" height="30"/>
- </element>
- <element name="lamp90" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_90" ref="debug_lamp_label_90">
- <bounds x="687" y="367" width="30" height="30"/>
- </element>
- <element name="lamp91" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_91" ref="debug_lamp_label_91">
- <bounds x="751" y="367" width="30" height="30"/>
- </element>
- <element name="lamp92" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_92" ref="debug_lamp_label_92">
- <bounds x="815" y="367" width="30" height="30"/>
- </element>
- <element name="lamp93" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_93" ref="debug_lamp_label_93">
- <bounds x="879" y="367" width="30" height="30"/>
- </element>
- <element name="lamp94" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_94" ref="debug_lamp_label_94">
- <bounds x="943" y="367" width="30" height="30"/>
- </element>
- <element name="lamp95" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_95" ref="debug_lamp_label_95">
- <bounds x="1007" y="367" width="30" height="30"/>
- </element>
- <element name="lamp96" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_96" ref="debug_lamp_label_96">
- <bounds x="47" y="431" width="30" height="30"/>
- </element>
- <element name="lamp97" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_97" ref="debug_lamp_label_97">
- <bounds x="111" y="431" width="30" height="30"/>
- </element>
- <element name="lamp98" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_98" ref="debug_lamp_label_98">
- <bounds x="175" y="431" width="30" height="30"/>
- </element>
- <element name="lamp99" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_99" ref="debug_lamp_label_99">
- <bounds x="239" y="431" width="30" height="30"/>
- </element>
- <element name="lamp100" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_100" ref="debug_lamp_label_100">
- <bounds x="303" y="431" width="30" height="30"/>
- </element>
- <element name="lamp101" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_101" ref="debug_lamp_label_101">
- <bounds x="367" y="431" width="30" height="30"/>
- </element>
- <element name="lamp102" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_102" ref="debug_lamp_label_102">
- <bounds x="431" y="431" width="30" height="30"/>
- </element>
- <element name="lamp103" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_103" ref="debug_lamp_label_103">
- <bounds x="495" y="431" width="30" height="30"/>
- </element>
- <element name="lamp104" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_104" ref="debug_lamp_label_104">
- <bounds x="559" y="431" width="30" height="30"/>
- </element>
- <element name="lamp105" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_105" ref="debug_lamp_label_105">
- <bounds x="623" y="431" width="30" height="30"/>
- </element>
- <element name="lamp106" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_106" ref="debug_lamp_label_106">
- <bounds x="687" y="431" width="30" height="30"/>
- </element>
- <element name="lamp107" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_107" ref="debug_lamp_label_107">
- <bounds x="751" y="431" width="30" height="30"/>
- </element>
- <element name="lamp108" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_108" ref="debug_lamp_label_108">
- <bounds x="815" y="431" width="30" height="30"/>
- </element>
- <element name="lamp109" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_109" ref="debug_lamp_label_109">
- <bounds x="879" y="431" width="30" height="30"/>
- </element>
- <element name="lamp110" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_110" ref="debug_lamp_label_110">
- <bounds x="943" y="431" width="30" height="30"/>
- </element>
- <element name="lamp111" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_111" ref="debug_lamp_label_111">
- <bounds x="1007" y="431" width="30" height="30"/>
- </element>
- <element name="lamp112" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_112" ref="debug_lamp_label_112">
- <bounds x="47" y="495" width="30" height="30"/>
- </element>
- <element name="lamp113" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_113" ref="debug_lamp_label_113">
- <bounds x="111" y="495" width="30" height="30"/>
- </element>
- <element name="lamp114" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_114" ref="debug_lamp_label_114">
- <bounds x="175" y="495" width="30" height="30"/>
- </element>
- <element name="lamp115" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_115" ref="debug_lamp_label_115">
- <bounds x="239" y="495" width="30" height="30"/>
- </element>
- <element name="lamp116" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_116" ref="debug_lamp_label_116">
- <bounds x="303" y="495" width="30" height="30"/>
- </element>
- <element name="lamp117" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_117" ref="debug_lamp_label_117">
- <bounds x="367" y="495" width="30" height="30"/>
- </element>
- <element name="lamp118" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_118" ref="debug_lamp_label_118">
- <bounds x="431" y="495" width="30" height="30"/>
- </element>
- <element name="lamp119" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_119" ref="debug_lamp_label_119">
- <bounds x="495" y="495" width="30" height="30"/>
- </element>
- <element name="lamp120" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_120" ref="debug_lamp_label_120">
- <bounds x="559" y="495" width="30" height="30"/>
- </element>
- <element name="lamp121" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_121" ref="debug_lamp_label_121">
- <bounds x="623" y="495" width="30" height="30"/>
- </element>
- <element name="lamp122" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_122" ref="debug_lamp_label_122">
- <bounds x="687" y="495" width="30" height="30"/>
- </element>
- <element name="lamp123" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_123" ref="debug_lamp_label_123">
- <bounds x="751" y="495" width="30" height="30"/>
- </element>
- <element name="lamp124" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_124" ref="debug_lamp_label_124">
- <bounds x="815" y="495" width="30" height="30"/>
- </element>
- <element name="lamp125" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_125" ref="debug_lamp_label_125">
- <bounds x="879" y="495" width="30" height="30"/>
- </element>
- <element name="lamp126" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_126" ref="debug_lamp_label_126">
- <bounds x="943" y="495" width="30" height="30"/>
- </element>
- <element name="lamp127" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_127" ref="debug_lamp_label_127">
- <bounds x="1007" y="495" width="30" height="30"/>
- </element>
- <element name="lamp128" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_128" ref="debug_lamp_label_128">
- <bounds x="47" y="559" width="30" height="30"/>
- </element>
- <element name="lamp129" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_129" ref="debug_lamp_label_129">
- <bounds x="111" y="559" width="30" height="30"/>
- </element>
- <element name="lamp130" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_130" ref="debug_lamp_label_130">
- <bounds x="175" y="559" width="30" height="30"/>
- </element>
- <element name="lamp131" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_131" ref="debug_lamp_label_131">
- <bounds x="239" y="559" width="30" height="30"/>
- </element>
- <element name="lamp132" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_132" ref="debug_lamp_label_132">
- <bounds x="303" y="559" width="30" height="30"/>
- </element>
- <element name="lamp133" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_133" ref="debug_lamp_label_133">
- <bounds x="367" y="559" width="30" height="30"/>
- </element>
- <element name="lamp134" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_134" ref="debug_lamp_label_134">
- <bounds x="431" y="559" width="30" height="30"/>
- </element>
- <element name="lamp135" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_135" ref="debug_lamp_label_135">
- <bounds x="495" y="559" width="30" height="30"/>
- </element>
- <element name="lamp136" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_136" ref="debug_lamp_label_136">
- <bounds x="559" y="559" width="30" height="30"/>
- </element>
- <element name="lamp137" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_137" ref="debug_lamp_label_137">
- <bounds x="623" y="559" width="30" height="30"/>
- </element>
- <element name="lamp138" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_138" ref="debug_lamp_label_138">
- <bounds x="687" y="559" width="30" height="30"/>
- </element>
- <element name="lamp139" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_139" ref="debug_lamp_label_139">
- <bounds x="751" y="559" width="30" height="30"/>
- </element>
- <element name="lamp140" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_140" ref="debug_lamp_label_140">
- <bounds x="815" y="559" width="30" height="30"/>
- </element>
- <element name="lamp141" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_141" ref="debug_lamp_label_141">
- <bounds x="879" y="559" width="30" height="30"/>
- </element>
- <element name="lamp142" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_142" ref="debug_lamp_label_142">
- <bounds x="943" y="559" width="30" height="30"/>
- </element>
- <element name="lamp143" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_143" ref="debug_lamp_label_143">
- <bounds x="1007" y="559" width="30" height="30"/>
- </element>
- <element name="lamp144" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_144" ref="debug_lamp_label_144">
- <bounds x="47" y="623" width="30" height="30"/>
- </element>
- <element name="lamp145" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_145" ref="debug_lamp_label_145">
- <bounds x="111" y="623" width="30" height="30"/>
- </element>
- <element name="lamp146" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_146" ref="debug_lamp_label_146">
- <bounds x="175" y="623" width="30" height="30"/>
- </element>
- <element name="lamp147" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_147" ref="debug_lamp_label_147">
- <bounds x="239" y="623" width="30" height="30"/>
- </element>
- <element name="lamp148" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_148" ref="debug_lamp_label_148">
- <bounds x="303" y="623" width="30" height="30"/>
- </element>
- <element name="lamp149" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_149" ref="debug_lamp_label_149">
- <bounds x="367" y="623" width="30" height="30"/>
- </element>
- <element name="lamp150" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_150" ref="debug_lamp_label_150">
- <bounds x="431" y="623" width="30" height="30"/>
- </element>
- <element name="lamp151" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_151" ref="debug_lamp_label_151">
- <bounds x="495" y="623" width="30" height="30"/>
- </element>
- <element name="lamp152" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_152" ref="debug_lamp_label_152">
- <bounds x="559" y="623" width="30" height="30"/>
- </element>
- <element name="lamp153" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_153" ref="debug_lamp_label_153">
- <bounds x="623" y="623" width="30" height="30"/>
- </element>
- <element name="lamp154" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_154" ref="debug_lamp_label_154">
- <bounds x="687" y="623" width="30" height="30"/>
- </element>
- <element name="lamp155" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_155" ref="debug_lamp_label_155">
- <bounds x="751" y="623" width="30" height="30"/>
- </element>
- <element name="lamp156" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_156" ref="debug_lamp_label_156">
- <bounds x="815" y="623" width="30" height="30"/>
- </element>
- <element name="lamp157" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_157" ref="debug_lamp_label_157">
- <bounds x="879" y="623" width="30" height="30"/>
- </element>
- <element name="lamp158" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_158" ref="debug_lamp_label_158">
- <bounds x="943" y="623" width="30" height="30"/>
- </element>
- <element name="lamp159" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_159" ref="debug_lamp_label_159">
- <bounds x="1007" y="623" width="30" height="30"/>
- </element>
- <element name="lamp160" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_160" ref="debug_lamp_label_160">
- <bounds x="47" y="687" width="30" height="30"/>
- </element>
- <element name="lamp161" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_161" ref="debug_lamp_label_161">
- <bounds x="111" y="687" width="30" height="30"/>
- </element>
- <element name="lamp162" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_162" ref="debug_lamp_label_162">
- <bounds x="175" y="687" width="30" height="30"/>
- </element>
- <element name="lamp163" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_163" ref="debug_lamp_label_163">
- <bounds x="239" y="687" width="30" height="30"/>
- </element>
- <element name="lamp164" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_164" ref="debug_lamp_label_164">
- <bounds x="303" y="687" width="30" height="30"/>
- </element>
- <element name="lamp165" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_165" ref="debug_lamp_label_165">
- <bounds x="367" y="687" width="30" height="30"/>
- </element>
- <element name="lamp166" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_166" ref="debug_lamp_label_166">
- <bounds x="431" y="687" width="30" height="30"/>
- </element>
- <element name="lamp167" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_167" ref="debug_lamp_label_167">
- <bounds x="495" y="687" width="30" height="30"/>
- </element>
- <element name="lamp168" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_168" ref="debug_lamp_label_168">
- <bounds x="559" y="687" width="30" height="30"/>
- </element>
- <element name="lamp169" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_169" ref="debug_lamp_label_169">
- <bounds x="623" y="687" width="30" height="30"/>
- </element>
- <element name="lamp170" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_170" ref="debug_lamp_label_170">
- <bounds x="687" y="687" width="30" height="30"/>
- </element>
- <element name="lamp171" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_171" ref="debug_lamp_label_171">
- <bounds x="751" y="687" width="30" height="30"/>
- </element>
- <element name="lamp172" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_172" ref="debug_lamp_label_172">
- <bounds x="815" y="687" width="30" height="30"/>
- </element>
- <element name="lamp173" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_173" ref="debug_lamp_label_173">
- <bounds x="879" y="687" width="30" height="30"/>
- </element>
- <element name="lamp174" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_174" ref="debug_lamp_label_174">
- <bounds x="943" y="687" width="30" height="30"/>
- </element>
- <element name="lamp175" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_175" ref="debug_lamp_label_175">
- <bounds x="1007" y="687" width="30" height="30"/>
- </element>
- <element name="lamp176" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_176" ref="debug_lamp_label_176">
- <bounds x="47" y="751" width="30" height="30"/>
- </element>
- <element name="lamp177" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_177" ref="debug_lamp_label_177">
- <bounds x="111" y="751" width="30" height="30"/>
- </element>
- <element name="lamp178" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_178" ref="debug_lamp_label_178">
- <bounds x="175" y="751" width="30" height="30"/>
- </element>
- <element name="lamp179" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_179" ref="debug_lamp_label_179">
- <bounds x="239" y="751" width="30" height="30"/>
- </element>
- <element name="lamp180" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_180" ref="debug_lamp_label_180">
- <bounds x="303" y="751" width="30" height="30"/>
- </element>
- <element name="lamp181" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_181" ref="debug_lamp_label_181">
- <bounds x="367" y="751" width="30" height="30"/>
- </element>
- <element name="lamp182" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_182" ref="debug_lamp_label_182">
- <bounds x="431" y="751" width="30" height="30"/>
- </element>
- <element name="lamp183" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_183" ref="debug_lamp_label_183">
- <bounds x="495" y="751" width="30" height="30"/>
- </element>
- <element name="lamp184" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_184" ref="debug_lamp_label_184">
- <bounds x="559" y="751" width="30" height="30"/>
- </element>
- <element name="lamp185" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_185" ref="debug_lamp_label_185">
- <bounds x="623" y="751" width="30" height="30"/>
- </element>
- <element name="lamp186" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_186" ref="debug_lamp_label_186">
- <bounds x="687" y="751" width="30" height="30"/>
- </element>
- <element name="lamp187" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_187" ref="debug_lamp_label_187">
- <bounds x="751" y="751" width="30" height="30"/>
- </element>
- <element name="lamp188" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_188" ref="debug_lamp_label_188">
- <bounds x="815" y="751" width="30" height="30"/>
- </element>
- <element name="lamp189" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_189" ref="debug_lamp_label_189">
- <bounds x="879" y="751" width="30" height="30"/>
- </element>
- <element name="lamp190" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_190" ref="debug_lamp_label_190">
- <bounds x="943" y="751" width="30" height="30"/>
- </element>
- <element name="lamp191" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_191" ref="debug_lamp_label_191">
- <bounds x="1007" y="751" width="30" height="30"/>
- </element>
- <element name="lamp192" ref="debug_lamp_button" state="0">
- <bounds x="32" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_192" ref="debug_lamp_label_192">
- <bounds x="47" y="815" width="30" height="30"/>
- </element>
- <element name="lamp193" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_193" ref="debug_lamp_label_193">
- <bounds x="111" y="815" width="30" height="30"/>
- </element>
- <element name="lamp194" ref="debug_lamp_button" state="0">
- <bounds x="160" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_194" ref="debug_lamp_label_194">
- <bounds x="175" y="815" width="30" height="30"/>
- </element>
- <element name="lamp195" ref="debug_lamp_button" state="0">
- <bounds x="224" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_195" ref="debug_lamp_label_195">
- <bounds x="239" y="815" width="30" height="30"/>
- </element>
- <element name="lamp196" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_196" ref="debug_lamp_label_196">
- <bounds x="303" y="815" width="30" height="30"/>
- </element>
- <element name="lamp197" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_197" ref="debug_lamp_label_197">
- <bounds x="367" y="815" width="30" height="30"/>
- </element>
- <element name="lamp198" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_198" ref="debug_lamp_label_198">
- <bounds x="431" y="815" width="30" height="30"/>
- </element>
- <element name="lamp199" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_199" ref="debug_lamp_label_199">
- <bounds x="495" y="815" width="30" height="30"/>
- </element>
- <element name="lamp200" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_200" ref="debug_lamp_label_200">
- <bounds x="559" y="815" width="30" height="30"/>
- </element>
- <element name="lamp201" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_201" ref="debug_lamp_label_201">
- <bounds x="623" y="815" width="30" height="30"/>
- </element>
- <element name="lamp202" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_202" ref="debug_lamp_label_202">
- <bounds x="687" y="815" width="30" height="30"/>
- </element>
- <element name="lamp203" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_203" ref="debug_lamp_label_203">
- <bounds x="751" y="815" width="30" height="30"/>
- </element>
- <element name="lamp204" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_204" ref="debug_lamp_label_204">
- <bounds x="815" y="815" width="30" height="30"/>
- </element>
- <element name="lamp205" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_205" ref="debug_lamp_label_205">
- <bounds x="879" y="815" width="30" height="30"/>
- </element>
- <element name="lamp206" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_206" ref="debug_lamp_label_206">
- <bounds x="943" y="815" width="30" height="30"/>
- </element>
- <element name="lamp207" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_207" ref="debug_lamp_label_207">
- <bounds x="1007" y="815" width="30" height="30"/>
- </element>
- <element name="lamp208" ref="debug_lamp_button" state="0">
- <bounds x="32" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_208" ref="debug_lamp_label_208">
- <bounds x="47" y="879" width="30" height="30"/>
- </element>
- <element name="lamp209" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_209" ref="debug_lamp_label_209">
- <bounds x="111" y="879" width="30" height="30"/>
- </element>
- <element name="lamp210" ref="debug_lamp_button" state="0">
- <bounds x="160" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_210" ref="debug_lamp_label_210">
- <bounds x="175" y="879" width="30" height="30"/>
- </element>
- <element name="lamp211" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_211" ref="debug_lamp_label_211">
- <bounds x="239" y="879" width="30" height="30"/>
- </element>
- <element name="lamp212" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_212" ref="debug_lamp_label_212">
- <bounds x="303" y="879" width="30" height="30"/>
- </element>
- <element name="lamp213" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_213" ref="debug_lamp_label_213">
- <bounds x="367" y="879" width="30" height="30"/>
- </element>
- <element name="lamp214" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_214" ref="debug_lamp_label_214">
- <bounds x="431" y="879" width="30" height="30"/>
- </element>
- <element name="lamp215" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_215" ref="debug_lamp_label_215">
- <bounds x="495" y="879" width="30" height="30"/>
- </element>
- <element name="lamp216" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_216" ref="debug_lamp_label_216">
- <bounds x="559" y="879" width="30" height="30"/>
- </element>
- <element name="lamp217" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_217" ref="debug_lamp_label_217">
- <bounds x="623" y="879" width="30" height="30"/>
- </element>
- <element name="lamp218" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_218" ref="debug_lamp_label_218">
- <bounds x="687" y="879" width="30" height="30"/>
- </element>
- <element name="lamp219" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_219" ref="debug_lamp_label_219">
- <bounds x="751" y="879" width="30" height="30"/>
- </element>
- <element name="lamp220" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_220" ref="debug_lamp_label_220">
- <bounds x="815" y="879" width="30" height="30"/>
- </element>
- <element name="lamp221" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_221" ref="debug_lamp_label_221">
- <bounds x="879" y="879" width="30" height="30"/>
- </element>
- <element name="lamp222" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_222" ref="debug_lamp_label_222">
- <bounds x="943" y="879" width="30" height="30"/>
- </element>
- <element name="lamp223" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_223" ref="debug_lamp_label_223">
- <bounds x="1007" y="879" width="30" height="30"/>
- </element>
- <element name="lamp224" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_224" ref="debug_lamp_label_224">
- <bounds x="47" y="943" width="30" height="30"/>
- </element>
- <element name="lamp225" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_225" ref="debug_lamp_label_225">
- <bounds x="111" y="943" width="30" height="30"/>
- </element>
- <element name="lamp226" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_226" ref="debug_lamp_label_226">
- <bounds x="175" y="943" width="30" height="30"/>
- </element>
- <element name="lamp227" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_227" ref="debug_lamp_label_227">
- <bounds x="239" y="943" width="30" height="30"/>
- </element>
- <element name="lamp228" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_228" ref="debug_lamp_label_228">
- <bounds x="303" y="943" width="30" height="30"/>
- </element>
- <element name="lamp229" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_229" ref="debug_lamp_label_229">
- <bounds x="367" y="943" width="30" height="30"/>
- </element>
- <element name="lamp230" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_230" ref="debug_lamp_label_230">
- <bounds x="431" y="943" width="30" height="30"/>
- </element>
- <element name="lamp231" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_231" ref="debug_lamp_label_231">
- <bounds x="495" y="943" width="30" height="30"/>
- </element>
- <element name="lamp232" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_232" ref="debug_lamp_label_232">
- <bounds x="559" y="943" width="30" height="30"/>
- </element>
- <element name="lamp233" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_233" ref="debug_lamp_label_233">
- <bounds x="623" y="943" width="30" height="30"/>
- </element>
- <element name="lamp234" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_234" ref="debug_lamp_label_234">
- <bounds x="687" y="943" width="30" height="30"/>
- </element>
- <element name="lamp235" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_235" ref="debug_lamp_label_235">
- <bounds x="751" y="943" width="30" height="30"/>
- </element>
- <element name="lamp236" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_236" ref="debug_lamp_label_236">
- <bounds x="815" y="943" width="30" height="30"/>
- </element>
- <element name="lamp237" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_237" ref="debug_lamp_label_237">
- <bounds x="879" y="943" width="30" height="30"/>
- </element>
- <element name="lamp238" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_238" ref="debug_lamp_label_238">
- <bounds x="943" y="943" width="30" height="30"/>
- </element>
- <element name="lamp239" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_239" ref="debug_lamp_label_239">
- <bounds x="1007" y="943" width="30" height="30"/>
- </element>
- <element name="lamp240" ref="debug_lamp_button" state="0">
- <bounds x="32" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_240" ref="debug_lamp_label_240">
- <bounds x="47" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp241" ref="debug_lamp_button" state="0">
- <bounds x="96" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_241" ref="debug_lamp_label_241">
- <bounds x="111" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp242" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_242" ref="debug_lamp_label_242">
- <bounds x="175" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp243" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_243" ref="debug_lamp_label_243">
- <bounds x="239" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp244" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_244" ref="debug_lamp_label_244">
- <bounds x="303" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp245" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_245" ref="debug_lamp_label_245">
- <bounds x="367" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp246" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_246" ref="debug_lamp_label_246">
- <bounds x="431" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp247" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_247" ref="debug_lamp_label_247">
- <bounds x="495" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp248" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_248" ref="debug_lamp_label_248">
- <bounds x="559" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp249" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_249" ref="debug_lamp_label_249">
- <bounds x="623" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp250" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_250" ref="debug_lamp_label_250">
- <bounds x="687" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp251" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_251" ref="debug_lamp_label_251">
- <bounds x="751" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp252" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_252" ref="debug_lamp_label_252">
- <bounds x="815" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp253" ref="debug_lamp_standard" state="0">
- <bounds x="864" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_253" ref="debug_lamp_label_253">
- <bounds x="879" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp254" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_254" ref="debug_lamp_label_254">
- <bounds x="943" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp255" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_255" ref="debug_lamp_label_255">
- <bounds x="1007" y="1007" width="30" height="30"/>
- </element>
- <element name="debug_button_0" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_0" ref="debug_button_label_0">
- <bounds x="1120" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_1" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_1" ref="debug_button_label_1">
- <bounds x="1204" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_2" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_2" ref="debug_button_label_2">
- <bounds x="1288" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_3" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_3" ref="debug_button_label_3">
- <bounds x="1372" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_4" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_4" ref="debug_button_label_4">
- <bounds x="1456" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_5" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_5" ref="debug_button_label_5">
- <bounds x="1540" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_6" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_6" ref="debug_button_label_6">
- <bounds x="1624" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_7" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_7" ref="debug_button_label_7">
- <bounds x="1708" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_8" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_8" ref="debug_button_label_8">
- <bounds x="1120" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_9" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_9" ref="debug_button_label_9">
- <bounds x="1204" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_10" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_10" ref="debug_button_label_10">
- <bounds x="1288" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_11" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_11" ref="debug_button_label_11">
- <bounds x="1372" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_12" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_12" ref="debug_button_label_12">
- <bounds x="1456" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_13" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_13" ref="debug_button_label_13">
- <bounds x="1540" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_14" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_14" ref="debug_button_label_14">
- <bounds x="1624" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_15" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_15" ref="debug_button_label_15">
- <bounds x="1708" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_16" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_16" ref="debug_button_label_16">
- <bounds x="1120" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_17" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_17" ref="debug_button_label_17">
- <bounds x="1204" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_18" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_18" ref="debug_button_label_18">
- <bounds x="1288" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_19" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_19" ref="debug_button_label_19">
- <bounds x="1372" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_20" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_20" ref="debug_button_label_20">
- <bounds x="1456" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_21" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_21" ref="debug_button_label_21">
- <bounds x="1540" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_22" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_22" ref="debug_button_label_22">
- <bounds x="1624" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_23" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_23" ref="debug_button_label_23">
- <bounds x="1708" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_24" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_24" ref="debug_button_label_24">
- <bounds x="1120" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_25" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_25" ref="debug_button_label_25">
- <bounds x="1204" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_26" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_26" ref="debug_button_label_26">
- <bounds x="1288" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_27" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_27" ref="debug_button_label_27">
- <bounds x="1372" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_28" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_28" ref="debug_button_label_28">
- <bounds x="1456" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_29" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_29" ref="debug_button_label_29">
- <bounds x="1540" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_30" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_30" ref="debug_button_label_30">
- <bounds x="1624" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_31" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_31" ref="debug_button_label_31">
- <bounds x="1708" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_32" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_32" ref="debug_button_label_32">
- <bounds x="1120" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_33" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_33" ref="debug_button_label_33">
- <bounds x="1204" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_34" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_34" ref="debug_button_label_34">
- <bounds x="1288" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_35" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_35" ref="debug_button_label_35">
- <bounds x="1372" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_36" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_36" ref="debug_button_label_36">
- <bounds x="1456" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_37" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_37" ref="debug_button_label_37">
- <bounds x="1540" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_38" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_38" ref="debug_button_label_38">
- <bounds x="1624" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_39" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_39" ref="debug_button_label_39">
- <bounds x="1708" y="863" width="40" height="22"/>
- </element>
- <element name="lamp192" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_40" ref="debug_button_label_40">
- <bounds x="1120" y="911" width="40" height="22"/>
- </element>
- <element name="lamp194" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_41" ref="debug_button_label_41">
- <bounds x="1204" y="911" width="40" height="22"/>
- </element>
- <element name="lamp195" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_42" ref="debug_button_label_42">
- <bounds x="1288" y="911" width="40" height="22"/>
- </element>
- <element name="lamp208" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_43" ref="debug_button_label_43">
- <bounds x="1372" y="911" width="40" height="22"/>
- </element>
- <element name="lamp210" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_44" ref="debug_button_label_44">
- <bounds x="1456" y="911" width="40" height="22"/>
- </element>
- <element name="lamp240" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_45" ref="debug_button_label_45">
- <bounds x="1540" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_46" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_46" ref="debug_button_label_46">
- <bounds x="1624" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_47" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_47" ref="debug_button_label_47">
- <bounds x="1708" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_48" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_48" ref="debug_button_label_48">
- <bounds x="1120" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_49" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_49" ref="debug_button_label_49">
- <bounds x="1204" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_50" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_50" ref="debug_button_label_50">
- <bounds x="1288" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_51" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_51" ref="debug_button_label_51">
- <bounds x="1372" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_52" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_52" ref="debug_button_label_52">
- <bounds x="1456" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_53" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_53" ref="debug_button_label_53">
- <bounds x="1540" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_54" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_54" ref="debug_button_label_54">
- <bounds x="1624" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_55" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_55" ref="debug_button_label_55">
- <bounds x="1708" y="959" width="40" height="22"/>
- </element>
- <element name="lamp241" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_56" ref="debug_button_label_56">
- <bounds x="1120" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_57" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_57" ref="debug_button_label_57">
- <bounds x="1204" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_58" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_58" ref="debug_button_label_58">
- <bounds x="1288" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_59" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_59" ref="debug_button_label_59">
- <bounds x="1372" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_60" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_60" ref="debug_button_label_60">
- <bounds x="1456" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_61" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_61" ref="debug_button_label_61">
- <bounds x="1540" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_62" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_62" ref="debug_button_label_62">
- <bounds x="1624" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_63" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_63" ref="debug_button_label_63">
- <bounds x="1708" y="1007" width="40" height="22"/>
- </element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="1150" increment="32"/>
- <element name="vfd~i~" ref="vfd0">
- <bounds x="~x~" y="600" width="32" height="48"/>
- </element>
- </repeat>
- <element ref="reel_background">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel1" ref="reel0" state="0">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel2" ref="reel1" state="0">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel3" ref="reel2" state="0">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="sreel4" ref="reel3" state="0">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="reel1" ref="debug_stepper_value">
- <bounds x="1100" y="272" width="50" height="30"/>
- </element>
- <element name="reel2" ref="debug_stepper_value">
- <bounds x="1240" y="272" width="50" height="30"/>
- </element>
- <element name="reel3" ref="debug_stepper_value">
- <bounds x="1380" y="272" width="50" height="30"/>
- </element>
- <element name="reel4" ref="debug_stepper_value">
- <bounds x="1520" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_0">
- <bounds x="1180" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_1">
- <bounds x="1320" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_2">
- <bounds x="1460" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
- <bounds x="1600" y="272" width="50" height="30"/>
- </element>
- </view>
-</mamelayout>
diff --git a/src/mame/layout/j6reelmn.lay b/src/mame/layout/j6reelmn.lay
index eab10014a45..3432f175277 100644
--- a/src/mame/layout/j6reelmn.lay
+++ b/src/mame/layout/j6reelmn.lay
@@ -1,10 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
+<?xml version="1.0" encoding="UTF-8"?>
<!-- **************************************************** -->
<!-- * This MAME layout file was generated by MFME2MAME * -->
<!-- * Please visit mfme2mame.org for more information. * -->
<!-- **************************************************** -->
-
<mamelayout version="2">
<element name="backdrop_colour">
<rect>
@@ -338,7 +336,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;1.20">
+ <text string="&#xA3;1.20 3x Mixed Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -358,7 +356,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;1">
+ <text string="&#xA3;1 3x Cherry">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -378,7 +376,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;1.60">
+ <text string="&#xA3;1.60 3x Grapes">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -398,7 +396,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;15">
+ <text string="&#xA3;15 3x Reel Money">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -418,7 +416,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;3">
+ <text string="&#xA3;3 3x Single Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -438,7 +436,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;2">
+ <text string="&#xA3;2 3x Melon">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -458,7 +456,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;2">
+ <text string="&#xA3;2 3x Bell">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -478,7 +476,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;5">
+ <text string="&#xA3;5 3x Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -498,7 +496,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;4">
+ <text string="&#xA3;4 3x Double Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -518,7 +516,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;8">
+ <text string="&#xA3;8 3x Red 7">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -538,7 +536,27 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;6">
+ <text string="&#xA3;6 3x Blue 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_134_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_134_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="JPM">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -558,7 +576,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="40p">
+ <text string="40p 1x Cherry">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -578,7 +596,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="60p">
+ <text string="60p 2x Cherry">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -607,6 +625,406 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
+ <element name="lamp_202_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_202_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_201_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_201_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_200_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_200_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_199_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_199_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_251_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_251_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Melon">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_250_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_250_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Bell">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_249_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_249_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Grapes">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_248_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_248_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Double Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_244_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_244_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Single Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_245_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_245_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Reel Money">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_246_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_246_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Blue 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_247_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_247_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_240_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_240_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Cherry">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_241_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_241_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Red 7">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_242_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_242_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Triple Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_243_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_243_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Double Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_236_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_236_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Bell">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_237_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_237_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Melon">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_238_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_238_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Grapes">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_239_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_239_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="Single Bar">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
<element name="lamp_254_1_border" defstate="0">
<rect state="1">
<color red="0.50" green="0.50" blue="0.25"/>
@@ -830,7 +1248,7 @@
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
- <text string="Roulett">
+ <text string="Roulette">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
@@ -1003,7 +1421,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_142_border">
+ <element name="colour_button_96_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.25"/>
</rect>
@@ -1011,7 +1429,7 @@
<color red="0.12" green="0.00" blue="0.06"/>
</rect>
</element>
- <element name="colour_button_142">
+ <element name="colour_button_96">
<rect state="1">
<color red="1.00" green="0.00" blue="0.50"/>
</rect>
@@ -1027,7 +1445,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_143_border">
+ <element name="colour_button_97_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.25"/>
</rect>
@@ -1035,7 +1453,7 @@
<color red="0.12" green="0.00" blue="0.06"/>
</rect>
</element>
- <element name="colour_button_143">
+ <element name="colour_button_97">
<rect state="1">
<color red="1.00" green="0.00" blue="0.50"/>
</rect>
@@ -1051,7 +1469,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_144_border">
+ <element name="colour_button_98_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.25"/>
</rect>
@@ -1059,7 +1477,7 @@
<color red="0.12" green="0.00" blue="0.06"/>
</rect>
</element>
- <element name="colour_button_144">
+ <element name="colour_button_98">
<rect state="1">
<color red="1.00" green="0.00" blue="0.50"/>
</rect>
@@ -1075,7 +1493,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_145_border">
+ <element name="colour_button_99_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.00"/>
</rect>
@@ -1083,7 +1501,7 @@
<color red="0.00" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_145">
+ <element name="colour_button_99">
<rect state="1">
<color red="0.00" green="0.50" blue="0.00"/>
</rect>
@@ -1095,7 +1513,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_148_border">
+ <element name="colour_button_102_border">
<rect state="1">
<color red="0.50" green="0.50" blue="0.00"/>
</rect>
@@ -1103,7 +1521,7 @@
<color red="0.12" green="0.12" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_148">
+ <element name="colour_button_102">
<rect state="1">
<color red="1.00" green="1.00" blue="0.00"/>
</rect>
@@ -1115,7 +1533,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_149_border">
+ <element name="colour_button_103_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.50"/>
</rect>
@@ -1123,7 +1541,7 @@
<color red="0.00" green="0.06" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_149">
+ <element name="colour_button_103">
<rect state="1">
<color red="0.00" green="0.50" blue="1.00"/>
</rect>
@@ -1135,7 +1553,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_150_border">
+ <element name="colour_button_104_border">
<rect state="1">
<color red="0.50" green="0.25" blue="0.00"/>
</rect>
@@ -1143,7 +1561,7 @@
<color red="0.12" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_150">
+ <element name="colour_button_104">
<rect state="1">
<color red="1.00" green="0.50" blue="0.00"/>
</rect>
@@ -1155,7 +1573,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_151_border">
+ <element name="colour_button_105_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -1163,7 +1581,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_151">
+ <element name="colour_button_105">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -1179,7 +1597,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_152_border">
+ <element name="colour_button_106_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -1187,7 +1605,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_152">
+ <element name="colour_button_106">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -1203,7 +1621,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_153_border">
+ <element name="colour_button_107_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -1211,7 +1629,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_153">
+ <element name="colour_button_107">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -1227,7 +1645,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_154_border">
+ <element name="colour_button_108_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.00"/>
</rect>
@@ -1235,56 +1653,50 @@
<color red="0.00" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_154">
+ <element name="colour_button_108">
<rect state="1">
<color red="0.00" green="0.50" blue="0.00"/>
</rect>
<rect state="0">
<color red="0.00" green="0.13" blue="0.00"/>
</rect>
- <text string=" START">
+ <text string="START">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_vfd">
- <led16segsc>
- <color red="0.0" green="1.0" blue="1.0"/>
- </led16segsc>
- </element>
-
<element name="reel_background">
<rect>
<color red="1.0" green="1.0" blue="1.0"/>
</rect>
</element>
<element name="reel0" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Grapes,Single Bar,Melon,Cherry,Blue 7,Bell,Double Bar,Grapes,Cherry,Melon,Red 7,Bell,Grapes,Blue 7,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel1" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Grapes,Single Bar,Melon,Cherry,Blue 7,Bell,Double Bar*,Grapes,Cherry,Melon,Red 7,Bell,Cherry,Blue 7,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel2" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Grapes,Single Bar,Melon,Cherry,Blue 7,Bell,Double Bar,Grapes,Cherry,Melon,Red 7,Bell,Cherry,Blue 7,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel3" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Triple Bar,Single Bar,Single Bar,Single Bar,Single Bar,Double Bar,Single Bar,Double Bar,Double Bar,Double Bar,Single,Double Bar,Triple Bar,Triple Bar,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel4" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Double Bar,Double Bar,Double Bar,Single Bar,Triple Bar,Single Bar,Single Bar,Single Bar,Single Bar,Triple Bar,Single Bar,Triple Bar,Double Bar,Single Bar,Double Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
<element name="reel5" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Reel Money,Triple Bar,Single Bar,Single Bar,Single Bar,Single Bar,Triple Bar,Single Bar,Double Bar,Double Bar,Double Bar,Single,Double Bar,Triple Bar,Triple Bar,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
@@ -1313,41 +1725,11 @@
<color red="0.5" green="0.0" blue="0.0"/>
</disk>
</element>
- <element name="led_digit_rect_black">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_red">
- <rect>
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_green">
- <rect>
- <color red="0.0" green="1.0" blue="0.0"/>
- </rect>
- </element>
- <element name="led_digit_rect_blue">
- <rect>
- <color red="0.0" green="0.0" blue="1.0"/>
- </rect>
- </element>
- <element name="led_digit_red">
+ <element name="led_digit">
<led7seg>
<color red="1.0" green="0.0" blue="0.0"/>
</led7seg>
</element>
- <element name="led_digit_green">
- <led7seg>
- <color red="0.0" green="1.0" blue="0.0"/>
- </led7seg>
- </element>
- <element name="led_digit_blue">
- <led7seg>
- <color red="0.0" green="0.5" blue="1.0"/>
- </led7seg>
- </element>
<element name="reel_lamp_layer_0" defstate="0">
<rect>
<color red="0.40" green="0.40" blue="0.40"/>
@@ -1383,2081 +1765,98 @@
</element>
<element name="label_42">
<text string="Plays">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_43">
<text string="BANK">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_48">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_49">
<text string="Each Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Pays &#xA3;1">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
<element name="label_67">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
<element name="label_68">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
<element name="label_77">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="label_82">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_backdrop_colour">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="debug_lamp_standard">
- <rect state="0">
- <color red="0.00" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_reel">
- <rect state="0">
- <color red="0.00" green="0.00" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="0.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_segment">
- <rect state="0">
- <color red="0.20" green="0.00" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_button">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_64">
- <text string="64">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_65">
- <text string="65">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_66">
- <text string="66">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_67">
- <text string="67">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_68">
- <text string="68">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_69">
- <text string="69">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_70">
- <text string="70">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_71">
- <text string="71">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_72">
- <text string="72">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_73">
- <text string="73">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_74">
- <text string="74">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_75">
- <text string="75">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_76">
- <text string="76">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_77">
- <text string="77">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_78">
- <text string="78">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_79">
- <text string="79">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_80">
- <text string="80">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_81">
- <text string="81">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_82">
- <text string="82">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_83">
- <text string="83">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_84">
- <text string="84">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_85">
- <text string="85">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_86">
- <text string="86">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_87">
- <text string="87">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_88">
- <text string="88">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_89">
- <text string="89">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_90">
- <text string="90">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_91">
- <text string="91">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_92">
- <text string="92">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_93">
- <text string="93">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_94">
- <text string="94">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_95">
- <text string="95">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_96">
- <text string="96">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_97">
- <text string="97">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_98">
- <text string="98">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_99">
- <text string="99">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_100">
- <text string="100">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_101">
- <text string="101">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_102">
- <text string="102">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_103">
- <text string="103">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_104">
- <text string="104">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_105">
- <text string="105">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_106">
- <text string="106">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_107">
- <text string="107">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_108">
- <text string="108">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_109">
- <text string="109">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_110">
- <text string="110">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_111">
- <text string="111">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_112">
- <text string="112">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_113">
- <text string="113">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_114">
- <text string="114">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_115">
- <text string="115">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_116">
- <text string="116">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_117">
- <text string="117">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_118">
- <text string="118">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_119">
- <text string="119">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_120">
- <text string="120">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_121">
- <text string="121">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_122">
- <text string="122">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_123">
- <text string="123">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_124">
- <text string="124">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_125">
- <text string="125">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_126">
- <text string="126">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_127">
- <text string="127">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_128">
- <text string="128">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_129">
- <text string="129">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_130">
- <text string="130">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_131">
- <text string="131">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_132">
- <text string="132">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_133">
- <text string="133">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_134">
- <text string="134">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_135">
- <text string="135">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_136">
- <text string="136">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_137">
- <text string="137">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_138">
- <text string="138">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_139">
- <text string="139">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_140">
- <text string="140">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_141">
- <text string="141">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_142">
- <text string="142">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_143">
- <text string="143">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_144">
- <text string="144">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_145">
- <text string="145">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_146">
- <text string="146">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_147">
- <text string="147">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_148">
- <text string="148">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_149">
- <text string="149">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_150">
- <text string="150">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_151">
- <text string="151">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_152">
- <text string="152">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_153">
- <text string="153">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_154">
- <text string="154">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_155">
- <text string="155">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_156">
- <text string="156">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_157">
- <text string="157">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_158">
- <text string="158">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_159">
- <text string="159">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_160">
- <text string="160">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_161">
- <text string="161">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_162">
- <text string="162">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_163">
- <text string="163">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_164">
- <text string="164">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_165">
- <text string="165">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_166">
- <text string="166">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_167">
- <text string="167">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_168">
- <text string="168">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_169">
- <text string="169">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_170">
- <text string="170">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_171">
- <text string="171">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_172">
- <text string="172">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_173">
- <text string="173">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_174">
- <text string="174">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_175">
- <text string="175">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_176">
- <text string="176">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_177">
- <text string="177">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_178">
- <text string="178">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_179">
- <text string="179">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_180">
- <text string="180">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_181">
- <text string="181">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_182">
- <text string="182">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_183">
- <text string="183">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_184">
- <text string="184">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_185">
- <text string="185">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_186">
- <text string="186">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_187">
- <text string="187">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_188">
- <text string="188">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_189">
- <text string="189">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_190">
- <text string="190">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_191">
- <text string="191">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_192">
- <text string="192">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_193">
- <text string="193">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_194">
- <text string="194">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_195">
- <text string="195">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_196">
- <text string="196">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_197">
- <text string="197">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_198">
- <text string="198">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_199">
- <text string="199">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_200">
- <text string="200">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_201">
- <text string="201">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_202">
- <text string="202">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_203">
- <text string="203">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_204">
- <text string="204">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_205">
- <text string="205">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_206">
- <text string="206">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_207">
- <text string="207">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_208">
- <text string="208">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_209">
- <text string="209">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_210">
- <text string="210">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_211">
- <text string="211">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_212">
- <text string="212">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_213">
- <text string="213">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_214">
- <text string="214">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_215">
- <text string="215">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_216">
- <text string="216">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_217">
- <text string="217">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_218">
- <text string="218">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_219">
- <text string="219">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_220">
- <text string="220">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_221">
- <text string="221">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_222">
- <text string="222">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_223">
- <text string="223">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_224">
- <text string="224">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_225">
- <text string="225">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_226">
- <text string="226">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_227">
- <text string="227">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_228">
- <text string="228">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_229">
- <text string="229">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_230">
- <text string="230">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_231">
- <text string="231">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_232">
- <text string="232">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_233">
- <text string="233">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_234">
- <text string="234">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_235">
- <text string="235">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_236">
- <text string="236">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_237">
- <text string="237">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_238">
- <text string="238">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_239">
- <text string="239">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_240">
- <text string="240">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_241">
- <text string="241">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_242">
- <text string="242">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_243">
- <text string="243">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_244">
- <text string="244">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_245">
- <text string="245">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_246">
- <text string="246">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_247">
- <text string="247">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_248">
- <text string="248">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_249">
- <text string="249">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_250">
- <text string="250">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_251">
- <text string="251">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_252">
- <text string="252">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_253">
- <text string="253">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_254">
- <text string="254">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_255">
- <text string="255">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_standard">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_button_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_button_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_stepper_value" defstate="0">
- <simplecounter maxstate="999" digits="3">
- <color red="1.0" green="1.0" blue="1.0"/>
- </simplecounter>
- </element>
- <element name="debug_reel_symbol_count_0">
- <text string="16">
+ <element name="label_91">
+ <text string="Barcode">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
- </element>
- <element name="debug_reel_symbol_count_1">
- <text string="16">
+ <text string="1,3,2">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="debug_reel_symbol_count_2">
- <text string="16">
+ <element name="label_92">
+ <text string="3x Reel Money">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_reel_symbol_count_3">
- <text string="16">
+ <element name="label_93">
+ <text string="3x Triple Bar">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_reel_symbol_count_4">
- <text string="16">
+ <element name="label_94">
+ <text string="3x Double Bar">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_reel_symbol_count_5">
- <text string="16">
+ <element name="label_95">
+ <text string="3x Single Bar">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
-
<view name="AWP Simulated Video">
<element ref="backdrop_colour">
<bounds x="0" y="0" width="792" height="646"/>
@@ -3465,58 +1864,58 @@
<element ref="reel_background">
<bounds x="292" y="415" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="415.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="417.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="420.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="422.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="425.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="428.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="478.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="480.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="483.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="486.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="488.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="491.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="541.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="544.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="546.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="549.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="552.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="554.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel1" ref="reel0" state="0">
@@ -3525,58 +1924,58 @@
<element ref="reel_background">
<bounds x="374" y="415" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="415.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="417.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="420.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="422.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="425.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="428.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="478.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="480.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="483.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="486.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="488.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="491.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="541.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="544.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="546.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="549.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="552.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="554.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel2" ref="reel1" state="0">
@@ -3585,58 +1984,58 @@
<element ref="reel_background">
<bounds x="456" y="415" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="415.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="417.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="420.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="422.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="425.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="428.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="478.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="480.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="483.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="486.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="488.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="491.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="541.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="544.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="546.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="549.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="552.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp16" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="554.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel3" ref="reel2" state="0">
@@ -3645,58 +2044,58 @@
<element ref="reel_background">
<bounds x="292" y="74" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="74.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="76.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="79.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="81.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="84.5556" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="87.1944" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="137.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="139.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="142.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="145.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="147.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="150.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_0" state="0">
<bounds x="292.0000" y="200.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_1" state="0">
<bounds x="295.3333" y="203.3055" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_2" state="0">
<bounds x="298.6667" y="205.9444" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_3" state="0">
<bounds x="302.0000" y="208.5833" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_4" state="0">
<bounds x="305.3333" y="211.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_5" state="0">
<bounds x="308.6667" y="213.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel4" ref="reel3" state="0">
@@ -3705,58 +2104,58 @@
<element ref="reel_background">
<bounds x="374" y="74" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="74.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="76.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="79.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="81.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="84.5556" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp24" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="87.1944" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="137.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="139.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="142.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="145.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="147.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp23" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="150.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_0" state="0">
<bounds x="374.0000" y="200.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_1" state="0">
<bounds x="377.3333" y="203.3055" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_2" state="0">
<bounds x="380.6667" y="205.9444" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_3" state="0">
<bounds x="384.0000" y="208.5833" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_4" state="0">
<bounds x="387.3333" y="211.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp22" ref="reel_lamp_layer_5" state="0">
<bounds x="390.6667" y="213.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel5" ref="reel4" state="0">
@@ -3765,58 +2164,58 @@
<element ref="reel_background">
<bounds x="456" y="74" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="74.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="76.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="79.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="81.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="84.5556" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp27" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="87.1944" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="137.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="139.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="142.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="145.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="147.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp26" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="150.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_0" state="0">
<bounds x="456.0000" y="200.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_1" state="0">
<bounds x="459.3333" y="203.3055" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_2" state="0">
<bounds x="462.6667" y="205.9444" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_3" state="0">
<bounds x="466.0000" y="208.5833" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_4" state="0">
<bounds x="469.3333" y="211.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp25" ref="reel_lamp_layer_5" state="0">
<bounds x="472.6667" y="213.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel6" ref="reel5" state="0">
@@ -3913,82 +2312,88 @@
<bounds x="652" y="5" width="42" height="28"/>
</element>
<element name="lamp212" ref="lamp_212_1_border" state="0">
- <bounds x="3" y="246" width="52" height="27"/>
+ <bounds x="3" y="246" width="102" height="27"/>
</element>
<element name="lamp212" ref="lamp_212_1" state="0">
- <bounds x="5" y="248" width="48" height="23"/>
+ <bounds x="5" y="248" width="98" height="23"/>
</element>
<element name="lamp213" ref="lamp_213_1_border" state="0">
- <bounds x="3" y="273" width="52" height="27"/>
+ <bounds x="3" y="273" width="102" height="27"/>
</element>
<element name="lamp213" ref="lamp_213_1" state="0">
- <bounds x="5" y="275" width="48" height="23"/>
+ <bounds x="5" y="275" width="98" height="23"/>
</element>
<element name="lamp217" ref="lamp_217_1_border" state="0">
- <bounds x="3" y="219" width="52" height="27"/>
+ <bounds x="3" y="219" width="102" height="27"/>
</element>
<element name="lamp217" ref="lamp_217_1" state="0">
- <bounds x="5" y="221" width="48" height="23"/>
+ <bounds x="5" y="221" width="98" height="23"/>
</element>
<element name="lamp234" ref="lamp_234_1_border" state="0">
- <bounds x="3" y="3" width="52" height="27"/>
+ <bounds x="3" y="3" width="102" height="27"/>
</element>
<element name="lamp234" ref="lamp_234_1" state="0">
- <bounds x="5" y="5" width="48" height="23"/>
+ <bounds x="5" y="5" width="98" height="23"/>
</element>
<element name="lamp220" ref="lamp_220_1_border" state="0">
- <bounds x="3" y="138" width="52" height="27"/>
+ <bounds x="3" y="138" width="102" height="27"/>
</element>
<element name="lamp220" ref="lamp_220_1" state="0">
- <bounds x="5" y="140" width="48" height="23"/>
+ <bounds x="5" y="140" width="98" height="23"/>
</element>
<element name="lamp216" ref="lamp_216_1_border" state="0">
- <bounds x="3" y="192" width="52" height="27"/>
+ <bounds x="3" y="192" width="102" height="27"/>
</element>
<element name="lamp216" ref="lamp_216_1" state="0">
- <bounds x="5" y="194" width="48" height="23"/>
+ <bounds x="5" y="194" width="98" height="23"/>
</element>
<element name="lamp223" ref="lamp_223_1_border" state="0">
- <bounds x="3" y="165" width="52" height="27"/>
+ <bounds x="3" y="165" width="102" height="27"/>
</element>
<element name="lamp223" ref="lamp_223_1" state="0">
- <bounds x="5" y="167" width="48" height="23"/>
+ <bounds x="5" y="167" width="98" height="23"/>
</element>
<element name="lamp226" ref="lamp_226_1_border" state="0">
- <bounds x="3" y="84" width="52" height="27"/>
+ <bounds x="3" y="84" width="102" height="27"/>
</element>
<element name="lamp226" ref="lamp_226_1" state="0">
- <bounds x="5" y="86" width="48" height="23"/>
+ <bounds x="5" y="86" width="98" height="23"/>
</element>
<element name="lamp227" ref="lamp_227_1_border" state="0">
- <bounds x="3" y="111" width="52" height="27"/>
+ <bounds x="3" y="111" width="102" height="27"/>
</element>
<element name="lamp227" ref="lamp_227_1" state="0">
- <bounds x="5" y="113" width="48" height="23"/>
+ <bounds x="5" y="113" width="98" height="23"/>
</element>
<element name="lamp230" ref="lamp_230_1_border" state="0">
- <bounds x="3" y="30" width="52" height="27"/>
+ <bounds x="3" y="30" width="102" height="27"/>
</element>
<element name="lamp230" ref="lamp_230_1" state="0">
- <bounds x="5" y="32" width="48" height="23"/>
+ <bounds x="5" y="32" width="98" height="23"/>
</element>
<element name="lamp231" ref="lamp_231_1_border" state="0">
- <bounds x="3" y="57" width="52" height="27"/>
+ <bounds x="3" y="57" width="102" height="27"/>
</element>
<element name="lamp231" ref="lamp_231_1" state="0">
- <bounds x="5" y="59" width="48" height="23"/>
+ <bounds x="5" y="59" width="98" height="23"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1_border" state="0">
+ <bounds x="517" y="16" width="42" height="42"/>
+ </element>
+ <element name="lamp134" ref="lamp_134_1" state="0">
+ <bounds x="519" y="18" width="38" height="38"/>
</element>
<element name="lamp196" ref="lamp_196_1_border" state="0">
- <bounds x="3" y="327" width="52" height="27"/>
+ <bounds x="3" y="327" width="102" height="27"/>
</element>
<element name="lamp196" ref="lamp_196_1" state="0">
- <bounds x="5" y="329" width="48" height="23"/>
+ <bounds x="5" y="329" width="98" height="23"/>
</element>
<element name="lamp197" ref="lamp_197_1_border" state="0">
- <bounds x="3" y="300" width="52" height="27"/>
+ <bounds x="3" y="300" width="102" height="27"/>
</element>
<element name="lamp197" ref="lamp_197_1" state="0">
- <bounds x="5" y="302" width="48" height="23"/>
+ <bounds x="5" y="302" width="98" height="23"/>
</element>
<element name="lamp198" ref="lamp_198_1_border" state="0">
<bounds x="118" y="454" width="52" height="32"/>
@@ -3996,6 +2401,126 @@
<element name="lamp198" ref="lamp_198_1" state="0">
<bounds x="120" y="456" width="48" height="28"/>
</element>
+ <element name="lamp202" ref="lamp_202_1_border" state="0">
+ <bounds x="180" y="486" width="37" height="47"/>
+ </element>
+ <element name="lamp202" ref="lamp_202_1" state="0">
+ <bounds x="182" y="488" width="33" height="43"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1_border" state="0">
+ <bounds x="143" y="486" width="37" height="47"/>
+ </element>
+ <element name="lamp201" ref="lamp_201_1" state="0">
+ <bounds x="145" y="488" width="33" height="43"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1_border" state="0">
+ <bounds x="106" y="486" width="37" height="47"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1" state="0">
+ <bounds x="108" y="488" width="33" height="43"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1_border" state="0">
+ <bounds x="69" y="486" width="37" height="47"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1" state="0">
+ <bounds x="71" y="488" width="33" height="43"/>
+ </element>
+ <element name="lamp251" ref="lamp_251_1_border" state="0">
+ <bounds x="725" y="389" width="42" height="42"/>
+ </element>
+ <element name="lamp251" ref="lamp_251_1" state="0">
+ <bounds x="727" y="391" width="38" height="38"/>
+ </element>
+ <element name="lamp250" ref="lamp_250_1_border" state="0">
+ <bounds x="683" y="389" width="42" height="42"/>
+ </element>
+ <element name="lamp250" ref="lamp_250_1" state="0">
+ <bounds x="685" y="391" width="38" height="38"/>
+ </element>
+ <element name="lamp249" ref="lamp_249_1_border" state="0">
+ <bounds x="641" y="389" width="42" height="42"/>
+ </element>
+ <element name="lamp249" ref="lamp_249_1" state="0">
+ <bounds x="643" y="391" width="38" height="38"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_1_border" state="0">
+ <bounds x="599" y="389" width="42" height="42"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_1" state="0">
+ <bounds x="601" y="391" width="38" height="38"/>
+ </element>
+ <element name="lamp244" ref="lamp_244_1_border" state="0">
+ <bounds x="599" y="431" width="42" height="42"/>
+ </element>
+ <element name="lamp244" ref="lamp_244_1" state="0">
+ <bounds x="601" y="433" width="38" height="38"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_1_border" state="0">
+ <bounds x="641" y="431" width="42" height="42"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_1" state="0">
+ <bounds x="643" y="433" width="38" height="38"/>
+ </element>
+ <element name="lamp246" ref="lamp_246_1_border" state="0">
+ <bounds x="683" y="431" width="42" height="42"/>
+ </element>
+ <element name="lamp246" ref="lamp_246_1" state="0">
+ <bounds x="685" y="433" width="38" height="38"/>
+ </element>
+ <element name="lamp247" ref="lamp_247_1_border" state="0">
+ <bounds x="725" y="431" width="42" height="42"/>
+ </element>
+ <element name="lamp247" ref="lamp_247_1" state="0">
+ <bounds x="727" y="433" width="38" height="38"/>
+ </element>
+ <element name="lamp240" ref="lamp_240_1_border" state="0">
+ <bounds x="599" y="473" width="42" height="42"/>
+ </element>
+ <element name="lamp240" ref="lamp_240_1" state="0">
+ <bounds x="601" y="475" width="38" height="38"/>
+ </element>
+ <element name="lamp241" ref="lamp_241_1_border" state="0">
+ <bounds x="641" y="473" width="42" height="42"/>
+ </element>
+ <element name="lamp241" ref="lamp_241_1" state="0">
+ <bounds x="643" y="475" width="38" height="38"/>
+ </element>
+ <element name="lamp242" ref="lamp_242_1_border" state="0">
+ <bounds x="683" y="473" width="42" height="42"/>
+ </element>
+ <element name="lamp242" ref="lamp_242_1" state="0">
+ <bounds x="685" y="475" width="38" height="38"/>
+ </element>
+ <element name="lamp243" ref="lamp_243_1_border" state="0">
+ <bounds x="725" y="473" width="42" height="42"/>
+ </element>
+ <element name="lamp243" ref="lamp_243_1" state="0">
+ <bounds x="727" y="475" width="38" height="38"/>
+ </element>
+ <element name="lamp236" ref="lamp_236_1_border" state="0">
+ <bounds x="599" y="515" width="42" height="42"/>
+ </element>
+ <element name="lamp236" ref="lamp_236_1" state="0">
+ <bounds x="601" y="517" width="38" height="38"/>
+ </element>
+ <element name="lamp237" ref="lamp_237_1_border" state="0">
+ <bounds x="641" y="515" width="42" height="42"/>
+ </element>
+ <element name="lamp237" ref="lamp_237_1" state="0">
+ <bounds x="643" y="517" width="38" height="38"/>
+ </element>
+ <element name="lamp238" ref="lamp_238_1_border" state="0">
+ <bounds x="683" y="515" width="42" height="42"/>
+ </element>
+ <element name="lamp238" ref="lamp_238_1" state="0">
+ <bounds x="685" y="517" width="38" height="38"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1_border" state="0">
+ <bounds x="725" y="515" width="42" height="42"/>
+ </element>
+ <element name="lamp239" ref="lamp_239_1" state="0">
+ <bounds x="727" y="517" width="38" height="38"/>
+ </element>
<element name="lamp254" ref="lamp_254_1_border" state="0">
<bounds x="599" y="356" width="59" height="32"/>
</element>
@@ -4098,171 +2623,101 @@
<element name="lamp48" ref="lamp_48_1" state="0">
<bounds x="167" y="5" width="58" height="28"/>
</element>
- <element name="lamp117" ref="colour_button_142_border" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp117" ref="colour_button_96_border" state="0" inputtag="J10_2" inputmask="0x08">
<bounds x="744" y="163" width="46" height="38"/>
</element>
- <element name="lamp117" ref="colour_button_142" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp117" ref="colour_button_96" state="0" inputtag="J10_2" inputmask="0x08">
<bounds x="746" y="165" width="42" height="34"/>
</element>
- <element name="lamp116" ref="colour_button_143_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp116" ref="colour_button_97_border" state="0" inputtag="J10_2" inputmask="0x04">
<bounds x="697" y="163" width="46" height="38"/>
</element>
- <element name="lamp116" ref="colour_button_143" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp116" ref="colour_button_97" state="0" inputtag="J10_2" inputmask="0x04">
<bounds x="699" y="165" width="42" height="34"/>
</element>
- <element name="lamp115" ref="colour_button_144_border" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp115" ref="colour_button_98_border" state="0" inputtag="J10_2" inputmask="0x02">
<bounds x="650" y="163" width="46" height="38"/>
</element>
- <element name="lamp115" ref="colour_button_144" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp115" ref="colour_button_98" state="0" inputtag="J10_2" inputmask="0x02">
<bounds x="652" y="165" width="42" height="34"/>
</element>
- <element name="lamp14" ref="colour_button_145_border" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp14" ref="colour_button_99_border" state="0" inputtag="COINS" inputmask="0x01">
<bounds x="730" y="603" width="42" height="27"/>
</element>
- <element name="lamp14" ref="colour_button_145" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp14" ref="colour_button_99" state="0" inputtag="COINS" inputmask="0x01">
<bounds x="732" y="605" width="38" height="23"/>
</element>
- <element name="lamp193" ref="colour_button_148_border" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp193" ref="colour_button_102_border" state="0" inputtag="J9_0" inputmask="0x02">
<bounds x="123" y="606" width="78" height="38"/>
</element>
- <element name="lamp193" ref="colour_button_148" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp193" ref="colour_button_102" state="0" inputtag="J9_0" inputmask="0x02">
<bounds x="125" y="608" width="74" height="34"/>
</element>
- <element name="lamp194" ref="colour_button_149_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp194" ref="colour_button_103_border" state="0" inputtag="J9_0" inputmask="0x04">
<bounds x="542" y="606" width="80" height="38"/>
</element>
- <element name="lamp194" ref="colour_button_149" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp194" ref="colour_button_103" state="0" inputtag="J9_0" inputmask="0x04">
<bounds x="544" y="608" width="76" height="34"/>
</element>
- <element name="lamp225" ref="colour_button_150_border" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp225" ref="colour_button_104_border" state="0" inputtag="J9_0" inputmask="0x40">
<bounds x="206" y="606" width="78" height="38"/>
</element>
- <element name="lamp225" ref="colour_button_150" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp225" ref="colour_button_104" state="0" inputtag="J9_0" inputmask="0x40">
<bounds x="208" y="608" width="74" height="34"/>
</element>
- <element name="lamp195" ref="colour_button_151_border" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp195" ref="colour_button_105_border" state="0" inputtag="J9_0" inputmask="0x08">
<bounds x="455" y="606" width="82" height="38"/>
</element>
- <element name="lamp195" ref="colour_button_151" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp195" ref="colour_button_105" state="0" inputtag="J9_0" inputmask="0x08">
<bounds x="457" y="608" width="78" height="34"/>
</element>
- <element name="lamp209" ref="colour_button_152_border" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp209" ref="colour_button_106_border" state="0" inputtag="J9_0" inputmask="0x10">
<bounds x="373" y="606" width="82" height="38"/>
</element>
- <element name="lamp209" ref="colour_button_152" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp209" ref="colour_button_106" state="0" inputtag="J9_0" inputmask="0x10">
<bounds x="375" y="608" width="78" height="34"/>
</element>
- <element name="lamp211" ref="colour_button_153_border" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp211" ref="colour_button_107_border" state="0" inputtag="J9_0" inputmask="0x20">
<bounds x="291" y="606" width="82" height="38"/>
</element>
- <element name="lamp211" ref="colour_button_153" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp211" ref="colour_button_107" state="0" inputtag="J9_0" inputmask="0x20">
<bounds x="293" y="608" width="78" height="34"/>
</element>
- <element name="lamp192" ref="colour_button_154_border" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp192" ref="colour_button_108_border" state="0" inputtag="J9_0" inputmask="0x01">
<bounds x="627" y="606" width="82" height="38"/>
</element>
- <element name="lamp192" ref="colour_button_154" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp192" ref="colour_button_108" state="0" inputtag="J9_0" inputmask="0x01">
<bounds x="629" y="608" width="78" height="34"/>
</element>
- <element ref="led_digit_rect_black">
- <bounds x="475" y="329" width="30" height="40"/>
- </element>
- <element name="digit0" ref="led_digit_red">
- <bounds x="475" y="329" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
+ <element name="digit0" ref="led_digit" state="0">
<bounds x="475" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
</element>
- <element ref="led_digit_rect_black">
+ <element name="digit1" ref="led_digit" state="0">
<bounds x="505" y="329" width="30" height="40"/>
</element>
- <element name="digit1" ref="led_digit_red">
- <bounds x="505" y="329" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="505" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="418" y="329" width="30" height="40"/>
- </element>
- <element name="digit9" ref="led_digit_red">
+ <element name="digit9" ref="led_digit" state="0">
<bounds x="418" y="329" width="30" height="40"/>
</element>
- <element ref="led_digit_rect_red">
- <bounds x="418" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
+ <element name="digit8" ref="led_digit" state="0">
<bounds x="388" y="329" width="30" height="40"/>
</element>
- <element name="digit8" ref="led_digit_red">
- <bounds x="388" y="329" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="388" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="358" y="329" width="30" height="40"/>
- </element>
- <element name="digit7" ref="led_digit_red">
- <bounds x="358" y="329" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
+ <element name="digit7" ref="led_digit" state="0">
<bounds x="358" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
</element>
- <element ref="led_digit_rect_black">
+ <element name="digit6" ref="led_digit" state="0">
<bounds x="328" y="329" width="30" height="40"/>
</element>
- <element name="digit6" ref="led_digit_red">
- <bounds x="328" y="329" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="328" y="329" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
+ <element name="digit2" ref="led_digit" state="0">
<bounds x="366" y="28" width="30" height="40"/>
</element>
- <element name="digit2" ref="led_digit_green">
- <bounds x="366" y="28" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
- <bounds x="366" y="28" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="396" y="28" width="30" height="40"/>
- </element>
- <element name="digit3" ref="led_digit_green">
+ <element name="digit3" ref="led_digit" state="0">
<bounds x="396" y="28" width="30" height="40"/>
</element>
- <element ref="led_digit_rect_green">
- <bounds x="396" y="28" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="426" y="28" width="30" height="40"/>
- </element>
- <element name="digit4" ref="led_digit_green">
- <bounds x="426" y="28" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
+ <element name="digit4" ref="led_digit" state="0">
<bounds x="426" y="28" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="456" y="28" width="30" height="40"/>
- </element>
- <element name="digit5" ref="led_digit_green">
- <bounds x="456" y="28" width="30" height="40"/>
</element>
- <element ref="led_digit_rect_green">
+ <element name="digit5" ref="led_digit" state="0">
<bounds x="456" y="28" width="30" height="40"/>
- <color alpha="0.1"/>
</element>
<element name="label42" ref="label_42">
<bounds x="473" y="307" width="51" height="22"/>
@@ -4288,2334 +2743,20 @@
<element name="label82" ref="label_82">
<bounds x="403" y="4" width="39" height="24"/>
</element>
- </view>
-
- <view name="MFME2MAME Debug">
- <element ref="debug_backdrop_colour">
- <bounds x="0" y="0" width="1920" height="1080"/>
- </element>
- <element name="lamp0" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_0" ref="debug_lamp_label_0">
- <bounds x="47" y="47" width="30" height="30"/>
- </element>
- <element name="lamp1" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_1" ref="debug_lamp_label_1">
- <bounds x="111" y="47" width="30" height="30"/>
- </element>
- <element name="lamp2" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_2" ref="debug_lamp_label_2">
- <bounds x="175" y="47" width="30" height="30"/>
- </element>
- <element name="lamp3" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_3" ref="debug_lamp_label_3">
- <bounds x="239" y="47" width="30" height="30"/>
- </element>
- <element name="lamp4" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_4" ref="debug_lamp_label_4">
- <bounds x="303" y="47" width="30" height="30"/>
- </element>
- <element name="lamp5" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_5" ref="debug_lamp_label_5">
- <bounds x="367" y="47" width="30" height="30"/>
- </element>
- <element name="lamp6" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_6" ref="debug_lamp_label_6">
- <bounds x="431" y="47" width="30" height="30"/>
- </element>
- <element name="lamp7" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_7" ref="debug_lamp_label_7">
- <bounds x="495" y="47" width="30" height="30"/>
- </element>
- <element name="lamp8" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_8" ref="debug_lamp_label_8">
- <bounds x="559" y="47" width="30" height="30"/>
- </element>
- <element name="lamp9" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_9" ref="debug_lamp_label_9">
- <bounds x="623" y="47" width="30" height="30"/>
- </element>
- <element name="lamp10" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_10" ref="debug_lamp_label_10">
- <bounds x="687" y="47" width="30" height="30"/>
- </element>
- <element name="lamp11" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_11" ref="debug_lamp_label_11">
- <bounds x="751" y="47" width="30" height="30"/>
- </element>
- <element name="lamp12" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_12" ref="debug_lamp_label_12">
- <bounds x="815" y="47" width="30" height="30"/>
- </element>
- <element name="lamp13" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_13" ref="debug_lamp_label_13">
- <bounds x="879" y="47" width="30" height="30"/>
- </element>
- <element name="lamp14" ref="debug_lamp_button" state="0">
- <bounds x="928" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_14" ref="debug_lamp_label_14">
- <bounds x="943" y="47" width="30" height="30"/>
- </element>
- <element name="lamp15" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_15" ref="debug_lamp_label_15">
- <bounds x="1007" y="47" width="30" height="30"/>
- </element>
- <element name="lamp16" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_16" ref="debug_lamp_label_16">
- <bounds x="47" y="111" width="30" height="30"/>
- </element>
- <element name="lamp17" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_17" ref="debug_lamp_label_17">
- <bounds x="111" y="111" width="30" height="30"/>
- </element>
- <element name="lamp18" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_18" ref="debug_lamp_label_18">
- <bounds x="175" y="111" width="30" height="30"/>
- </element>
- <element name="lamp19" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_19" ref="debug_lamp_label_19">
- <bounds x="239" y="111" width="30" height="30"/>
- </element>
- <element name="lamp20" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_20" ref="debug_lamp_label_20">
- <bounds x="303" y="111" width="30" height="30"/>
- </element>
- <element name="lamp21" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_21" ref="debug_lamp_label_21">
- <bounds x="367" y="111" width="30" height="30"/>
- </element>
- <element name="lamp22" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_22" ref="debug_lamp_label_22">
- <bounds x="431" y="111" width="30" height="30"/>
- </element>
- <element name="lamp23" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_23" ref="debug_lamp_label_23">
- <bounds x="495" y="111" width="30" height="30"/>
- </element>
- <element name="lamp24" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_24" ref="debug_lamp_label_24">
- <bounds x="559" y="111" width="30" height="30"/>
- </element>
- <element name="lamp25" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_25" ref="debug_lamp_label_25">
- <bounds x="623" y="111" width="30" height="30"/>
- </element>
- <element name="lamp26" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_26" ref="debug_lamp_label_26">
- <bounds x="687" y="111" width="30" height="30"/>
- </element>
- <element name="lamp27" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_27" ref="debug_lamp_label_27">
- <bounds x="751" y="111" width="30" height="30"/>
- </element>
- <element name="lamp28" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_28" ref="debug_lamp_label_28">
- <bounds x="815" y="111" width="30" height="30"/>
- </element>
- <element name="lamp29" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_29" ref="debug_lamp_label_29">
- <bounds x="879" y="111" width="30" height="30"/>
- </element>
- <element name="lamp30" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_30" ref="debug_lamp_label_30">
- <bounds x="943" y="111" width="30" height="30"/>
- </element>
- <element name="lamp31" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_31" ref="debug_lamp_label_31">
- <bounds x="1007" y="111" width="30" height="30"/>
- </element>
- <element name="lamp32" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_32" ref="debug_lamp_label_32">
- <bounds x="47" y="175" width="30" height="30"/>
- </element>
- <element name="lamp33" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_33" ref="debug_lamp_label_33">
- <bounds x="111" y="175" width="30" height="30"/>
- </element>
- <element name="lamp34" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_34" ref="debug_lamp_label_34">
- <bounds x="175" y="175" width="30" height="30"/>
- </element>
- <element name="lamp35" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_35" ref="debug_lamp_label_35">
- <bounds x="239" y="175" width="30" height="30"/>
- </element>
- <element name="lamp36" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_36" ref="debug_lamp_label_36">
- <bounds x="303" y="175" width="30" height="30"/>
- </element>
- <element name="lamp37" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_37" ref="debug_lamp_label_37">
- <bounds x="367" y="175" width="30" height="30"/>
- </element>
- <element name="lamp38" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_38" ref="debug_lamp_label_38">
- <bounds x="431" y="175" width="30" height="30"/>
- </element>
- <element name="lamp39" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_39" ref="debug_lamp_label_39">
- <bounds x="495" y="175" width="30" height="30"/>
- </element>
- <element name="lamp40" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_40" ref="debug_lamp_label_40">
- <bounds x="559" y="175" width="30" height="30"/>
- </element>
- <element name="lamp41" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_41" ref="debug_lamp_label_41">
- <bounds x="623" y="175" width="30" height="30"/>
- </element>
- <element name="lamp42" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_42" ref="debug_lamp_label_42">
- <bounds x="687" y="175" width="30" height="30"/>
- </element>
- <element name="lamp43" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_43" ref="debug_lamp_label_43">
- <bounds x="751" y="175" width="30" height="30"/>
- </element>
- <element name="lamp44" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_44" ref="debug_lamp_label_44">
- <bounds x="815" y="175" width="30" height="30"/>
- </element>
- <element name="lamp45" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_45" ref="debug_lamp_label_45">
- <bounds x="879" y="175" width="30" height="30"/>
- </element>
- <element name="lamp46" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_46" ref="debug_lamp_label_46">
- <bounds x="943" y="175" width="30" height="30"/>
- </element>
- <element name="lamp47" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_47" ref="debug_lamp_label_47">
- <bounds x="1007" y="175" width="30" height="30"/>
- </element>
- <element name="lamp48" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_48" ref="debug_lamp_label_48">
- <bounds x="47" y="239" width="30" height="30"/>
- </element>
- <element name="lamp49" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_49" ref="debug_lamp_label_49">
- <bounds x="111" y="239" width="30" height="30"/>
- </element>
- <element name="lamp50" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_50" ref="debug_lamp_label_50">
- <bounds x="175" y="239" width="30" height="30"/>
- </element>
- <element name="lamp51" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_51" ref="debug_lamp_label_51">
- <bounds x="239" y="239" width="30" height="30"/>
- </element>
- <element name="lamp52" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_52" ref="debug_lamp_label_52">
- <bounds x="303" y="239" width="30" height="30"/>
- </element>
- <element name="lamp53" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_53" ref="debug_lamp_label_53">
- <bounds x="367" y="239" width="30" height="30"/>
- </element>
- <element name="lamp54" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_54" ref="debug_lamp_label_54">
- <bounds x="431" y="239" width="30" height="30"/>
- </element>
- <element name="lamp55" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_55" ref="debug_lamp_label_55">
- <bounds x="495" y="239" width="30" height="30"/>
- </element>
- <element name="lamp56" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_56" ref="debug_lamp_label_56">
- <bounds x="559" y="239" width="30" height="30"/>
- </element>
- <element name="lamp57" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_57" ref="debug_lamp_label_57">
- <bounds x="623" y="239" width="30" height="30"/>
- </element>
- <element name="lamp58" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_58" ref="debug_lamp_label_58">
- <bounds x="687" y="239" width="30" height="30"/>
- </element>
- <element name="lamp59" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_59" ref="debug_lamp_label_59">
- <bounds x="751" y="239" width="30" height="30"/>
- </element>
- <element name="lamp60" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_60" ref="debug_lamp_label_60">
- <bounds x="815" y="239" width="30" height="30"/>
- </element>
- <element name="lamp61" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_61" ref="debug_lamp_label_61">
- <bounds x="879" y="239" width="30" height="30"/>
- </element>
- <element name="lamp62" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_62" ref="debug_lamp_label_62">
- <bounds x="943" y="239" width="30" height="30"/>
- </element>
- <element name="lamp63" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_63" ref="debug_lamp_label_63">
- <bounds x="1007" y="239" width="30" height="30"/>
- </element>
- <element name="lamp64" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_64" ref="debug_lamp_label_64">
- <bounds x="47" y="303" width="30" height="30"/>
- </element>
- <element name="lamp65" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_65" ref="debug_lamp_label_65">
- <bounds x="111" y="303" width="30" height="30"/>
- </element>
- <element name="lamp66" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_66" ref="debug_lamp_label_66">
- <bounds x="175" y="303" width="30" height="30"/>
- </element>
- <element name="lamp67" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_67" ref="debug_lamp_label_67">
- <bounds x="239" y="303" width="30" height="30"/>
- </element>
- <element name="lamp68" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_68" ref="debug_lamp_label_68">
- <bounds x="303" y="303" width="30" height="30"/>
- </element>
- <element name="lamp69" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_69" ref="debug_lamp_label_69">
- <bounds x="367" y="303" width="30" height="30"/>
- </element>
- <element name="lamp70" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_70" ref="debug_lamp_label_70">
- <bounds x="431" y="303" width="30" height="30"/>
- </element>
- <element name="lamp71" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_71" ref="debug_lamp_label_71">
- <bounds x="495" y="303" width="30" height="30"/>
- </element>
- <element name="lamp72" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_72" ref="debug_lamp_label_72">
- <bounds x="559" y="303" width="30" height="30"/>
- </element>
- <element name="lamp73" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_73" ref="debug_lamp_label_73">
- <bounds x="623" y="303" width="30" height="30"/>
- </element>
- <element name="lamp74" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_74" ref="debug_lamp_label_74">
- <bounds x="687" y="303" width="30" height="30"/>
- </element>
- <element name="lamp75" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_75" ref="debug_lamp_label_75">
- <bounds x="751" y="303" width="30" height="30"/>
- </element>
- <element name="lamp76" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_76" ref="debug_lamp_label_76">
- <bounds x="815" y="303" width="30" height="30"/>
- </element>
- <element name="lamp77" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_77" ref="debug_lamp_label_77">
- <bounds x="879" y="303" width="30" height="30"/>
- </element>
- <element name="lamp78" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_78" ref="debug_lamp_label_78">
- <bounds x="943" y="303" width="30" height="30"/>
- </element>
- <element name="lamp79" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_79" ref="debug_lamp_label_79">
- <bounds x="1007" y="303" width="30" height="30"/>
- </element>
- <element name="lamp80" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_80" ref="debug_lamp_label_80">
- <bounds x="47" y="367" width="30" height="30"/>
- </element>
- <element name="lamp81" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_81" ref="debug_lamp_label_81">
- <bounds x="111" y="367" width="30" height="30"/>
- </element>
- <element name="lamp82" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_82" ref="debug_lamp_label_82">
- <bounds x="175" y="367" width="30" height="30"/>
- </element>
- <element name="lamp83" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_83" ref="debug_lamp_label_83">
- <bounds x="239" y="367" width="30" height="30"/>
- </element>
- <element name="lamp84" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_84" ref="debug_lamp_label_84">
- <bounds x="303" y="367" width="30" height="30"/>
- </element>
- <element name="lamp85" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_85" ref="debug_lamp_label_85">
- <bounds x="367" y="367" width="30" height="30"/>
- </element>
- <element name="lamp86" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_86" ref="debug_lamp_label_86">
- <bounds x="431" y="367" width="30" height="30"/>
- </element>
- <element name="lamp87" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_87" ref="debug_lamp_label_87">
- <bounds x="495" y="367" width="30" height="30"/>
- </element>
- <element name="lamp88" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_88" ref="debug_lamp_label_88">
- <bounds x="559" y="367" width="30" height="30"/>
- </element>
- <element name="lamp89" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_89" ref="debug_lamp_label_89">
- <bounds x="623" y="367" width="30" height="30"/>
- </element>
- <element name="lamp90" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_90" ref="debug_lamp_label_90">
- <bounds x="687" y="367" width="30" height="30"/>
- </element>
- <element name="lamp91" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_91" ref="debug_lamp_label_91">
- <bounds x="751" y="367" width="30" height="30"/>
- </element>
- <element name="lamp92" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_92" ref="debug_lamp_label_92">
- <bounds x="815" y="367" width="30" height="30"/>
- </element>
- <element name="lamp93" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_93" ref="debug_lamp_label_93">
- <bounds x="879" y="367" width="30" height="30"/>
- </element>
- <element name="lamp94" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_94" ref="debug_lamp_label_94">
- <bounds x="943" y="367" width="30" height="30"/>
- </element>
- <element name="lamp95" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_95" ref="debug_lamp_label_95">
- <bounds x="1007" y="367" width="30" height="30"/>
- </element>
- <element name="lamp96" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_96" ref="debug_lamp_label_96">
- <bounds x="47" y="431" width="30" height="30"/>
- </element>
- <element name="lamp97" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_97" ref="debug_lamp_label_97">
- <bounds x="111" y="431" width="30" height="30"/>
- </element>
- <element name="lamp98" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_98" ref="debug_lamp_label_98">
- <bounds x="175" y="431" width="30" height="30"/>
- </element>
- <element name="lamp99" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_99" ref="debug_lamp_label_99">
- <bounds x="239" y="431" width="30" height="30"/>
- </element>
- <element name="lamp100" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_100" ref="debug_lamp_label_100">
- <bounds x="303" y="431" width="30" height="30"/>
- </element>
- <element name="lamp101" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_101" ref="debug_lamp_label_101">
- <bounds x="367" y="431" width="30" height="30"/>
- </element>
- <element name="lamp102" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_102" ref="debug_lamp_label_102">
- <bounds x="431" y="431" width="30" height="30"/>
- </element>
- <element name="lamp103" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_103" ref="debug_lamp_label_103">
- <bounds x="495" y="431" width="30" height="30"/>
- </element>
- <element name="lamp104" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_104" ref="debug_lamp_label_104">
- <bounds x="559" y="431" width="30" height="30"/>
- </element>
- <element name="lamp105" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_105" ref="debug_lamp_label_105">
- <bounds x="623" y="431" width="30" height="30"/>
- </element>
- <element name="lamp106" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_106" ref="debug_lamp_label_106">
- <bounds x="687" y="431" width="30" height="30"/>
- </element>
- <element name="lamp107" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_107" ref="debug_lamp_label_107">
- <bounds x="751" y="431" width="30" height="30"/>
- </element>
- <element name="lamp108" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_108" ref="debug_lamp_label_108">
- <bounds x="815" y="431" width="30" height="30"/>
- </element>
- <element name="lamp109" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_109" ref="debug_lamp_label_109">
- <bounds x="879" y="431" width="30" height="30"/>
- </element>
- <element name="lamp110" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_110" ref="debug_lamp_label_110">
- <bounds x="943" y="431" width="30" height="30"/>
- </element>
- <element name="lamp111" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_111" ref="debug_lamp_label_111">
- <bounds x="1007" y="431" width="30" height="30"/>
- </element>
- <element name="lamp112" ref="debug_lamp_standard" state="0">
- <bounds x="32" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_112" ref="debug_lamp_label_112">
- <bounds x="47" y="495" width="30" height="30"/>
- </element>
- <element name="lamp113" ref="debug_lamp_standard" state="0">
- <bounds x="96" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_113" ref="debug_lamp_label_113">
- <bounds x="111" y="495" width="30" height="30"/>
- </element>
- <element name="lamp114" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_114" ref="debug_lamp_label_114">
- <bounds x="175" y="495" width="30" height="30"/>
- </element>
- <element name="lamp115" ref="debug_lamp_button" state="0">
- <bounds x="224" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_115" ref="debug_lamp_label_115">
- <bounds x="239" y="495" width="30" height="30"/>
- </element>
- <element name="lamp116" ref="debug_lamp_button" state="0">
- <bounds x="288" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_116" ref="debug_lamp_label_116">
- <bounds x="303" y="495" width="30" height="30"/>
- </element>
- <element name="lamp117" ref="debug_lamp_button" state="0">
- <bounds x="352" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_117" ref="debug_lamp_label_117">
- <bounds x="367" y="495" width="30" height="30"/>
- </element>
- <element name="lamp118" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_118" ref="debug_lamp_label_118">
- <bounds x="431" y="495" width="30" height="30"/>
- </element>
- <element name="lamp119" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_119" ref="debug_lamp_label_119">
- <bounds x="495" y="495" width="30" height="30"/>
- </element>
- <element name="lamp120" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_120" ref="debug_lamp_label_120">
- <bounds x="559" y="495" width="30" height="30"/>
- </element>
- <element name="lamp121" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_121" ref="debug_lamp_label_121">
- <bounds x="623" y="495" width="30" height="30"/>
- </element>
- <element name="lamp122" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_122" ref="debug_lamp_label_122">
- <bounds x="687" y="495" width="30" height="30"/>
- </element>
- <element name="lamp123" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_123" ref="debug_lamp_label_123">
- <bounds x="751" y="495" width="30" height="30"/>
- </element>
- <element name="lamp124" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_124" ref="debug_lamp_label_124">
- <bounds x="815" y="495" width="30" height="30"/>
- </element>
- <element name="lamp125" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_125" ref="debug_lamp_label_125">
- <bounds x="879" y="495" width="30" height="30"/>
- </element>
- <element name="lamp126" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_126" ref="debug_lamp_label_126">
- <bounds x="943" y="495" width="30" height="30"/>
- </element>
- <element name="lamp127" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_127" ref="debug_lamp_label_127">
- <bounds x="1007" y="495" width="30" height="30"/>
- </element>
- <element name="lamp128" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_128" ref="debug_lamp_label_128">
- <bounds x="47" y="559" width="30" height="30"/>
- </element>
- <element name="lamp129" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_129" ref="debug_lamp_label_129">
- <bounds x="111" y="559" width="30" height="30"/>
- </element>
- <element name="lamp130" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_130" ref="debug_lamp_label_130">
- <bounds x="175" y="559" width="30" height="30"/>
- </element>
- <element name="lamp131" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_131" ref="debug_lamp_label_131">
- <bounds x="239" y="559" width="30" height="30"/>
- </element>
- <element name="lamp132" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_132" ref="debug_lamp_label_132">
- <bounds x="303" y="559" width="30" height="30"/>
- </element>
- <element name="lamp133" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_133" ref="debug_lamp_label_133">
- <bounds x="367" y="559" width="30" height="30"/>
- </element>
- <element name="lamp134" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_134" ref="debug_lamp_label_134">
- <bounds x="431" y="559" width="30" height="30"/>
- </element>
- <element name="lamp135" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_135" ref="debug_lamp_label_135">
- <bounds x="495" y="559" width="30" height="30"/>
- </element>
- <element name="lamp136" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_136" ref="debug_lamp_label_136">
- <bounds x="559" y="559" width="30" height="30"/>
- </element>
- <element name="lamp137" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_137" ref="debug_lamp_label_137">
- <bounds x="623" y="559" width="30" height="30"/>
- </element>
- <element name="lamp138" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_138" ref="debug_lamp_label_138">
- <bounds x="687" y="559" width="30" height="30"/>
- </element>
- <element name="lamp139" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_139" ref="debug_lamp_label_139">
- <bounds x="751" y="559" width="30" height="30"/>
- </element>
- <element name="lamp140" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_140" ref="debug_lamp_label_140">
- <bounds x="815" y="559" width="30" height="30"/>
- </element>
- <element name="lamp141" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_141" ref="debug_lamp_label_141">
- <bounds x="879" y="559" width="30" height="30"/>
- </element>
- <element name="lamp142" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_142" ref="debug_lamp_label_142">
- <bounds x="943" y="559" width="30" height="30"/>
- </element>
- <element name="lamp143" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_143" ref="debug_lamp_label_143">
- <bounds x="1007" y="559" width="30" height="30"/>
- </element>
- <element name="lamp144" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_144" ref="debug_lamp_label_144">
- <bounds x="47" y="623" width="30" height="30"/>
- </element>
- <element name="lamp145" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_145" ref="debug_lamp_label_145">
- <bounds x="111" y="623" width="30" height="30"/>
- </element>
- <element name="lamp146" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_146" ref="debug_lamp_label_146">
- <bounds x="175" y="623" width="30" height="30"/>
- </element>
- <element name="lamp147" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_147" ref="debug_lamp_label_147">
- <bounds x="239" y="623" width="30" height="30"/>
- </element>
- <element name="lamp148" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_148" ref="debug_lamp_label_148">
- <bounds x="303" y="623" width="30" height="30"/>
- </element>
- <element name="lamp149" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_149" ref="debug_lamp_label_149">
- <bounds x="367" y="623" width="30" height="30"/>
- </element>
- <element name="lamp150" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_150" ref="debug_lamp_label_150">
- <bounds x="431" y="623" width="30" height="30"/>
- </element>
- <element name="lamp151" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_151" ref="debug_lamp_label_151">
- <bounds x="495" y="623" width="30" height="30"/>
- </element>
- <element name="lamp152" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_152" ref="debug_lamp_label_152">
- <bounds x="559" y="623" width="30" height="30"/>
- </element>
- <element name="lamp153" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_153" ref="debug_lamp_label_153">
- <bounds x="623" y="623" width="30" height="30"/>
- </element>
- <element name="lamp154" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_154" ref="debug_lamp_label_154">
- <bounds x="687" y="623" width="30" height="30"/>
- </element>
- <element name="lamp155" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_155" ref="debug_lamp_label_155">
- <bounds x="751" y="623" width="30" height="30"/>
- </element>
- <element name="lamp156" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_156" ref="debug_lamp_label_156">
- <bounds x="815" y="623" width="30" height="30"/>
- </element>
- <element name="lamp157" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_157" ref="debug_lamp_label_157">
- <bounds x="879" y="623" width="30" height="30"/>
- </element>
- <element name="lamp158" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_158" ref="debug_lamp_label_158">
- <bounds x="943" y="623" width="30" height="30"/>
- </element>
- <element name="lamp159" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_159" ref="debug_lamp_label_159">
- <bounds x="1007" y="623" width="30" height="30"/>
- </element>
- <element name="lamp160" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_160" ref="debug_lamp_label_160">
- <bounds x="47" y="687" width="30" height="30"/>
- </element>
- <element name="lamp161" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_161" ref="debug_lamp_label_161">
- <bounds x="111" y="687" width="30" height="30"/>
- </element>
- <element name="lamp162" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_162" ref="debug_lamp_label_162">
- <bounds x="175" y="687" width="30" height="30"/>
- </element>
- <element name="lamp163" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_163" ref="debug_lamp_label_163">
- <bounds x="239" y="687" width="30" height="30"/>
- </element>
- <element name="lamp164" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_164" ref="debug_lamp_label_164">
- <bounds x="303" y="687" width="30" height="30"/>
- </element>
- <element name="lamp165" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_165" ref="debug_lamp_label_165">
- <bounds x="367" y="687" width="30" height="30"/>
- </element>
- <element name="lamp166" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_166" ref="debug_lamp_label_166">
- <bounds x="431" y="687" width="30" height="30"/>
- </element>
- <element name="lamp167" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_167" ref="debug_lamp_label_167">
- <bounds x="495" y="687" width="30" height="30"/>
- </element>
- <element name="lamp168" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_168" ref="debug_lamp_label_168">
- <bounds x="559" y="687" width="30" height="30"/>
- </element>
- <element name="lamp169" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_169" ref="debug_lamp_label_169">
- <bounds x="623" y="687" width="30" height="30"/>
- </element>
- <element name="lamp170" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_170" ref="debug_lamp_label_170">
- <bounds x="687" y="687" width="30" height="30"/>
- </element>
- <element name="lamp171" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_171" ref="debug_lamp_label_171">
- <bounds x="751" y="687" width="30" height="30"/>
- </element>
- <element name="lamp172" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_172" ref="debug_lamp_label_172">
- <bounds x="815" y="687" width="30" height="30"/>
- </element>
- <element name="lamp173" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_173" ref="debug_lamp_label_173">
- <bounds x="879" y="687" width="30" height="30"/>
- </element>
- <element name="lamp174" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_174" ref="debug_lamp_label_174">
- <bounds x="943" y="687" width="30" height="30"/>
- </element>
- <element name="lamp175" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_175" ref="debug_lamp_label_175">
- <bounds x="1007" y="687" width="30" height="30"/>
- </element>
- <element name="lamp176" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_176" ref="debug_lamp_label_176">
- <bounds x="47" y="751" width="30" height="30"/>
- </element>
- <element name="lamp177" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_177" ref="debug_lamp_label_177">
- <bounds x="111" y="751" width="30" height="30"/>
- </element>
- <element name="lamp178" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_178" ref="debug_lamp_label_178">
- <bounds x="175" y="751" width="30" height="30"/>
- </element>
- <element name="lamp179" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_179" ref="debug_lamp_label_179">
- <bounds x="239" y="751" width="30" height="30"/>
- </element>
- <element name="lamp180" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_180" ref="debug_lamp_label_180">
- <bounds x="303" y="751" width="30" height="30"/>
- </element>
- <element name="lamp181" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_181" ref="debug_lamp_label_181">
- <bounds x="367" y="751" width="30" height="30"/>
- </element>
- <element name="lamp182" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_182" ref="debug_lamp_label_182">
- <bounds x="431" y="751" width="30" height="30"/>
- </element>
- <element name="lamp183" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_183" ref="debug_lamp_label_183">
- <bounds x="495" y="751" width="30" height="30"/>
- </element>
- <element name="lamp184" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_184" ref="debug_lamp_label_184">
- <bounds x="559" y="751" width="30" height="30"/>
- </element>
- <element name="lamp185" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_185" ref="debug_lamp_label_185">
- <bounds x="623" y="751" width="30" height="30"/>
- </element>
- <element name="lamp186" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_186" ref="debug_lamp_label_186">
- <bounds x="687" y="751" width="30" height="30"/>
- </element>
- <element name="lamp187" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_187" ref="debug_lamp_label_187">
- <bounds x="751" y="751" width="30" height="30"/>
- </element>
- <element name="lamp188" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_188" ref="debug_lamp_label_188">
- <bounds x="815" y="751" width="30" height="30"/>
- </element>
- <element name="lamp189" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_189" ref="debug_lamp_label_189">
- <bounds x="879" y="751" width="30" height="30"/>
- </element>
- <element name="lamp190" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_190" ref="debug_lamp_label_190">
- <bounds x="943" y="751" width="30" height="30"/>
- </element>
- <element name="lamp191" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_191" ref="debug_lamp_label_191">
- <bounds x="1007" y="751" width="30" height="30"/>
- </element>
- <element name="lamp192" ref="debug_lamp_button" state="0">
- <bounds x="32" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_192" ref="debug_lamp_label_192">
- <bounds x="47" y="815" width="30" height="30"/>
- </element>
- <element name="lamp193" ref="debug_lamp_button" state="0">
- <bounds x="96" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_193" ref="debug_lamp_label_193">
- <bounds x="111" y="815" width="30" height="30"/>
- </element>
- <element name="lamp194" ref="debug_lamp_button" state="0">
- <bounds x="160" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_194" ref="debug_lamp_label_194">
- <bounds x="175" y="815" width="30" height="30"/>
- </element>
- <element name="lamp195" ref="debug_lamp_button" state="0">
- <bounds x="224" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_195" ref="debug_lamp_label_195">
- <bounds x="239" y="815" width="30" height="30"/>
- </element>
- <element name="lamp196" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_196" ref="debug_lamp_label_196">
- <bounds x="303" y="815" width="30" height="30"/>
- </element>
- <element name="lamp197" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_197" ref="debug_lamp_label_197">
- <bounds x="367" y="815" width="30" height="30"/>
- </element>
- <element name="lamp198" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_198" ref="debug_lamp_label_198">
- <bounds x="431" y="815" width="30" height="30"/>
- </element>
- <element name="lamp199" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_199" ref="debug_lamp_label_199">
- <bounds x="495" y="815" width="30" height="30"/>
- </element>
- <element name="lamp200" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_200" ref="debug_lamp_label_200">
- <bounds x="559" y="815" width="30" height="30"/>
- </element>
- <element name="lamp201" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_201" ref="debug_lamp_label_201">
- <bounds x="623" y="815" width="30" height="30"/>
- </element>
- <element name="lamp202" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_202" ref="debug_lamp_label_202">
- <bounds x="687" y="815" width="30" height="30"/>
- </element>
- <element name="lamp203" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_203" ref="debug_lamp_label_203">
- <bounds x="751" y="815" width="30" height="30"/>
- </element>
- <element name="lamp204" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_204" ref="debug_lamp_label_204">
- <bounds x="815" y="815" width="30" height="30"/>
- </element>
- <element name="lamp205" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_205" ref="debug_lamp_label_205">
- <bounds x="879" y="815" width="30" height="30"/>
- </element>
- <element name="lamp206" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_206" ref="debug_lamp_label_206">
- <bounds x="943" y="815" width="30" height="30"/>
- </element>
- <element name="lamp207" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_207" ref="debug_lamp_label_207">
- <bounds x="1007" y="815" width="30" height="30"/>
- </element>
- <element name="lamp208" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_208" ref="debug_lamp_label_208">
- <bounds x="47" y="879" width="30" height="30"/>
- </element>
- <element name="lamp209" ref="debug_lamp_button" state="0">
- <bounds x="96" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_209" ref="debug_lamp_label_209">
- <bounds x="111" y="879" width="30" height="30"/>
- </element>
- <element name="lamp210" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_210" ref="debug_lamp_label_210">
- <bounds x="175" y="879" width="30" height="30"/>
- </element>
- <element name="lamp211" ref="debug_lamp_button" state="0">
- <bounds x="224" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_211" ref="debug_lamp_label_211">
- <bounds x="239" y="879" width="30" height="30"/>
- </element>
- <element name="lamp212" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_212" ref="debug_lamp_label_212">
- <bounds x="303" y="879" width="30" height="30"/>
- </element>
- <element name="lamp213" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_213" ref="debug_lamp_label_213">
- <bounds x="367" y="879" width="30" height="30"/>
- </element>
- <element name="lamp214" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_214" ref="debug_lamp_label_214">
- <bounds x="431" y="879" width="30" height="30"/>
- </element>
- <element name="lamp215" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_215" ref="debug_lamp_label_215">
- <bounds x="495" y="879" width="30" height="30"/>
- </element>
- <element name="lamp216" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_216" ref="debug_lamp_label_216">
- <bounds x="559" y="879" width="30" height="30"/>
- </element>
- <element name="lamp217" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_217" ref="debug_lamp_label_217">
- <bounds x="623" y="879" width="30" height="30"/>
- </element>
- <element name="lamp218" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_218" ref="debug_lamp_label_218">
- <bounds x="687" y="879" width="30" height="30"/>
- </element>
- <element name="lamp219" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_219" ref="debug_lamp_label_219">
- <bounds x="751" y="879" width="30" height="30"/>
- </element>
- <element name="lamp220" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_220" ref="debug_lamp_label_220">
- <bounds x="815" y="879" width="30" height="30"/>
- </element>
- <element name="lamp221" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_221" ref="debug_lamp_label_221">
- <bounds x="879" y="879" width="30" height="30"/>
- </element>
- <element name="lamp222" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_222" ref="debug_lamp_label_222">
- <bounds x="943" y="879" width="30" height="30"/>
- </element>
- <element name="lamp223" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_223" ref="debug_lamp_label_223">
- <bounds x="1007" y="879" width="30" height="30"/>
- </element>
- <element name="lamp224" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_224" ref="debug_lamp_label_224">
- <bounds x="47" y="943" width="30" height="30"/>
- </element>
- <element name="lamp225" ref="debug_lamp_button" state="0">
- <bounds x="96" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_225" ref="debug_lamp_label_225">
- <bounds x="111" y="943" width="30" height="30"/>
- </element>
- <element name="lamp226" ref="debug_lamp_standard" state="0">
- <bounds x="160" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_226" ref="debug_lamp_label_226">
- <bounds x="175" y="943" width="30" height="30"/>
- </element>
- <element name="lamp227" ref="debug_lamp_standard" state="0">
- <bounds x="224" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_227" ref="debug_lamp_label_227">
- <bounds x="239" y="943" width="30" height="30"/>
- </element>
- <element name="lamp228" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_228" ref="debug_lamp_label_228">
- <bounds x="303" y="943" width="30" height="30"/>
- </element>
- <element name="lamp229" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_229" ref="debug_lamp_label_229">
- <bounds x="367" y="943" width="30" height="30"/>
- </element>
- <element name="lamp230" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_230" ref="debug_lamp_label_230">
- <bounds x="431" y="943" width="30" height="30"/>
- </element>
- <element name="lamp231" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_231" ref="debug_lamp_label_231">
- <bounds x="495" y="943" width="30" height="30"/>
- </element>
- <element name="lamp232" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_232" ref="debug_lamp_label_232">
- <bounds x="559" y="943" width="30" height="30"/>
- </element>
- <element name="lamp233" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_233" ref="debug_lamp_label_233">
- <bounds x="623" y="943" width="30" height="30"/>
- </element>
- <element name="lamp234" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_234" ref="debug_lamp_label_234">
- <bounds x="687" y="943" width="30" height="30"/>
- </element>
- <element name="lamp235" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_235" ref="debug_lamp_label_235">
- <bounds x="751" y="943" width="30" height="30"/>
- </element>
- <element name="lamp236" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_236" ref="debug_lamp_label_236">
- <bounds x="815" y="943" width="30" height="30"/>
- </element>
- <element name="lamp237" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_237" ref="debug_lamp_label_237">
- <bounds x="879" y="943" width="30" height="30"/>
- </element>
- <element name="lamp238" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_238" ref="debug_lamp_label_238">
- <bounds x="943" y="943" width="30" height="30"/>
- </element>
- <element name="lamp239" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_239" ref="debug_lamp_label_239">
- <bounds x="1007" y="943" width="30" height="30"/>
- </element>
- <element name="lamp240" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_240" ref="debug_lamp_label_240">
- <bounds x="47" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp241" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_241" ref="debug_lamp_label_241">
- <bounds x="111" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp242" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_242" ref="debug_lamp_label_242">
- <bounds x="175" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp243" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_243" ref="debug_lamp_label_243">
- <bounds x="239" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp244" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_244" ref="debug_lamp_label_244">
- <bounds x="303" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp245" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_245" ref="debug_lamp_label_245">
- <bounds x="367" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp246" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_246" ref="debug_lamp_label_246">
- <bounds x="431" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp247" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_247" ref="debug_lamp_label_247">
- <bounds x="495" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp248" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_248" ref="debug_lamp_label_248">
- <bounds x="559" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp249" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_249" ref="debug_lamp_label_249">
- <bounds x="623" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp250" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_250" ref="debug_lamp_label_250">
- <bounds x="687" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp251" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_251" ref="debug_lamp_label_251">
- <bounds x="751" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp252" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_252" ref="debug_lamp_label_252">
- <bounds x="815" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp253" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_253" ref="debug_lamp_label_253">
- <bounds x="879" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp254" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_254" ref="debug_lamp_label_254">
- <bounds x="943" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp255" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_255" ref="debug_lamp_label_255">
- <bounds x="1007" y="1007" width="30" height="30"/>
- </element>
- <element name="debug_button_0" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_0" ref="debug_button_label_0">
- <bounds x="1120" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_1" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_1" ref="debug_button_label_1">
- <bounds x="1204" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_2" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_2" ref="debug_button_label_2">
- <bounds x="1288" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_3" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_3" ref="debug_button_label_3">
- <bounds x="1372" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_4" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_4" ref="debug_button_label_4">
- <bounds x="1456" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_5" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_5" ref="debug_button_label_5">
- <bounds x="1540" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_6" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_6" ref="debug_button_label_6">
- <bounds x="1624" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_7" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_7" ref="debug_button_label_7">
- <bounds x="1708" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_8" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_8" ref="debug_button_label_8">
- <bounds x="1120" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_9" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_9" ref="debug_button_label_9">
- <bounds x="1204" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_10" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_10" ref="debug_button_label_10">
- <bounds x="1288" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_11" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_11" ref="debug_button_label_11">
- <bounds x="1372" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_12" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_12" ref="debug_button_label_12">
- <bounds x="1456" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_13" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_13" ref="debug_button_label_13">
- <bounds x="1540" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_14" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_14" ref="debug_button_label_14">
- <bounds x="1624" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_15" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_15" ref="debug_button_label_15">
- <bounds x="1708" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_16" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_16" ref="debug_button_label_16">
- <bounds x="1120" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_17" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_17" ref="debug_button_label_17">
- <bounds x="1204" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_18" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_18" ref="debug_button_label_18">
- <bounds x="1288" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_19" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_19" ref="debug_button_label_19">
- <bounds x="1372" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_20" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_20" ref="debug_button_label_20">
- <bounds x="1456" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_21" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_21" ref="debug_button_label_21">
- <bounds x="1540" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_22" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_22" ref="debug_button_label_22">
- <bounds x="1624" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_23" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_23" ref="debug_button_label_23">
- <bounds x="1708" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_24" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_24" ref="debug_button_label_24">
- <bounds x="1120" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_25" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_25" ref="debug_button_label_25">
- <bounds x="1204" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_26" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_26" ref="debug_button_label_26">
- <bounds x="1288" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_27" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_27" ref="debug_button_label_27">
- <bounds x="1372" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_28" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_28" ref="debug_button_label_28">
- <bounds x="1456" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_29" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_29" ref="debug_button_label_29">
- <bounds x="1540" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_30" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_30" ref="debug_button_label_30">
- <bounds x="1624" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_31" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_31" ref="debug_button_label_31">
- <bounds x="1708" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_32" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_32" ref="debug_button_label_32">
- <bounds x="1120" y="863" width="40" height="22"/>
- </element>
- <element name="lamp115" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_33" ref="debug_button_label_33">
- <bounds x="1204" y="863" width="40" height="22"/>
- </element>
- <element name="lamp116" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_34" ref="debug_button_label_34">
- <bounds x="1288" y="863" width="40" height="22"/>
- </element>
- <element name="lamp117" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_35" ref="debug_button_label_35">
- <bounds x="1372" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_36" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_36" ref="debug_button_label_36">
- <bounds x="1456" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_37" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_37" ref="debug_button_label_37">
- <bounds x="1540" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_38" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_38" ref="debug_button_label_38">
- <bounds x="1624" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_39" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_39" ref="debug_button_label_39">
- <bounds x="1708" y="863" width="40" height="22"/>
- </element>
- <element name="lamp192" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_40" ref="debug_button_label_40">
- <bounds x="1120" y="911" width="40" height="22"/>
- </element>
- <element name="lamp193" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_41" ref="debug_button_label_41">
- <bounds x="1204" y="911" width="40" height="22"/>
- </element>
- <element name="lamp194" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_42" ref="debug_button_label_42">
- <bounds x="1288" y="911" width="40" height="22"/>
- </element>
- <element name="lamp195" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_43" ref="debug_button_label_43">
- <bounds x="1372" y="911" width="40" height="22"/>
- </element>
- <element name="lamp209" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_44" ref="debug_button_label_44">
- <bounds x="1456" y="911" width="40" height="22"/>
- </element>
- <element name="lamp211" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_45" ref="debug_button_label_45">
- <bounds x="1540" y="911" width="40" height="22"/>
- </element>
- <element name="lamp225" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_46" ref="debug_button_label_46">
- <bounds x="1624" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_47" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_47" ref="debug_button_label_47">
- <bounds x="1708" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_48" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_48" ref="debug_button_label_48">
- <bounds x="1120" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_49" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_49" ref="debug_button_label_49">
- <bounds x="1204" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_50" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_50" ref="debug_button_label_50">
- <bounds x="1288" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_51" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_51" ref="debug_button_label_51">
- <bounds x="1372" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_52" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_52" ref="debug_button_label_52">
- <bounds x="1456" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_53" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_53" ref="debug_button_label_53">
- <bounds x="1540" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_54" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_54" ref="debug_button_label_54">
- <bounds x="1624" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_55" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_55" ref="debug_button_label_55">
- <bounds x="1708" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_56" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_56" ref="debug_button_label_56">
- <bounds x="1120" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_57" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_57" ref="debug_button_label_57">
- <bounds x="1204" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_58" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_58" ref="debug_button_label_58">
- <bounds x="1288" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_59" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_59" ref="debug_button_label_59">
- <bounds x="1372" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_60" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_60" ref="debug_button_label_60">
- <bounds x="1456" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_61" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_61" ref="debug_button_label_61">
- <bounds x="1540" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_62" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_62" ref="debug_button_label_62">
- <bounds x="1624" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_63" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_63" ref="debug_button_label_63">
- <bounds x="1708" y="1007" width="40" height="22"/>
- </element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="1150" increment="32"/>
- <element name="vfd~i~" ref="debug_vfd">
- <bounds x="~x~" y="600" width="32" height="48"/>
- </element>
- </repeat>
- <element ref="reel_background">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel1" ref="reel0" state="0">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel2" ref="reel1" state="0">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel3" ref="reel2" state="0">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel4" ref="reel3" state="0">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1660" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1660.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1665.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1670.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1675.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1680.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1685.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1660.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1665.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1670.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1675.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1680.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1685.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1660.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1665.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1670.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1675.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1680.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1685.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel5" ref="reel4" state="0">
- <bounds x="1660" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1100" y="312" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="312.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="315.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="318.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="322.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="325.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="328.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="392.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="395.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="398.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="402.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="405.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="408.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="472.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="475.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="478.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="482.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="485.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="488.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel6" ref="reel5" state="0">
- <bounds x="1100" y="312" width="120" height="240"/>
- </element>
- <element name="reel1" ref="debug_stepper_value">
- <bounds x="1100" y="272" width="50" height="30"/>
- </element>
- <element name="reel2" ref="debug_stepper_value">
- <bounds x="1240" y="272" width="50" height="30"/>
- </element>
- <element name="reel3" ref="debug_stepper_value">
- <bounds x="1380" y="272" width="50" height="30"/>
- </element>
- <element name="reel4" ref="debug_stepper_value">
- <bounds x="1520" y="272" width="50" height="30"/>
- </element>
- <element name="reel5" ref="debug_stepper_value">
- <bounds x="1660" y="272" width="50" height="30"/>
- </element>
- <element name="reel6" ref="debug_stepper_value">
- <bounds x="1100" y="552" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_0">
- <bounds x="1180" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_1">
- <bounds x="1320" y="272" width="50" height="30"/>
+ <element name="label91" ref="label_91">
+ <bounds x="175" y="260" width="40" height="26"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_2">
- <bounds x="1460" y="272" width="50" height="30"/>
+ <element name="label92" ref="label_92">
+ <bounds x="600" y="32" width="48" height="26"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
- <bounds x="1600" y="272" width="50" height="30"/>
+ <element name="label93" ref="label_93">
+ <bounds x="600" y="71" width="48" height="26"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_4">
- <bounds x="1740" y="272" width="50" height="30"/>
+ <element name="label94" ref="label_94">
+ <bounds x="600" y="102" width="48" height="26"/>
</element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_5">
- <bounds x="1180" y="552" width="50" height="30"/>
+ <element name="label95" ref="label_95">
+ <bounds x="600" y="134" width="48" height="26"/>
</element>
</view>
</mamelayout>
diff --git a/src/mame/layout/j6sonic10.lay b/src/mame/layout/j6sonic10.lay
index 58fde3b1fa8..1cdadb70b31 100644
--- a/src/mame/layout/j6sonic10.lay
+++ b/src/mame/layout/j6sonic10.lay
@@ -4198,4 +4198,4 @@
<bounds x="483" y="426" width="55" height="20"/>
</element>
</view>
-</mamelayout> \ No newline at end of file
+</mamelayout>
diff --git a/src/mame/layout/j6wldkng.lay b/src/mame/layout/j6wldkng.lay
index cdf57aeac93..ba0ffe20c8a 100644
--- a/src/mame/layout/j6wldkng.lay
+++ b/src/mame/layout/j6wldkng.lay
@@ -1,10 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
+<?xml version="1.0" encoding="UTF-8"?>
<!-- **************************************************** -->
<!-- * This MAME layout file was generated by MFME2MAME * -->
<!-- * Please visit mfme2mame.org for more information. * -->
<!-- **************************************************** -->
-
<mamelayout version="2">
<element name="backdrop_colour">
<rect>
@@ -35,6 +33,174 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
+ <element name="lamp_77_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_77_1" defstate="0">
+ <text string="2" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_78_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_78_1" defstate="0">
+ <text string="3" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_79_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_79_1" defstate="0">
+ <text string="4" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_80_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_80_1" defstate="0">
+ <text string="5" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_81_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_81_1" defstate="0">
+ <text string="6" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_82_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_82_1" defstate="0">
+ <text string="7" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_83_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_83_1" defstate="0">
+ <text string="8" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_84_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_84_1" defstate="0">
+ <text string="9" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_85_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_85_1" defstate="0">
+ <text string="J" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_86_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_86_1" defstate="0">
+ <text string="Q" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_87_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.38" green="0.38" blue="0.38"/>
+ </rect>
+ <rect state="0">
+ <color red="0.09" green="0.09" blue="0.09"/>
+ </rect>
+ </element>
+ <element name="lamp_87_1" defstate="0">
+ <text string="K" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_88_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.00" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_88_1" defstate="0">
+ <text string="A" state="1">
+ <color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
<element name="lamp_101_1_border" defstate="0">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
@@ -75,6 +241,146 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
+ <element name="lamp_247_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_247_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_247_2_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_247_2" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_248_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_248_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_248_2_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_248_2" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_245_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_245_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_246_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_246_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_245_2_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_245_2" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="W/S">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
<element name="lamp_25_1_border" defstate="0">
<rect state="1">
<color red="0.50" green="0.00" blue="0.25"/>
@@ -90,7 +396,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;7">
+ <text string="&#xA3;7 3X Cashpot">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -110,7 +416,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;5">
+ <text string="&#xA3;5 3X Red 7">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -130,7 +436,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;2">
+ <text string="&#xA3;2 3x Double Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -150,7 +456,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;1">
+ <text string="&#xA3;1 3x Single Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -170,7 +476,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;4">
+ <text string="&#xA3;4 3x Blue 7">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -190,7 +496,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;3">
+ <text string="&#xA3;3 3x Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -210,7 +516,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;30">
+ <text string="&#xA3;30 4x Double Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -230,7 +536,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;20">
+ <text string="&#xA3;20 4x Single Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -250,7 +556,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;250">
+ <text string="&#xA3;250 4X Wild King">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -270,7 +576,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;150">
+ <text string="&#xA3;150 4x Red 7">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -290,7 +596,7 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;100">
+ <text string="&#xA3;100 4x Blue 7">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
@@ -310,25 +616,25 @@
<rect state="0">
<color red="0.25" green="0.00" blue="0.13"/>
</rect>
- <text string="&#xA3;60">
+ <text string="&#xA3;60 4x Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
<element name="lamp_103_1_border" defstate="0">
<rect state="1">
- <color red="0.50" green="0.50" blue="0.50"/>
+ <color red="0.50" green="0.00" blue="0.00"/>
</rect>
<rect state="0">
- <color red="0.12" green="0.12" blue="0.12"/>
+ <color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
<element name="lamp_103_1" defstate="0">
<rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
+ <color red="1.00" green="0.00" blue="0.00"/>
</rect>
<rect state="0">
- <color red="0.25" green="0.25" blue="0.25"/>
+ <color red="0.25" green="0.00" blue="0.00"/>
</rect>
<text string="Red">
<color red="0.0" green="0.0" blue="0.0"/>
@@ -337,18 +643,18 @@
</element>
<element name="lamp_104_1_border" defstate="0">
<rect state="1">
- <color red="0.50" green="0.50" blue="0.50"/>
+ <color red="0.38" green="0.38" blue="0.38"/>
</rect>
<rect state="0">
- <color red="0.12" green="0.12" blue="0.12"/>
+ <color red="0.09" green="0.09" blue="0.09"/>
</rect>
</element>
<element name="lamp_104_1" defstate="0">
<rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
+ <color red="0.75" green="0.75" blue="0.75"/>
</rect>
<rect state="0">
- <color red="0.25" green="0.25" blue="0.25"/>
+ <color red="0.19" green="0.19" blue="0.19"/>
</rect>
<text string="Black">
<color red="0.0" green="0.0" blue="0.0"/>
@@ -439,6 +745,106 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
+ <element name="lamp_200_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_200_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="5">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_198_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_198_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="3">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_196_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_196_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="1">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_199_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_199_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="4">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
+ <element name="lamp_197_1_border" defstate="0">
+ <rect state="1">
+ <color red="0.50" green="0.50" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.12" green="0.12" blue="0.00"/>
+ </rect>
+ </element>
+ <element name="lamp_197_1" defstate="0">
+ <rect state="1">
+ <color red="1.00" green="1.00" blue="0.00"/>
+ </rect>
+ <rect state="0">
+ <color red="0.25" green="0.25" blue="0.00"/>
+ </rect>
+ <text string="2">
+ <color red="0.0" green="0.0" blue="0.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
+ </text>
+ </element>
<element name="lamp_212_1_border" defstate="0">
<rect state="1">
<color red="0.50" green="0.50" blue="0.00"/>
@@ -463,7 +869,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_107_border">
+ <element name="colour_button_87_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.00"/>
</rect>
@@ -471,7 +877,7 @@
<color red="0.00" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_107">
+ <element name="colour_button_87">
<rect state="1">
<color red="0.00" green="0.50" blue="0.00"/>
</rect>
@@ -483,7 +889,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_108_border">
+ <element name="colour_button_88_border">
<rect state="1">
<color red="0.00" green="0.25" blue="0.50"/>
</rect>
@@ -491,7 +897,7 @@
<color red="0.00" green="0.06" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_108">
+ <element name="colour_button_88">
<rect state="1">
<color red="0.00" green="0.50" blue="1.00"/>
</rect>
@@ -503,7 +909,7 @@
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="colour_button_109_border">
+ <element name="colour_button_89_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -511,7 +917,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_109">
+ <element name="colour_button_89">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -527,7 +933,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_110_border">
+ <element name="colour_button_90_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -535,7 +941,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_110">
+ <element name="colour_button_90">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -551,7 +957,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_111_border">
+ <element name="colour_button_91_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -559,7 +965,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_111">
+ <element name="colour_button_91">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -575,7 +981,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_112_border">
+ <element name="colour_button_92_border">
<rect state="1">
<color red="0.50" green="0.00" blue="0.00"/>
</rect>
@@ -583,7 +989,7 @@
<color red="0.12" green="0.00" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_112">
+ <element name="colour_button_92">
<rect state="1">
<color red="1.00" green="0.00" blue="0.00"/>
</rect>
@@ -599,7 +1005,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_113_border">
+ <element name="colour_button_93_border">
<rect state="1">
<color red="0.50" green="0.25" blue="0.00"/>
</rect>
@@ -607,7 +1013,7 @@
<color red="0.12" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_113">
+ <element name="colour_button_93">
<rect state="1">
<color red="1.00" green="0.50" blue="0.00"/>
</rect>
@@ -623,7 +1029,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_114_border">
+ <element name="colour_button_94_border">
<rect state="1">
<color red="0.50" green="0.25" blue="0.00"/>
</rect>
@@ -631,7 +1037,7 @@
<color red="0.12" green="0.06" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_114">
+ <element name="colour_button_94">
<rect state="1">
<color red="1.00" green="0.50" blue="0.00"/>
</rect>
@@ -647,7 +1053,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_115_border">
+ <element name="colour_button_95_border">
<rect state="1">
<color red="0.50" green="0.50" blue="0.00"/>
</rect>
@@ -655,7 +1061,7 @@
<color red="0.12" green="0.12" blue="0.00"/>
</rect>
</element>
- <element name="colour_button_115">
+ <element name="colour_button_95">
<rect state="1">
<color red="1.00" green="1.00" blue="0.00"/>
</rect>
@@ -671,7 +1077,7 @@
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="colour_button_121_border">
+ <element name="colour_button_101_border">
<rect state="1">
<color red="0.50" green="0.50" blue="0.50"/>
</rect>
@@ -679,7 +1085,7 @@
<color red="0.12" green="0.12" blue="0.12"/>
</rect>
</element>
- <element name="colour_button_121">
+ <element name="colour_button_101">
<rect state="1">
<color red="1.00" green="1.00" blue="1.00"/>
</rect>
@@ -697,22 +1103,7 @@
</rect>
</element>
<element name="reel0" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel1" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel2" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
- <color red="0.0" green="0.0" blue="0.0"/>
- </reel>
- </element>
- <element name="reel3" defstate="0">
- <reel reelreversed="0" stateoffset="2730" numsymbolsvisible="3" symbollist="reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel,reel">
+ <reel reelreversed="0" stateoffset="-5461" numsymbolsvisible="3" symbollist="Wild King,Double Bar,Red 7,Single Bar,Blue 7,Triple Bar,Cashpot,Double Bar,W/S,Single Bar,Blue 7,Single Bar,Red 7,Double Bar,W/S,Triple Bar">
<color red="0.0" green="0.0" blue="0.0"/>
</reel>
</element>
@@ -721,59 +1112,204 @@
<color red="0.4" green="0.0" blue="0.0"/>
</rect>
</element>
- <element name="led_on">
- <rect state="1">
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
+
+
+ <element name="16seg0">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 12.898437,10.15811 H 27.403274 L 24.960266,13.078828 15.950415,13.117958 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_dot_on">
- <disk state="1">
- <color red="1.0" green="0.0" blue="0.0"/>
- </disk>
+
+ <element name="16seg1">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 42.749575,10.323971 28.846094,10.223745 31.289102,13.144463 39.998275,13.150163 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_off">
- <rect state="0">
- <color red="0.5" green="0.0" blue="0.0"/>
- </rect>
+
+ <element name="16seg2">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 42.041575,37.421477 44.179731,12.225859 41.259013,14.668866 39.415835,35.906298 C 40.081949,36.93419 40.845977,37.717294 42.041575,37.421477 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_dot_off">
- <disk state="0">
- <color red="0.5" green="0.0" blue="0.0"/>
- </disk>
+
+ <element name="16seg3">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 39.447351,64.530474 41.585507,39.334856 38.664789,41.777863 36.821611,63.015295 C 37.487725,64.043187 38.251753,64.826291 39.447351,64.530474 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_rect_black">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
+
+ <element name="16seg4">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 7.6083278,66.846614 22.063635,66.946574 19.523665,64.03349 10.468826,64.02779 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_rect_red">
- <rect>
- <color red="1.0" green="0.0" blue="0.0"/>
- </rect>
+
+ <element name="16seg5">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 37.554617,66.846348 23.651136,66.946574 26.094144,64.025856 34.803317,64.020156 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_rect_green">
- <rect>
- <color red="0.0" green="1.0" blue="0.0"/>
- </rect>
+
+ <element name="16seg6">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 8.5178274,39.889769 6.3796714,65.194461 9.3003894,62.740878 11.143568,41.411507 C 10.477453,40.379165 9.7134253,39.592671 8.5178274,39.889769 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_rect_blue">
- <rect>
- <color red="0.0" green="0.0" blue="1.0"/>
- </rect>
+
+
+ <element name="16seg7">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 9.0129335,37.364834 11.315997,11.79124 14.142221,14.423235 12.205637,34.951962 C 11.539523,35.979854 10.208531,37.660651 9.0129335,37.364834 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_red">
- <led7seg>
- <color red="1.0" green="0.0" blue="0.0"/>
- </led7seg>
+
+ <element name="16seg8">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 12.992931,37.136159 22.584077,37.183409 23.906994,38.695313 22.489583,40.112723 12.945685,40.159973 11.528274,38.600823 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_green">
- <led7seg>
- <color red="0.0" green="1.0" blue="0.0"/>
- </led7seg>
+
+ <element name="16seg9">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 37.649496,37.177873 28.483255,37.092673 27.05925,38.63486 28.434606,39.959389 37.69534,40.003549 39.070697,38.546569 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg10">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 22.311153,34.885786 22.419813,28.438892 16.054297,15.334578 15.956987,21.623519 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg11">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 24.237412,35.484203 26.278328,14.695194 27.820515,13.271189 29.145044,14.646546 27.252076,34.868589 25.606108,36.999898 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg12">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 29.950185,34.249843 30.125007,28.795136 38.522145,16.163293 38.38322,21.601787 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg13">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 28.919024,42.61391 28.344314,48.210359 34.685754,61.692648 35.051744,55.970672 Z" i/>
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg14">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 21.697521,62.566148 23.738437,41.777139 25.314033,40.219499 26.605153,41.728491 24.645368,62.518482 23.066217,64.081843 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <element name="16seg15">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="80">
+ <path fill="#ffffff" stroke="#ffffff" stroke-width="0.265px" d="M 20.980658,42.896758 20.813614,48.776688 11.860085,61.739261 12.227581,55.592061 Z" />
+ </svg>
+ ]]>
+ </data>
+ </image>
</element>
- <element name="led_digit_blue">
+
+ <element name="led_digit">
<led7seg>
- <color red="0.0" green="0.5" blue="1.0"/>
+ <color red="1.0" green="0.0" blue="0.0"/>
</led7seg>
</element>
<element name="reel_lamp_layer_0" defstate="0">
@@ -809,2150 +1345,144 @@
<color red="1.00" green="1.00" blue="1.00"/>
</disk>
</element>
- <element name="label_13">
+ <element name="label_12">
<text string="CASHPOT">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_14">
+ <element name="label_13">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_17">
+ <element name="label_16">
<text string="RESERVE">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_19">
+ <element name="label_18">
<text string="Moneybank">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_20">
+ <element name="label_19">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_21">
+ <element name="label_20">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_37">
+ <element name="label_36">
<text string="&#xA3;">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_39">
+ <element name="label_37">
<text string="Super win series">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_44">
+ <element name="label_42">
<text string="Win Series">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_79">
+ <element name="label_58">
<text string="Winnings">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_83">
+ <element name="label_62">
<text string="All Wins May be">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Gambled to maximum">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="label_90">
+ <element name="label_69">
<text string="x 12">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_91">
+ <element name="label_70">
<text string="x 6">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_92">
+ <element name="label_71">
<text string="x 3">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_93">
+ <element name="label_72">
<text string="x 2">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_94">
+ <element name="label_73">
<text string="x 2">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_95">
+ <element name="label_74">
<text string="x 1.5">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="label_96">
+ <element name="label_75">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="label_97">
+ <element name="label_76">
<text string="Win">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.05" width="0.90" height="0.45"/>
</text>
<text string="Line">
- <color red="0.0" green="0.0" blue="0.0"/>
+ <color red="1.0" green="1.0" blue="1.0"/>
<bounds x="0.05" y="0.50" width="0.90" height="0.45"/>
</text>
</element>
- <element name="label_100">
+ <element name="label_79">
<text string="PLAYS">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_backdrop_colour">
- <rect>
- <color red="0.0" green="0.0" blue="0.0"/>
- </rect>
- </element>
- <element name="debug_lamp_standard">
- <rect state="0">
- <color red="0.00" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_reel">
- <rect state="0">
- <color red="0.00" green="0.00" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="0.00" green="0.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_segment">
- <rect state="0">
- <color red="0.20" green="0.00" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="0.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_button">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_lamp_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_lamp_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_64">
- <text string="64">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_65">
- <text string="65">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_66">
- <text string="66">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_67">
- <text string="67">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_68">
- <text string="68">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_69">
- <text string="69">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_70">
- <text string="70">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_71">
- <text string="71">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_72">
- <text string="72">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_73">
- <text string="73">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_74">
- <text string="74">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_75">
- <text string="75">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_76">
- <text string="76">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_77">
- <text string="77">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_78">
- <text string="78">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_79">
- <text string="79">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_80">
- <text string="80">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_81">
- <text string="81">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_82">
- <text string="82">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_83">
- <text string="83">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_84">
- <text string="84">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_85">
- <text string="85">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_86">
- <text string="86">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_87">
- <text string="87">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_88">
- <text string="88">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_89">
- <text string="89">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_90">
- <text string="90">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_91">
- <text string="91">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_92">
- <text string="92">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_93">
- <text string="93">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_94">
- <text string="94">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_95">
- <text string="95">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_96">
- <text string="96">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_97">
- <text string="97">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_98">
- <text string="98">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_99">
- <text string="99">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_100">
- <text string="100">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_101">
- <text string="101">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_102">
- <text string="102">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_103">
- <text string="103">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_104">
- <text string="104">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_105">
- <text string="105">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_106">
- <text string="106">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_107">
- <text string="107">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_108">
- <text string="108">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_109">
- <text string="109">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_110">
- <text string="110">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_111">
- <text string="111">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_112">
- <text string="112">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_113">
- <text string="113">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_114">
- <text string="114">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_115">
- <text string="115">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_116">
- <text string="116">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_117">
- <text string="117">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_118">
- <text string="118">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_119">
- <text string="119">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_120">
- <text string="120">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_121">
- <text string="121">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_122">
- <text string="122">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_123">
- <text string="123">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_124">
- <text string="124">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_125">
- <text string="125">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_126">
- <text string="126">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_127">
- <text string="127">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_128">
- <text string="128">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_129">
- <text string="129">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_130">
- <text string="130">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_131">
- <text string="131">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_132">
- <text string="132">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_133">
- <text string="133">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_134">
- <text string="134">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_135">
- <text string="135">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_136">
- <text string="136">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_137">
- <text string="137">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_138">
- <text string="138">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_139">
- <text string="139">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_140">
- <text string="140">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_141">
- <text string="141">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_142">
- <text string="142">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_143">
- <text string="143">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_144">
- <text string="144">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_145">
- <text string="145">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_146">
- <text string="146">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_147">
- <text string="147">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_148">
- <text string="148">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_149">
- <text string="149">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_150">
- <text string="150">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_151">
- <text string="151">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_152">
- <text string="152">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_153">
- <text string="153">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_154">
- <text string="154">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_155">
- <text string="155">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_156">
- <text string="156">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_157">
- <text string="157">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_158">
- <text string="158">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_159">
- <text string="159">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_160">
- <text string="160">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_161">
- <text string="161">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_162">
- <text string="162">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_163">
- <text string="163">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_164">
- <text string="164">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_165">
- <text string="165">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_166">
- <text string="166">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_167">
- <text string="167">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_168">
- <text string="168">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_169">
- <text string="169">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_170">
- <text string="170">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_171">
- <text string="171">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_172">
- <text string="172">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_173">
- <text string="173">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_174">
- <text string="174">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_175">
- <text string="175">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_176">
- <text string="176">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_177">
- <text string="177">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_178">
- <text string="178">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_179">
- <text string="179">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_180">
- <text string="180">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_181">
- <text string="181">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_182">
- <text string="182">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_183">
- <text string="183">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_184">
- <text string="184">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_185">
- <text string="185">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_186">
- <text string="186">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_187">
- <text string="187">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_188">
- <text string="188">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_189">
- <text string="189">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_190">
- <text string="190">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_191">
- <text string="191">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_192">
- <text string="192">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_193">
- <text string="193">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_194">
- <text string="194">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_195">
- <text string="195">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_196">
- <text string="196">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_197">
- <text string="197">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_198">
- <text string="198">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_199">
- <text string="199">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_200">
- <text string="200">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_201">
- <text string="201">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_202">
- <text string="202">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_203">
- <text string="203">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_204">
- <text string="204">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_205">
- <text string="205">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_206">
- <text string="206">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_207">
- <text string="207">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_208">
- <text string="208">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_209">
- <text string="209">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_210">
- <text string="210">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_211">
- <text string="211">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_212">
- <text string="212">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_213">
- <text string="213">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_214">
- <text string="214">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_215">
- <text string="215">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_216">
- <text string="216">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_217">
- <text string="217">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_218">
- <text string="218">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_219">
- <text string="219">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_220">
- <text string="220">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_221">
- <text string="221">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_222">
- <text string="222">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_223">
- <text string="223">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_224">
- <text string="224">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_225">
- <text string="225">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_226">
- <text string="226">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_227">
- <text string="227">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_228">
- <text string="228">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_229">
- <text string="229">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_230">
- <text string="230">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_231">
- <text string="231">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_232">
- <text string="232">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_233">
- <text string="233">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_234">
- <text string="234">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_235">
- <text string="235">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_236">
- <text string="236">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_237">
- <text string="237">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_238">
- <text string="238">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_239">
- <text string="239">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_240">
- <text string="240">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_241">
- <text string="241">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_242">
- <text string="242">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_243">
- <text string="243">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_244">
- <text string="244">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_245">
- <text string="245">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_246">
- <text string="246">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_247">
- <text string="247">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_248">
- <text string="248">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_249">
- <text string="249">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_250">
- <text string="250">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_251">
- <text string="251">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_252">
- <text string="252">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_253">
- <text string="253">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_254">
- <text string="254">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_lamp_label_255">
- <text string="255">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_standard">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.00"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="0.00"/>
- </rect>
- </element>
- <element name="debug_button_unreferenced">
- <rect state="0">
- <color red="0.20" green="0.20" blue="0.20"/>
- </rect>
- <rect state="1">
- <color red="1.00" green="1.00" blue="1.00"/>
- </rect>
- </element>
- <element name="debug_button_label_0">
- <text string="0">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_1">
- <text string="1">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_2">
- <text string="2">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_3">
- <text string="3">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_4">
- <text string="4">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_5">
- <text string="5">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_6">
- <text string="6">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_7">
- <text string="7">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_8">
- <text string="8">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_9">
- <text string="9">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_10">
- <text string="10">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_11">
- <text string="11">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_12">
- <text string="12">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_13">
- <text string="13">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_14">
- <text string="14">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_15">
- <text string="15">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_16">
- <text string="16">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_17">
- <text string="17">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_18">
- <text string="18">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_19">
- <text string="19">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_20">
- <text string="20">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_21">
- <text string="21">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_22">
- <text string="22">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_23">
- <text string="23">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_24">
- <text string="24">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_25">
- <text string="25">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_26">
- <text string="26">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_27">
- <text string="27">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_28">
- <text string="28">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_29">
- <text string="29">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_30">
- <text string="30">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_31">
- <text string="31">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_32">
- <text string="32">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_33">
- <text string="33">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_34">
- <text string="34">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_35">
- <text string="35">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_36">
- <text string="36">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_37">
- <text string="37">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_38">
- <text string="38">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_39">
- <text string="39">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_40">
- <text string="40">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_41">
- <text string="41">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_42">
- <text string="42">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_43">
- <text string="43">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_44">
- <text string="44">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_45">
- <text string="45">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_46">
- <text string="46">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_47">
- <text string="47">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_48">
- <text string="48">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_49">
- <text string="49">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_50">
- <text string="50">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_51">
- <text string="51">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_52">
- <text string="52">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_53">
- <text string="53">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_54">
- <text string="54">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_55">
- <text string="55">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_56">
- <text string="56">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_57">
- <text string="57">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_58">
- <text string="58">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_59">
- <text string="59">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_60">
- <text string="60">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_61">
- <text string="61">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_62">
- <text string="62">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_button_label_63">
- <text string="63">
- <color red="0.0" green="0.0" blue="0.0"/>
- <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
- </text>
- </element>
- <element name="debug_vfd">
- <led16segsc>
- <color red="0.0" green="1.0" blue="1.0"/>
- </led16segsc>
- </element>
- <element name="debug_stepper_value" defstate="0">
- <simplecounter maxstate="999" digits="3">
- <color red="1.0" green="1.0" blue="1.0"/>
- </simplecounter>
- </element>
- <element name="debug_reel_symbol_count_0">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_1">
- <text string="16">
- <color red="1.0" green="1.0" blue="1.0"/>
- </text>
- </element>
- <element name="debug_reel_symbol_count_2">
- <text string="16">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
- <element name="debug_reel_symbol_count_3">
- <text string="16">
+ <element name="label_86">
+ <text string="4x Cashpot">
<color red="1.0" green="1.0" blue="1.0"/>
+ <bounds x="0.05" y="0.05" width="0.90" height="0.90"/>
</text>
</element>
-
<view name="AWP Simulated Video">
<element ref="backdrop_colour">
<bounds x="0" y="0" width="792" height="646"/>
@@ -2960,58 +1490,58 @@
<element ref="reel_background">
<bounds x="231" y="413" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_0" state="0">
<bounds x="231.0000" y="413.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_1" state="0">
<bounds x="234.3333" y="415.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_2" state="0">
<bounds x="237.6667" y="418.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_3" state="0">
<bounds x="241.0000" y="420.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_4" state="0">
<bounds x="244.3333" y="423.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp2" ref="reel_lamp_layer_5" state="0">
<bounds x="247.6667" y="426.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_0" state="0">
<bounds x="231.0000" y="476.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_1" state="0">
<bounds x="234.3333" y="478.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_2" state="0">
<bounds x="237.6667" y="481.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_3" state="0">
<bounds x="241.0000" y="484.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_4" state="0">
<bounds x="244.3333" y="486.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp1" ref="reel_lamp_layer_5" state="0">
<bounds x="247.6667" y="489.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_0" state="0">
<bounds x="231.0000" y="539.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_1" state="0">
<bounds x="234.3333" y="542.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_2" state="0">
<bounds x="237.6667" y="544.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_3" state="0">
<bounds x="241.0000" y="547.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_4" state="0">
<bounds x="244.3333" y="550.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp0" ref="reel_lamp_layer_5" state="0">
<bounds x="247.6667" y="552.8611" width="46.6667" height="36.9444"/>
</element>
<element name="sreel1" ref="reel0" state="0">
@@ -3020,181 +1550,181 @@
<element ref="reel_background">
<bounds x="313" y="413" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_0" state="0">
<bounds x="313.0000" y="413.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_1" state="0">
<bounds x="316.3333" y="415.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_2" state="0">
<bounds x="319.6667" y="418.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_3" state="0">
<bounds x="323.0000" y="420.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_4" state="0">
<bounds x="326.3333" y="423.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp5" ref="reel_lamp_layer_5" state="0">
<bounds x="329.6667" y="426.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_0" state="0">
<bounds x="313.0000" y="476.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_1" state="0">
<bounds x="316.3333" y="478.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_2" state="0">
<bounds x="319.6667" y="481.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_3" state="0">
<bounds x="323.0000" y="484.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_4" state="0">
<bounds x="326.3333" y="486.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp4" ref="reel_lamp_layer_5" state="0">
<bounds x="329.6667" y="489.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_0" state="0">
<bounds x="313.0000" y="539.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_1" state="0">
<bounds x="316.3333" y="542.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_2" state="0">
<bounds x="319.6667" y="544.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_3" state="0">
<bounds x="323.0000" y="547.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_4" state="0">
<bounds x="326.3333" y="550.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp3" ref="reel_lamp_layer_5" state="0">
<bounds x="329.6667" y="552.8611" width="46.6667" height="36.9444"/>
</element>
- <element name="sreel2" ref="reel1" state="0">
+ <element name="sreel2" ref="reel0" state="0">
<bounds x="313" y="413" width="80" height="190"/>
</element>
<element ref="reel_background">
<bounds x="395" y="413" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_0" state="0">
<bounds x="395.0000" y="413.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_1" state="0">
<bounds x="398.3333" y="415.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_2" state="0">
<bounds x="401.6667" y="418.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_3" state="0">
<bounds x="405.0000" y="420.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_4" state="0">
<bounds x="408.3333" y="423.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp18" ref="reel_lamp_layer_5" state="0">
<bounds x="411.6667" y="426.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_0" state="0">
<bounds x="395.0000" y="476.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_1" state="0">
<bounds x="398.3333" y="478.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_2" state="0">
<bounds x="401.6667" y="481.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_3" state="0">
<bounds x="405.0000" y="484.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_4" state="0">
<bounds x="408.3333" y="486.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp17" ref="reel_lamp_layer_5" state="0">
<bounds x="411.6667" y="489.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_0" state="0">
<bounds x="395.0000" y="539.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_1" state="0">
<bounds x="398.3333" y="542.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_2" state="0">
<bounds x="401.6667" y="544.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_3" state="0">
<bounds x="405.0000" y="547.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_4" state="0">
<bounds x="408.3333" y="550.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_5" state="0">
<bounds x="411.6667" y="552.8611" width="46.6667" height="36.9444"/>
</element>
- <element name="sreel3" ref="reel2" state="0">
+ <element name="sreel3" ref="reel0" state="0">
<bounds x="395" y="413" width="80" height="190"/>
</element>
<element ref="reel_background">
<bounds x="477" y="413" width="80" height="190"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_0" state="0">
<bounds x="477.0000" y="413.0000" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_1" state="0">
<bounds x="480.3333" y="415.6389" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_2" state="0">
<bounds x="483.6667" y="418.2778" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_3" state="0">
<bounds x="487.0000" y="420.9167" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_4" state="0">
<bounds x="490.3333" y="423.5555" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp21" ref="reel_lamp_layer_5" state="0">
<bounds x="493.6667" y="426.1945" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_0" state="0">
<bounds x="477.0000" y="476.3333" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_1" state="0">
<bounds x="480.3333" y="478.9722" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_2" state="0">
<bounds x="483.6667" y="481.6111" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_3" state="0">
<bounds x="487.0000" y="484.2500" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_4" state="0">
<bounds x="490.3333" y="486.8889" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp20" ref="reel_lamp_layer_5" state="0">
<bounds x="493.6667" y="489.5278" width="46.6667" height="36.9444"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_0" state="0">
<bounds x="477.0000" y="539.6667" width="80.0000" height="63.3333"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_1" state="0">
<bounds x="480.3333" y="542.3056" width="73.3333" height="58.0556"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_2" state="0">
<bounds x="483.6667" y="544.9445" width="66.6667" height="52.7778"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_3" state="0">
<bounds x="487.0000" y="547.5834" width="60.0000" height="47.5000"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_4" state="0">
<bounds x="490.3333" y="550.2222" width="53.3333" height="42.2222"/>
</element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
+ <element name="lamp19" ref="reel_lamp_layer_5" state="0">
<bounds x="493.6667" y="552.8611" width="46.6667" height="36.9444"/>
</element>
- <element name="sreel4" ref="reel3" state="0">
+ <element name="sreel4" ref="reel0" state="0">
<bounds x="477" y="413" width="80" height="190"/>
</element>
<element name="lamp213" ref="lamp_213_1_border" state="0">
@@ -3203,6 +1733,78 @@
<element name="lamp213" ref="lamp_213_1" state="0">
<bounds x="677" y="348" width="98" height="28"/>
</element>
+ <element name="lamp77" ref="lamp_77_1_border" state="0">
+ <bounds x="174" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp89" ref="lamp_77_1" state="0">
+ <bounds x="176" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp78" ref="lamp_78_1_border" state="0">
+ <bounds x="211" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp90" ref="lamp_78_1" state="0">
+ <bounds x="213" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp79" ref="lamp_79_1_border" state="0">
+ <bounds x="248" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp91" ref="lamp_79_1" state="0">
+ <bounds x="250" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp80" ref="lamp_80_1_border" state="0">
+ <bounds x="285" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp92" ref="lamp_80_1" state="0">
+ <bounds x="287" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp81" ref="lamp_81_1_border" state="0">
+ <bounds x="322" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp93" ref="lamp_81_1" state="0">
+ <bounds x="324" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp82" ref="lamp_82_1_border" state="0">
+ <bounds x="359" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp94" ref="lamp_82_1" state="0">
+ <bounds x="361" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp83" ref="lamp_83_1_border" state="0">
+ <bounds x="396" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp95" ref="lamp_83_1" state="0">
+ <bounds x="398" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp84" ref="lamp_84_1_border" state="0">
+ <bounds x="433" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp96" ref="lamp_84_1" state="0">
+ <bounds x="435" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp85" ref="lamp_85_1_border" state="0">
+ <bounds x="470" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp97" ref="lamp_85_1" state="0">
+ <bounds x="472" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp86" ref="lamp_86_1_border" state="0">
+ <bounds x="507" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp98" ref="lamp_86_1" state="0">
+ <bounds x="509" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp87" ref="lamp_87_1_border" state="0">
+ <bounds x="544" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp99" ref="lamp_87_1" state="0">
+ <bounds x="546" y="338" width="33" height="48"/>
+ </element>
+ <element name="lamp88" ref="lamp_88_1_border" state="0">
+ <bounds x="581" y="336" width="37" height="52"/>
+ </element>
+ <element name="lamp100" ref="lamp_88_1" state="0">
+ <bounds x="583" y="338" width="33" height="48"/>
+ </element>
<element name="lamp101" ref="lamp_101_1_border" state="0">
<bounds x="123" y="349" width="50" height="26"/>
</element>
@@ -3215,77 +1817,119 @@
<element name="lamp108" ref="lamp_108_1" state="0">
<bounds x="621" y="351" width="46" height="22"/>
</element>
+ <element name="lamp247" ref="lamp_247_1_border" state="0">
+ <bounds x="322" y="191" width="37" height="32"/>
+ </element>
+ <element name="lamp247" ref="lamp_247_1" state="0">
+ <bounds x="324" y="193" width="33" height="28"/>
+ </element>
+ <element name="lamp247" ref="lamp_247_2_border" state="0">
+ <bounds x="359" y="191" width="37" height="32"/>
+ </element>
+ <element name="lamp247" ref="lamp_247_2" state="0">
+ <bounds x="361" y="193" width="33" height="28"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_1_border" state="0">
+ <bounds x="396" y="191" width="37" height="32"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_1" state="0">
+ <bounds x="398" y="193" width="33" height="28"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_2_border" state="0">
+ <bounds x="433" y="191" width="37" height="32"/>
+ </element>
+ <element name="lamp248" ref="lamp_248_2" state="0">
+ <bounds x="435" y="193" width="33" height="28"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_1_border" state="0">
+ <bounds x="413" y="140" width="37" height="32"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_1" state="0">
+ <bounds x="415" y="142" width="33" height="28"/>
+ </element>
+ <element name="lamp246" ref="lamp_246_1_border" state="0">
+ <bounds x="376" y="140" width="37" height="32"/>
+ </element>
+ <element name="lamp246" ref="lamp_246_1" state="0">
+ <bounds x="378" y="142" width="33" height="28"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_2_border" state="0">
+ <bounds x="339" y="140" width="37" height="32"/>
+ </element>
+ <element name="lamp245" ref="lamp_245_2" state="0">
+ <bounds x="341" y="142" width="33" height="28"/>
+ </element>
<element name="lamp25" ref="lamp_25_1_border" state="0">
- <bounds x="243" y="140" width="52" height="27"/>
+ <bounds x="189" y="140" width="102" height="27"/>
</element>
<element name="lamp25" ref="lamp_25_1" state="0">
- <bounds x="245" y="142" width="48" height="23"/>
+ <bounds x="191" y="142" width="98" height="23"/>
</element>
<element name="lamp39" ref="lamp_39_1_border" state="0">
- <bounds x="243" y="167" width="52" height="27"/>
+ <bounds x="189" y="167" width="102" height="27"/>
</element>
<element name="lamp39" ref="lamp_39_1" state="0">
- <bounds x="245" y="169" width="48" height="23"/>
+ <bounds x="191" y="169" width="98" height="23"/>
</element>
<element name="lamp63" ref="lamp_63_1_border" state="0">
- <bounds x="243" y="248" width="52" height="27"/>
+ <bounds x="189" y="248" width="102" height="27"/>
</element>
<element name="lamp63" ref="lamp_63_1" state="0">
- <bounds x="245" y="250" width="48" height="23"/>
+ <bounds x="191" y="250" width="98" height="23"/>
</element>
<element name="lamp71" ref="lamp_71_1_border" state="0">
- <bounds x="243" y="275" width="52" height="27"/>
+ <bounds x="189" y="275" width="102" height="27"/>
</element>
<element name="lamp71" ref="lamp_71_1" state="0">
- <bounds x="245" y="277" width="48" height="23"/>
+ <bounds x="191" y="277" width="98" height="23"/>
</element>
<element name="lamp47" ref="lamp_47_1_border" state="0">
- <bounds x="243" y="194" width="52" height="27"/>
+ <bounds x="189" y="194" width="102" height="27"/>
</element>
<element name="lamp47" ref="lamp_47_1" state="0">
- <bounds x="245" y="196" width="48" height="23"/>
+ <bounds x="191" y="196" width="98" height="23"/>
</element>
<element name="lamp55" ref="lamp_55_1_border" state="0">
- <bounds x="243" y="221" width="52" height="27"/>
+ <bounds x="189" y="221" width="102" height="27"/>
</element>
<element name="lamp55" ref="lamp_55_1" state="0">
- <bounds x="245" y="223" width="48" height="23"/>
+ <bounds x="191" y="223" width="98" height="23"/>
</element>
<element name="lamp68" ref="lamp_68_1_border" state="0">
- <bounds x="491" y="248" width="60" height="27"/>
+ <bounds x="491" y="248" width="122" height="27"/>
</element>
<element name="lamp68" ref="lamp_68_1" state="0">
- <bounds x="493" y="250" width="56" height="23"/>
+ <bounds x="493" y="250" width="118" height="23"/>
</element>
<element name="lamp76" ref="lamp_76_1_border" state="0">
- <bounds x="491" y="275" width="60" height="27"/>
+ <bounds x="491" y="275" width="122" height="27"/>
</element>
<element name="lamp76" ref="lamp_76_1" state="0">
- <bounds x="493" y="277" width="56" height="23"/>
+ <bounds x="493" y="277" width="118" height="23"/>
</element>
<element name="lamp30" ref="lamp_30_1_border" state="0">
- <bounds x="491" y="140" width="60" height="27"/>
+ <bounds x="491" y="140" width="122" height="27"/>
</element>
<element name="lamp30" ref="lamp_30_1" state="0">
- <bounds x="493" y="142" width="56" height="23"/>
+ <bounds x="493" y="142" width="118" height="23"/>
</element>
<element name="lamp44" ref="lamp_44_1_border" state="0">
- <bounds x="491" y="167" width="60" height="27"/>
+ <bounds x="491" y="167" width="122" height="27"/>
</element>
<element name="lamp44" ref="lamp_44_1" state="0">
- <bounds x="493" y="169" width="56" height="23"/>
+ <bounds x="493" y="169" width="118" height="23"/>
</element>
<element name="lamp52" ref="lamp_52_1_border" state="0">
- <bounds x="491" y="194" width="60" height="27"/>
+ <bounds x="491" y="194" width="122" height="27"/>
</element>
<element name="lamp52" ref="lamp_52_1" state="0">
- <bounds x="493" y="196" width="56" height="23"/>
+ <bounds x="493" y="196" width="118" height="23"/>
</element>
<element name="lamp60" ref="lamp_60_1_border" state="0">
- <bounds x="491" y="221" width="60" height="27"/>
+ <bounds x="491" y="221" width="122" height="27"/>
</element>
<element name="lamp60" ref="lamp_60_1" state="0">
- <bounds x="493" y="223" width="56" height="23"/>
+ <bounds x="493" y="223" width="118" height="23"/>
</element>
<element name="lamp103" ref="lamp_103_1_border" state="0">
<bounds x="36" y="228" width="56" height="34"/>
@@ -3323,2693 +1967,250 @@
<element name="lamp102" ref="lamp_102_1" state="0">
<bounds x="38" y="264" width="52" height="30"/>
</element>
+ <element name="lamp200" ref="lamp_200_1_border" state="0">
+ <bounds x="86" y="438" width="37" height="47"/>
+ </element>
+ <element name="lamp200" ref="lamp_200_1" state="0">
+ <bounds x="88" y="440" width="33" height="43"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1_border" state="0">
+ <bounds x="86" y="485" width="37" height="47"/>
+ </element>
+ <element name="lamp198" ref="lamp_198_1" state="0">
+ <bounds x="88" y="487" width="33" height="43"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1_border" state="0">
+ <bounds x="86" y="532" width="37" height="47"/>
+ </element>
+ <element name="lamp196" ref="lamp_196_1" state="0">
+ <bounds x="88" y="534" width="33" height="43"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1_border" state="0">
+ <bounds x="124" y="461" width="37" height="47"/>
+ </element>
+ <element name="lamp199" ref="lamp_199_1" state="0">
+ <bounds x="126" y="463" width="33" height="43"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1_border" state="0">
+ <bounds x="124" y="508" width="37" height="47"/>
+ </element>
+ <element name="lamp197" ref="lamp_197_1" state="0">
+ <bounds x="126" y="510" width="33" height="43"/>
+ </element>
<element name="lamp212" ref="lamp_212_1_border" state="0">
<bounds x="125" y="428" width="52" height="32"/>
</element>
<element name="lamp212" ref="lamp_212_1" state="0">
<bounds x="127" y="430" width="48" height="28"/>
</element>
- <element name="lamp225" ref="colour_button_107_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp225" ref="colour_button_87_border" state="0" inputtag="J9_2" inputmask="0x04">
<bounds x="706" y="604" width="80" height="38"/>
</element>
- <element name="lamp225" ref="colour_button_107" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp225" ref="colour_button_87" state="0" inputtag="J9_2" inputmask="0x04">
<bounds x="708" y="606" width="76" height="34"/>
</element>
- <element name="lamp192" ref="colour_button_108_border" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp192" ref="colour_button_88_border" state="0" inputtag="J9_0" inputmask="0x01">
<bounds x="635" y="604" width="68" height="38"/>
</element>
- <element name="lamp192" ref="colour_button_108" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp192" ref="colour_button_88" state="0" inputtag="J9_0" inputmask="0x01">
<bounds x="637" y="606" width="64" height="34"/>
</element>
- <element name="lamp224" ref="colour_button_109_border" state="0" inputtag="TODO" inputmask="0x80">
+ <element name="lamp224" ref="colour_button_89_border" state="0" inputtag="J9_0" inputmask="0x80">
<bounds x="230" y="604" width="82" height="38"/>
</element>
- <element name="lamp224" ref="colour_button_109" state="0" inputtag="TODO" inputmask="0x80">
+ <element name="lamp224" ref="colour_button_89" state="0" inputtag="J9_0" inputmask="0x80">
<bounds x="232" y="606" width="78" height="34"/>
</element>
- <element name="lamp209" ref="colour_button_110_border" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp209" ref="colour_button_90_border" state="0" inputtag="J9_0" inputmask="0x10">
<bounds x="476" y="604" width="82" height="38"/>
</element>
- <element name="lamp209" ref="colour_button_110" state="0" inputtag="TODO" inputmask="0x10">
+ <element name="lamp209" ref="colour_button_90" state="0" inputtag="J9_0" inputmask="0x10">
<bounds x="478" y="606" width="78" height="34"/>
</element>
- <element name="lamp211" ref="colour_button_111_border" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp211" ref="colour_button_91_border" state="0" inputtag="J9_0" inputmask="0x40">
<bounds x="312" y="604" width="82" height="38"/>
</element>
- <element name="lamp211" ref="colour_button_111" state="0" inputtag="TODO" inputmask="0x40">
+ <element name="lamp211" ref="colour_button_91" state="0" inputtag="J9_0" inputmask="0x40">
<bounds x="314" y="606" width="78" height="34"/>
</element>
- <element name="lamp210" ref="colour_button_112_border" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp210" ref="colour_button_92_border" state="0" inputtag="J9_0" inputmask="0x20">
<bounds x="394" y="604" width="82" height="38"/>
</element>
- <element name="lamp210" ref="colour_button_112" state="0" inputtag="TODO" inputmask="0x20">
+ <element name="lamp210" ref="colour_button_92" state="0" inputtag="J9_0" inputmask="0x20">
<bounds x="396" y="606" width="78" height="34"/>
</element>
- <element name="lamp208" ref="colour_button_113_border" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp208" ref="colour_button_93_border" state="0" inputtag="J9_0" inputmask="0x08">
<bounds x="147" y="604" width="78" height="38"/>
</element>
- <element name="lamp208" ref="colour_button_113" state="0" inputtag="TODO" inputmask="0x08">
+ <element name="lamp208" ref="colour_button_93" state="0" inputtag="J9_0" inputmask="0x08">
<bounds x="149" y="606" width="74" height="34"/>
</element>
- <element name="lamp193" ref="colour_button_114_border" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp193" ref="colour_button_94_border" state="0" inputtag="J9_0" inputmask="0x02">
<bounds x="563" y="604" width="68" height="38"/>
</element>
- <element name="lamp193" ref="colour_button_114" state="0" inputtag="TODO" inputmask="0x02">
+ <element name="lamp193" ref="colour_button_94" state="0" inputtag="J9_0" inputmask="0x02">
<bounds x="565" y="606" width="64" height="34"/>
</element>
- <element name="lamp195" ref="colour_button_115_border" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp195" ref="colour_button_95_border" state="0" inputtag="J9_0" inputmask="0x04">
<bounds x="563" y="566" width="68" height="38"/>
</element>
- <element name="lamp195" ref="colour_button_115" state="0" inputtag="TODO" inputmask="0x04">
+ <element name="lamp195" ref="colour_button_95" state="0" inputtag="J9_0" inputmask="0x04">
<bounds x="565" y="568" width="64" height="34"/>
</element>
- <element name="lamp-1" ref="colour_button_121_border" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp14" ref="colour_button_101_border" state="0" inputtag="COINS" inputmask="0x01">
<bounds x="683" y="519" width="42" height="27"/>
</element>
- <element name="lamp-1" ref="colour_button_121" state="0" inputtag="TODO" inputmask="0x01">
+ <element name="lamp14" ref="colour_button_101" state="0" inputtag="COINS" inputmask="0x01">
<bounds x="685" y="521" width="38" height="23"/>
</element>
- <element name="led_background" ref="led_background">
- <bounds x="280" y="27" width="60" height="80"/>
- </element>
- <element name="led_off112" ref="led_off">
- <bounds x="288" y="34" width="42" height="7"/>
- </element>
- <element name="led_off113" ref="led_off">
- <bounds x="322" y="34" width="8" height="36"/>
- </element>
- <element name="led_off114" ref="led_off">
- <bounds x="322" y="63" width="8" height="36"/>
- </element>
- <element name="led_off115" ref="led_off">
- <bounds x="288" y="92" width="42" height="7"/>
- </element>
- <element name="led_off117" ref="led_off">
- <bounds x="288" y="63" width="8" height="36"/>
- </element>
- <element name="led_off116" ref="led_off">
- <bounds x="288" y="34" width="8" height="36"/>
- </element>
- <element name="led_off118" ref="led_off">
- <bounds x="288" y="63" width="42" height="7"/>
- </element>
- <element name="led_off119" ref="led_dot_off">
- <bounds x="331" y="92" width="8" height="7"/>
- </element>
- <element name="lamp112" ref="led_on">
- <bounds x="288" y="34" width="42" height="7"/>
- </element>
- <element name="lamp113" ref="led_on">
- <bounds x="322" y="34" width="8" height="36"/>
- </element>
- <element name="lamp114" ref="led_on">
- <bounds x="322" y="63" width="8" height="36"/>
- </element>
- <element name="lamp115" ref="led_on">
- <bounds x="288" y="92" width="42" height="7"/>
- </element>
- <element name="lamp117" ref="led_on">
- <bounds x="288" y="63" width="8" height="36"/>
- </element>
- <element name="lamp116" ref="led_on">
- <bounds x="288" y="34" width="8" height="36"/>
- </element>
- <element name="lamp118" ref="led_on">
- <bounds x="288" y="63" width="42" height="7"/>
- </element>
- <element name="lamp119" ref="led_dot_on">
- <bounds x="331" y="92" width="8" height="7"/>
- </element>
- <element name="led_background" ref="led_background">
+ <repeat count="16">
+ <param name="i" start="112" increment="1"/>
+ <param name="x" start="0" increment="1"/>
+ <element name="led1_~x~" ref="16seg~x~">
+ <animate name="lamp~i~"/>
+ <color state="0" red="0.24" green="0.00" blue="0.00" alpha="1.0"/>
+ <color state="1" red="1.00" green="0.00" blue="0.00" alpha="1.0"/>
+ <bounds x="281" y="27" width="60" height="80"/>
+ </element>
+ </repeat>
+ <repeat count="16">
+ <param name="i" start="128" increment="1"/>
+ <param name="x" start="0" increment="1"/>
+ <element name="led2_~x~" ref="16seg~x~">
+ <animate name="lamp~i~"/>
+ <color state="0" red="0.24" green="0.00" blue="0.00" alpha="1.0"/>
+ <color state="1" red="1.00" green="0.00" blue="0.00" alpha="1.0"/>
<bounds x="340" y="27" width="60" height="80"/>
- </element>
- <element name="led_off128" ref="led_off">
- <bounds x="348" y="34" width="42" height="7"/>
- </element>
- <element name="led_off129" ref="led_off">
- <bounds x="382" y="34" width="8" height="36"/>
- </element>
- <element name="led_off130" ref="led_off">
- <bounds x="382" y="63" width="8" height="36"/>
- </element>
- <element name="led_off131" ref="led_off">
- <bounds x="348" y="92" width="42" height="7"/>
- </element>
- <element name="led_off133" ref="led_off">
- <bounds x="348" y="63" width="8" height="36"/>
- </element>
- <element name="led_off132" ref="led_off">
- <bounds x="348" y="34" width="8" height="36"/>
- </element>
- <element name="led_off134" ref="led_off">
- <bounds x="348" y="63" width="42" height="7"/>
- </element>
- <element name="led_off135" ref="led_dot_off">
- <bounds x="391" y="92" width="8" height="7"/>
- </element>
- <element name="lamp128" ref="led_on">
- <bounds x="348" y="34" width="42" height="7"/>
- </element>
- <element name="lamp129" ref="led_on">
- <bounds x="382" y="34" width="8" height="36"/>
- </element>
- <element name="lamp130" ref="led_on">
- <bounds x="382" y="63" width="8" height="36"/>
- </element>
- <element name="lamp131" ref="led_on">
- <bounds x="348" y="92" width="42" height="7"/>
- </element>
- <element name="lamp133" ref="led_on">
- <bounds x="348" y="63" width="8" height="36"/>
- </element>
- <element name="lamp132" ref="led_on">
- <bounds x="348" y="34" width="8" height="36"/>
- </element>
- <element name="lamp134" ref="led_on">
- <bounds x="348" y="63" width="42" height="7"/>
- </element>
- <element name="lamp135" ref="led_dot_on">
- <bounds x="391" y="92" width="8" height="7"/>
- </element>
- <element name="led_background" ref="led_background">
+ </element>
+ </repeat>
+
+ <repeat count="16">
+ <param name="i" start="144" increment="1"/>
+ <param name="x" start="0" increment="1"/>
+ <element name="led3_~x~" ref="16seg~x~">
+ <animate name="lamp~i~"/>
+ <color state="0" red="0.24" green="0.00" blue="0.00" alpha="1.0"/>
+ <color state="1" red="1.00" green="0.00" blue="0.00" alpha="1.0"/>
<bounds x="400" y="27" width="60" height="80"/>
- </element>
- <element name="led_off144" ref="led_off">
- <bounds x="408" y="34" width="42" height="7"/>
- </element>
- <element name="led_off145" ref="led_off">
- <bounds x="442" y="34" width="8" height="36"/>
- </element>
- <element name="led_off146" ref="led_off">
- <bounds x="442" y="63" width="8" height="36"/>
- </element>
- <element name="led_off147" ref="led_off">
- <bounds x="408" y="92" width="42" height="7"/>
- </element>
- <element name="led_off149" ref="led_off">
- <bounds x="408" y="63" width="8" height="36"/>
- </element>
- <element name="led_off148" ref="led_off">
- <bounds x="408" y="34" width="8" height="36"/>
- </element>
- <element name="led_off150" ref="led_off">
- <bounds x="408" y="63" width="42" height="7"/>
- </element>
- <element name="led_off151" ref="led_dot_off">
- <bounds x="451" y="92" width="8" height="7"/>
- </element>
- <element name="lamp144" ref="led_on">
- <bounds x="408" y="34" width="42" height="7"/>
- </element>
- <element name="lamp145" ref="led_on">
- <bounds x="442" y="34" width="8" height="36"/>
- </element>
- <element name="lamp146" ref="led_on">
- <bounds x="442" y="63" width="8" height="36"/>
- </element>
- <element name="lamp147" ref="led_on">
- <bounds x="408" y="92" width="42" height="7"/>
- </element>
- <element name="lamp149" ref="led_on">
- <bounds x="408" y="63" width="8" height="36"/>
- </element>
- <element name="lamp148" ref="led_on">
- <bounds x="408" y="34" width="8" height="36"/>
- </element>
- <element name="lamp150" ref="led_on">
- <bounds x="408" y="63" width="42" height="7"/>
- </element>
- <element name="lamp151" ref="led_dot_on">
- <bounds x="451" y="92" width="8" height="7"/>
- </element>
- <element name="led_background" ref="led_background">
+ </element>
+ </repeat>
+
+ <repeat count="16">
+ <param name="i" start="160" increment="1"/>
+ <param name="x" start="0" increment="1"/>
+ <element name="led4_~x~" ref="16seg~x~">
+ <animate name="lamp~i~"/>
+ <color state="0" red="0.24" green="0.00" blue="0.00" alpha="1.0"/>
+ <color state="1" red="1.00" green="0.00" blue="0.00" alpha="1.0"/>
<bounds x="460" y="27" width="60" height="80"/>
- </element>
- <element name="led_off160" ref="led_off">
- <bounds x="468" y="34" width="42" height="7"/>
- </element>
- <element name="led_off161" ref="led_off">
- <bounds x="502" y="34" width="8" height="36"/>
- </element>
- <element name="led_off162" ref="led_off">
- <bounds x="502" y="63" width="8" height="36"/>
- </element>
- <element name="led_off163" ref="led_off">
- <bounds x="468" y="92" width="42" height="7"/>
- </element>
- <element name="led_off165" ref="led_off">
- <bounds x="468" y="63" width="8" height="36"/>
- </element>
- <element name="led_off164" ref="led_off">
- <bounds x="468" y="34" width="8" height="36"/>
- </element>
- <element name="led_off166" ref="led_off">
- <bounds x="468" y="63" width="42" height="7"/>
- </element>
- <element name="led_off167" ref="led_dot_off">
- <bounds x="511" y="92" width="8" height="7"/>
- </element>
- <element name="lamp160" ref="led_on">
- <bounds x="468" y="34" width="42" height="7"/>
- </element>
- <element name="lamp161" ref="led_on">
- <bounds x="502" y="34" width="8" height="36"/>
- </element>
- <element name="lamp162" ref="led_on">
- <bounds x="502" y="63" width="8" height="36"/>
- </element>
- <element name="lamp163" ref="led_on">
- <bounds x="468" y="92" width="42" height="7"/>
- </element>
- <element name="lamp165" ref="led_on">
- <bounds x="468" y="63" width="8" height="36"/>
- </element>
- <element name="lamp164" ref="led_on">
- <bounds x="468" y="34" width="8" height="36"/>
- </element>
- <element name="lamp166" ref="led_on">
- <bounds x="468" y="63" width="42" height="7"/>
- </element>
- <element name="lamp167" ref="led_dot_on">
- <bounds x="511" y="92" width="8" height="7"/>
- </element>
- <element name="led_background" ref="led_background">
+ </element>
+ </repeat>
+
+ <repeat count="16">
+ <param name="i" start="176" increment="1"/>
+ <param name="x" start="0" increment="1"/>
+ <element name="led5_~x~" ref="16seg~x~">
+ <animate name="lamp~i~"/>
+ <color state="0" red="0.24" green="0.00" blue="0.00" alpha="1.0"/>
+ <color state="1" red="1.00" green="0.00" blue="0.00" alpha="1.0"/>
<bounds x="520" y="27" width="60" height="80"/>
- </element>
- <element name="led_off176" ref="led_off">
- <bounds x="528" y="34" width="42" height="7"/>
- </element>
- <element name="led_off177" ref="led_off">
- <bounds x="562" y="34" width="8" height="36"/>
- </element>
- <element name="led_off178" ref="led_off">
- <bounds x="562" y="63" width="8" height="36"/>
- </element>
- <element name="led_off179" ref="led_off">
- <bounds x="528" y="92" width="42" height="7"/>
- </element>
- <element name="led_off181" ref="led_off">
- <bounds x="528" y="63" width="8" height="36"/>
- </element>
- <element name="led_off180" ref="led_off">
- <bounds x="528" y="34" width="8" height="36"/>
- </element>
- <element name="led_off182" ref="led_off">
- <bounds x="528" y="63" width="42" height="7"/>
- </element>
- <element name="led_off183" ref="led_dot_off">
- <bounds x="571" y="92" width="8" height="7"/>
- </element>
- <element name="lamp176" ref="led_on">
- <bounds x="528" y="34" width="42" height="7"/>
- </element>
- <element name="lamp177" ref="led_on">
- <bounds x="562" y="34" width="8" height="36"/>
- </element>
- <element name="lamp178" ref="led_on">
- <bounds x="562" y="63" width="8" height="36"/>
- </element>
- <element name="lamp179" ref="led_on">
- <bounds x="528" y="92" width="42" height="7"/>
- </element>
- <element name="lamp181" ref="led_on">
- <bounds x="528" y="63" width="8" height="36"/>
- </element>
- <element name="lamp180" ref="led_on">
- <bounds x="528" y="34" width="8" height="36"/>
- </element>
- <element name="lamp182" ref="led_on">
- <bounds x="528" y="63" width="42" height="7"/>
- </element>
- <element name="lamp183" ref="led_dot_on">
- <bounds x="571" y="92" width="8" height="7"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="748" y="26" width="30" height="40"/>
- </element>
- <element name="digit12" ref="led_digit_red">
- <bounds x="748" y="26" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
+ </element>
+ </repeat>
+ <element name="digit12" ref="led_digit" state="0">
<bounds x="748" y="26" width="30" height="40"/>
- <color alpha="0.1"/>
</element>
- <element ref="led_digit_rect_black">
+ <element name="digit6" ref="led_digit" state="0">
<bounds x="718" y="26" width="30" height="40"/>
</element>
- <element name="digit6" ref="led_digit_red">
- <bounds x="718" y="26" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="718" y="26" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
+ <element name="digit5" ref="led_digit" state="0">
<bounds x="688" y="26" width="30" height="40"/>
</element>
- <element name="digit5" ref="led_digit_red">
- <bounds x="688" y="26" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="688" y="26" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="720" y="116" width="26" height="36"/>
- </element>
- <element name="digit14" ref="led_digit_red">
+ <element name="digit14" ref="led_digit" state="0">
<bounds x="720" y="116" width="26" height="36"/>
</element>
- <element ref="led_digit_rect_red">
- <bounds x="720" y="116" width="26" height="36"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="746" y="116" width="26" height="36"/>
- </element>
- <element name="digit15" ref="led_digit_red">
- <bounds x="746" y="116" width="26" height="36"/>
- </element>
- <element ref="led_digit_rect_red">
+ <element name="digit15" ref="led_digit" state="0">
<bounds x="746" y="116" width="26" height="36"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="695" y="116" width="26" height="36"/>
</element>
- <element name="digit13" ref="led_digit_red">
+ <element name="digit13" ref="led_digit" state="0">
<bounds x="695" y="116" width="26" height="36"/>
</element>
- <element ref="led_digit_rect_red">
- <bounds x="695" y="116" width="26" height="36"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
+ <element name="digit2" ref="led_digit" state="0">
<bounds x="362" y="267" width="30" height="40"/>
</element>
- <element name="digit2" ref="led_digit_green">
- <bounds x="362" y="267" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
- <bounds x="362" y="267" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="392" y="267" width="30" height="40"/>
- </element>
- <element name="digit3" ref="led_digit_green">
+ <element name="digit3" ref="led_digit" state="0">
<bounds x="392" y="267" width="30" height="40"/>
</element>
- <element ref="led_digit_rect_green">
- <bounds x="392" y="267" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
- <bounds x="422" y="267" width="30" height="40"/>
- </element>
- <element name="digit4" ref="led_digit_green">
- <bounds x="422" y="267" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_green">
+ <element name="digit4" ref="led_digit" state="0">
<bounds x="422" y="267" width="30" height="40"/>
- <color alpha="0.1"/>
</element>
- <element ref="led_digit_rect_black">
+ <element name="digit0" ref="led_digit" state="0">
<bounds x="674" y="477" width="30" height="40"/>
</element>
- <element name="digit0" ref="led_digit_red">
- <bounds x="674" y="477" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="674" y="477" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element ref="led_digit_rect_black">
+ <element name="digit1" ref="led_digit" state="0">
<bounds x="703" y="477" width="30" height="40"/>
</element>
- <element name="digit1" ref="led_digit_red">
- <bounds x="703" y="477" width="30" height="40"/>
- </element>
- <element ref="led_digit_rect_red">
- <bounds x="703" y="477" width="30" height="40"/>
- <color alpha="0.1"/>
- </element>
- <element name="label13" ref="label_13">
+ <element name="label12" ref="label_12">
<bounds x="684" y="5" width="94" height="22"/>
</element>
- <element name="label14" ref="label_14">
+ <element name="label13" ref="label_13">
<bounds x="661" y="101" width="34" height="60"/>
</element>
- <element name="label17" ref="label_17">
+ <element name="label16" ref="label_16">
<bounds x="694" y="96" width="79" height="19"/>
</element>
- <element name="label19" ref="label_19">
+ <element name="label18" ref="label_18">
<bounds x="354" y="3" width="116" height="24"/>
</element>
- <element name="label20" ref="label_20">
+ <element name="label19" ref="label_19">
<bounds x="215" y="3" width="67" height="119"/>
</element>
- <element name="label21" ref="label_21">
+ <element name="label20" ref="label_20">
<bounds x="651" y="10" width="38" height="67"/>
</element>
- <element name="label37" ref="label_37">
+ <element name="label36" ref="label_36">
<bounds x="325" y="250" width="38" height="67"/>
</element>
- <element name="label39" ref="label_39">
+ <element name="label37" ref="label_37">
<bounds x="332" y="221" width="106" height="16"/>
</element>
- <element name="label44" ref="label_44">
+ <element name="label42" ref="label_42">
<bounds x="351" y="170" width="69" height="16"/>
</element>
- <element name="label79" ref="label_79">
+ <element name="label58" ref="label_58">
<bounds x="360" y="248" width="72" height="19"/>
</element>
- <element name="label83" ref="label_83">
+ <element name="label62" ref="label_62">
<bounds x="25" y="28" width="102" height="64"/>
</element>
- <element name="label90" ref="label_90">
+ <element name="label69" ref="label_69">
<bounds x="94" y="101" width="38" height="22"/>
</element>
- <element name="label91" ref="label_91">
+ <element name="label70" ref="label_70">
<bounds x="94" y="133" width="27" height="22"/>
</element>
- <element name="label92" ref="label_92">
+ <element name="label71" ref="label_71">
<bounds x="94" y="166" width="27" height="22"/>
</element>
- <element name="label93" ref="label_93">
+ <element name="label72" ref="label_72">
<bounds x="94" y="200" width="27" height="22"/>
</element>
- <element name="label94" ref="label_94">
+ <element name="label73" ref="label_73">
<bounds x="94" y="234" width="27" height="22"/>
</element>
- <element name="label95" ref="label_95">
+ <element name="label74" ref="label_74">
<bounds x="94" y="268" width="43" height="22"/>
</element>
- <element name="label96" ref="label_96">
+ <element name="label75" ref="label_75">
<bounds x="559" y="494" width="25" height="26"/>
</element>
- <element name="label97" ref="label_97">
+ <element name="label76" ref="label_76">
<bounds x="204" y="494" width="25" height="26"/>
</element>
- <element name="label100" ref="label_100">
+ <element name="label79" ref="label_79">
<bounds x="668" y="454" width="67" height="24"/>
</element>
- </view>
-
- <view name="MFME2MAME Debug">
- <element ref="debug_backdrop_colour">
- <bounds x="0" y="0" width="1920" height="1080"/>
- </element>
- <element name="lamp0" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_0" ref="debug_lamp_label_0">
- <bounds x="47" y="47" width="30" height="30"/>
- </element>
- <element name="lamp1" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_1" ref="debug_lamp_label_1">
- <bounds x="111" y="47" width="30" height="30"/>
- </element>
- <element name="lamp2" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_2" ref="debug_lamp_label_2">
- <bounds x="175" y="47" width="30" height="30"/>
- </element>
- <element name="lamp3" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_3" ref="debug_lamp_label_3">
- <bounds x="239" y="47" width="30" height="30"/>
- </element>
- <element name="lamp4" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_4" ref="debug_lamp_label_4">
- <bounds x="303" y="47" width="30" height="30"/>
- </element>
- <element name="lamp5" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_5" ref="debug_lamp_label_5">
- <bounds x="367" y="47" width="30" height="30"/>
- </element>
- <element name="lamp6" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_6" ref="debug_lamp_label_6">
- <bounds x="431" y="47" width="30" height="30"/>
- </element>
- <element name="lamp7" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_7" ref="debug_lamp_label_7">
- <bounds x="495" y="47" width="30" height="30"/>
- </element>
- <element name="lamp8" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_8" ref="debug_lamp_label_8">
- <bounds x="559" y="47" width="30" height="30"/>
- </element>
- <element name="lamp9" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_9" ref="debug_lamp_label_9">
- <bounds x="623" y="47" width="30" height="30"/>
- </element>
- <element name="lamp10" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_10" ref="debug_lamp_label_10">
- <bounds x="687" y="47" width="30" height="30"/>
- </element>
- <element name="lamp11" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_11" ref="debug_lamp_label_11">
- <bounds x="751" y="47" width="30" height="30"/>
- </element>
- <element name="lamp12" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_12" ref="debug_lamp_label_12">
- <bounds x="815" y="47" width="30" height="30"/>
- </element>
- <element name="lamp13" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_13" ref="debug_lamp_label_13">
- <bounds x="879" y="47" width="30" height="30"/>
- </element>
- <element name="lamp14" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_14" ref="debug_lamp_label_14">
- <bounds x="943" y="47" width="30" height="30"/>
- </element>
- <element name="lamp15" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="32" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_15" ref="debug_lamp_label_15">
- <bounds x="1007" y="47" width="30" height="30"/>
- </element>
- <element name="lamp16" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_16" ref="debug_lamp_label_16">
- <bounds x="47" y="111" width="30" height="30"/>
- </element>
- <element name="lamp17" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_17" ref="debug_lamp_label_17">
- <bounds x="111" y="111" width="30" height="30"/>
- </element>
- <element name="lamp18" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_18" ref="debug_lamp_label_18">
- <bounds x="175" y="111" width="30" height="30"/>
- </element>
- <element name="lamp19" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_19" ref="debug_lamp_label_19">
- <bounds x="239" y="111" width="30" height="30"/>
- </element>
- <element name="lamp20" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_20" ref="debug_lamp_label_20">
- <bounds x="303" y="111" width="30" height="30"/>
- </element>
- <element name="lamp21" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_21" ref="debug_lamp_label_21">
- <bounds x="367" y="111" width="30" height="30"/>
- </element>
- <element name="lamp22" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_22" ref="debug_lamp_label_22">
- <bounds x="431" y="111" width="30" height="30"/>
- </element>
- <element name="lamp23" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_23" ref="debug_lamp_label_23">
- <bounds x="495" y="111" width="30" height="30"/>
- </element>
- <element name="lamp24" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_24" ref="debug_lamp_label_24">
- <bounds x="559" y="111" width="30" height="30"/>
- </element>
- <element name="lamp25" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_25" ref="debug_lamp_label_25">
- <bounds x="623" y="111" width="30" height="30"/>
- </element>
- <element name="lamp26" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_26" ref="debug_lamp_label_26">
- <bounds x="687" y="111" width="30" height="30"/>
- </element>
- <element name="lamp27" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_27" ref="debug_lamp_label_27">
- <bounds x="751" y="111" width="30" height="30"/>
- </element>
- <element name="lamp28" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_28" ref="debug_lamp_label_28">
- <bounds x="815" y="111" width="30" height="30"/>
- </element>
- <element name="lamp29" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_29" ref="debug_lamp_label_29">
- <bounds x="879" y="111" width="30" height="30"/>
- </element>
- <element name="lamp30" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_30" ref="debug_lamp_label_30">
- <bounds x="943" y="111" width="30" height="30"/>
- </element>
- <element name="lamp31" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="96" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_31" ref="debug_lamp_label_31">
- <bounds x="1007" y="111" width="30" height="30"/>
- </element>
- <element name="lamp32" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_32" ref="debug_lamp_label_32">
- <bounds x="47" y="175" width="30" height="30"/>
- </element>
- <element name="lamp33" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_33" ref="debug_lamp_label_33">
- <bounds x="111" y="175" width="30" height="30"/>
- </element>
- <element name="lamp34" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_34" ref="debug_lamp_label_34">
- <bounds x="175" y="175" width="30" height="30"/>
- </element>
- <element name="lamp35" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_35" ref="debug_lamp_label_35">
- <bounds x="239" y="175" width="30" height="30"/>
- </element>
- <element name="lamp36" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_36" ref="debug_lamp_label_36">
- <bounds x="303" y="175" width="30" height="30"/>
- </element>
- <element name="lamp37" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_37" ref="debug_lamp_label_37">
- <bounds x="367" y="175" width="30" height="30"/>
- </element>
- <element name="lamp38" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_38" ref="debug_lamp_label_38">
- <bounds x="431" y="175" width="30" height="30"/>
- </element>
- <element name="lamp39" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_39" ref="debug_lamp_label_39">
- <bounds x="495" y="175" width="30" height="30"/>
- </element>
- <element name="lamp40" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_40" ref="debug_lamp_label_40">
- <bounds x="559" y="175" width="30" height="30"/>
- </element>
- <element name="lamp41" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_41" ref="debug_lamp_label_41">
- <bounds x="623" y="175" width="30" height="30"/>
- </element>
- <element name="lamp42" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_42" ref="debug_lamp_label_42">
- <bounds x="687" y="175" width="30" height="30"/>
- </element>
- <element name="lamp43" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_43" ref="debug_lamp_label_43">
- <bounds x="751" y="175" width="30" height="30"/>
- </element>
- <element name="lamp44" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_44" ref="debug_lamp_label_44">
- <bounds x="815" y="175" width="30" height="30"/>
- </element>
- <element name="lamp45" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_45" ref="debug_lamp_label_45">
- <bounds x="879" y="175" width="30" height="30"/>
- </element>
- <element name="lamp46" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_46" ref="debug_lamp_label_46">
- <bounds x="943" y="175" width="30" height="30"/>
- </element>
- <element name="lamp47" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="160" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_47" ref="debug_lamp_label_47">
- <bounds x="1007" y="175" width="30" height="30"/>
- </element>
- <element name="lamp48" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_48" ref="debug_lamp_label_48">
- <bounds x="47" y="239" width="30" height="30"/>
- </element>
- <element name="lamp49" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_49" ref="debug_lamp_label_49">
- <bounds x="111" y="239" width="30" height="30"/>
- </element>
- <element name="lamp50" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_50" ref="debug_lamp_label_50">
- <bounds x="175" y="239" width="30" height="30"/>
- </element>
- <element name="lamp51" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_51" ref="debug_lamp_label_51">
- <bounds x="239" y="239" width="30" height="30"/>
- </element>
- <element name="lamp52" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_52" ref="debug_lamp_label_52">
- <bounds x="303" y="239" width="30" height="30"/>
- </element>
- <element name="lamp53" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_53" ref="debug_lamp_label_53">
- <bounds x="367" y="239" width="30" height="30"/>
- </element>
- <element name="lamp54" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_54" ref="debug_lamp_label_54">
- <bounds x="431" y="239" width="30" height="30"/>
- </element>
- <element name="lamp55" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_55" ref="debug_lamp_label_55">
- <bounds x="495" y="239" width="30" height="30"/>
- </element>
- <element name="lamp56" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_56" ref="debug_lamp_label_56">
- <bounds x="559" y="239" width="30" height="30"/>
- </element>
- <element name="lamp57" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_57" ref="debug_lamp_label_57">
- <bounds x="623" y="239" width="30" height="30"/>
- </element>
- <element name="lamp58" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_58" ref="debug_lamp_label_58">
- <bounds x="687" y="239" width="30" height="30"/>
- </element>
- <element name="lamp59" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_59" ref="debug_lamp_label_59">
- <bounds x="751" y="239" width="30" height="30"/>
- </element>
- <element name="lamp60" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_60" ref="debug_lamp_label_60">
- <bounds x="815" y="239" width="30" height="30"/>
- </element>
- <element name="lamp61" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_61" ref="debug_lamp_label_61">
- <bounds x="879" y="239" width="30" height="30"/>
- </element>
- <element name="lamp62" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_62" ref="debug_lamp_label_62">
- <bounds x="943" y="239" width="30" height="30"/>
- </element>
- <element name="lamp63" ref="debug_lamp_standard" state="0">
- <bounds x="992" y="224" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_63" ref="debug_lamp_label_63">
- <bounds x="1007" y="239" width="30" height="30"/>
- </element>
- <element name="lamp64" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_64" ref="debug_lamp_label_64">
- <bounds x="47" y="303" width="30" height="30"/>
- </element>
- <element name="lamp65" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_65" ref="debug_lamp_label_65">
- <bounds x="111" y="303" width="30" height="30"/>
- </element>
- <element name="lamp66" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_66" ref="debug_lamp_label_66">
- <bounds x="175" y="303" width="30" height="30"/>
- </element>
- <element name="lamp67" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_67" ref="debug_lamp_label_67">
- <bounds x="239" y="303" width="30" height="30"/>
- </element>
- <element name="lamp68" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_68" ref="debug_lamp_label_68">
- <bounds x="303" y="303" width="30" height="30"/>
- </element>
- <element name="lamp69" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_69" ref="debug_lamp_label_69">
- <bounds x="367" y="303" width="30" height="30"/>
- </element>
- <element name="lamp70" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_70" ref="debug_lamp_label_70">
- <bounds x="431" y="303" width="30" height="30"/>
- </element>
- <element name="lamp71" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_71" ref="debug_lamp_label_71">
- <bounds x="495" y="303" width="30" height="30"/>
- </element>
- <element name="lamp72" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_72" ref="debug_lamp_label_72">
- <bounds x="559" y="303" width="30" height="30"/>
- </element>
- <element name="lamp73" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_73" ref="debug_lamp_label_73">
- <bounds x="623" y="303" width="30" height="30"/>
- </element>
- <element name="lamp74" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_74" ref="debug_lamp_label_74">
- <bounds x="687" y="303" width="30" height="30"/>
- </element>
- <element name="lamp75" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_75" ref="debug_lamp_label_75">
- <bounds x="751" y="303" width="30" height="30"/>
- </element>
- <element name="lamp76" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_76" ref="debug_lamp_label_76">
- <bounds x="815" y="303" width="30" height="30"/>
- </element>
- <element name="lamp77" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_77" ref="debug_lamp_label_77">
- <bounds x="879" y="303" width="30" height="30"/>
- </element>
- <element name="lamp78" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_78" ref="debug_lamp_label_78">
- <bounds x="943" y="303" width="30" height="30"/>
- </element>
- <element name="lamp79" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="288" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_79" ref="debug_lamp_label_79">
- <bounds x="1007" y="303" width="30" height="30"/>
- </element>
- <element name="lamp80" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_80" ref="debug_lamp_label_80">
- <bounds x="47" y="367" width="30" height="30"/>
- </element>
- <element name="lamp81" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_81" ref="debug_lamp_label_81">
- <bounds x="111" y="367" width="30" height="30"/>
- </element>
- <element name="lamp82" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_82" ref="debug_lamp_label_82">
- <bounds x="175" y="367" width="30" height="30"/>
- </element>
- <element name="lamp83" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_83" ref="debug_lamp_label_83">
- <bounds x="239" y="367" width="30" height="30"/>
- </element>
- <element name="lamp84" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_84" ref="debug_lamp_label_84">
- <bounds x="303" y="367" width="30" height="30"/>
- </element>
- <element name="lamp85" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_85" ref="debug_lamp_label_85">
- <bounds x="367" y="367" width="30" height="30"/>
- </element>
- <element name="lamp86" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_86" ref="debug_lamp_label_86">
- <bounds x="431" y="367" width="30" height="30"/>
- </element>
- <element name="lamp87" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_87" ref="debug_lamp_label_87">
- <bounds x="495" y="367" width="30" height="30"/>
- </element>
- <element name="lamp88" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_88" ref="debug_lamp_label_88">
- <bounds x="559" y="367" width="30" height="30"/>
- </element>
- <element name="lamp89" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_89" ref="debug_lamp_label_89">
- <bounds x="623" y="367" width="30" height="30"/>
- </element>
- <element name="lamp90" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_90" ref="debug_lamp_label_90">
- <bounds x="687" y="367" width="30" height="30"/>
- </element>
- <element name="lamp91" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_91" ref="debug_lamp_label_91">
- <bounds x="751" y="367" width="30" height="30"/>
- </element>
- <element name="lamp92" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_92" ref="debug_lamp_label_92">
- <bounds x="815" y="367" width="30" height="30"/>
- </element>
- <element name="lamp93" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_93" ref="debug_lamp_label_93">
- <bounds x="879" y="367" width="30" height="30"/>
- </element>
- <element name="lamp94" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_94" ref="debug_lamp_label_94">
- <bounds x="943" y="367" width="30" height="30"/>
- </element>
- <element name="lamp95" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="352" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_95" ref="debug_lamp_label_95">
- <bounds x="1007" y="367" width="30" height="30"/>
- </element>
- <element name="lamp96" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_96" ref="debug_lamp_label_96">
- <bounds x="47" y="431" width="30" height="30"/>
- </element>
- <element name="lamp97" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_97" ref="debug_lamp_label_97">
- <bounds x="111" y="431" width="30" height="30"/>
- </element>
- <element name="lamp98" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_98" ref="debug_lamp_label_98">
- <bounds x="175" y="431" width="30" height="30"/>
- </element>
- <element name="lamp99" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_99" ref="debug_lamp_label_99">
- <bounds x="239" y="431" width="30" height="30"/>
- </element>
- <element name="lamp100" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_100" ref="debug_lamp_label_100">
- <bounds x="303" y="431" width="30" height="30"/>
- </element>
- <element name="lamp101" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_101" ref="debug_lamp_label_101">
- <bounds x="367" y="431" width="30" height="30"/>
- </element>
- <element name="lamp102" ref="debug_lamp_standard" state="0">
- <bounds x="416" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_102" ref="debug_lamp_label_102">
- <bounds x="431" y="431" width="30" height="30"/>
- </element>
- <element name="lamp103" ref="debug_lamp_standard" state="0">
- <bounds x="480" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_103" ref="debug_lamp_label_103">
- <bounds x="495" y="431" width="30" height="30"/>
- </element>
- <element name="lamp104" ref="debug_lamp_standard" state="0">
- <bounds x="544" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_104" ref="debug_lamp_label_104">
- <bounds x="559" y="431" width="30" height="30"/>
- </element>
- <element name="lamp105" ref="debug_lamp_standard" state="0">
- <bounds x="608" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_105" ref="debug_lamp_label_105">
- <bounds x="623" y="431" width="30" height="30"/>
- </element>
- <element name="lamp106" ref="debug_lamp_standard" state="0">
- <bounds x="672" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_106" ref="debug_lamp_label_106">
- <bounds x="687" y="431" width="30" height="30"/>
- </element>
- <element name="lamp107" ref="debug_lamp_standard" state="0">
- <bounds x="736" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_107" ref="debug_lamp_label_107">
- <bounds x="751" y="431" width="30" height="30"/>
- </element>
- <element name="lamp108" ref="debug_lamp_standard" state="0">
- <bounds x="800" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_108" ref="debug_lamp_label_108">
- <bounds x="815" y="431" width="30" height="30"/>
- </element>
- <element name="lamp109" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_109" ref="debug_lamp_label_109">
- <bounds x="879" y="431" width="30" height="30"/>
- </element>
- <element name="lamp110" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_110" ref="debug_lamp_label_110">
- <bounds x="943" y="431" width="30" height="30"/>
- </element>
- <element name="lamp111" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="416" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_111" ref="debug_lamp_label_111">
- <bounds x="1007" y="431" width="30" height="30"/>
- </element>
- <element name="lamp112" ref="debug_lamp_segment" state="0">
- <bounds x="32" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_112" ref="debug_lamp_label_112">
- <bounds x="47" y="495" width="30" height="30"/>
- </element>
- <element name="lamp113" ref="debug_lamp_segment" state="0">
- <bounds x="96" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_113" ref="debug_lamp_label_113">
- <bounds x="111" y="495" width="30" height="30"/>
- </element>
- <element name="lamp114" ref="debug_lamp_segment" state="0">
- <bounds x="160" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_114" ref="debug_lamp_label_114">
- <bounds x="175" y="495" width="30" height="30"/>
- </element>
- <element name="lamp115" ref="debug_lamp_segment" state="0">
- <bounds x="224" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_115" ref="debug_lamp_label_115">
- <bounds x="239" y="495" width="30" height="30"/>
- </element>
- <element name="lamp116" ref="debug_lamp_segment" state="0">
- <bounds x="288" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_116" ref="debug_lamp_label_116">
- <bounds x="303" y="495" width="30" height="30"/>
- </element>
- <element name="lamp117" ref="debug_lamp_segment" state="0">
- <bounds x="352" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_117" ref="debug_lamp_label_117">
- <bounds x="367" y="495" width="30" height="30"/>
- </element>
- <element name="lamp118" ref="debug_lamp_segment" state="0">
- <bounds x="416" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_118" ref="debug_lamp_label_118">
- <bounds x="431" y="495" width="30" height="30"/>
- </element>
- <element name="lamp119" ref="debug_lamp_segment" state="0">
- <bounds x="480" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_119" ref="debug_lamp_label_119">
- <bounds x="495" y="495" width="30" height="30"/>
- </element>
- <element name="lamp120" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_120" ref="debug_lamp_label_120">
- <bounds x="559" y="495" width="30" height="30"/>
- </element>
- <element name="lamp121" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_121" ref="debug_lamp_label_121">
- <bounds x="623" y="495" width="30" height="30"/>
- </element>
- <element name="lamp122" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_122" ref="debug_lamp_label_122">
- <bounds x="687" y="495" width="30" height="30"/>
- </element>
- <element name="lamp123" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_123" ref="debug_lamp_label_123">
- <bounds x="751" y="495" width="30" height="30"/>
- </element>
- <element name="lamp124" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_124" ref="debug_lamp_label_124">
- <bounds x="815" y="495" width="30" height="30"/>
- </element>
- <element name="lamp125" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_125" ref="debug_lamp_label_125">
- <bounds x="879" y="495" width="30" height="30"/>
- </element>
- <element name="lamp126" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_126" ref="debug_lamp_label_126">
- <bounds x="943" y="495" width="30" height="30"/>
- </element>
- <element name="lamp127" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="480" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_127" ref="debug_lamp_label_127">
- <bounds x="1007" y="495" width="30" height="30"/>
- </element>
- <element name="lamp128" ref="debug_lamp_segment" state="0">
- <bounds x="32" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_128" ref="debug_lamp_label_128">
- <bounds x="47" y="559" width="30" height="30"/>
- </element>
- <element name="lamp129" ref="debug_lamp_segment" state="0">
- <bounds x="96" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_129" ref="debug_lamp_label_129">
- <bounds x="111" y="559" width="30" height="30"/>
- </element>
- <element name="lamp130" ref="debug_lamp_segment" state="0">
- <bounds x="160" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_130" ref="debug_lamp_label_130">
- <bounds x="175" y="559" width="30" height="30"/>
- </element>
- <element name="lamp131" ref="debug_lamp_segment" state="0">
- <bounds x="224" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_131" ref="debug_lamp_label_131">
- <bounds x="239" y="559" width="30" height="30"/>
- </element>
- <element name="lamp132" ref="debug_lamp_segment" state="0">
- <bounds x="288" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_132" ref="debug_lamp_label_132">
- <bounds x="303" y="559" width="30" height="30"/>
- </element>
- <element name="lamp133" ref="debug_lamp_segment" state="0">
- <bounds x="352" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_133" ref="debug_lamp_label_133">
- <bounds x="367" y="559" width="30" height="30"/>
- </element>
- <element name="lamp134" ref="debug_lamp_segment" state="0">
- <bounds x="416" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_134" ref="debug_lamp_label_134">
- <bounds x="431" y="559" width="30" height="30"/>
- </element>
- <element name="lamp135" ref="debug_lamp_segment" state="0">
- <bounds x="480" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_135" ref="debug_lamp_label_135">
- <bounds x="495" y="559" width="30" height="30"/>
- </element>
- <element name="lamp136" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_136" ref="debug_lamp_label_136">
- <bounds x="559" y="559" width="30" height="30"/>
- </element>
- <element name="lamp137" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_137" ref="debug_lamp_label_137">
- <bounds x="623" y="559" width="30" height="30"/>
- </element>
- <element name="lamp138" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_138" ref="debug_lamp_label_138">
- <bounds x="687" y="559" width="30" height="30"/>
- </element>
- <element name="lamp139" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_139" ref="debug_lamp_label_139">
- <bounds x="751" y="559" width="30" height="30"/>
- </element>
- <element name="lamp140" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_140" ref="debug_lamp_label_140">
- <bounds x="815" y="559" width="30" height="30"/>
- </element>
- <element name="lamp141" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_141" ref="debug_lamp_label_141">
- <bounds x="879" y="559" width="30" height="30"/>
- </element>
- <element name="lamp142" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_142" ref="debug_lamp_label_142">
- <bounds x="943" y="559" width="30" height="30"/>
- </element>
- <element name="lamp143" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="544" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_143" ref="debug_lamp_label_143">
- <bounds x="1007" y="559" width="30" height="30"/>
- </element>
- <element name="lamp144" ref="debug_lamp_segment" state="0">
- <bounds x="32" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_144" ref="debug_lamp_label_144">
- <bounds x="47" y="623" width="30" height="30"/>
- </element>
- <element name="lamp145" ref="debug_lamp_segment" state="0">
- <bounds x="96" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_145" ref="debug_lamp_label_145">
- <bounds x="111" y="623" width="30" height="30"/>
- </element>
- <element name="lamp146" ref="debug_lamp_segment" state="0">
- <bounds x="160" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_146" ref="debug_lamp_label_146">
- <bounds x="175" y="623" width="30" height="30"/>
- </element>
- <element name="lamp147" ref="debug_lamp_segment" state="0">
- <bounds x="224" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_147" ref="debug_lamp_label_147">
- <bounds x="239" y="623" width="30" height="30"/>
- </element>
- <element name="lamp148" ref="debug_lamp_segment" state="0">
- <bounds x="288" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_148" ref="debug_lamp_label_148">
- <bounds x="303" y="623" width="30" height="30"/>
- </element>
- <element name="lamp149" ref="debug_lamp_segment" state="0">
- <bounds x="352" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_149" ref="debug_lamp_label_149">
- <bounds x="367" y="623" width="30" height="30"/>
- </element>
- <element name="lamp150" ref="debug_lamp_segment" state="0">
- <bounds x="416" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_150" ref="debug_lamp_label_150">
- <bounds x="431" y="623" width="30" height="30"/>
- </element>
- <element name="lamp151" ref="debug_lamp_segment" state="0">
- <bounds x="480" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_151" ref="debug_lamp_label_151">
- <bounds x="495" y="623" width="30" height="30"/>
- </element>
- <element name="lamp152" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_152" ref="debug_lamp_label_152">
- <bounds x="559" y="623" width="30" height="30"/>
- </element>
- <element name="lamp153" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_153" ref="debug_lamp_label_153">
- <bounds x="623" y="623" width="30" height="30"/>
- </element>
- <element name="lamp154" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_154" ref="debug_lamp_label_154">
- <bounds x="687" y="623" width="30" height="30"/>
- </element>
- <element name="lamp155" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_155" ref="debug_lamp_label_155">
- <bounds x="751" y="623" width="30" height="30"/>
- </element>
- <element name="lamp156" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_156" ref="debug_lamp_label_156">
- <bounds x="815" y="623" width="30" height="30"/>
- </element>
- <element name="lamp157" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_157" ref="debug_lamp_label_157">
- <bounds x="879" y="623" width="30" height="30"/>
- </element>
- <element name="lamp158" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_158" ref="debug_lamp_label_158">
- <bounds x="943" y="623" width="30" height="30"/>
- </element>
- <element name="lamp159" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="608" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_159" ref="debug_lamp_label_159">
- <bounds x="1007" y="623" width="30" height="30"/>
- </element>
- <element name="lamp160" ref="debug_lamp_segment" state="0">
- <bounds x="32" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_160" ref="debug_lamp_label_160">
- <bounds x="47" y="687" width="30" height="30"/>
- </element>
- <element name="lamp161" ref="debug_lamp_segment" state="0">
- <bounds x="96" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_161" ref="debug_lamp_label_161">
- <bounds x="111" y="687" width="30" height="30"/>
- </element>
- <element name="lamp162" ref="debug_lamp_segment" state="0">
- <bounds x="160" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_162" ref="debug_lamp_label_162">
- <bounds x="175" y="687" width="30" height="30"/>
- </element>
- <element name="lamp163" ref="debug_lamp_segment" state="0">
- <bounds x="224" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_163" ref="debug_lamp_label_163">
- <bounds x="239" y="687" width="30" height="30"/>
- </element>
- <element name="lamp164" ref="debug_lamp_segment" state="0">
- <bounds x="288" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_164" ref="debug_lamp_label_164">
- <bounds x="303" y="687" width="30" height="30"/>
- </element>
- <element name="lamp165" ref="debug_lamp_segment" state="0">
- <bounds x="352" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_165" ref="debug_lamp_label_165">
- <bounds x="367" y="687" width="30" height="30"/>
- </element>
- <element name="lamp166" ref="debug_lamp_segment" state="0">
- <bounds x="416" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_166" ref="debug_lamp_label_166">
- <bounds x="431" y="687" width="30" height="30"/>
- </element>
- <element name="lamp167" ref="debug_lamp_segment" state="0">
- <bounds x="480" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_167" ref="debug_lamp_label_167">
- <bounds x="495" y="687" width="30" height="30"/>
- </element>
- <element name="lamp168" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_168" ref="debug_lamp_label_168">
- <bounds x="559" y="687" width="30" height="30"/>
- </element>
- <element name="lamp169" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_169" ref="debug_lamp_label_169">
- <bounds x="623" y="687" width="30" height="30"/>
- </element>
- <element name="lamp170" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_170" ref="debug_lamp_label_170">
- <bounds x="687" y="687" width="30" height="30"/>
- </element>
- <element name="lamp171" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_171" ref="debug_lamp_label_171">
- <bounds x="751" y="687" width="30" height="30"/>
- </element>
- <element name="lamp172" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_172" ref="debug_lamp_label_172">
- <bounds x="815" y="687" width="30" height="30"/>
- </element>
- <element name="lamp173" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_173" ref="debug_lamp_label_173">
- <bounds x="879" y="687" width="30" height="30"/>
- </element>
- <element name="lamp174" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_174" ref="debug_lamp_label_174">
- <bounds x="943" y="687" width="30" height="30"/>
- </element>
- <element name="lamp175" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="672" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_175" ref="debug_lamp_label_175">
- <bounds x="1007" y="687" width="30" height="30"/>
- </element>
- <element name="lamp176" ref="debug_lamp_segment" state="0">
- <bounds x="32" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_176" ref="debug_lamp_label_176">
- <bounds x="47" y="751" width="30" height="30"/>
- </element>
- <element name="lamp177" ref="debug_lamp_segment" state="0">
- <bounds x="96" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_177" ref="debug_lamp_label_177">
- <bounds x="111" y="751" width="30" height="30"/>
- </element>
- <element name="lamp178" ref="debug_lamp_segment" state="0">
- <bounds x="160" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_178" ref="debug_lamp_label_178">
- <bounds x="175" y="751" width="30" height="30"/>
- </element>
- <element name="lamp179" ref="debug_lamp_segment" state="0">
- <bounds x="224" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_179" ref="debug_lamp_label_179">
- <bounds x="239" y="751" width="30" height="30"/>
- </element>
- <element name="lamp180" ref="debug_lamp_segment" state="0">
- <bounds x="288" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_180" ref="debug_lamp_label_180">
- <bounds x="303" y="751" width="30" height="30"/>
- </element>
- <element name="lamp181" ref="debug_lamp_segment" state="0">
- <bounds x="352" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_181" ref="debug_lamp_label_181">
- <bounds x="367" y="751" width="30" height="30"/>
- </element>
- <element name="lamp182" ref="debug_lamp_segment" state="0">
- <bounds x="416" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_182" ref="debug_lamp_label_182">
- <bounds x="431" y="751" width="30" height="30"/>
- </element>
- <element name="lamp183" ref="debug_lamp_segment" state="0">
- <bounds x="480" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_183" ref="debug_lamp_label_183">
- <bounds x="495" y="751" width="30" height="30"/>
- </element>
- <element name="lamp184" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_184" ref="debug_lamp_label_184">
- <bounds x="559" y="751" width="30" height="30"/>
- </element>
- <element name="lamp185" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_185" ref="debug_lamp_label_185">
- <bounds x="623" y="751" width="30" height="30"/>
- </element>
- <element name="lamp186" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_186" ref="debug_lamp_label_186">
- <bounds x="687" y="751" width="30" height="30"/>
- </element>
- <element name="lamp187" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_187" ref="debug_lamp_label_187">
- <bounds x="751" y="751" width="30" height="30"/>
- </element>
- <element name="lamp188" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_188" ref="debug_lamp_label_188">
- <bounds x="815" y="751" width="30" height="30"/>
- </element>
- <element name="lamp189" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_189" ref="debug_lamp_label_189">
- <bounds x="879" y="751" width="30" height="30"/>
- </element>
- <element name="lamp190" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_190" ref="debug_lamp_label_190">
- <bounds x="943" y="751" width="30" height="30"/>
- </element>
- <element name="lamp191" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="736" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_191" ref="debug_lamp_label_191">
- <bounds x="1007" y="751" width="30" height="30"/>
- </element>
- <element name="lamp192" ref="debug_lamp_button" state="0">
- <bounds x="32" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_192" ref="debug_lamp_label_192">
- <bounds x="47" y="815" width="30" height="30"/>
- </element>
- <element name="lamp193" ref="debug_lamp_button" state="0">
- <bounds x="96" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_193" ref="debug_lamp_label_193">
- <bounds x="111" y="815" width="30" height="30"/>
- </element>
- <element name="lamp194" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_194" ref="debug_lamp_label_194">
- <bounds x="175" y="815" width="30" height="30"/>
- </element>
- <element name="lamp195" ref="debug_lamp_button" state="0">
- <bounds x="224" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_195" ref="debug_lamp_label_195">
- <bounds x="239" y="815" width="30" height="30"/>
- </element>
- <element name="lamp196" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_196" ref="debug_lamp_label_196">
- <bounds x="303" y="815" width="30" height="30"/>
- </element>
- <element name="lamp197" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_197" ref="debug_lamp_label_197">
- <bounds x="367" y="815" width="30" height="30"/>
- </element>
- <element name="lamp198" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_198" ref="debug_lamp_label_198">
- <bounds x="431" y="815" width="30" height="30"/>
- </element>
- <element name="lamp199" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_199" ref="debug_lamp_label_199">
- <bounds x="495" y="815" width="30" height="30"/>
- </element>
- <element name="lamp200" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_200" ref="debug_lamp_label_200">
- <bounds x="559" y="815" width="30" height="30"/>
- </element>
- <element name="lamp201" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_201" ref="debug_lamp_label_201">
- <bounds x="623" y="815" width="30" height="30"/>
- </element>
- <element name="lamp202" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_202" ref="debug_lamp_label_202">
- <bounds x="687" y="815" width="30" height="30"/>
- </element>
- <element name="lamp203" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_203" ref="debug_lamp_label_203">
- <bounds x="751" y="815" width="30" height="30"/>
- </element>
- <element name="lamp204" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_204" ref="debug_lamp_label_204">
- <bounds x="815" y="815" width="30" height="30"/>
- </element>
- <element name="lamp205" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_205" ref="debug_lamp_label_205">
- <bounds x="879" y="815" width="30" height="30"/>
- </element>
- <element name="lamp206" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_206" ref="debug_lamp_label_206">
- <bounds x="943" y="815" width="30" height="30"/>
- </element>
- <element name="lamp207" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="800" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_207" ref="debug_lamp_label_207">
- <bounds x="1007" y="815" width="30" height="30"/>
- </element>
- <element name="lamp208" ref="debug_lamp_button" state="0">
- <bounds x="32" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_208" ref="debug_lamp_label_208">
- <bounds x="47" y="879" width="30" height="30"/>
- </element>
- <element name="lamp209" ref="debug_lamp_button" state="0">
- <bounds x="96" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_209" ref="debug_lamp_label_209">
- <bounds x="111" y="879" width="30" height="30"/>
- </element>
- <element name="lamp210" ref="debug_lamp_button" state="0">
- <bounds x="160" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_210" ref="debug_lamp_label_210">
- <bounds x="175" y="879" width="30" height="30"/>
- </element>
- <element name="lamp211" ref="debug_lamp_button" state="0">
- <bounds x="224" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_211" ref="debug_lamp_label_211">
- <bounds x="239" y="879" width="30" height="30"/>
- </element>
- <element name="lamp212" ref="debug_lamp_standard" state="0">
- <bounds x="288" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_212" ref="debug_lamp_label_212">
- <bounds x="303" y="879" width="30" height="30"/>
- </element>
- <element name="lamp213" ref="debug_lamp_standard" state="0">
- <bounds x="352" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_213" ref="debug_lamp_label_213">
- <bounds x="367" y="879" width="30" height="30"/>
- </element>
- <element name="lamp214" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_214" ref="debug_lamp_label_214">
- <bounds x="431" y="879" width="30" height="30"/>
- </element>
- <element name="lamp215" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_215" ref="debug_lamp_label_215">
- <bounds x="495" y="879" width="30" height="30"/>
- </element>
- <element name="lamp216" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_216" ref="debug_lamp_label_216">
- <bounds x="559" y="879" width="30" height="30"/>
- </element>
- <element name="lamp217" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_217" ref="debug_lamp_label_217">
- <bounds x="623" y="879" width="30" height="30"/>
- </element>
- <element name="lamp218" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_218" ref="debug_lamp_label_218">
- <bounds x="687" y="879" width="30" height="30"/>
- </element>
- <element name="lamp219" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_219" ref="debug_lamp_label_219">
- <bounds x="751" y="879" width="30" height="30"/>
- </element>
- <element name="lamp220" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_220" ref="debug_lamp_label_220">
- <bounds x="815" y="879" width="30" height="30"/>
- </element>
- <element name="lamp221" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_221" ref="debug_lamp_label_221">
- <bounds x="879" y="879" width="30" height="30"/>
- </element>
- <element name="lamp222" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_222" ref="debug_lamp_label_222">
- <bounds x="943" y="879" width="30" height="30"/>
- </element>
- <element name="lamp223" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="864" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_223" ref="debug_lamp_label_223">
- <bounds x="1007" y="879" width="30" height="30"/>
- </element>
- <element name="lamp224" ref="debug_lamp_button" state="0">
- <bounds x="32" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_224" ref="debug_lamp_label_224">
- <bounds x="47" y="943" width="30" height="30"/>
- </element>
- <element name="lamp225" ref="debug_lamp_button" state="0">
- <bounds x="96" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_225" ref="debug_lamp_label_225">
- <bounds x="111" y="943" width="30" height="30"/>
- </element>
- <element name="lamp226" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_226" ref="debug_lamp_label_226">
- <bounds x="175" y="943" width="30" height="30"/>
- </element>
- <element name="lamp227" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_227" ref="debug_lamp_label_227">
- <bounds x="239" y="943" width="30" height="30"/>
- </element>
- <element name="lamp228" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_228" ref="debug_lamp_label_228">
- <bounds x="303" y="943" width="30" height="30"/>
- </element>
- <element name="lamp229" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_229" ref="debug_lamp_label_229">
- <bounds x="367" y="943" width="30" height="30"/>
- </element>
- <element name="lamp230" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_230" ref="debug_lamp_label_230">
- <bounds x="431" y="943" width="30" height="30"/>
- </element>
- <element name="lamp231" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_231" ref="debug_lamp_label_231">
- <bounds x="495" y="943" width="30" height="30"/>
- </element>
- <element name="lamp232" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_232" ref="debug_lamp_label_232">
- <bounds x="559" y="943" width="30" height="30"/>
- </element>
- <element name="lamp233" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_233" ref="debug_lamp_label_233">
- <bounds x="623" y="943" width="30" height="30"/>
- </element>
- <element name="lamp234" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_234" ref="debug_lamp_label_234">
- <bounds x="687" y="943" width="30" height="30"/>
- </element>
- <element name="lamp235" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_235" ref="debug_lamp_label_235">
- <bounds x="751" y="943" width="30" height="30"/>
- </element>
- <element name="lamp236" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_236" ref="debug_lamp_label_236">
- <bounds x="815" y="943" width="30" height="30"/>
- </element>
- <element name="lamp237" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_237" ref="debug_lamp_label_237">
- <bounds x="879" y="943" width="30" height="30"/>
- </element>
- <element name="lamp238" ref="debug_lamp_unreferenced" state="0">
- <bounds x="928" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_238" ref="debug_lamp_label_238">
- <bounds x="943" y="943" width="30" height="30"/>
- </element>
- <element name="lamp239" ref="debug_lamp_unreferenced" state="0">
- <bounds x="992" y="928" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_239" ref="debug_lamp_label_239">
- <bounds x="1007" y="943" width="30" height="30"/>
- </element>
- <element name="lamp240" ref="debug_lamp_unreferenced" state="0">
- <bounds x="32" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_240" ref="debug_lamp_label_240">
- <bounds x="47" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp241" ref="debug_lamp_unreferenced" state="0">
- <bounds x="96" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_241" ref="debug_lamp_label_241">
- <bounds x="111" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp242" ref="debug_lamp_unreferenced" state="0">
- <bounds x="160" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_242" ref="debug_lamp_label_242">
- <bounds x="175" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp243" ref="debug_lamp_unreferenced" state="0">
- <bounds x="224" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_243" ref="debug_lamp_label_243">
- <bounds x="239" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp244" ref="debug_lamp_unreferenced" state="0">
- <bounds x="288" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_244" ref="debug_lamp_label_244">
- <bounds x="303" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp245" ref="debug_lamp_unreferenced" state="0">
- <bounds x="352" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_245" ref="debug_lamp_label_245">
- <bounds x="367" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp246" ref="debug_lamp_unreferenced" state="0">
- <bounds x="416" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_246" ref="debug_lamp_label_246">
- <bounds x="431" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp247" ref="debug_lamp_unreferenced" state="0">
- <bounds x="480" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_247" ref="debug_lamp_label_247">
- <bounds x="495" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp248" ref="debug_lamp_unreferenced" state="0">
- <bounds x="544" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_248" ref="debug_lamp_label_248">
- <bounds x="559" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp249" ref="debug_lamp_unreferenced" state="0">
- <bounds x="608" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_249" ref="debug_lamp_label_249">
- <bounds x="623" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp250" ref="debug_lamp_unreferenced" state="0">
- <bounds x="672" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_250" ref="debug_lamp_label_250">
- <bounds x="687" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp251" ref="debug_lamp_unreferenced" state="0">
- <bounds x="736" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_251" ref="debug_lamp_label_251">
- <bounds x="751" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp252" ref="debug_lamp_unreferenced" state="0">
- <bounds x="800" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_252" ref="debug_lamp_label_252">
- <bounds x="815" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp253" ref="debug_lamp_unreferenced" state="0">
- <bounds x="864" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_253" ref="debug_lamp_label_253">
- <bounds x="879" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp254" ref="debug_lamp_standard" state="0">
- <bounds x="928" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_254" ref="debug_lamp_label_254">
- <bounds x="943" y="1007" width="30" height="30"/>
- </element>
- <element name="lamp255" ref="debug_lamp_segment" state="0">
- <bounds x="992" y="992" width="60" height="60"/>
- </element>
- <element name="debug_lamp_label_255" ref="debug_lamp_label_255">
- <bounds x="1007" y="1007" width="30" height="30"/>
- </element>
- <element name="debug_button_0" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_0" ref="debug_button_label_0">
- <bounds x="1120" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_1" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_1" ref="debug_button_label_1">
- <bounds x="1204" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_2" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_2" ref="debug_button_label_2">
- <bounds x="1288" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_3" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_3" ref="debug_button_label_3">
- <bounds x="1372" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_4" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_4" ref="debug_button_label_4">
- <bounds x="1456" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_5" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_5" ref="debug_button_label_5">
- <bounds x="1540" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_6" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_6" ref="debug_button_label_6">
- <bounds x="1624" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_7" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="660" width="80" height="44"/>
- </element>
- <element name="debug_button_label_7" ref="debug_button_label_7">
- <bounds x="1708" y="671" width="40" height="22"/>
- </element>
- <element name="debug_button_8" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_8" ref="debug_button_label_8">
- <bounds x="1120" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_9" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_9" ref="debug_button_label_9">
- <bounds x="1204" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_10" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_10" ref="debug_button_label_10">
- <bounds x="1288" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_11" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_11" ref="debug_button_label_11">
- <bounds x="1372" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_12" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_12" ref="debug_button_label_12">
- <bounds x="1456" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_13" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_13" ref="debug_button_label_13">
- <bounds x="1540" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_14" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_14" ref="debug_button_label_14">
- <bounds x="1624" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_15" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="708" width="80" height="44"/>
- </element>
- <element name="debug_button_label_15" ref="debug_button_label_15">
- <bounds x="1708" y="719" width="40" height="22"/>
- </element>
- <element name="debug_button_16" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_16" ref="debug_button_label_16">
- <bounds x="1120" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_17" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_17" ref="debug_button_label_17">
- <bounds x="1204" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_18" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_18" ref="debug_button_label_18">
- <bounds x="1288" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_19" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_19" ref="debug_button_label_19">
- <bounds x="1372" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_20" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_20" ref="debug_button_label_20">
- <bounds x="1456" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_21" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_21" ref="debug_button_label_21">
- <bounds x="1540" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_22" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_22" ref="debug_button_label_22">
- <bounds x="1624" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_23" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="756" width="80" height="44"/>
- </element>
- <element name="debug_button_label_23" ref="debug_button_label_23">
- <bounds x="1708" y="767" width="40" height="22"/>
- </element>
- <element name="debug_button_24" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_24" ref="debug_button_label_24">
- <bounds x="1120" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_25" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_25" ref="debug_button_label_25">
- <bounds x="1204" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_26" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_26" ref="debug_button_label_26">
- <bounds x="1288" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_27" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_27" ref="debug_button_label_27">
- <bounds x="1372" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_28" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_28" ref="debug_button_label_28">
- <bounds x="1456" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_29" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_29" ref="debug_button_label_29">
- <bounds x="1540" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_30" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_30" ref="debug_button_label_30">
- <bounds x="1624" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_31" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="804" width="80" height="44"/>
- </element>
- <element name="debug_button_label_31" ref="debug_button_label_31">
- <bounds x="1708" y="815" width="40" height="22"/>
- </element>
- <element name="debug_button_32" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_32" ref="debug_button_label_32">
- <bounds x="1120" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_33" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_33" ref="debug_button_label_33">
- <bounds x="1204" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_34" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_34" ref="debug_button_label_34">
- <bounds x="1288" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_35" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_35" ref="debug_button_label_35">
- <bounds x="1372" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_36" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_36" ref="debug_button_label_36">
- <bounds x="1456" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_37" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_37" ref="debug_button_label_37">
- <bounds x="1540" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_38" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_38" ref="debug_button_label_38">
- <bounds x="1624" y="863" width="40" height="22"/>
- </element>
- <element name="debug_button_39" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="852" width="80" height="44"/>
- </element>
- <element name="debug_button_label_39" ref="debug_button_label_39">
- <bounds x="1708" y="863" width="40" height="22"/>
- </element>
- <element name="lamp192" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_40" ref="debug_button_label_40">
- <bounds x="1120" y="911" width="40" height="22"/>
- </element>
- <element name="lamp193" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_41" ref="debug_button_label_41">
- <bounds x="1204" y="911" width="40" height="22"/>
- </element>
- <element name="lamp195" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_42" ref="debug_button_label_42">
- <bounds x="1288" y="911" width="40" height="22"/>
- </element>
- <element name="lamp208" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_43" ref="debug_button_label_43">
- <bounds x="1372" y="911" width="40" height="22"/>
- </element>
- <element name="lamp209" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_44" ref="debug_button_label_44">
- <bounds x="1456" y="911" width="40" height="22"/>
- </element>
- <element name="lamp210" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_45" ref="debug_button_label_45">
- <bounds x="1540" y="911" width="40" height="22"/>
- </element>
- <element name="lamp211" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_46" ref="debug_button_label_46">
- <bounds x="1624" y="911" width="40" height="22"/>
- </element>
- <element name="lamp224" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="900" width="80" height="44"/>
- </element>
- <element name="debug_button_label_47" ref="debug_button_label_47">
- <bounds x="1708" y="911" width="40" height="22"/>
- </element>
- <element name="debug_button_48" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_48" ref="debug_button_label_48">
- <bounds x="1120" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_49" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_49" ref="debug_button_label_49">
- <bounds x="1204" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_50" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_50" ref="debug_button_label_50">
- <bounds x="1288" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_51" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_51" ref="debug_button_label_51">
- <bounds x="1372" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_52" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_52" ref="debug_button_label_52">
- <bounds x="1456" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_53" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_53" ref="debug_button_label_53">
- <bounds x="1540" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_54" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_54" ref="debug_button_label_54">
- <bounds x="1624" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_55" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="948" width="80" height="44"/>
- </element>
- <element name="debug_button_label_55" ref="debug_button_label_55">
- <bounds x="1708" y="959" width="40" height="22"/>
- </element>
- <element name="debug_button_56" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x01">
- <bounds x="1100" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_56" ref="debug_button_label_56">
- <bounds x="1120" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_57" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x02">
- <bounds x="1184" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_57" ref="debug_button_label_57">
- <bounds x="1204" y="1007" width="40" height="22"/>
- </element>
- <element name="lamp225" ref="debug_button_standard" state="0" inputtag="TODO" inputmask="0x04">
- <bounds x="1268" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_58" ref="debug_button_label_58">
- <bounds x="1288" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_59" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x08">
- <bounds x="1352" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_59" ref="debug_button_label_59">
- <bounds x="1372" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_60" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x10">
- <bounds x="1436" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_60" ref="debug_button_label_60">
- <bounds x="1456" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_61" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x20">
- <bounds x="1520" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_61" ref="debug_button_label_61">
- <bounds x="1540" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_62" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x40">
- <bounds x="1604" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_62" ref="debug_button_label_62">
- <bounds x="1624" y="1007" width="40" height="22"/>
- </element>
- <element name="debug_button_63" ref="debug_button_unreferenced" state="0" inputtag="TODO" inputmask="0x80">
- <bounds x="1688" y="996" width="80" height="44"/>
- </element>
- <element name="debug_button_label_63" ref="debug_button_label_63">
- <bounds x="1708" y="1007" width="40" height="22"/>
- </element>
- <repeat count="16">
- <param name="i" start="0" increment="1"/>
- <param name="x" start="1150" increment="32"/>
- <element name="vfd~i~" ref="debug_vfd">
- <bounds x="~x~" y="600" width="32" height="48"/>
- </element>
- </repeat>
- <element ref="reel_background">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1100.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1105.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1110.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1115.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1120.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1125.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel1" ref="reel0" state="0">
- <bounds x="1100" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1240.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1245.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1250.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1255.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1260.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1265.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel2" ref="reel1" state="0">
- <bounds x="1240" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1380.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1385.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1390.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1395.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1400.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1405.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel3" ref="reel2" state="0">
- <bounds x="1380" y="32" width="120" height="240"/>
- </element>
- <element ref="reel_background">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="32.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="35.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="38.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="42.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="45.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="48.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="112.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="115.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="118.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="122.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="125.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="128.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_0" state="0">
- <bounds x="1520.0000" y="192.0000" width="120.0000" height="80.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_1" state="0">
- <bounds x="1525.0000" y="195.3333" width="110.0000" height="73.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_2" state="0">
- <bounds x="1530.0000" y="198.6667" width="100.0000" height="66.6667"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_3" state="0">
- <bounds x="1535.0000" y="202.0000" width="90.0000" height="60.0000"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_4" state="0">
- <bounds x="1540.0000" y="205.3333" width="80.0000" height="53.3333"/>
- </element>
- <element name="lamp-2" ref="reel_lamp_layer_5" state="0">
- <bounds x="1545.0000" y="208.6667" width="70.0000" height="46.6667"/>
- </element>
- <element name="sreel4" ref="reel3" state="0">
- <bounds x="1520" y="32" width="120" height="240"/>
- </element>
- <element name="reel1" ref="debug_stepper_value">
- <bounds x="1100" y="272" width="50" height="30"/>
- </element>
- <element name="reel2" ref="debug_stepper_value">
- <bounds x="1240" y="272" width="50" height="30"/>
- </element>
- <element name="reel3" ref="debug_stepper_value">
- <bounds x="1380" y="272" width="50" height="30"/>
- </element>
- <element name="reel4" ref="debug_stepper_value">
- <bounds x="1520" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_0">
- <bounds x="1180" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_1">
- <bounds x="1320" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_2">
- <bounds x="1460" y="272" width="50" height="30"/>
- </element>
- <element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
- <bounds x="1600" y="272" width="50" height="30"/>
+ <element name="label86" ref="label_86">
+ <bounds x="707" y="69" width="70" height="26"/>
</element>
</view>
</mamelayout>
diff --git a/src/mame/layout/kenokb.lay b/src/mame/layout/kenokb.lay
new file mode 100644
index 00000000000..7af332784a3
--- /dev/null
+++ b/src/mame/layout/kenokb.lay
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+ <element name="bet" defstate="1">
+ <rect state="0">
+ <color red="0.75" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="1">
+ <color red="0.25" green="0.0" blue="0.0" />
+ </rect>
+ <text string="BET">
+ <color red="0.0" green="0.0" blue="0.0" />
+ <bounds x="0" y="0.3" width="1" height="0.4" />
+ </text>
+ </element>
+
+ <element name="start" defstate="1">
+ <rect state="0">
+ <color red="0.75" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="1">
+ <color red="0.25" green="0.0" blue="0.0" />
+ </rect>
+ <text string="START">
+ <color red="0.0" green="0.0" blue="0.0" />
+ <bounds x="0" y="0.3" width="1" height="0.4" />
+ </text>
+ </element>
+
+ <element name="cancel" defstate="1">
+ <rect state="0">
+ <color red="0.75" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="1">
+ <color red="0.25" green="0.0" blue="0.0" />
+ </rect>
+ <text string="CANCEL">
+ <color red="0.0" green="0.0" blue="0.0" />
+ <bounds x="0" y="0.3" width="1" height="0.4" />
+ </text>
+ </element>
+
+ <element name="exit" defstate="1">
+ <rect state="0">
+ <color red="0.75" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="1">
+ <color red="0.25" green="0.0" blue="0.0" />
+ </rect>
+ <text string="EXIT">
+ <color red="0.0" green="0.0" blue="0.0" />
+ <bounds x="0" y="0.3" width="1" height="0.4" />
+ </text>
+ </element>
+
+ <element name="stand">
+ <rect state="0">
+ <color red="0.40" green="0.40" blue="0.40" />
+ </rect>
+ </element>
+
+ <element name="num" defstate="1">
+ <rect state="0">
+ <color alpha="0.00" />
+ </rect>
+ <rect state="1">
+ <color alpha="0.50" red="1.00" green="0.50" blue="0.50" />
+ </rect>
+ </element>
+
+ <view name="Keyboard Buttons">
+ <screen index="0">
+ <bounds left="0" top="0" right="4" bottom="3" />
+ </screen>
+<!-- 30, 40, 49 -->
+ <element ref="num" inputtag="KB_0" inputmask="0x04"><bounds x="2.50" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_0" inputmask="0x08"><bounds x="2.50" y="0.87065" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_0" inputmask="0x10"><bounds x="2.25" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 20, 19, 29, 28, 38 -->
+ <element ref="num" inputtag="KB_1" inputmask="0x02"><bounds x="2.50" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_1" inputmask="0x04"><bounds x="2.25" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_1" inputmask="0x08"><bounds x="2.25" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_1" inputmask="0x10"><bounds x="2.00" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_1" inputmask="0x20"><bounds x="2.00" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 10, 9, 18, 17, 27, 37 -->
+ <element ref="num" inputtag="KB_2" inputmask="0x01"><bounds x="2.50" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_2" inputmask="0x02"><bounds x="2.25" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_2" inputmask="0x08"><bounds x="2.00" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_2" inputmask="0x10"><bounds x="1.75" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_2" inputmask="0x20"><bounds x="1.75" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_2" inputmask="0x40"><bounds x="1.75" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 8, 7, 6, 16, 26, 36 -->
+ <element ref="num" inputtag="KB_3" inputmask="0x02"><bounds x="2.00" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_3" inputmask="0x04"><bounds x="1.75" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_3" inputmask="0x08"><bounds x="1.50" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_3" inputmask="0x10"><bounds x="1.50" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_3" inputmask="0x20"><bounds x="1.50" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_3" inputmask="0x40"><bounds x="1.50" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 3, 4, 5, 15, 25, 35 -->
+ <element ref="num" inputtag="KB_4" inputmask="0x02"><bounds x="0.75" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_4" inputmask="0x04"><bounds x="1.00" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_4" inputmask="0x08"><bounds x="1.25" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_4" inputmask="0x10"><bounds x="1.25" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_4" inputmask="0x20"><bounds x="1.25" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_4" inputmask="0x40"><bounds x="1.25" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 2, 13, 14, 24, 34 -->
+ <element ref="num" inputtag="KB_5" inputmask="0x01"><bounds x="0.50" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_5" inputmask="0x08"><bounds x="0.75" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_5" inputmask="0x10"><bounds x="1.00" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_5" inputmask="0x20"><bounds x="1.00" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_5" inputmask="0x40"><bounds x="1.00" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 1, 12, 22, 23, 33 -->
+ <element ref="num" inputtag="KB_6" inputmask="0x01"><bounds x="0.25" y="0.29000" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_6" inputmask="0x04"><bounds x="0.50" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_6" inputmask="0x10"><bounds x="0.50" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_6" inputmask="0x20"><bounds x="0.75" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_6" inputmask="0x40"><bounds x="0.75" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 11, 21, 31, 32 -->
+ <element ref="num" inputtag="KB_7" inputmask="0x02"><bounds x="0.25" y="0.48355" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_7" inputmask="0x04"><bounds x="0.25" y="0.67710" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_7" inputmask="0x08"><bounds x="0.25" y="0.87065" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_7" inputmask="0x40"><bounds x="0.50" y="0.87065" width="0.25" height="0.19355" /></element>
+<!-- 72, 73, 74, 75, 65, 55, 45 -->
+ <element ref="num" inputtag="KB_8" inputmask="0x01"><bounds x="0.50" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x02"><bounds x="0.75" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x04"><bounds x="1.00" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x08"><bounds x="1.25" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x10"><bounds x="1.25" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x20"><bounds x="1.25" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_8" inputmask="0x40"><bounds x="1.25" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 71, 61, 62, 63, 64, 54, 44 -->
+ <element ref="num" inputtag="KB_9" inputmask="0x01"><bounds x="0.25" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x02"><bounds x="0.25" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x04"><bounds x="0.50" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x08"><bounds x="0.75" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x10"><bounds x="1.00" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x20"><bounds x="1.00" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_9" inputmask="0x40"><bounds x="1.00" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 51, 41, 52, 53, 42, 43 -->
+ <element ref="num" inputtag="KB_10" inputmask="0x02"><bounds x="0.25" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_10" inputmask="0x04"><bounds x="0.25" y="1.06420" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_10" inputmask="0x08"><bounds x="0.50" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_10" inputmask="0x10"><bounds x="0.75" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_10" inputmask="0x20"><bounds x="0.50" y="1.06420" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_10" inputmask="0x40"><bounds x="0.75" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 60, 50, 49 -->
+ <element ref="num" inputtag="KB_11" inputmask="0x04"><bounds x="2.50" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_11" inputmask="0x08"><bounds x="2.50" y="1.06420" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_11" inputmask="0x10"><bounds x="2.25" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 70, 69, 59, 58, 48 -->
+ <element ref="num" inputtag="KB_12" inputmask="0x02"><bounds x="2.50" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_12" inputmask="0x04"><bounds x="2.25" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_12" inputmask="0x08"><bounds x="2.25" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_12" inputmask="0x10"><bounds x="2.00" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_12" inputmask="0x20"><bounds x="2.00" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 80, 79, 68, 67, 57, 47 -->
+ <element ref="num" inputtag="KB_13" inputmask="0x01"><bounds x="2.50" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_13" inputmask="0x02"><bounds x="2.25" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_13" inputmask="0x08"><bounds x="2.00" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_13" inputmask="0x10"><bounds x="1.75" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_13" inputmask="0x20"><bounds x="1.75" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_13" inputmask="0x40"><bounds x="1.75" y="1.06420" width="0.25" height="0.19355" /></element>
+<!-- 78, 77, 76, 66, 56, 46 -->
+ <element ref="num" inputtag="KB_14" inputmask="0x02"><bounds x="2.00" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_14" inputmask="0x04"><bounds x="1.75" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_14" inputmask="0x08"><bounds x="1.50" y="1.64485" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_14" inputmask="0x10"><bounds x="1.50" y="1.45130" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_14" inputmask="0x20"><bounds x="1.50" y="1.25775" width="0.25" height="0.19355" /></element>
+ <element ref="num" inputtag="KB_14" inputmask="0x40"><bounds x="1.50" y="1.06420" width="0.25" height="0.19355" /></element>
+
+ <element ref="stand">
+ <bounds x="0" y="3.0" width="4.0" height="0.45" />
+ </element>
+
+ <element ref="bet" inputtag="KB_0" inputmask="0x01">
+ <bounds x="1" y="3.1" width="0.40" height="0.25" />
+ </element>
+
+ <element ref="start" inputtag="KB_0" inputmask="0x02">
+ <bounds x="1.5" y="3.1" width="0.40" height="0.25" />
+ </element>
+
+ <element ref="cancel" inputtag="KB_11" inputmask="0x02">
+ <bounds x="2" y="3.1" width="0.40" height="0.25" />
+ </element>
+
+ <element ref="exit" inputtag="KB_11" inputmask="0x01">
+ <bounds x="2.5" y="3.1" width="0.40" height="0.25" />
+ </element>
+
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/kn01.lay b/src/mame/layout/kn01.lay
new file mode 100644
index 00000000000..40db51cac5f
--- /dev/null
+++ b/src/mame/layout/kn01.lay
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+copyright-holders:Patrick Mackinlay
+DECstation 2100/3100 LEDs
+-->
+<mamelayout version="2">
+ <element name="led" defstate="1">
+ <disk state="0">
+ <color red="0.0" green="0.75" blue="0.0" />
+ </disk>
+ <disk state="1">
+ <color red="0.0" green="0.25" blue="0.0" />
+ </disk>
+ </element>
+
+ <view name="KN01">
+ <screen index="0">
+ <bounds x="0" y="0" width="1024" height="864" />
+ </screen>
+
+ <repeat count="8">
+ <param name="n" start="0" increment="1" />
+ <param name="x" start="1015" increment="-10" />
+ <element name="led~n~" ref="led">
+ <bounds x="~x~" y="875" width="10" height="10" />
+ </element>
+ </repeat>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/mg1.lay b/src/mame/layout/mg1.lay
new file mode 100644
index 00000000000..58bc47def2a
--- /dev/null
+++ b/src/mame/layout/mg1.lay
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+copyright-holders:Patrick Mackinlay
+
+Whitechapel Computer Works MG-1.
+-->
+<mamelayout version="2">
+ <element name="led_round" defstate="1">
+ <disk state="1">
+ <color red="0.2" green="0.0" blue="0.0" />
+ </disk>
+ <disk state="0">
+ <color red="1.0" green="0.0" blue="0.0" />
+ </disk>
+ </element>
+ <element name="led_rect" defstate="1">
+ <rect state="1">
+ <color red="0.2" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="0">
+ <color red="1.0" green="0.0" blue="0.0" />
+ </rect>
+ </element>
+ <view name="Graphics">
+ <screen index="0">
+ <bounds x="0" y="0" width="1024" height="800" />
+ </screen>
+ <element name="led_err" ref="led_round">
+ <bounds x="1000" y="800" width="10" height="10" />
+ </element>
+ <element name="led_fdd" ref="led_rect">
+ <bounds x="970" y="803" width="15" height="5" />
+ </element>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/psr60.lay b/src/mame/layout/psr60.lay
new file mode 100644
index 00000000000..7fd4d694efd
--- /dev/null
+++ b/src/mame/layout/psr60.lay
@@ -0,0 +1,1115 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+ <!-- general grey backdrop -->
+ <element name="greyback">
+ <rect>
+ <bounds left="0" top="0" right="1" bottom="1" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+
+ <!-- container boxes for top sections -->
+ <element name="box-196">
+ <rect>
+ <bounds left="0" top="0" right="196" bottom="250" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="192" bottom="246" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-216">
+ <rect>
+ <bounds left="0" top="0" right="216" bottom="250" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="212" bottom="246" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-303">
+ <rect>
+ <bounds left="0" top="0" right="303" bottom="250" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="299" bottom="246" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-350">
+ <rect>
+ <bounds left="0" top="0" right="350" bottom="250" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="346" bottom="246" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-669">
+ <rect>
+ <bounds left="0" top="0" right="669" bottom="250" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="665" bottom="246" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+
+ <!-- logo substitutes -->
+ <element name="yamaha"><text string="YAMAHA" align="0" /></element>
+ <element name="psr60"><text string="PSR-60" align="0" /></element>
+
+ <!-- slider labels -->
+ <element name="slidermin"><text string="MIN" align="1" /></element>
+ <element name="slidermax"><text string="MAX" align="2" /></element>
+ <element name="sliderslow"><text string="SLOW" align="1" /></element>
+ <element name="sliderfast"><text string="FAST" align="2" /></element>
+
+ <!-- power section text -->
+ <element name="power"><text string="POWER" align="0" /></element>
+ <element name="mastervolume"><text string="MASTER VOLUME" align="0" /></element>
+
+ <!-- pitch section text -->
+ <element name="pitch"><text string="PITCH" align="1" /></element>
+ <element name="transposer"><text string="TRANSPOSER" align="1" /></element>
+ <element name="uparrow"><text string="▲" align="1" /></element>
+ <element name="downarrow"><text string="▼" align="1" /></element>
+
+ <!-- auto bass chord section text -->
+ <element name="autobasschord"><text string="AUTO BASS CHORD" align="1" /></element>
+ <element name="off"><text string="OFF" align="1" /></element>
+ <element name="single"><text string="SINGLE" align="1" /></element>
+ <element name="finger"><text string="FINGER" align="1" /></element>
+ <element name="fingered"><text string="FINGERED" align="1" /></element>
+ <element name="memory"><text string="MEMORY" align="1" /></element>
+ <element name="chordvolume"><text string="CHORD VOLUME" align="0" /></element>
+ <element name="bassvolume"><text string="BASS VOLUME" align="0" /></element>
+
+ <!-- rhythm section text -->
+ <element name="rhythm"><text string="RHYTHM" align="1" /></element>
+ <element name="handclap"><text string="HAND CLAP" align="1" /></element>
+ <element name="one"><text string="1" align="1" /></element>
+ <element name="two"><text string="2" align="1" /></element>
+ <element name="big"><text string="BIG" align="1" /></element>
+ <element name="band"><text string="BAND" align="1" /></element>
+ <element name="swing"><text string="SWING" align="1" /></element>
+ <element name="reggae"><text string="REGGAE" align="1" /></element>
+ <element name="slow"><text string="SLOW" align="1" /></element>
+ <element name="rock"><text string="ROCK" align="1" /></element>
+ <element name="disco"><text string="DISCO" align="1" /></element>
+ <element name="heavy"><text string="HEAVY" align="1" /></element>
+ <element name="metal"><text string="METAL" align="1" /></element>
+ <element name="pops"><text string="POPS" align="1" /></element>
+ <element name="16beat"><text string="16 BEAT" align="1" /></element>
+ <element name="rockn"><text string="ROCK'N'" align="1" /></element>
+ <element name="roll"><text string="ROLL" align="1" /></element>
+ <element name="country"><text string="COUNTRY" align="1" /></element>
+ <element name="salsa"><text string="SALSA" align="1" /></element>
+ <element name="rhumba"><text string="RHUMBA" align="1" /></element>
+ <element name="samba"><text string="SAMBA" align="1" /></element>
+ <element name="bossa"><text string="BOSSA-" align="1" /></element>
+ <element name="nova"><text string="NOVA" align="1" /></element>
+ <element name="variation"><text string="VARIATION" align="1" /></element>
+ <element name="march"><text string="MARCH/" align="1" /></element>
+ <element name="polka"><text string="POLKA" align="1" /></element>
+ <element name="waltz"><text string="WALTZ" align="1" /></element>
+ <element name="volume"><text string="VOLUME" align="0" /></element>
+ <element name="tempo"><text string="TEMPO" align="0" /></element>
+
+ <!-- orchestra section text -->
+ <element name="orchestra"><text string="ORCHESTRA" align="1" /></element>
+ <element name="tolower"><text string="TO LOWER" align="1" /></element>
+ <element name="duet"><text string="DUET" align="1" /></element>
+ <element name="trio"><text string="TRIO" align="1" /></element>
+ <element name="sustain1"><text string="SUSTAIN 1" align="1" /></element>
+ <element name="sustain2"><text string="SUSTAIN 2" align="1" /></element>
+ <element name="stereo"><text string="STEREO" align="1" /></element>
+ <element name="symphonic"><text string="SYMPHONIC" align="1" /></element>
+ <element name="organ"><text string="ORGAN" align="1" /></element>
+ <element name="piano"><text string="PIANO" align="1" /></element>
+ <element name="pipe"><text string="PIPE" align="1" /></element>
+ <element name="electric"><text string="ELECTRIC" align="1" /></element>
+ <element name="strings"><text string="STRINGS" align="1" /></element>
+ <element name="harpsi"><text string="HARPSI-" align="1" /></element>
+ <element name="chord"><text string="CHORD" align="1" /></element>
+ <element name="brass1"><text string="BRASS 1" align="1" /></element>
+ <element name="vibes"><text string="VIBES" align="1" /></element>
+ <element name="brass2"><text string="BRASS 2" align="1" /></element>
+ <element name="jazz"><text string="JAZZ" align="1" /></element>
+ <element name="guitar"><text string="GUITAR" align="1" /></element>
+ <element name="brassand"><text string="BRASS&amp;" align="1" /></element>
+ <element name="chimes"><text string="CHIMES" align="1" /></element>
+ <element name="hawaiian"><text string="HAWAIIAN" align="1" /></element>
+ <element name="clarinet"><text string="CLARINET" align="1" /></element>
+ <element name="music"><text string="MUSIC" align="1" /></element>
+ <element name="box"><text string="BOX" align="1" /></element>
+ <element name="calliope"><text string="CALLIOPE" align="1" /></element>
+ <element name="cosmic"><text string="COSMIC" align="1" /></element>
+ <element name="on"><text string="ON" align="1" /></element>
+
+ <!-- solo section text -->
+ <element name="solo"><text string="SOLO" align="1" /></element>
+ <element name="sustain"><text string="SUSTAIN" align="1" /></element>
+ <element name="flute"><text string="FLUTE" align="1" /></element>
+ <element name="piccolo"><text string="PICCOLO" align="1" /></element>
+ <element name="percuss1"><text string="PERCUSS 1" align="1" /></element>
+ <element name="violin"><text string="VIOLIN" align="1" /></element>
+ <element name="percuss2"><text string="PERCUSS 2" align="1" /></element>
+ <element name="trumpet"><text string="TRUMPET" align="1" /></element>
+ <element name="popsynth"><text string="POPSYNTH" align="1" /></element>
+ <element name="trombone"><text string="TROMBONE" align="1" /></element>
+ <element name="bluessynth"><text string="BLUESSYNTH" align="1" /></element>
+ <element name="horn"><text string="HORN" align="1" /></element>
+ <element name="funksynth"><text string="FUNKSYNTH" align="1" /></element>
+ <element name="saxo"><text string="SAXO-" align="1" /></element>
+ <element name="phone"><text string="PHONE" align="1" /></element>
+ <element name="slapsynth"><text string="SLAPSYNTH" align="1" /></element>
+ <element name="oboe"><text string="OBOE" align="1" /></element>
+ <element name="bass"><text string="BASS" align="1" /></element>
+
+ <!-- music programmer section text -->
+ <element name="musicprogrammer"><text string="MUSIC PROGRAMMER" align="1" /></element>
+ <element name="record"><text string="RECORD" align="1" /></element>
+ <element name="playback"><text string="PLAY BACK" align="1" /></element>
+ <element name="pause"><text string="PAUSE" align="1" /></element>
+ <element name="chordbass"><text string="CHORD/BASS" align="1" /></element>
+
+ <!-- tape section text -->
+ <element name="tape"><text string="TAPE" align="1" /></element>
+ <element name="save"><text string="SAVE" align="1" /></element>
+ <element name="load"><text string="LOAD" align="1" /></element>
+
+ <!-- above keys text -->
+ <element name="midimode"><text string="MIDI MODE" align="0" /></element>
+ <element name="keyboardpercussion"><text string="KEYBOARD PERCUSSION" align="1" /></element>
+ <element name="fillin1"><text string="FILL IN 1" align="0" /></element>
+ <element name="fillin2"><text string="FILL IN 2" align="0" /></element>
+ <element name="fillin3"><text string="FILL IN 3" align="0" /></element>
+ <element name="synchrostart"><text string="SYNCHRO START" align="0" /></element>
+ <element name="start"><text string="START" align="0" /></element>
+ <element name="stop"><text string="STOP" align="0" /></element>
+ <element name="introending"><text string="INTRO/ENDING" align="0" /></element>
+
+ <!-- button primitives -->
+ <element name="button" defstate="0">
+ <disk><bounds x="0" y="0" width="21" height="21" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="44" y="0" width="21" height="21" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="43" height="21" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk state="0"><bounds x="2" y="2" width="17" height="17" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk state="0"><bounds x="46" y="2" width="17" height="17" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect state="0"><bounds x="11" y="2" width="43" height="17" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <disk state="1"><bounds x="2" y="2" width="17" height="17" /><color red="0.5" green="0.5" blue="0.5" /></disk>
+ <disk state="1"><bounds x="46" y="2" width="17" height="17" /><color red="0.5" green="0.5" blue="0.5" /></disk>
+ <rect state="1"><bounds x="11" y="2" width="43" height="17" /><color red="0.5" green="0.5" blue="0.5" /></rect>
+ </element>
+ <element name="button-wide" defstate="0">
+ <disk><bounds x="0" y="0" width="21" height="21" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="91" y="0" width="21" height="21" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="90" height="21" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk state="0"><bounds x="2" y="2" width="17" height="17" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk state="0"><bounds x="93" y="2" width="17" height="17" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect state="0"><bounds x="11" y="2" width="90" height="17" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <disk state="1"><bounds x="2" y="2" width="17" height="17" /><color red="0.5" green="0.5" blue="0.5" /></disk>
+ <disk state="1"><bounds x="93" y="2" width="17" height="17" /><color red="0.5" green="0.5" blue="0.5" /></disk>
+ <rect state="1"><bounds x="11" y="2" width="90" height="17" /><color red="0.5" green="0.5" blue="0.5" /></rect>
+ </element>
+
+ <!-- color bars to lay on top of buttons -->
+ <element name="button-grey-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="0.6" green="0.6" blue="0.6" /></rect>
+ </element>
+ <element name="button-blue-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="0.5" green="0.5" blue="1.0" /></rect>
+ </element>
+ <element name="button-yellow-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="1.0" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="button-green-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="0.5" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="button-white-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="button-pink-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="1.0" green="0.6" blue="0.6" /></rect>
+ </element>
+ <element name="button-red-color">
+ <rect><bounds x="0" y="0" width="64" height="21" /><color alpha="0" /></rect>
+ <rect><bounds x="8" y="8" width="48" height="5" /><color red="1.0" green="0.2" blue="0.2" /></rect>
+ </element>
+
+ <!-- slider primitives -->
+ <element name="slider">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="118" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="117" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="120" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="117" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ </element>
+ <element name="slider-power">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="59" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="58" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="61" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="58" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ </element>
+ <element name="slider-tempo">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="151" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="150" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="153" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="150" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ </element>
+
+ <element name="slider-bar-white">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-green">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.5" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="slider-bar-yellow">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="slider-bar-blue">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.5" green="0.5" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-red">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="0.2" blue="0.2" /></rect>
+ </element>
+ <element name="slider-bar-grey">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.6" green="0.6" blue="0.6" /></rect>
+ </element>
+
+ <!-- LED primitive -->
+ <element name="led" defstate="0">
+ <disk state="0"><color red="0.4" green="0.3" blue="0.3" /></disk>
+ <disk state="1"><color red="1.0" green="0.1" blue="0.1" /></disk>
+ </element>
+
+ <!-- keyboard primitives -->
+ <element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
+ <element name="whitekey" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="45" height="504" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="45" height="504" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-l" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="45" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="45" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-m" defstate="0">
+ <rect state="0"><bounds x="13" y="0" width="53" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="13" y="0" width="53" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-lm" defstate="0">
+ <rect state="0"><bounds x="10" y="0" width="44" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="10" y="0" width="44" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-rm" defstate="0">
+ <rect state="0"><bounds x="22" y="0" width="44" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="22" y="0" width="44" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-r" defstate="0">
+ <rect state="0"><bounds x="34" y="0" width="45" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="34" y="0" width="45" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="blackkey" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="44" height="324" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="4" y="0" width="36" height="320" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="44" height="324" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <rect state="1"><bounds x="4" y="0" width="36" height="320" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ </element>
+
+ <!-- speaker grill -->
+ <element name="speaker">
+ <rect><bounds x="0" y="0" width="500" height="462" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <disk><bounds x="29" y="10" width="442" height="442" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="10" y="10" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="26" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="42" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="58" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="74" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="90" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="106" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="122" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="138" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="154" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="170" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="186" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="202" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="218" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="234" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="250" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="266" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="282" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="298" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="314" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="330" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="346" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="362" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="378" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="394" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="410" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="426" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="10" y="442" width="480" height="11" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ </element>
+
+ <!-- top grill -->
+ <element name="topgrill">
+ <rect><bounds x="567" y="60" width="2410" height="92" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <rect><bounds x="567" y="74" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="80" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="86" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="92" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="98" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="104" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="110" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="116" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="122" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="128" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="134" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="140" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="146" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="152" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="567" y="158" width="2410" height="3" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ </element>
+
+ <!-- power group -->
+ <group name="group-power">
+ <element ref="box-303"><bounds x="33" y="156" width="303" height="250" /></element>
+ <element ref="power"><bounds x="177" y="165" width="82" height="17" /></element>
+ <element ref="led" name="DRVIF_0_DP4"><bounds x="213" y="188" width="12" height="12" /></element>
+ <element ref="slider-power"><bounds x="177" y="209" width="82" height="23" /></element>
+ <element ref="slider-bar-red"><bounds x="193" y="209" width="64" height="23" /></element>
+
+ <element ref="mastervolume"><bounds x="177" y="307" width="139" height="17" /></element>
+ <element ref="slidermin"><bounds x="177" y="336" width="139" height="13" /></element>
+ <element ref="slidermax"><bounds x="177" y="336" width="139" height="13" /></element>
+ <element ref="slider"><bounds x="177" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="MASTERVOL" mask="0xff" />
+ <bounds state="0" x="177" y="352" width="64" height="23" />
+ <bounds state="100" x="252" y="352" width="64" height="23" />
+ </element>
+ </group>
+
+ <!-- pitch group -->
+ <group name="group-pitch">
+ <element ref="box-196"><bounds x="341" y="156" width="196" height="250" /></element>
+ <element ref="pitch"><bounds x="373" y="165" width="138" height="17" /></element>
+
+ <element ref="button" inputtag="DRVIF_1" inputmask="0x40"><bounds x="368" y="210" width="65" height="21" /></element>
+ <element ref="button-grey-color"><bounds x="368" y="210" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_1_DP2"><bounds x="368" y="237" width="12" height="12" /></element>
+ <element ref="downarrow"><bounds x="383" y="235" width="60" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_1" inputmask="0x80"><bounds x="449" y="210" width="65" height="21" /></element>
+ <element ref="button-grey-color"><bounds x="449" y="210" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_1_DP1"><bounds x="449" y="237" width="12" height="12" /></element>
+ <element ref="uparrow"><bounds x="467" y="235" width="60" height="14" /></element>
+
+ <element ref="transposer"><bounds x="373" y="307" width="138" height="17" /></element>
+
+ <element ref="button" inputtag="DRVIF_1" inputmask="0x10"><bounds x="368" y="353" width="65" height="21" /></element>
+ <element ref="button-grey-color"><bounds x="368" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_1_DP4"><bounds x="368" y="380" width="12" height="12" /></element>
+ <element ref="downarrow"><bounds x="386" y="378" width="60" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_1" inputmask="0x20"><bounds x="449" y="353" width="65" height="21" /></element>
+ <element ref="button-grey-color"><bounds x="449" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_1_DP3"><bounds x="449" y="380" width="12" height="12" /></element>
+ <element ref="uparrow"><bounds x="467" y="378" width="60" height="14" /></element>
+ </group>
+
+ <!-- auto bass chord group -->
+ <group name="group-autobasschord">
+ <element ref="box-350"><bounds x="542" y="156" width="350" height="250" /></element>
+ <element ref="autobasschord"><bounds x="572" y="165" width="138" height="17" /></element>
+
+ <element ref="button" inputtag="DRVIF_2" inputmask="0x10"><bounds x="567" y="282" width="65" height="21" /></element>
+ <element ref="button-blue-color"><bounds x="567" y="282" width="65" height="21" /></element>
+ <element ref="off"><bounds x="585" y="307" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_2" inputmask="0x20"><bounds x="647" y="282" width="65" height="21" /></element>
+ <element ref="button-blue-color"><bounds x="647" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_2_DP3"><bounds x="647" y="309" width="12" height="12" /></element>
+ <element ref="single"><bounds x="665" y="307" width="60" height="14" /></element>
+ <element ref="finger"><bounds x="665" y="317" width="60" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_2" inputmask="0x40"><bounds x="727" y="282" width="65" height="21" /></element>
+ <element ref="button-blue-color"><bounds x="727" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_2_DP2"><bounds x="727" y="309" width="12" height="12" /></element>
+ <element ref="fingered"><bounds x="745" y="307" width="60" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_2" inputmask="0x80"><bounds x="805" y="282" width="65" height="21" /></element>
+ <element ref="button-blue-color"><bounds x="805" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_2_DP1"><bounds x="805" y="309" width="12" height="12" /></element>
+ <element ref="memory"><bounds x="823" y="307" width="65" height="14" /></element>
+
+ <element ref="slidermin"><bounds x="567" y="338" width="139" height="12" /></element>
+ <element ref="slidermax"><bounds x="567" y="338" width="139" height="12" /></element>
+ <element ref="slider"><bounds x="567" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-blue">
+ <animate inputtag="RYP4_6" mask="0xff" />
+ <bounds state="0" x="567" y="352" width="64" height="23" />
+ <bounds state="100" x="642" y="352" width="64" height="23" />
+ </element>
+ <element ref="bassvolume"><bounds x="567" y="378" width="139" height="14" /></element>
+
+ <element ref="slidermin"><bounds x="727" y="338" width="139" height="12" /></element>
+ <element ref="slidermax"><bounds x="727" y="338" width="139" height="12" /></element>
+ <element ref="slider"><bounds x="727" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-blue">
+ <animate inputtag="RYP4_5" mask="0xff" />
+ <bounds state="0" x="727" y="352" width="64" height="23" />
+ <bounds state="100" x="802" y="352" width="64" height="23" />
+ </element>
+ <element ref="chordvolume"><bounds x="727" y="378" width="139" height="14" /></element>
+ </group>
+
+ <!-- rhythm group -->
+ <group name="group-rhythm">
+ <element ref="box-669"><bounds x="897" y="156" width="669" height="250" /></element>
+ <element ref="rhythm"><bounds x="927" y="165" width="138" height="17" /></element>
+ <element ref="led" name="DRVIF_3_DP4"><bounds x="1002" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP3"><bounds x="1022" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP2"><bounds x="1042" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP1"><bounds x="1062" y="167" width="12" height="12" /></element>
+
+ <!-- top row -->
+ <element ref="button" inputtag="DRVIF_4" inputmask="0x10"><bounds x="923" y="208" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="923" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_4_DP4"><bounds x="923" y="235" width="12" height="12" /></element>
+ <element ref="handclap"><bounds x="941" y="233" width="65" height="14" /></element>
+ <element ref="one"><bounds x="941" y="243" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_4" inputmask="0x20"><bounds x="1002" y="208" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1002" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_4_DP3"><bounds x="1002" y="235" width="12" height="12" /></element>
+ <element ref="handclap"><bounds x="1020" y="233" width="65" height="14" /></element>
+ <element ref="two"><bounds x="1020" y="243" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_4" inputmask="0x40"><bounds x="1475" y="208" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1475" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_4_DP2"><bounds x="1475" y="235" width="12" height="12" /></element>
+ <element ref="variation"><bounds x="1491" y="233" width="65" height="14" /></element>
+
+ <!-- 2nd row -->
+ <element ref="led" name="DRVIF_5_DP4"><bounds x="923" y="267" width="12" height="12" /></element>
+ <element ref="big"><bounds x="941" y="257" width="60" height="14" /></element>
+ <element ref="band"><bounds x="941" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_5" inputmask="0x10"><bounds x="923" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="923" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_7_DP4"><bounds x="923" y="309" width="12" height="12" /></element>
+ <element ref="swing"><bounds x="941" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_5_DP3"><bounds x="1002" y="267" width="12" height="12" /></element>
+ <element ref="reggae"><bounds x="1020" y="265" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_5" inputmask="0x20"><bounds x="1002" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1002" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_7_DP3"><bounds x="1002" y="309" width="12" height="12" /></element>
+ <element ref="slow"><bounds x="1020" y="307" width="60" height="14" /></element>
+ <element ref="rock"><bounds x="1020" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_5_DP2"><bounds x="1081" y="267" width="12" height="12" /></element>
+ <element ref="disco"><bounds x="1099" y="265" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_5" inputmask="0x40"><bounds x="1081" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1081" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_7_DP2"><bounds x="1081" y="309" width="12" height="12" /></element>
+ <element ref="heavy"><bounds x="1099" y="307" width="60" height="14" /></element>
+ <element ref="metal"><bounds x="1099" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_5_DP1"><bounds x="1160" y="267" width="12" height="12" /></element>
+ <element ref="pops"><bounds x="1178" y="265" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_5" inputmask="0x80"><bounds x="1160" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1160" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_7_DP1"><bounds x="1160" y="309" width="12" height="12" /></element>
+ <element ref="16beat"><bounds x="1178" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_6_DP4"><bounds x="1238" y="267" width="12" height="12" /></element>
+ <element ref="rockn"><bounds x="1256" y="257" width="60" height="14" /></element>
+ <element ref="roll"><bounds x="1256" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_6" inputmask="0x10"><bounds x="1238" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1238" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_8_DP4"><bounds x="1238" y="309" width="12" height="12" /></element>
+ <element ref="country"><bounds x="1256" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_6_DP3"><bounds x="1318" y="267" width="12" height="12" /></element>
+ <element ref="salsa"><bounds x="1334" y="265" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_6" inputmask="0x20"><bounds x="1318" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1318" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_8_DP3"><bounds x="1318" y="309" width="12" height="12" /></element>
+ <element ref="rhumba"><bounds x="1334" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_6_DP2"><bounds x="1396" y="267" width="12" height="12" /></element>
+ <element ref="samba"><bounds x="1412" y="265" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_6" inputmask="0x40"><bounds x="1396" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1396" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_8_DP2"><bounds x="1396" y="309" width="12" height="12" /></element>
+ <element ref="bossa"><bounds x="1412" y="307" width="60" height="14" /></element>
+ <element ref="nova"><bounds x="1412" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_6_DP1"><bounds x="1475" y="267" width="12" height="12" /></element>
+ <element ref="march"><bounds x="1491" y="257" width="60" height="14" /></element>
+ <element ref="polka"><bounds x="1491" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_6" inputmask="0x80"><bounds x="1475" y="282" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1475" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_8_DP1"><bounds x="1475" y="309" width="12" height="12" /></element>
+ <element ref="waltz"><bounds x="1491" y="307" width="60" height="14" /></element>
+
+ <!-- 3rd row -->
+ <element ref="slidermin"><bounds x="923" y="338" width="139" height="12" /></element>
+ <element ref="slidermax"><bounds x="923" y="338" width="139" height="12" /></element>
+ <element ref="slider"><bounds x="923" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_3" mask="0xff" />
+ <bounds state="0" x="923" y="352" width="64" height="23" />
+ <bounds state="100" x="998" y="352" width="64" height="23" />
+ </element>
+ <element ref="volume"><bounds x="923" y="378" width="139" height="14" /></element>
+
+ <element ref="sliderslow"><bounds x="1081" y="338" width="174" height="12" /></element>
+ <element ref="sliderfast"><bounds x="1081" y="338" width="174" height="12" /></element>
+ <element ref="slider-tempo"><bounds x="1081" y="352" width="174" height="23" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_4" mask="0xff" />
+ <bounds state="0" x="1081" y="352" width="64" height="23" />
+ <bounds state="100" x="1191" y="352" width="64" height="23" />
+ </element>
+ <element ref="tempo"><bounds x="1081" y="378" width="174" height="14" /></element>
+ </group>
+
+ <!-- orchestra group -->
+ <group name="group-orchestra">
+ <element ref="box-669"><bounds x="1571" y="156" width="669" height="250" /></element>
+ <element ref="orchestra"><bounds x="1601" y="165" width="138" height="17" /></element>
+
+ <!-- top row -->
+ <element ref="button" inputtag="DRVIF_13" inputmask="0x40"><bounds x="1597" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1597" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_13_DP2"><bounds x="1597" y="235" width="12" height="12" /></element>
+ <element ref="tolower"><bounds x="1615" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_13" inputmask="0x10"><bounds x="1755" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1755" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_13_DP4"><bounds x="1755" y="235" width="12" height="12" /></element>
+ <element ref="duet"><bounds x="1773" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_13" inputmask="0x20"><bounds x="1834" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1834" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_13_DP3"><bounds x="1834" y="235" width="12" height="12" /></element>
+ <element ref="trio"><bounds x="1852" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_14" inputmask="0x10"><bounds x="1992" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1992" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_14_DP4"><bounds x="1992" y="235" width="12" height="12" /></element>
+ <element ref="sustain1"><bounds x="2010" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_14" inputmask="0x20"><bounds x="2070" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="2070" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_14_DP3"><bounds x="2070" y="235" width="12" height="12" /></element>
+ <element ref="sustain2"><bounds x="2088" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_14" inputmask="0x40"><bounds x="2147" y="208" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="2147" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_14_DP2"><bounds x="2147" y="235" width="12" height="12" /></element>
+ <element ref="stereo"><bounds x="2165" y="233" width="65" height="14" /></element>
+ <element ref="symphonic"><bounds x="2165" y="243" width="65" height="14" /></element>
+
+ <!-- 2nd row -->
+ <element ref="led" name="DRVIF_9_DP4"><bounds x="1597" y="267" width="12" height="12" /></element>
+ <element ref="jazz"><bounds x="1615" y="257" width="60" height="14" /></element>
+ <element ref="organ"><bounds x="1615" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_9" inputmask="0x10"><bounds x="1597" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1597" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_11_DP4"><bounds x="1597" y="309" width="12" height="12" /></element>
+ <element ref="piano"><bounds x="1615" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_9_DP3"><bounds x="1676" y="267" width="12" height="12" /></element>
+ <element ref="pipe"><bounds x="1694" y="257" width="60" height="14" /></element>
+ <element ref="organ"><bounds x="1694" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_9" inputmask="0x20"><bounds x="1676" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1676" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_11_DP3"><bounds x="1676" y="309" width="12" height="12" /></element>
+ <element ref="electric"><bounds x="1694" y="307" width="60" height="14" /></element>
+ <element ref="piano"><bounds x="1694" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_9_DP2"><bounds x="1755" y="267" width="12" height="12" /></element>
+ <element ref="strings"><bounds x="1773" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_9" inputmask="0x40"><bounds x="1755" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1755" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_11_DP2"><bounds x="1755" y="309" width="12" height="12" /></element>
+ <element ref="harpsi"><bounds x="1773" y="307" width="60" height="14" /></element>
+ <element ref="chord"><bounds x="1773" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_9_DP1"><bounds x="1834" y="267" width="12" height="12" /></element>
+ <element ref="brass1"><bounds x="1852" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_9" inputmask="0x80"><bounds x="1834" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1834" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_11_DP1"><bounds x="1834" y="309" width="12" height="12" /></element>
+ <element ref="vibes"><bounds x="1852" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_10_DP4"><bounds x="1912" y="267" width="12" height="12" /></element>
+ <element ref="brass2"><bounds x="1930" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_10" inputmask="0x10"><bounds x="1912" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1912" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_12_DP4"><bounds x="1912" y="309" width="12" height="12" /></element>
+ <element ref="jazz"><bounds x="1930" y="307" width="60" height="14" /></element>
+ <element ref="guitar"><bounds x="1930" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_10_DP3"><bounds x="1992" y="267" width="12" height="12" /></element>
+ <element ref="brassand"><bounds x="2010" y="257" width="60" height="14" /></element>
+ <element ref="chimes"><bounds x="2010" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_10" inputmask="0x20"><bounds x="1992" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="1992" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_12_DP3"><bounds x="1992" y="309" width="12" height="12" /></element>
+ <element ref="hawaiian"><bounds x="2010" y="307" width="60" height="14" /></element>
+ <element ref="guitar"><bounds x="2010" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_10_DP2"><bounds x="2070" y="267" width="12" height="12" /></element>
+ <element ref="clarinet"><bounds x="2088" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_10" inputmask="0x40"><bounds x="2070" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="2070" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_12_DP2"><bounds x="2070" y="309" width="12" height="12" /></element>
+ <element ref="music"><bounds x="2088" y="307" width="60" height="14" /></element>
+ <element ref="box"><bounds x="2088" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_10_DP1"><bounds x="2147" y="267" width="12" height="12" /></element>
+ <element ref="calliope"><bounds x="2165" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_10" inputmask="0x80"><bounds x="2147" y="282" width="65" height="21" /></element>
+ <element ref="button-green-color"><bounds x="2147" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_12_DP1"><bounds x="2147" y="309" width="12" height="12" /></element>
+ <element ref="cosmic"><bounds x="2165" y="307" width="60" height="14" /></element>
+
+ <!-- 3rd row -->
+ <element ref="slidermin"><bounds x="1597" y="338" width="139" height="12" /></element>
+ <element ref="slidermax"><bounds x="1597" y="338" width="139" height="12" /></element>
+ <element ref="slider"><bounds x="1597" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-green">
+ <animate inputtag="RYP4_2" mask="0xff" />
+ <bounds state="0" x="1597" y="352" width="64" height="23" />
+ <bounds state="100" x="1672" y="352" width="64" height="23" />
+ </element>
+ <element ref="volume"><bounds x="1597" y="378" width="139" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_4" inputmask="0x80"><bounds x="1755" y="353" width="65" height="21" /></element>
+ <element ref="button-red-color"><bounds x="1755" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_4_DP1"><bounds x="1755" y="380" width="12" height="12" /></element>
+ <element ref="on"><bounds x="1773" y="378" width="65" height="14" /></element>
+ </group>
+
+ <!-- solo group -->
+ <group name="group-solo">
+ <element ref="box-669"><bounds x="2245" y="156" width="669" height="250" /></element>
+ <element ref="solo"><bounds x="2275" y="165" width="138" height="17" /></element>
+
+ <!-- top row -->
+ <element ref="button" inputtag="DRVIF_14" inputmask="0x80"><bounds x="2821" y="208" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2821" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_14_DP1"><bounds x="2821" y="235" width="12" height="12" /></element>
+ <element ref="sustain"><bounds x="2839" y="233" width="65" height="14" /></element>
+
+ <!-- 2nd row -->
+ <element ref="led" name="DRVIF_15_DP4"><bounds x="2271" y="267" width="12" height="12" /></element>
+ <element ref="jazz"><bounds x="2289" y="257" width="60" height="14" /></element>
+ <element ref="flute"><bounds x="2289" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_15" inputmask="0x10"><bounds x="2271" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2271" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_17_DP4"><bounds x="2271" y="309" width="12" height="12" /></element>
+ <element ref="electric"><bounds x="2289" y="307" width="60" height="14" /></element>
+ <element ref="guitar"><bounds x="2289" y="317" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_15_DP3"><bounds x="2350" y="267" width="12" height="12" /></element>
+ <element ref="piccolo"><bounds x="2368" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_15" inputmask="0x20"><bounds x="2350" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2350" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_17_DP3"><bounds x="2350" y="309" width="12" height="12" /></element>
+ <element ref="percuss1"><bounds x="2368" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_15_DP2"><bounds x="2429" y="267" width="12" height="12" /></element>
+ <element ref="violin"><bounds x="2447" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_15" inputmask="0x40"><bounds x="2429" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2429" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_17_DP2"><bounds x="2429" y="309" width="12" height="12" /></element>
+ <element ref="percuss2"><bounds x="2447" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_15_DP1"><bounds x="2508" y="267" width="12" height="12" /></element>
+ <element ref="trumpet"><bounds x="2526" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_15" inputmask="0x80"><bounds x="2508" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2508" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_17_DP1"><bounds x="2508" y="309" width="12" height="12" /></element>
+ <element ref="popsynth"><bounds x="2526" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_16_DP4"><bounds x="2586" y="267" width="12" height="12" /></element>
+ <element ref="trombone"><bounds x="2604" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_16" inputmask="0x10"><bounds x="2586" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2586" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_18_DP4"><bounds x="2586" y="309" width="12" height="12" /></element>
+ <element ref="bluessynth"><bounds x="2604" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_16_DP3"><bounds x="2666" y="267" width="12" height="12" /></element>
+ <element ref="horn"><bounds x="2684" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_16" inputmask="0x20"><bounds x="2666" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2666" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_18_DP3"><bounds x="2666" y="309" width="12" height="12" /></element>
+ <element ref="funksynth"><bounds x="2684" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_16_DP2"><bounds x="2744" y="267" width="12" height="12" /></element>
+ <element ref="saxo"><bounds x="2760" y="257" width="60" height="14" /></element>
+ <element ref="phone"><bounds x="2760" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_16" inputmask="0x40"><bounds x="2744" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2744" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_18_DP2"><bounds x="2744" y="309" width="12" height="12" /></element>
+ <element ref="slapsynth"><bounds x="2760" y="307" width="60" height="14" /></element>
+
+ <element ref="led" name="DRVIF_16_DP1"><bounds x="2821" y="267" width="12" height="12" /></element>
+ <element ref="oboe"><bounds x="2839" y="267" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_16" inputmask="0x80"><bounds x="2821" y="282" width="65" height="21" /></element>
+ <element ref="button-white-color"><bounds x="2821" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_18_DP1"><bounds x="2821" y="309" width="12" height="12" /></element>
+ <element ref="bass"><bounds x="2839" y="307" width="60" height="14" /></element>
+
+ <!-- 3rd row -->
+ <element ref="slidermin"><bounds x="2271" y="338" width="139" height="12" /></element>
+ <element ref="slidermax"><bounds x="2271" y="338" width="139" height="12" /></element>
+ <element ref="slider"><bounds x="2271" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-white">
+ <animate inputtag="RYP4_1" mask="0xff" />
+ <bounds state="0" x="2271" y="352" width="64" height="23" />
+ <bounds state="100" x="2346" y="352" width="64" height="23" />
+ </element>
+ <element ref="volume"><bounds x="2271" y="378" width="139" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_13" inputmask="0x80"><bounds x="2429" y="353" width="65" height="21" /></element>
+ <element ref="button-red-color"><bounds x="2429" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_13_DP1"><bounds x="2429" y="380" width="12" height="12" /></element>
+ <element ref="on"><bounds x="2447" y="378" width="65" height="14" /></element>
+ </group>
+
+ <!-- music programmer group -->
+ <group name="group-musicprogrammer">
+ <element ref="box-350"><bounds x="2919" y="156" width="350" height="250" /></element>
+ <element ref="musicprogrammer"><bounds x="2949" y="165" width="138" height="17" /></element>
+
+ <!-- top row -->
+ <element ref="solo"><bounds x="2945" y="193" width="60" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_19" inputmask="0x40"><bounds x="2945" y="208" width="65" height="21" /></element>
+ <element ref="button-red-color"><bounds x="2945" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_19_DP2"><bounds x="2945" y="235" width="12" height="12" /></element>
+ <element ref="record"><bounds x="2963" y="233" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_20" inputmask="0x40"><bounds x="3024" y="208" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3024" y="208" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_20_DP2"><bounds x="3024" y="235" width="12" height="12" /></element>
+ <element ref="playback"><bounds x="3042" y="233" width="65" height="14" /></element>
+
+ <!-- 2nd row -->
+ <element ref="orchestra"><bounds x="2945" y="267" width="100" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_19" inputmask="0x20"><bounds x="2945" y="282" width="65" height="21" /></element>
+ <element ref="button-red-color"><bounds x="2945" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_19_DP3"><bounds x="2945" y="309" width="12" height="12" /></element>
+ <element ref="record"><bounds x="2963" y="307" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_20" inputmask="0x20"><bounds x="3024" y="282" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3024" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_20_DP3"><bounds x="3024" y="309" width="12" height="12" /></element>
+ <element ref="playback"><bounds x="3042" y="307" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_18" inputmask="0x10"><bounds x="3103" y="282" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3103" y="282" width="65" height="21" /></element>
+ <element ref="off"><bounds x="3121" y="307" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_0" inputmask="0x80"><bounds x="3182" y="282" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3182" y="282" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_0_DP1"><bounds x="3182" y="309" width="12" height="12" /></element>
+ <element ref="pause"><bounds x="3200" y="307" width="65" height="14" /></element>
+
+ <!-- 3rd row -->
+ <element ref="chordbass"><bounds x="2945" y="338" width="100" height="14" /></element>
+ <element ref="button" inputtag="DRVIF_19" inputmask="0x10"><bounds x="2945" y="353" width="65" height="21" /></element>
+ <element ref="button-red-color"><bounds x="2945" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_19_DP4"><bounds x="2945" y="380" width="12" height="12" /></element>
+ <element ref="record"><bounds x="2963" y="378" width="65" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_20" inputmask="0x10"><bounds x="3024" y="353" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3024" y="353" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_20_DP4"><bounds x="3024" y="380" width="12" height="12" /></element>
+ <element ref="playback"><bounds x="3042" y="378" width="65" height="14" /></element>
+ </group>
+
+ <!-- tape group -->
+ <group name="group-tape">
+ <element ref="box-216"><bounds x="3274" y="156" width="216" height="250" /></element>
+ <element ref="tape"><bounds x="3304" y="165" width="138" height="17" /></element>
+
+ <!-- top row -->
+ <element ref="button" inputtag="DRVIF_19" inputmask="0x80"><bounds x="3300" y="208" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3300" y="208" width="65" height="21" /></element>
+ <element ref="led"><bounds x="3300" y="235" width="12" height="12" /></element>
+ <element ref="save"><bounds x="3318" y="233" width="65" height="14" /></element>
+
+ <!-- top row -->
+ <element ref="button" inputtag="DRVIF_20" inputmask="0x80"><bounds x="3300" y="282" width="65" height="21" /></element>
+ <element ref="button-pink-color"><bounds x="3300" y="282" width="65" height="21" /></element>
+ <element ref="led"><bounds x="3300" y="309" width="12" height="12" /></element>
+ <element ref="load"><bounds x="3318" y="307" width="65" height="14" /></element>
+ </group>
+
+ <!-- above keyboard group -->
+ <group name="group-abovekeys">
+ <element ref="button" inputtag="DRVIF_8" inputmask="0x80"><bounds x="567" y="423" width="65" height="21" /></element>
+ <element ref="button-grey-color"><bounds x="567" y="423" width="65" height="21" /></element>
+ <element ref="midimode"><bounds x="557" y="448" width="85" height="14" /></element>
+
+ <element ref="button" inputtag="DRVIF_3" inputmask="0x10"><bounds x="727" y="423" width="65" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="727" y="423" width="65" height="21" /></element>
+ <element ref="led" name="DRVIF_2_DP4"><bounds x="727" y="450" width="12" height="12" /></element>
+ <element ref="keyboardpercussion"><bounds x="745" y="448" width="140" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_3" inputmask="0x20"><bounds x="923" y="423" width="112" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="923" y="423" width="112" height="21" /></element>
+ <element ref="fillin1"><bounds x="923" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_3" inputmask="0x40"><bounds x="1048" y="423" width="112" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1048" y="423" width="112" height="21" /></element>
+ <element ref="fillin2"><bounds x="1048" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_3" inputmask="0x80"><bounds x="1175" y="423" width="112" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1175" y="423" width="112" height="21" /></element>
+ <element ref="fillin3"><bounds x="1175" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_7" inputmask="0x20"><bounds x="1475" y="423" width="112" height="21" /></element>
+ <element ref="button-red-color"><bounds x="1475" y="423" width="112" height="21" /></element>
+ <element ref="synchrostart"><bounds x="1475" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_7" inputmask="0x40"><bounds x="1601" y="423" width="112" height="21" /></element>
+ <element ref="button-red-color"><bounds x="1601" y="423" width="112" height="21" /></element>
+ <element ref="start"><bounds x="1601" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_7" inputmask="0x10"><bounds x="1805" y="423" width="112" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1805" y="423" width="112" height="21" /></element>
+ <element ref="stop"><bounds x="1805" y="448" width="112" height="14" /></element>
+
+ <element ref="button-wide" inputtag="DRVIF_7" inputmask="0x80"><bounds x="1929" y="423" width="112" height="21" /></element>
+ <element ref="button-yellow-color"><bounds x="1929" y="423" width="112" height="21" /></element>
+ <element ref="introending"><bounds x="1929" y="448" width="112" height="14" /></element>
+ </group>
+
+ <!-- keyboard group -->
+ <group name="keyboard">
+ <element ref="keyfill"><bounds x="564" y="494" width="2395" height="524" /></element>
+
+ <!-- key layout:
+ wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
+ 45 44 53 44 45 45 44 44 44 44 44 45
+ 0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
+ 0->79 82->161 164->243 246->325 328->407 410->489 492->571
+ -->
+
+ <!-- octave 0 -->
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x20"><bounds x="622" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x08"><bounds x="725" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x01"><bounds x="865" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_8" inputmask="0x10"><bounds x="959" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_8" inputmask="0x04"><bounds x="1053" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_9" inputmask="0x40"><bounds x="574" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_9" inputmask="0x10"><bounds x="656" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_9" inputmask="0x04"><bounds x="738" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_9" inputmask="0x02"><bounds x="820" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_8" inputmask="0x20"><bounds x="902" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_8" inputmask="0x08"><bounds x="984" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_8" inputmask="0x02"><bounds x="1066" y="504" width="79" height="504" /></element>
+
+ <!-- octave 1 -->
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x20"><bounds x="1196" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x08"><bounds x="1299" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x01"><bounds x="1439" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_6" inputmask="0x10"><bounds x="1533" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_6" inputmask="0x04"><bounds x="1627" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_8" inputmask="0x01"><bounds x="1148" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_7" inputmask="0x10"><bounds x="1230" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_7" inputmask="0x04"><bounds x="1312" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_7" inputmask="0x02"><bounds x="1394" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_6" inputmask="0x20"><bounds x="1476" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_6" inputmask="0x08"><bounds x="1558" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_6" inputmask="0x02"><bounds x="1640" y="504" width="79" height="504" /></element>
+
+ <!-- octave 2 -->
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x20"><bounds x="1770" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x08"><bounds x="1873" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x01"><bounds x="2013" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_4" inputmask="0x10"><bounds x="2107" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_4" inputmask="0x04"><bounds x="2201" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_6" inputmask="0x01"><bounds x="1722" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_5" inputmask="0x10"><bounds x="1804" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_5" inputmask="0x04"><bounds x="1886" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_5" inputmask="0x02"><bounds x="1968" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_4" inputmask="0x20"><bounds x="2050" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_4" inputmask="0x08"><bounds x="2132" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_4" inputmask="0x02"><bounds x="2214" y="504" width="79" height="504" /></element>
+
+ <!-- octave 3 -->
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x20"><bounds x="2344" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x08"><bounds x="2447" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x01"><bounds x="2587" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_2" inputmask="0x10"><bounds x="2681" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_2" inputmask="0x04"><bounds x="2775" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_4" inputmask="0x01"><bounds x="2296" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_3" inputmask="0x10"><bounds x="2378" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_3" inputmask="0x04"><bounds x="2460" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_3" inputmask="0x02"><bounds x="2542" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_2" inputmask="0x20"><bounds x="2624" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_2" inputmask="0x08"><bounds x="2706" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_2" inputmask="0x02"><bounds x="2788" y="504" width="79" height="504" /></element>
+
+ <!-- final key -->
+ <element ref="whitekey" inputtag="P1_2" inputmask="0x01"><bounds x="2870" y="504" width="79" height="504" /></element>
+ </group>
+
+ <view name="Keyboard">
+ <!-- overall background -->
+ <element ref="greyback"><bounds x="0" y="0" width="3528" height="1019" /></element>
+
+ <!-- logo -->
+ <element ref="yamaha"><bounds x="80" y="72" width="200" height="51" /></element>
+ <element ref="psr60"><bounds x="294" y="102" width="232" height="25" /></element>
+
+ <!-- top grill -->
+ <element ref="topgrill"><bounds x="567" y="60" width="2410" height="92" /></element>
+
+ <!-- power group -->
+ <group ref="group-power"><bounds x="33" y="156" width="303" height="250" /></group>
+
+ <!-- pitch group -->
+ <group ref="group-pitch"><bounds x="341" y="156" width="196" height="250" /></group>
+
+ <!-- auto bass chord group -->
+ <group ref="group-autobasschord"><bounds x="542" y="156" width="350" height="250" /></group>
+
+ <!-- rhythm group -->
+ <group ref="group-rhythm"><bounds x="897" y="156" width="669" height="250" /></group>
+
+ <!-- orchestra group -->
+ <group ref="group-orchestra"><bounds x="1571" y="156" width="669" height="250" /></group>
+
+ <!-- solo group -->
+ <group ref="group-solo"><bounds x="2245" y="156" width="669" height="250" /></group>
+
+ <!-- music programmer group -->
+ <group ref="group-musicprogrammer"><bounds x="2919" y="156" width="350" height="250" /></group>
+
+ <!-- tape group -->
+ <group ref="group-tape"><bounds x="3274" y="156" width="216" height="250" /></group>
+
+ <!-- above keyboard group -->
+ <group ref="group-abovekeys"><bounds x="557" y="423" width="1484" height="39" /></group>
+
+ <!-- left speaker -->
+ <element ref="speaker"><bounds x="38" y="494" width="500" height="462" /></element>
+
+ <!-- keyboard -->
+ <group ref="keyboard"><bounds x="564" y="494" width="2395" height="524" /></group>
+
+ <!-- right speaker -->
+ <element ref="speaker"><bounds x="2990" y="494" width="500" height="462" /></element>
+
+ </view>
+
+ <view name="16:9 Friendly">
+ <!-- overall background -->
+ <element ref="greyback"><bounds x="564" y="0" width="2395" height="1252" /></element>
+
+ <!-- power group -->
+ <group ref="group-power"><bounds x="573" y="20" width="354" height="292" /></group>
+
+ <!-- pitch group -->
+ <group ref="group-pitch"><bounds x="941" y="20" width="229" height="292" /></group>
+
+ <!-- auto bass chord group -->
+ <group ref="group-autobasschord"><bounds x="1184" y="20" width="409" height="292" /></group>
+
+ <!-- rhythm group -->
+ <group ref="group-rhythm"><bounds x="573" y="332" width="783" height="292" /></group>
+
+ <!-- orchestra group -->
+ <group ref="group-orchestra"><bounds x="1370" y="332" width="783" height="292" /></group>
+
+ <!-- solo group -->
+ <group ref="group-solo"><bounds x="2167" y="332" width="783" height="292" /></group>
+
+ <!-- music programmer group -->
+ <group ref="group-musicprogrammer"><bounds x="2273" y="20" width="410" height="292" /></group>
+
+ <!-- tape group -->
+ <group ref="group-tape"><bounds x="2697" y="20" width="253" height="292" /></group>
+
+ <!-- above keyboard group -->
+ <group ref="group-abovekeys"><bounds x="589" y="644" width="2295" height="60" /></group>
+
+ <!-- keyboard -->
+ <group ref="keyboard"><bounds x="564" y="728" width="2395" height="524" /></group>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/psr70.lay b/src/mame/layout/psr70.lay
new file mode 100644
index 00000000000..369f7355b12
--- /dev/null
+++ b/src/mame/layout/psr70.lay
@@ -0,0 +1,1040 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+ <!-- general grey backdrop -->
+ <element name="greyback">
+ <rect>
+ <bounds left="0" top="0" right="1" bottom="1" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+
+ <!-- container boxes for top sections -->
+ <element name="box-174">
+ <rect>
+ <bounds left="0" top="0" right="174" bottom="450" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="170" bottom="446" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-237">
+ <rect>
+ <bounds left="0" top="0" right="237" bottom="450" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="233" bottom="446" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-382">
+ <rect>
+ <bounds left="0" top="0" right="398" bottom="450" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="394" bottom="446" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="box-398">
+ <rect>
+ <bounds left="0" top="0" right="398" bottom="450" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ <rect>
+ <bounds left="4" top="0" right="394" bottom="446" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+
+ <!-- logo substitutes -->
+ <element name="yamaha"><text string="YAMAHA" align="0" /></element>
+ <element name="psr70"><text string="PSR-70" align="0" /></element>
+
+ <!-- slider labels -->
+ <element name="slidermin"><text string="MIN" align="1" /></element>
+ <element name="slidermax"><text string="MAX" align="2" /></element>
+ <element name="slideroff"><text string="OFF" align="1" /></element>
+ <element name="slideron"><text string="ON" align="2" /></element>
+ <element name="sliderslow"><text string="SLOW" align="1" /></element>
+ <element name="sliderfast"><text string="FAST" align="2" /></element>
+
+ <!-- power section text -->
+ <element name="power"><text string="POWER" align="0" /></element>
+ <element name="mastervolume"><text string="MASTER VOLUME" align="0" /></element>
+
+ <!-- pitch section text -->
+ <element name="pitch"><text string="PITCH" align="1" /></element>
+ <element name="transposer"><text string="TRANSPOSER" align="1" /></element>
+ <element name="uparrow"><text string="▲" align="1" /></element>
+ <element name="downarrow"><text string="▼" align="1" /></element>
+
+ <!-- auto bass chord section text -->
+ <element name="autobasschord"><text string="AUTO BASS CHORD" align="1" /></element>
+ <element name="off"><text string="OFF" align="1" /></element>
+ <element name="singlefinger"><text string="SINGLE FINGER" align="1" /></element>
+ <element name="fingered"><text string="FINGERED" align="1" /></element>
+ <element name="memory"><text string="MEMORY" align="1" /></element>
+ <element name="chordvolume"><text string="CHORD VOLUME" align="0" /></element>
+ <element name="bassvolume"><text string="BASS VOLUME" align="0" /></element>
+
+ <!-- rhythm section text -->
+ <element name="rhythm"><text string="RHYTHM" align="1" /></element>
+ <element name="handclap"><text string="HAND CLAP" align="1" /></element>
+ <element name="custom"><text string="CUSTOM" align="1" /></element>
+ <element name="one"><text string="1" align="1" /></element>
+ <element name="two"><text string="2" align="1" /></element>
+ <element name="three"><text string="3" align="1" /></element>
+ <element name="bigband"><text string="BIG BAND" align="2" /></element>
+ <element name="swing"><text string="SWING" align="1" /></element>
+ <element name="reggae"><text string="REGGAE" align="2" /></element>
+ <element name="slow"><text string="SLOW" align="1" /></element>
+ <element name="rock"><text string="ROCK" align="1" /></element>
+ <element name="disco"><text string="DISCO" align="2" /></element>
+ <element name="heavy"><text string="HEAVY" align="1" /></element>
+ <element name="metal"><text string="METAL" align="1" /></element>
+ <element name="pops"><text string="POPS" align="2" /></element>
+ <element name="16beat"><text string="16 BEAT" align="1" /></element>
+ <element name="rocknroll"><text string="ROCK'N'ROLL" align="2" /></element>
+ <element name="country"><text string="COUNTRY" align="1" /></element>
+ <element name="salsa"><text string="SALSA" align="2" /></element>
+ <element name="rhumba"><text string="RHUMBA" align="1" /></element>
+ <element name="samba"><text string="SAMBA" align="2" /></element>
+ <element name="bossanova"><text string="BOSSANOVA" align="1" /></element>
+ <element name="variation"><text string="VARIATION" align="1" /></element>
+ <element name="marchpolka"><text string="MARCH/POLKA" align="2" /></element>
+ <element name="waltz"><text string="WALTZ" align="1" /></element>
+ <element name="volume"><text string="VOLUME" align="0" /></element>
+ <element name="tempo"><text string="TEMPO" align="0" /></element>
+
+ <!-- custom accompaniment section text -->
+ <element name="accompaniment"><text string="ACCOMPANIMENT" align="1" /></element>
+ <element name="program"><text string="PROGRAM" align="1" /></element>
+ <element name="clear"><text string="CLEAR" align="1" /></element>
+
+ <!-- orchestra section text -->
+ <element name="orchestra"><text string="ORCHESTRA" align="1" /></element>
+ <element name="tolower"><text string="TO LOWER" align="1" /></element>
+ <element name="duet"><text string="DUET" align="1" /></element>
+ <element name="trio"><text string="TRIO" align="1" /></element>
+ <element name="sustain1"><text string="SUSTAIN 1" align="1" /></element>
+ <element name="sustain2"><text string="SUSTAIN 2" align="1" /></element>
+ <element name="stereo"><text string="STEREO" align="1" /></element>
+ <element name="symphonic"><text string="SYMPHONIC" align="1" /></element>
+ <element name="jazzorgan"><text string="JAZZ ORGAN" align="2" /></element>
+ <element name="piano"><text string="PIANO" align="1" /></element>
+ <element name="pipeorgan"><text string="PIPE ORGAN" align="2" /></element>
+ <element name="electric"><text string="ELECTRIC" align="1" /></element>
+ <element name="strings"><text string="STRINGS" align="2" /></element>
+ <element name="harpsi"><text string="HARPSI-" align="1" /></element>
+ <element name="chord"><text string="CHORD" align="1" /></element>
+ <element name="brass"><text string="BRASS" align="2" /></element>
+ <element name="oner"><text string="1" align="2" /></element>
+ <element name="vibes"><text string="VIBES" align="1" /></element>
+ <element name="twor"><text string="2" align="2" /></element>
+ <element name="jazz"><text string="JAZZ" align="1" /></element>
+ <element name="jazzflute"><text string="JAZZ FLUTE" align="2" /></element>
+ <element name="electricguitar"><text string="ELECTRIC GUITAR" align="1" /></element>
+ <element name="guitar"><text string="GUITAR" align="1" /></element>
+ <element name="brassand"><text string="BRASS&amp;" align="2" /></element>
+ <element name="chimes"><text string="CHIMES" align="2" /></element>
+ <element name="hawaiian"><text string="HAWAIIAN" align="1" /></element>
+ <element name="clarinet"><text string="CLARINET" align="2" /></element>
+ <element name="music"><text string="MUSIC" align="1" /></element>
+ <element name="box"><text string="BOX" align="1" /></element>
+ <element name="calliope"><text string="CALLIOPE" align="2" /></element>
+ <element name="cosmic"><text string="COSMIC" align="1" /></element>
+ <element name="on"><text string="ON" align="1" /></element>
+
+ <!-- solo section text -->
+ <element name="solo"><text string="SOLO" align="1" /></element>
+ <element name="sustain"><text string="SUSTAIN" align="1" /></element>
+ <element name="flute"><text string="FLUTE" align="1" /></element>
+ <element name="piccolo"><text string="PICCOLO" align="2" /></element>
+ <element name="percuss"><text string="PERCUSS" align="1" /></element>
+ <element name="violin"><text string="VIOLIN" align="2" /></element>
+ <element name="trumpet"><text string="TRUMPET" align="2" /></element>
+ <element name="popsynth"><text string="POPSYNTH" align="1" /></element>
+ <element name="trombone"><text string="TROMBONE" align="2" /></element>
+ <element name="bluessynth"><text string="BLUESSYNTH" align="1" /></element>
+ <element name="horn"><text string="HORN" align="2" /></element>
+ <element name="funksynth"><text string="FUNKSYNTH" align="1" /></element>
+ <element name="saxophone"><text string="SAXOPHONE" align="2" /></element>
+ <element name="slapsynth"><text string="SLAPSYNTH" align="1" /></element>
+ <element name="oboe"><text string="OBOE" align="2" /></element>
+ <element name="bass"><text string="BASS" align="1" /></element>
+
+ <!-- music programmer section text -->
+ <element name="musicprogrammer"><text string="MUSIC PROGRAMMER" align="1" /></element>
+ <element name="record"><text string="RECORD" align="1" /></element>
+ <element name="playback"><text string="PLAY BACK" align="1" /></element>
+ <element name="pause"><text string="PAUSE" align="1" /></element>
+ <element name="chordbass"><text string="CHORD/BASS" align="1" /></element>
+ <element name="offc"><text string="OFF" align="0" /></element>
+
+ <!-- tape section text -->
+ <element name="tape"><text string="TAPE" align="1" /></element>
+ <element name="save"><text string="SAVE" align="1" /></element>
+ <element name="load"><text string="LOAD" align="1" /></element>
+
+ <!-- above keys text -->
+ <element name="keysplit"><text string="KEY SPLIT" align="1" /></element>
+ <element name="midimode"><text string="MIDI MODE" align="1" /></element>
+ <element name="keyboardpercussion"><text string="KEYBOARD PERCUSSION" align="1" /></element>
+ <element name="fillin"><text string="FILL IN" align="2" /></element>
+ <element name="synchrostart"><text string="SYNCHRO START" align="2" /></element>
+ <element name="start"><text string="START" align="1" /></element>
+ <element name="stop"><text string="STOP" align="2" /></element>
+ <element name="introending"><text string="INTRO/ENDING" align="1" /></element>
+ <element name="registrationmemory"><text string="REGISTRATION MEMORY" align="2" /></element>
+ <element name="programr"><text string="PROGRAM" align="2" /></element>
+
+ <!-- button primitives -->
+ <element name="button-grey" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.67" green="0.65" blue="0.65" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.83" green="0.83" blue="0.83" /></rect>
+ </element>
+ <element name="button-cyan" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.70" green="0.97" blue="0.96" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.85" green="0.99" blue="0.98" /></rect>
+ </element>
+ <element name="button-yellow" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.95" green="0.85" blue="0.58" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.98" green="0.93" blue="0.79" /></rect>
+ </element>
+ <element name="button-green" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.66" green="0.92" blue="0.78" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.83" green="0.96" blue="0.89" /></rect>
+ </element>
+ <element name="button-white" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.4" green="0.4" blue="0.4" /></rect>
+ </element>
+ <element name="button-pink" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.93" green="0.85" blue="0.87" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.96" green="0.92" blue="0.93" /></rect>
+ </element>
+ <element name="button-red" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.83" green="0.21" blue="0.19" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.91" green="0.60" blue="0.59" /></rect>
+ </element>
+ <element name="button-orange" defstate="0">
+ <rect><bounds x="0" y="0" width="40" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="36" height="11" /><color red="0.98" green="0.77" blue="0.65" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="36" height="11" /><color red="0.99" green="0.88" blue="0.82" /></rect>
+ </element>
+
+ <element name="button-wide-blue" defstate="0">
+ <rect><bounds x="0" y="0" width="106" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="102" height="11" /><color red="0.68" green="0.74" blue="0.86" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="102" height="11" /><color red="0.84" green="0.87" blue="0.93" /></rect>
+ </element>
+ <element name="button-wide-red" defstate="0">
+ <rect><bounds x="0" y="0" width="106" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="102" height="11" /><color red="0.83" green="0.21" blue="0.19" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="102" height="11" /><color red="0.91" green="0.60" blue="0.59" /></rect>
+ </element>
+ <element name="button-wide-orange" defstate="0">
+ <rect><bounds x="0" y="0" width="106" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="102" height="11" /><color red="0.98" green="0.77" blue="0.65" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="102" height="11" /><color red="0.99" green="0.88" blue="0.82" /></rect>
+ </element>
+ <element name="button-wide-yellow" defstate="0">
+ <rect><bounds x="0" y="0" width="106" height="15" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="2" y="2" width="102" height="11" /><color red="0.95" green="0.85" blue="0.58" /></rect>
+ <rect state="1"><bounds x="2" y="2" width="102" height="11" /><color red="0.98" green="0.93" blue="0.79" /></rect>
+ </element>
+
+ <!-- slider primitives -->
+ <element name="slider">
+ <rect><bounds x="0" y="0" width="116" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="112" height="18" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ </element>
+ <element name="slider-tempo">
+ <rect><bounds x="0" y="0" width="152" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="148" height="18" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ </element>
+ <element name="slider-bar-grey">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.67" green="0.65" blue="0.65" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-red">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.83" green="0.21" blue="0.19" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-cyan">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.70" green="0.97" blue="0.96" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-yellow">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.95" green="0.85" blue="0.58" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-green">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.66" green="0.92" blue="0.78" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+
+ <!-- LED primitives -->
+ <element name="led" defstate="0">
+ <disk state="0"><color red="0.4" green="0.3" blue="0.3" /></disk>
+ <disk state="1"><color red="1.0" green="0.1" blue="0.1" /></disk>
+ </element>
+ <element name="splitled" defstate="0">
+ <disk state="0"><color red="0.4" green="0.3" blue="0.3" /></disk>
+ <disk state="1"><color red="1.0" green="0.1" blue="0.1" /></disk>
+ </element>
+
+ <!-- keyboard primitives -->
+ <element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
+ <element name="whitekey" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="45" height="504" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="45" height="504" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-l" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="45" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="45" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-m" defstate="0">
+ <rect state="0"><bounds x="13" y="0" width="53" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="13" y="0" width="53" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-lm" defstate="0">
+ <rect state="0"><bounds x="10" y="0" width="44" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="10" y="0" width="44" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-rm" defstate="0">
+ <rect state="0"><bounds x="22" y="0" width="44" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="22" y="0" width="44" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="whitekey-r" defstate="0">
+ <rect state="0"><bounds x="34" y="0" width="45" height="332" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="0"><bounds x="0" y="332" width="79" height="172" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ <rect state="1"><bounds x="34" y="0" width="45" height="332" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ <rect state="1"><bounds x="0" y="332" width="79" height="172" /><color red="0.9" green="0.9" blue="0.9" /></rect>
+ </element>
+ <element name="blackkey" defstate="0">
+ <rect state="0"><bounds x="0" y="0" width="44" height="324" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect state="0"><bounds x="4" y="0" width="36" height="320" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <rect state="1"><bounds x="0" y="0" width="44" height="324" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <rect state="1"><bounds x="4" y="0" width="36" height="320" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ </element>
+
+ <!-- top box area -->
+ <element name="top-box">
+ <rect><bounds x="669" y="37" width="1966" height="103" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="671" y="39" width="1962" height="99" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ </element>
+
+ <!-- speaker grill -->
+ <element name="speaker">
+ <rect><bounds x="0" y="0" width="630" height="555" /><color red="0.1" green="0.1" blue="0.1" /></rect>
+ <disk><bounds x="60" y="11" width="510" height="510" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="2" y="2" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="25" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="48" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="71" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="94" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="117" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="140" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="163" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="186" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="209" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="232" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="255" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="278" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="301" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="324" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="347" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="370" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="393" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="416" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="439" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="462" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="485" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="508" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ <rect><bounds x="2" y="531" width="626" height="21" /><color red="0.2" green="0.2" blue="0.2" /></rect>
+ </element>
+
+ <!-- pitch group -->
+ <group name="group-pitch">
+ <element ref="box-174"><bounds x="669" y="142" width="174" height="450" /></element>
+ <element ref="pitch"><bounds x="699" y="166" width="138" height="14" /></element>
+
+ <element ref="button-grey" inputtag="DRVIF_1" inputmask="0x80"><bounds x="700" y="205" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_1_DP1"><bounds x="743" y="206" width="12" height="12" /></element>
+ <element ref="uparrow"><bounds x="761" y="203" width="60" height="14" /></element>
+
+ <element ref="button-grey" inputtag="DRVIF_1" inputmask="0x40"><bounds x="700" y="245" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_1_DP2"><bounds x="743" y="246" width="12" height="12" /></element>
+ <element ref="downarrow"><bounds x="761" y="243" width="60" height="14" /></element>
+
+ <element ref="transposer"><bounds x="699" y="324" width="138" height="14" /></element>
+
+ <element ref="button-grey" inputtag="DRVIF_1" inputmask="0x20"><bounds x="700" y="363" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_1_DP3"><bounds x="743" y="363" width="12" height="12" /></element>
+ <element ref="uparrow"><bounds x="761" y="361" width="60" height="14" /></element>
+
+ <element ref="button-grey" inputtag="DRVIF_1" inputmask="0x10"><bounds x="700" y="403" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_1_DP4"><bounds x="743" y="403" width="12" height="12" /></element>
+ <element ref="downarrow"><bounds x="761" y="401" width="60" height="14" /></element>
+
+ <element ref="slidermin"><bounds x="689" y="468" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="689" y="468" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="699" y="480" width="116" height="22" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="MASTERVOL" mask="0xff" />
+ <bounds state="0" x="699" y="480" width="40" height="23" />
+ <bounds state="100" x="775" y="480" width="40" height="23" />
+ </element>
+ <element ref="mastervolume"><bounds x="699" y="504" width="139" height="13" /></element>
+
+ <element ref="slideroff"><bounds x="719" y="522" width="76" height="13" /></element>
+ <element ref="slideron"><bounds x="719" y="522" width="76" height="13" /></element>
+ <element ref="slider"><bounds x="699" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-red"><bounds x="755" y="534" width="40" height="23" /></element>
+ <element ref="power"><bounds x="699" y="558" width="116" height="13" /></element>
+ <element ref="led" name="DRVIF_0_DP4"><bounds x="820" y="539" width="12" height="12" /></element>
+ </group>
+
+ <!-- auto bass chord group -->
+ <group name="group-autobasschord">
+ <element ref="box-174"><bounds x="848" y="142" width="174" height="450" /></element>
+ <element ref="autobasschord"><bounds x="878" y="166" width="138" height="14" /></element>
+
+ <element ref="button-cyan" inputtag="DRVIF_2" inputmask="0x80"><bounds x="879" y="245" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_2_DP1"><bounds x="922" y="246" width="12" height="12" /></element>
+ <element ref="memory"><bounds x="940" y="244" width="65" height="13" /></element>
+
+ <element ref="button-cyan" inputtag="DRVIF_2" inputmask="0x40"><bounds x="879" y="320" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_2_DP2"><bounds x="922" y="321" width="12" height="12" /></element>
+ <element ref="fingered"><bounds x="940" y="319" width="65" height="13" /></element>
+
+ <element ref="button-cyan" inputtag="DRVIF_2" inputmask="0x20"><bounds x="879" y="363" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_2_DP3"><bounds x="922" y="364" width="12" height="12" /></element>
+ <element ref="singlefinger"><bounds x="940" y="362" width="65" height="13" /></element>
+
+ <element ref="button-cyan" inputtag="DRVIF_2" inputmask="0x10"><bounds x="879" y="403" width="40" height="15" /></element>
+ <element ref="off"><bounds x="940" y="402" width="65" height="13" /></element>
+
+ <element ref="slidermin"><bounds x="868" y="468" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="868" y="468" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="878" y="480" width="116" height="22" /></element>
+ <element ref="slider-bar-cyan">
+ <animate inputtag="RYP4_6" mask="0xff" />
+ <bounds state="0" x="878" y="480" width="40" height="23" />
+ <bounds state="100" x="954" y="480" width="40" height="23" />
+ </element>
+ <element ref="bassvolume"><bounds x="878" y="504" width="139" height="13" /></element>
+
+ <element ref="slidermin"><bounds x="868" y="522" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="868" y="522" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="878" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-cyan">
+ <animate inputtag="RYP4_5" mask="0xff" />
+ <bounds state="0" x="878" y="534" width="40" height="23" />
+ <bounds state="100" x="954" y="534" width="40" height="23" />
+ </element>
+ <element ref="chordvolume"><bounds x="878" y="558" width="139" height="13" /></element>
+ </group>
+
+ <!-- rhythm group -->
+ <group name="group-rhythm">
+ <element ref="box-398"><bounds x="1027" y="142" width="398" height="450" /></element>
+ <element ref="rhythm"><bounds x="1052" y="166" width="138" height="14" /></element>
+ <element ref="led" name="DRVIF_3_DP4"><bounds x="1123" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP3"><bounds x="1143" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP2"><bounds x="1163" y="167" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_3_DP1"><bounds x="1183" y="167" width="12" height="12" /></element>
+
+ <!-- left column -->
+ <element ref="bigband"><bounds x="1033" y="203" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_4_DP4"><bounds x="1119" y="205" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_4" inputmask="0x10"><bounds x="1134" y="204" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_6_DP4"><bounds x="1177" y="205" width="12" height="12" /></element>
+ <element ref="swing"><bounds x="1195" y="203" width="80" height="13" /></element>
+
+ <element ref="reggae"><bounds x="1033" y="242" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_4_DP3"><bounds x="1119" y="244" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_4" inputmask="0x20"><bounds x="1134" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_6_DP3"><bounds x="1177" y="244" width="12" height="12" /></element>
+ <element ref="slow"><bounds x="1195" y="242" width="80" height="13" /></element>
+ <element ref="rock"><bounds x="1195" y="252" width="80" height="13" /></element>
+
+ <element ref="disco"><bounds x="1033" y="281" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_4_DP2"><bounds x="1119" y="283" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_4" inputmask="0x40"><bounds x="1134" y="282" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_6_DP2"><bounds x="1177" y="283" width="12" height="12" /></element>
+ <element ref="heavy"><bounds x="1195" y="281" width="80" height="13" /></element>
+ <element ref="metal"><bounds x="1195" y="291" width="80" height="13" /></element>
+
+ <element ref="pops"><bounds x="1033" y="320" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_4_DP1"><bounds x="1119" y="322" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_4" inputmask="0x80"><bounds x="1134" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_6_DP1"><bounds x="1177" y="322" width="12" height="12" /></element>
+ <element ref="16beat"><bounds x="1195" y="320" width="80" height="13" /></element>
+
+ <element ref="rocknroll"><bounds x="1033" y="359" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_5_DP4"><bounds x="1119" y="361" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_5" inputmask="0x10"><bounds x="1134" y="360" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_7_DP4"><bounds x="1177" y="361" width="12" height="12" /></element>
+ <element ref="country"><bounds x="1195" y="359" width="80" height="13" /></element>
+
+ <element ref="salsa"><bounds x="1033" y="398" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_5_DP3"><bounds x="1119" y="400" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_5" inputmask="0x20"><bounds x="1134" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_7_DP3"><bounds x="1177" y="400" width="12" height="12" /></element>
+ <element ref="rhumba"><bounds x="1195" y="398" width="80" height="13" /></element>
+
+ <element ref="samba"><bounds x="1033" y="437" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_5_DP2"><bounds x="1119" y="439" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_5" inputmask="0x40"><bounds x="1134" y="438" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_7_DP2"><bounds x="1177" y="439" width="12" height="12" /></element>
+ <element ref="bossanova"><bounds x="1195" y="437" width="80" height="13" /></element>
+
+ <element ref="marchpolka"><bounds x="1033" y="476" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_5_DP1"><bounds x="1119" y="478" width="12" height="12" /></element>
+ <element ref="button-yellow" inputtag="DRVIF_5" inputmask="0x80"><bounds x="1134" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_7_DP1"><bounds x="1177" y="478" width="12" height="12" /></element>
+ <element ref="waltz"><bounds x="1195" y="476" width="80" height="13" /></element>
+
+ <!-- right column -->
+ <element ref="button-yellow" inputtag="DRVIF_8" inputmask="0x40"><bounds x="1278" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_8_DP2"><bounds x="1321" y="244" width="12" height="12" /></element>
+ <element ref="variation"><bounds x="1339" y="242" width="65" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_8" inputmask="0x10"><bounds x="1278" y="282" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_8_DP4"><bounds x="1321" y="283" width="12" height="12" /></element>
+ <element ref="handclap"><bounds x="1339" y="281" width="65" height="13" /></element>
+ <element ref="one"><bounds x="1339" y="291" width="65" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_8" inputmask="0x20"><bounds x="1278" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_8_DP3"><bounds x="1321" y="322" width="12" height="12" /></element>
+ <element ref="handclap"><bounds x="1339" y="320" width="65" height="13" /></element>
+ <element ref="two"><bounds x="1339" y="330" width="65" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_9" inputmask="0x10"><bounds x="1278" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_9_DP4"><bounds x="1321" y="400" width="12" height="12" /></element>
+ <element ref="custom"><bounds x="1339" y="398" width="65" height="13" /></element>
+ <element ref="one"><bounds x="1339" y="408" width="65" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_9" inputmask="0x20"><bounds x="1278" y="438" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_9_DP3"><bounds x="1321" y="439" width="12" height="12" /></element>
+ <element ref="custom"><bounds x="1339" y="437" width="65" height="13" /></element>
+ <element ref="two"><bounds x="1339" y="447" width="65" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_9" inputmask="0x40"><bounds x="1278" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_9_DP2"><bounds x="1321" y="478" width="12" height="12" /></element>
+ <element ref="custom"><bounds x="1339" y="476" width="65" height="13" /></element>
+ <element ref="three"><bounds x="1339" y="486" width="65" height="13" /></element>
+
+ <!-- bottom -->
+ <element ref="slidermin"><bounds x="1047" y="522" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="1047" y="522" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="1057" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_3" mask="0xff" />
+ <bounds state="0" x="1057" y="534" width="40" height="23" />
+ <bounds state="100" x="1133" y="534" width="40" height="23" />
+ </element>
+ <element ref="volume"><bounds x="1057" y="558" width="116" height="13" /></element>
+
+ <element ref="sliderslow"><bounds x="1232" y="522" width="172" height="13" /></element>
+ <element ref="sliderfast"><bounds x="1232" y="522" width="172" height="13" /></element>
+ <element ref="slider-tempo"><bounds x="1242" y="534" width="152" height="22" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_4" mask="0xff" />
+ <bounds state="0" x="1242" y="534" width="40" height="23" />
+ <bounds state="100" x="1354" y="534" width="40" height="23" />
+ </element>
+ <element ref="tempo"><bounds x="1242" y="558" width="152" height="13" /></element>
+ </group>
+
+ <!-- custom accompaniment group -->
+ <group name="group-custom">
+ <element ref="box-174"><bounds x="1430" y="142" width="174" height="450" /></element>
+ <element ref="custom"><bounds x="1455" y="166" width="138" height="14" /></element>
+ <element ref="accompaniment"><bounds x="1455" y="178" width="138" height="14" /></element>
+
+ <element ref="button-red" inputtag="DRVIF_10" inputmask="0x80"><bounds x="1460" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_10_DP1"><bounds x="1503" y="244" width="12" height="12" /></element>
+ <element ref="program"><bounds x="1521" y="242" width="65" height="13" /></element>
+
+ <element ref="button-pink" inputtag="DRVIF_10" inputmask="0x40"><bounds x="1460" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_10_DP2"><bounds x="1503" y="322" width="12" height="12" /></element>
+ <element ref="rhythm"><bounds x="1521" y="320" width="65" height="13" /></element>
+
+ <element ref="button-pink" inputtag="DRVIF_10" inputmask="0x20"><bounds x="1460" y="360" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_10_DP3"><bounds x="1503" y="361" width="12" height="12" /></element>
+ <element ref="bass"><bounds x="1521" y="359" width="65" height="13" /></element>
+
+ <element ref="button-pink" inputtag="DRVIF_10" inputmask="0x10"><bounds x="1460" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_10_DP4"><bounds x="1503" y="400" width="12" height="12" /></element>
+ <element ref="chord"><bounds x="1521" y="398" width="65" height="13" /></element>
+
+ <element ref="button-pink" inputtag="DRVIF_7" inputmask="0x10"><bounds x="1460" y="477" width="40" height="15" /></element>
+ <element ref="clear"><bounds x="1521" y="476" width="65" height="13" /></element>
+ </group>
+
+ <!-- orchestra group -->
+ <group name="group-orchestra">
+ <element ref="box-398"><bounds x="1608" y="142" width="398" height="450" /></element>
+ <element ref="orchestra"><bounds x="1633" y="166" width="138" height="14" /></element>
+
+ <!-- left column -->
+ <element ref="jazzorgan"><bounds x="1613" y="203" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_12_DP4"><bounds x="1699" y="205" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_12" inputmask="0x10"><bounds x="1714" y="204" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_14_DP4"><bounds x="1757" y="205" width="12" height="12" /></element>
+ <element ref="piano"><bounds x="1775" y="203" width="80" height="13" /></element>
+
+ <element ref="pipeorgan"><bounds x="1613" y="242" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_12_DP3"><bounds x="1699" y="244" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_12" inputmask="0x20"><bounds x="1714" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_14_DP3"><bounds x="1757" y="244" width="12" height="12" /></element>
+ <element ref="electric"><bounds x="1775" y="242" width="80" height="13" /></element>
+ <element ref="piano"><bounds x="1775" y="252" width="80" height="13" /></element>
+
+ <element ref="strings"><bounds x="1613" y="281" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_12_DP2"><bounds x="1699" y="283" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_12" inputmask="0x40"><bounds x="1714" y="282" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_14_DP2"><bounds x="1757" y="283" width="12" height="12" /></element>
+ <element ref="harpsi"><bounds x="1775" y="281" width="80" height="13" /></element>
+ <element ref="chord"><bounds x="1775" y="291" width="80" height="13" /></element>
+
+ <element ref="brass"><bounds x="1613" y="320" width="80" height="13" /></element>
+ <element ref="oner"><bounds x="1613" y="330" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_12_DP1"><bounds x="1699" y="322" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_12" inputmask="0x80"><bounds x="1714" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_14_DP1"><bounds x="1757" y="322" width="12" height="12" /></element>
+ <element ref="vibes"><bounds x="1775" y="320" width="80" height="13" /></element>
+
+ <element ref="brass"><bounds x="1613" y="359" width="80" height="13" /></element>
+ <element ref="twor"><bounds x="1613" y="369" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_13_DP4"><bounds x="1699" y="361" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_13" inputmask="0x10"><bounds x="1714" y="360" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_15_DP4"><bounds x="1757" y="361" width="12" height="12" /></element>
+ <element ref="jazz"><bounds x="1775" y="359" width="80" height="13" /></element>
+ <element ref="guitar"><bounds x="1775" y="369" width="80" height="13" /></element>
+
+ <element ref="brassand"><bounds x="1613" y="398" width="80" height="13" /></element>
+ <element ref="chimes"><bounds x="1613" y="408" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_13_DP3"><bounds x="1699" y="400" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_13" inputmask="0x20"><bounds x="1714" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_15_DP3"><bounds x="1757" y="400" width="12" height="12" /></element>
+ <element ref="hawaiian"><bounds x="1775" y="398" width="80" height="13" /></element>
+ <element ref="guitar"><bounds x="1775" y="408" width="80" height="13" /></element>
+
+ <element ref="clarinet"><bounds x="1613" y="437" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_13_DP2"><bounds x="1699" y="439" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_13" inputmask="0x40"><bounds x="1714" y="438" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_15_DP2"><bounds x="1757" y="439" width="12" height="12" /></element>
+ <element ref="music"><bounds x="1775" y="437" width="80" height="13" /></element>
+ <element ref="box"><bounds x="1775" y="447" width="80" height="13" /></element>
+
+ <element ref="calliope"><bounds x="1613" y="476" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_13_DP1"><bounds x="1699" y="478" width="12" height="12" /></element>
+ <element ref="button-green" inputtag="DRVIF_13" inputmask="0x80"><bounds x="1714" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_15_DP1"><bounds x="1757" y="478" width="12" height="12" /></element>
+ <element ref="cosmic"><bounds x="1775" y="476" width="80" height="13" /></element>
+
+ <element ref="slidermin"><bounds x="1629" y="522" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="1629" y="522" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="1639" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-green">
+ <animate inputtag="RYP4_2" mask="0xff" />
+ <bounds state="0" x="1639" y="534" width="40" height="23" />
+ <bounds state="100" x="1715" y="534" width="40" height="23" />
+ </element>
+ <element ref="volume"><bounds x="1639" y="558" width="116" height="13" /></element>
+
+ <!-- right column -->
+ <element ref="button-green" inputtag="DRVIF_11" inputmask="0x10"><bounds x="1858" y="204" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_11_DP4"><bounds x="1901" y="205" width="12" height="12" /></element>
+ <element ref="duet"><bounds x="1919" y="203" width="80" height="13" /></element>
+
+ <element ref="button-green" inputtag="DRVIF_11" inputmask="0x20"><bounds x="1858" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_11_DP3"><bounds x="1901" y="244" width="12" height="12" /></element>
+ <element ref="trio"><bounds x="1919" y="242" width="80" height="13" /></element>
+
+ <element ref="button-green" inputtag="DRVIF_16" inputmask="0x10"><bounds x="1858" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_16_DP4"><bounds x="1901" y="322" width="12" height="12" /></element>
+ <element ref="sustain1"><bounds x="1919" y="320" width="80" height="13" /></element>
+
+ <element ref="button-green" inputtag="DRVIF_16" inputmask="0x20"><bounds x="1858" y="360" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_16_DP3"><bounds x="1901" y="361" width="12" height="12" /></element>
+ <element ref="sustain2"><bounds x="1919" y="359" width="80" height="13" /></element>
+
+ <element ref="button-green" inputtag="DRVIF_16" inputmask="0x40"><bounds x="1858" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_16_DP2"><bounds x="1901" y="400" width="12" height="12" /></element>
+ <element ref="stereo"><bounds x="1919" y="398" width="80" height="13" /></element>
+ <element ref="symphonic"><bounds x="1919" y="408" width="80" height="13" /></element>
+
+ <element ref="button-green" inputtag="DRVIF_11" inputmask="0x40"><bounds x="1858" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_11_DP2"><bounds x="1901" y="478" width="12" height="12" /></element>
+ <element ref="tolower"><bounds x="1919" y="476" width="80" height="13" /></element>
+
+ <element ref="button-red" inputtag="DRVIF_8" inputmask="0x80"><bounds x="1858" y="537" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_8_DP1"><bounds x="1901" y="538" width="12" height="12" /></element>
+ <element ref="on"><bounds x="1919" y="536" width="80" height="13" /></element>
+ </group>
+
+ <!-- solo group -->
+ <group name="group-solo">
+ <element ref="box-382"><bounds x="2011" y="142" width="382" height="450" /></element>
+ <element ref="solo"><bounds x="2036" y="166" width="138" height="14" /></element>
+
+ <!-- left column -->
+ <element ref="jazzflute"><bounds x="2013" y="203" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_17_DP4"><bounds x="2099" y="205" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_17" inputmask="0x10"><bounds x="2114" y="204" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_19_DP4"><bounds x="2157" y="205" width="12" height="12" /></element>
+ <element ref="electricguitar"><bounds x="2175" y="203" width="80" height="13" /></element>
+
+ <element ref="piccolo"><bounds x="2013" y="242" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_17_DP3"><bounds x="2099" y="244" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_17" inputmask="0x20"><bounds x="2114" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_19_DP3"><bounds x="2157" y="244" width="12" height="12" /></element>
+ <element ref="percuss"><bounds x="2175" y="242" width="80" height="13" /></element>
+ <element ref="one"><bounds x="2175" y="252" width="80" height="13" /></element>
+
+ <element ref="violin"><bounds x="2013" y="281" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_17_DP2"><bounds x="2099" y="283" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_17" inputmask="0x40"><bounds x="2114" y="282" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_19_DP2"><bounds x="2157" y="283" width="12" height="12" /></element>
+ <element ref="percuss"><bounds x="2175" y="281" width="80" height="13" /></element>
+ <element ref="two"><bounds x="2175" y="291" width="80" height="13" /></element>
+
+ <element ref="trumpet"><bounds x="2013" y="320" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_17_DP1"><bounds x="2099" y="322" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_17" inputmask="0x80"><bounds x="2114" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_19_DP1"><bounds x="2157" y="322" width="12" height="12" /></element>
+ <element ref="popsynth"><bounds x="2175" y="320" width="80" height="13" /></element>
+
+ <element ref="trombone"><bounds x="2013" y="359" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_18_DP4"><bounds x="2099" y="361" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_18" inputmask="0x10"><bounds x="2114" y="360" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_20_DP4"><bounds x="2157" y="361" width="12" height="12" /></element>
+ <element ref="bluessynth"><bounds x="2175" y="359" width="80" height="13" /></element>
+
+ <element ref="horn"><bounds x="2013" y="398" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_18_DP3"><bounds x="2099" y="400" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_18" inputmask="0x20"><bounds x="2114" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_20_DP3"><bounds x="2157" y="400" width="12" height="12" /></element>
+ <element ref="funksynth"><bounds x="2175" y="398" width="80" height="13" /></element>
+
+ <element ref="saxophone"><bounds x="2013" y="437" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_18_DP2"><bounds x="2099" y="439" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_18" inputmask="0x40"><bounds x="2114" y="438" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_20_DP2"><bounds x="2157" y="439" width="12" height="12" /></element>
+ <element ref="slapsynth"><bounds x="2175" y="437" width="80" height="13" /></element>
+
+ <element ref="oboe"><bounds x="2013" y="476" width="80" height="13" /></element>
+ <element ref="led" name="DRVIF_18_DP1"><bounds x="2099" y="478" width="12" height="12" /></element>
+ <element ref="button-grey" inputtag="DRVIF_18" inputmask="0x80"><bounds x="2114" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_20_DP1"><bounds x="2157" y="478" width="12" height="12" /></element>
+ <element ref="bass"><bounds x="2175" y="476" width="80" height="13" /></element>
+
+ <element ref="slidermin"><bounds x="2029" y="522" width="136" height="13" /></element>
+ <element ref="slidermax"><bounds x="2029" y="522" width="136" height="13" /></element>
+ <element ref="slider"><bounds x="2038" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="RYP4_1" mask="0xff" />
+ <bounds state="0" x="2038" y="534" width="40" height="23" />
+ <bounds state="100" x="2114" y="534" width="40" height="23" />
+ </element>
+ <element ref="volume"><bounds x="2038" y="558" width="116" height="13" /></element>
+
+ <!-- right column -->
+ <element ref="button-grey" inputtag="DRVIF_16" inputmask="0x80"><bounds x="2259" y="321" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_16_DP1"><bounds x="2302" y="322" width="12" height="12" /></element>
+ <element ref="sustain"><bounds x="2320" y="320" width="60" height="13" /></element>
+
+ <element ref="button-red" inputtag="DRVIF_11" inputmask="0x80"><bounds x="2259" y="537" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_11_DP1"><bounds x="2302" y="538" width="12" height="12" /></element>
+ <element ref="on"><bounds x="2320" y="536" width="60" height="13" /></element>
+ </group>
+
+ <!-- tape/music programmer group -->
+ <group name="group-tape">
+ <element ref="box-237"><bounds x="2398" y="142" width="237" height="450" /></element>
+ <element ref="tape"><bounds x="2423" y="166" width="138" height="14" /></element>
+
+ <!-- tape -->
+ <element ref="button-orange" inputtag="DRVIF_21" inputmask="0x80"><bounds x="2422" y="204" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_21_DP1"><bounds x="2465" y="205" width="12" height="12" /></element>
+ <element ref="save"><bounds x="2483" y="203" width="80" height="13" /></element>
+
+ <element ref="button-orange" inputtag="DRVIF_22" inputmask="0x80"><bounds x="2422" y="243" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_22_DP1"><bounds x="2465" y="244" width="12" height="12" /></element>
+ <element ref="load"><bounds x="2483" y="242" width="80" height="13" /></element>
+
+ <!-- music programmer -->
+ <element ref="musicprogrammer"><bounds x="2423" y="327" width="138" height="14" /></element>
+
+ <element ref="offc"><bounds x="2422" y="349" width="106" height="13" /></element>
+ <element ref="button-wide-orange" inputtag="DRVIF_19" inputmask="0x10"><bounds x="2422" y="363" width="106" height="15" /></element>
+
+ <element ref="record"><bounds x="2422" y="382" width="80" height="13" /></element>
+ <element ref="playback"><bounds x="2487" y="382" width="80" height="13" /></element>
+
+ <element ref="led" name="DRVIF_21_DP2"><bounds x="2407" y="400" width="12" height="12" /></element>
+ <element ref="button-red" inputtag="DRVIF_21" inputmask="0x40"><bounds x="2422" y="399" width="40" height="15" /></element>
+ <element ref="button-orange" inputtag="DRVIF_22" inputmask="0x40"><bounds x="2488" y="399" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_22_DP2"><bounds x="2531" y="400" width="12" height="12" /></element>
+ <element ref="solo"><bounds x="2549" y="398" width="80" height="14" /></element>
+
+ <element ref="led" name="DRVIF_21_DP3"><bounds x="2407" y="439" width="12" height="12" /></element>
+ <element ref="button-red" inputtag="DRVIF_21" inputmask="0x20"><bounds x="2422" y="438" width="40" height="15" /></element>
+ <element ref="button-orange" inputtag="DRVIF_22" inputmask="0x20"><bounds x="2488" y="438" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_22_DP3"><bounds x="2531" y="439" width="12" height="12" /></element>
+ <element ref="orchestra"><bounds x="2549" y="437" width="80" height="14" /></element>
+
+ <element ref="led" name="DRVIF_21_DP4"><bounds x="2407" y="478" width="12" height="12" /></element>
+ <element ref="button-red" inputtag="DRVIF_21" inputmask="0x10"><bounds x="2422" y="477" width="40" height="15" /></element>
+ <element ref="button-orange" inputtag="DRVIF_22" inputmask="0x10"><bounds x="2488" y="477" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_22_DP4"><bounds x="2531" y="478" width="12" height="12" /></element>
+ <element ref="chordbass"><bounds x="2549" y="476" width="80" height="14" /></element>
+
+ <element ref="button-orange" inputtag="DRVIF_9" inputmask="0x80"><bounds x="2488" y="537" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_9_DP1"><bounds x="2531" y="538" width="12" height="12" /></element>
+ <element ref="pause"><bounds x="2549" y="536" width="80" height="13" /></element>
+ </group>
+
+ <!-- above keyboard group -->
+ <group name="group-abovekeys">
+ <element ref="button-green" inputtag="DRVIF_0" inputmask="0x10"><bounds x="204" y="618" width="40" height="15" /></element>
+ <element ref="keysplit"><bounds x="247" y="617" width="85" height="13" /></element>
+
+ <element ref="button-yellow" inputtag="DRVIF_3" inputmask="0x10"><bounds x="338" y="618" width="40" height="15" /></element>
+ <element ref="led" name="DRVIF_2_DP4"><bounds x="381" y="619" width="12" height="12" /></element>
+ <element ref="keyboardpercussion"><bounds x="399" y="617" width="160" height="13" /></element>
+
+ <element ref="fillin"><bounds x="532" y="617" width="60" height="13" /></element>
+ <element ref="button-wide-yellow" inputtag="DRVIF_3" inputmask="0x20"><bounds x="595" y="618" width="106" height="15" /></element>
+ <element ref="one"><bounds x="704" y="617" width="60" height="13" /></element>
+
+ <element ref="button-wide-yellow" inputtag="DRVIF_3" inputmask="0x40"><bounds x="727" y="618" width="106" height="15" /></element>
+ <element ref="two"><bounds x="836" y="617" width="60" height="13" /></element>
+
+ <element ref="button-wide-yellow" inputtag="DRVIF_3" inputmask="0x80"><bounds x="860" y="618" width="106" height="15" /></element>
+ <element ref="three"><bounds x="969" y="617" width="60" height="13" /></element>
+
+ <element ref="synchrostart"><bounds x="1019" y="617" width="100" height="13" /></element>
+ <element ref="button-wide-red" inputtag="DRVIF_6" inputmask="0x20"><bounds x="1122" y="618" width="106" height="15" /></element>
+
+ <element ref="button-wide-red" inputtag="DRVIF_6" inputmask="0x40"><bounds x="1256" y="618" width="106" height="15" /></element>
+ <element ref="start"><bounds x="1365" y="617" width="60" height="13" /></element>
+
+ <element ref="stop"><bounds x="1441" y="617" width="60" height="14" /></element>
+ <element ref="button-wide-yellow" inputtag="DRVIF_6" inputmask="0x10"><bounds x="1504" y="618" width="106" height="15" /></element>
+
+ <element ref="button-wide-yellow" inputtag="DRVIF_6" inputmask="0x80"><bounds x="1637" y="618" width="106" height="15" /></element>
+ <element ref="introending"><bounds x="1746" y="617" width="80" height="13" /></element>
+
+ <element ref="button-red" inputtag="DRVIF_20" inputmask="0x80"><bounds x="2031" y="618" width="40" height="15" /></element>
+ <element ref="registrationmemory"><bounds x="1908" y="617" width="120" height="13" /></element>
+
+ <element ref="programr"><bounds x="2068" y="617" width="60" height="13" /></element>
+ <element ref="button-wide-blue" inputtag="DRVIF_20" inputmask="0x10"><bounds x="2131" y="618" width="106" height="15" /></element>
+ <element ref="one"><bounds x="2240" y="617" width="20" height="13" /></element>
+
+ <element ref="button-wide-blue" inputtag="DRVIF_20" inputmask="0x20"><bounds x="2265" y="618" width="106" height="15" /></element>
+ <element ref="two"><bounds x="2374" y="617" width="20" height="13" /></element>
+
+ <element ref="button-wide-blue" inputtag="DRVIF_20" inputmask="0x40"><bounds x="2398" y="618" width="106" height="15" /></element>
+ <element ref="three"><bounds x="2507" y="617" width="20" height="13" /></element>
+
+ <element ref="button-grey" inputtag="DRVIF_7" inputmask="0x80"><bounds x="2634" y="618" width="40" height="15" /></element>
+ <element ref="midimode"><bounds x="2677" y="617" width="80" height="13" /></element>
+ </group>
+
+ <!-- keyboard group -->
+ <group name="keyboard">
+ <element ref="keyfill"><bounds x="564" y="494" width="2969" height="524" /></element>
+
+ <!-- key layout:
+ wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
+ 45 44 53 44 45 45 44 44 44 44 44 45
+ 0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
+ 0->79 82->161 164->243 246->325 328->407 410->489 492->571
+ -->
+
+ <!-- split leds -->
+ <element ref="splitled" name="DRVIF_0_DP4"><bounds x="1476" y="494" width="10" height="10" /></element>
+ <element ref="splitled" name="DRVIF_0_DP3"><bounds x="1715" y="494" width="10" height="10" /></element>
+ <element ref="splitled" name="DRVIF_0_DP2"><bounds x="1961" y="494" width="10" height="10" /></element>
+
+ <!-- octave 0 -->
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x20"><bounds x="622" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x08"><bounds x="725" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_9" inputmask="0x01"><bounds x="865" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_8" inputmask="0x10"><bounds x="959" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_8" inputmask="0x04"><bounds x="1053" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_9" inputmask="0x40"><bounds x="574" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_9" inputmask="0x10"><bounds x="656" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_9" inputmask="0x04"><bounds x="738" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_9" inputmask="0x02"><bounds x="820" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_8" inputmask="0x20"><bounds x="902" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_8" inputmask="0x08"><bounds x="984" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_8" inputmask="0x02"><bounds x="1066" y="504" width="79" height="504" /></element>
+
+ <!-- octave 1 -->
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x20"><bounds x="1196" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x08"><bounds x="1299" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_7" inputmask="0x01"><bounds x="1439" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_6" inputmask="0x10"><bounds x="1533" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_6" inputmask="0x04"><bounds x="1627" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_8" inputmask="0x01"><bounds x="1148" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_7" inputmask="0x10"><bounds x="1230" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_7" inputmask="0x04"><bounds x="1312" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_7" inputmask="0x02"><bounds x="1394" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_6" inputmask="0x20"><bounds x="1476" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_6" inputmask="0x08"><bounds x="1558" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_6" inputmask="0x02"><bounds x="1640" y="504" width="79" height="504" /></element>
+
+ <!-- octave 2 -->
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x20"><bounds x="1770" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x08"><bounds x="1873" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_5" inputmask="0x01"><bounds x="2013" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_4" inputmask="0x10"><bounds x="2107" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_4" inputmask="0x04"><bounds x="2201" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_6" inputmask="0x01"><bounds x="1722" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_5" inputmask="0x10"><bounds x="1804" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_5" inputmask="0x04"><bounds x="1886" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_5" inputmask="0x02"><bounds x="1968" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_4" inputmask="0x20"><bounds x="2050" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_4" inputmask="0x08"><bounds x="2132" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_4" inputmask="0x02"><bounds x="2214" y="504" width="79" height="504" /></element>
+
+ <!-- octave 3 -->
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x20"><bounds x="2344" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x08"><bounds x="2447" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_3" inputmask="0x01"><bounds x="2587" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_2" inputmask="0x10"><bounds x="2681" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_2" inputmask="0x04"><bounds x="2775" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_4" inputmask="0x01"><bounds x="2296" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_3" inputmask="0x10"><bounds x="2378" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_3" inputmask="0x04"><bounds x="2460" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_3" inputmask="0x02"><bounds x="2542" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_2" inputmask="0x20"><bounds x="2624" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_2" inputmask="0x08"><bounds x="2706" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_2" inputmask="0x02"><bounds x="2788" y="504" width="79" height="504" /></element>
+
+ <!-- octave 4 -->
+ <element ref="blackkey" inputtag="P1_1" inputmask="0x20"><bounds x="2918" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_1" inputmask="0x08"><bounds x="3021" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_1" inputmask="0x01"><bounds x="3161" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_0" inputmask="0x10"><bounds x="3255" y="504" width="44" height="324" /></element>
+ <element ref="blackkey" inputtag="P1_0" inputmask="0x04"><bounds x="3349" y="504" width="44" height="324" /></element>
+ <element ref="whitekey-l" inputtag="P1_2" inputmask="0x01"><bounds x="2870" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-m" inputtag="P1_1" inputmask="0x10"><bounds x="2952" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_1" inputmask="0x04"><bounds x="3034" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-l" inputtag="P1_1" inputmask="0x02"><bounds x="3116" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-lm" inputtag="P1_0" inputmask="0x20"><bounds x="3198" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-rm" inputtag="P1_0" inputmask="0x08"><bounds x="3280" y="504" width="79" height="504" /></element>
+ <element ref="whitekey-r" inputtag="P1_0" inputmask="0x02"><bounds x="3362" y="504" width="79" height="504" /></element>
+
+ <!-- final key -->
+ <element ref="whitekey" inputtag="P1_0" inputmask="0x01"><bounds x="3444" y="504" width="79" height="504" /></element>
+ </group>
+
+ <view name="Keyboard">
+ <!-- overall background -->
+ <element ref="greyback"><bounds x="0" y="0" width="3295" height="1194" /></element>
+ <element ref="top-box"><bounds x="669" y="37" width="1966" height="103" /></element>
+
+ <!-- pitch box -->
+ <group ref="group-pitch"><bounds x="669" y="142" width="174" height="450" /></group>
+
+ <!-- auto bass chord box -->
+ <group ref="group-autobasschord"><bounds x="848" y="142" width="174" height="450" /></group>
+
+ <!-- rhythm box -->
+ <group ref="group-rhythm"><bounds x="1027" y="142" width="398" height="450" /></group>
+
+ <!-- custom accompaniment box -->
+ <group ref="group-custom"><bounds x="1430" y="142" width="174" height="450" /></group>
+
+ <!-- orchestra box -->
+ <group ref="group-orchestra"><bounds x="1609" y="142" width="398" height="450" /></group>
+
+ <!-- solo box -->
+ <group ref="group-solo"><bounds x="2011" y="142" width="382" height="450" /></group>
+
+ <!-- tape box -->
+ <group ref="group-tape"><bounds x="2398" y="142" width="237" height="450" /></group>
+
+ <!-- left speaker -->
+ <element ref="speaker"><bounds x="27" y="37" width="630" height="555" /></element>
+
+ <!-- above keys -->
+ <group ref="group-abovekeys"><bounds x="204" y="618" width="2553" height="15" /></group>
+
+ <!-- logo -->
+ <element ref="yamaha"><bounds x="2948" y="619" width="135" height="36" /></element>
+ <element ref="psr70"><bounds x="2870" y="641" width="57" height="15" /></element>
+
+ <!-- keyboard -->
+ <group ref="keyboard"><bounds x="155" y="680" width="2969" height="524" /></group>
+
+ <!-- right speaker -->
+ <element ref="speaker"><bounds x="2645" y="37" width="630" height="555" /></element>
+ </view>
+
+ <view name="16:9 Friendly">
+ <!-- pitch box -->
+ <group ref="group-pitch"><bounds x="170" y="-84" width="261" height="676" /></group>
+
+ <!-- auto bass chord box -->
+ <group ref="group-autobasschord"><bounds x="436" y="-84" width="261" height="676" /></group>
+
+ <!-- rhythm box -->
+ <group ref="group-rhythm"><bounds x="702" y="-84" width="598" height="676" /></group>
+
+ <!-- custom accompaniment box -->
+ <group ref="group-custom"><bounds x="1305" y="-84" width="261" height="676" /></group>
+
+ <!-- orchestra box -->
+ <group ref="group-orchestra"><bounds x="1571" y="-84" width="598" height="676" /></group>
+
+ <!-- solo box -->
+ <group ref="group-solo"><bounds x="2174" y="-84" width="574" height="676" /></group>
+
+ <!-- tape box -->
+ <group ref="group-tape"><bounds x="2753" y="-84" width="356" height="676" /></group>
+
+ <!-- above keys -->
+ <group ref="group-abovekeys"><bounds x="165" y="618" width="2959" height="18" /></group>
+
+ <!-- keyboard -->
+ <group ref="keyboard"><bounds x="155" y="680" width="2969" height="524" /></group>
+ </view>
+</mamelayout>
diff --git a/src/mame/layout/saitek_galileo.lay b/src/mame/layout/saitek_galileo.lay
new file mode 100644
index 00000000000..584990420a2
--- /dev/null
+++ b/src/mame/layout/saitek_galileo.lay
@@ -0,0 +1,669 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="black"><rect><color red="0.12" green="0.11" blue="0.1" /></rect></element>
+ <element name="lcdm"><rect><color red="0.58" green="0.61" blue="0.62" /></rect></element>
+
+ <element name="ledo">
+ <disk><color red="0.1" green="0.1" blue="0.1" /></disk>
+ </element>
+ <element name="ledr" defstate="0">
+ <disk state="0"><color red="0" green="0" blue="0" /></disk>
+ <disk state="1"><color red="1" green="0" blue="0" /></disk>
+ </element>
+ <element name="ledg" defstate="0">
+ <disk state="0"><color red="0" green="0" blue="0" /></disk>
+ <disk state="1"><color red="0" green="1" blue="0" /></disk>
+ </element>
+
+ <element name="text_1">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_2">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_3">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_4">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_5">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_6">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_7">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_8">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+
+ <element name="text_a">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_b">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_c">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_d">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_e">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_f">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_g">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+ <element name="text_h">
+ <rect><color red="0.56" green="0.33" blue="0.12" /></rect>
+ <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text>
+ </element>
+
+
+<!-- sb board -->
+
+ <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element>
+ <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></rect></element>
+
+ <element name="hlbb" defstate="0">
+ <text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
+ <disk state="1">
+ <bounds x="0.12" y="0.12" width="0.76" height="0.76" />
+ <color red="0" green="0" blue="0" />
+ </disk>
+ </element>
+
+ <element name="piece" defstate="0">
+ <image file="chess/wp.svg" state="1"/>
+ <image file="chess/wn.svg" state="2"/>
+ <image file="chess/wb.svg" state="3"/>
+ <image file="chess/wr.svg" state="4"/>
+ <image file="chess/wq.svg" state="5"/>
+ <image file="chess/wk.svg" state="6"/>
+
+ <image file="chess/bp.svg" state="7"/>
+ <image file="chess/bn.svg" state="8"/>
+ <image file="chess/bb.svg" state="9"/>
+ <image file="chess/br.svg" state="10"/>
+ <image file="chess/bq.svg" state="11"/>
+ <image file="chess/bk.svg" state="12"/>
+
+ <!-- selected pieces -->
+ <image file="chess/wp.svg" state="13"><color alpha="0.5" /></image>
+ <image file="chess/wn.svg" state="14"><color alpha="0.5" /></image>
+ <image file="chess/wb.svg" state="15"><color alpha="0.5" /></image>
+ <image file="chess/wr.svg" state="16"><color alpha="0.5" /></image>
+ <image file="chess/wq.svg" state="17"><color alpha="0.5" /></image>
+ <image file="chess/wk.svg" state="18"><color alpha="0.5" /></image>
+
+ <image file="chess/bp.svg" state="19"><color alpha="0.5" /></image>
+ <image file="chess/bn.svg" state="20"><color alpha="0.5" /></image>
+ <image file="chess/bb.svg" state="21"><color alpha="0.5" /></image>
+ <image file="chess/br.svg" state="22"><color alpha="0.5" /></image>
+ <image file="chess/bq.svg" state="23"><color alpha="0.5" /></image>
+ <image file="chess/bk.svg" state="24"><color alpha="0.5" /></image>
+ </element>
+
+ <group name="sb_board">
+ <bounds x="0" y="0" width="80" height="80" />
+
+ <!-- squares (avoid seams) -->
+ <element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element>
+
+ <element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element>
+
+ <element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element>
+
+ <element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element>
+
+ <element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element>
+
+ <element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element>
+
+ <element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element>
+ <element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element>
+ <element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element>
+
+ <element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element>
+ <element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element>
+ <element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element>
+ <element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element>
+ <element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element>
+ <element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element>
+ <element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element>
+ <element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element>
+
+ <!-- sensors, pieces -->
+ <repeat count="8">
+ <param name="y" start="0" increment="10" />
+ <param name="i" start="8" increment="-1" />
+
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+
+ <element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
+ <element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
+ <element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element>
+ <element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element>
+ <element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element>
+ <element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element>
+ <element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element>
+ <element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element>
+ </repeat>
+ </group>
+
+
+<!-- sb ui -->
+
+ <element name="hlub" defstate="0">
+ <rect state="1"><color red="0" green="0" blue="0" /></rect>
+ </element>
+
+ <element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uib2">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uib3">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uih2">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uiu2a">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uiu2b">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uiu2c">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uiu2d">
+ <rect><color red="0.84" green="0.75" blue="0.50" /></rect>
+ <text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
+ </element>
+ <element name="text_uiu3a" defstate="0">
+ <simplecounter maxstate="999" digits="1" align="2">
+ <color red="0.81" green="0.8" blue="0.79" />
+ </simplecounter>
+ </element>
+ <element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element>
+ <element name="text_uiu3c" defstate="0">
+ <simplecounter maxstate="999" digits="1" align="1">
+ <color red="0.81" green="0.8" blue="0.79" />
+ </simplecounter>
+ </element>
+
+ <group name="sb_ui">
+ <bounds x="0" y="0" width="10" height="80" />
+ <element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element>
+ <element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element>
+ <element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element>
+ <element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element>
+ <element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element>
+
+ <!-- board -->
+ <element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element>
+ <element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element>
+ <element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element>
+
+ <element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
+ <element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
+
+ <element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
+
+ <!-- spawn -->
+ <element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
+ <element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element>
+ <element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element>
+
+ <element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element>
+ <element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element>
+ <element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element>
+ <element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element>
+ <element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element>
+ <element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element>
+ <element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element>
+ <element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element>
+ <element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element>
+ <element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element>
+ <element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
+ <element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
+
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
+
+ <!-- hand -->
+ <element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
+ <element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element>
+ <element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element>
+
+ <element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
+ <element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
+
+ <!-- undo -->
+ <element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
+ <element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element>
+ <element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element>
+ <element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element>
+ <element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element>
+ <element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element>
+ <element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element>
+ <element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
+ <element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
+
+ <element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+
+ <element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
+ <element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
+ <element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element>
+ </group>
+
+
+<!-- chessboard -->
+
+ <group name="board">
+ <bounds x="-1" y="-1.5" width="89" height="89" />
+
+ <element ref="cblack"><bounds x="-1" y="-1.5" width="89" height="89" /></element>
+ <element ref="black"><bounds x="3" y="2.5" width="81" height="81" /></element>
+ <group ref="sb_board"><bounds x="3.5" y="3" width="80" height="80" /></group>
+
+ <!-- chessboard coords -->
+ <element ref="text_8"><bounds x="0.1" y="9" width="2" height="2" /></element>
+ <element ref="text_7"><bounds x="0.1" y="19" width="2" height="2" /></element>
+ <element ref="text_6"><bounds x="0.1" y="29" width="2" height="2" /></element>
+ <element ref="text_5"><bounds x="0.1" y="39" width="2" height="2" /></element>
+ <element ref="text_4"><bounds x="0.1" y="49" width="2" height="2" /></element>
+ <element ref="text_3"><bounds x="0.1" y="59" width="2" height="2" /></element>
+ <element ref="text_2"><bounds x="0.1" y="69" width="2" height="2" /></element>
+ <element ref="text_1"><bounds x="0.1" y="79" width="2" height="2" /></element>
+
+ <element ref="text_a"><bounds x="5.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_b"><bounds x="15.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_c"><bounds x="25.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_d"><bounds x="35.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_e"><bounds x="45.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_f"><bounds x="55.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_g"><bounds x="65.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_h"><bounds x="75.5" y="84.5" width="2" height="2" /></element>
+
+ <!-- chessboard leds -->
+ <element ref="ledo"><bounds x="0.25" y="7.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="17.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="27.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="37.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="47.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="57.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="67.25" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="0.25" y="77.25" width="1.5" height="1.5" /></element>
+
+ <element name="7.2" ref="ledg" blend="add"><bounds x="0.25" y="7.25" width="1.5" height="1.5" /></element>
+ <element name="6.2" ref="ledg" blend="add"><bounds x="0.25" y="17.25" width="1.5" height="1.5" /></element>
+ <element name="5.2" ref="ledg" blend="add"><bounds x="0.25" y="27.25" width="1.5" height="1.5" /></element>
+ <element name="4.2" ref="ledg" blend="add"><bounds x="0.25" y="37.25" width="1.5" height="1.5" /></element>
+ <element name="3.2" ref="ledg" blend="add"><bounds x="0.25" y="47.25" width="1.5" height="1.5" /></element>
+ <element name="2.2" ref="ledg" blend="add"><bounds x="0.25" y="57.25" width="1.5" height="1.5" /></element>
+ <element name="1.2" ref="ledg" blend="add"><bounds x="0.25" y="67.25" width="1.5" height="1.5" /></element>
+ <element name="0.2" ref="ledg" blend="add"><bounds x="0.25" y="77.25" width="1.5" height="1.5" /></element>
+
+ <element name="7.3" ref="ledr" blend="add"><bounds x="0.25" y="7.25" width="1.5" height="1.5" /></element>
+ <element name="6.3" ref="ledr" blend="add"><bounds x="0.25" y="17.25" width="1.5" height="1.5" /></element>
+ <element name="5.3" ref="ledr" blend="add"><bounds x="0.25" y="27.25" width="1.5" height="1.5" /></element>
+ <element name="4.3" ref="ledr" blend="add"><bounds x="0.25" y="37.25" width="1.5" height="1.5" /></element>
+ <element name="3.3" ref="ledr" blend="add"><bounds x="0.25" y="47.25" width="1.5" height="1.5" /></element>
+ <element name="2.3" ref="ledr" blend="add"><bounds x="0.25" y="57.25" width="1.5" height="1.5" /></element>
+ <element name="1.3" ref="ledr" blend="add"><bounds x="0.25" y="67.25" width="1.5" height="1.5" /></element>
+ <element name="0.3" ref="ledr" blend="add"><bounds x="0.25" y="77.25" width="1.5" height="1.5" /></element>
+
+ <element ref="ledo"><bounds x="7.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="17.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="27.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="37.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="47.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="57.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="67.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="77.75" y="84.75" width="1.5" height="1.5" /></element>
+
+ <element name="0.0" ref="ledg" blend="add"><bounds x="7.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="1.0" ref="ledg" blend="add"><bounds x="17.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="2.0" ref="ledg" blend="add"><bounds x="27.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="3.0" ref="ledg" blend="add"><bounds x="37.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="4.0" ref="ledg" blend="add"><bounds x="47.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="5.0" ref="ledg" blend="add"><bounds x="57.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="6.0" ref="ledg" blend="add"><bounds x="67.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="7.0" ref="ledg" blend="add"><bounds x="77.75" y="84.75" width="1.5" height="1.5" /></element>
+
+ <element name="0.1" ref="ledr" blend="add"><bounds x="7.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="1.1" ref="ledr" blend="add"><bounds x="17.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="2.1" ref="ledr" blend="add"><bounds x="27.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="3.1" ref="ledr" blend="add"><bounds x="37.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="4.1" ref="ledr" blend="add"><bounds x="47.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="5.1" ref="ledr" blend="add"><bounds x="57.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="6.1" ref="ledr" blend="add"><bounds x="67.75" y="84.75" width="1.5" height="1.5" /></element>
+ <element name="7.1" ref="ledr" blend="add"><bounds x="77.75" y="84.75" width="1.5" height="1.5" /></element>
+ </group>
+
+
+<!-- button panel -->
+
+ <element name="led" defstate="0">
+ <rect state="0"><color red="0.15" green="0" blue="0" /></rect>
+ <rect state="1"><color red="1" green="0" blue="0" /></rect>
+ </element>
+
+ <element name="ledro">
+ <rect><color red="0.1" green="0.1" blue="0.1" /></rect>
+ </element>
+ <element name="ledrr" defstate="0">
+ <rect state="0"><color red="0" green="0" blue="0" /></rect>
+ <rect state="1"><color red="1" green="0" blue="0" /></rect>
+ </element>
+ <element name="ledrg" defstate="0">
+ <rect state="0"><color red="0" green="0" blue="0" /></rect>
+ <rect state="1"><color red="0" green="1" blue="0" /></rect>
+ </element>
+
+ <element name="not" defstate="0">
+ <rect><color alpha="0" /></rect>
+ </element>
+ <element name="but" defstate="0">
+ <rect state="0"><color red="0.21" green="0.2" blue="0.2" /></rect>
+ <rect state="1"><color red="0.34" green="0.33" blue="0.33" /></rect>
+ </element>
+ <element name="butd" defstate="0">
+ <disk state="0"><color red="0.21" green="0.2" blue="0.2" /></disk>
+ <disk state="1"><color red="0.34" green="0.33" blue="0.33" /></disk>
+ </element>
+
+ <element name="text_l01"><text string="ACL" align="1"/></element>
+ <element name="text_l02"><text string="MODE" align="1"/></element>
+
+ <element name="text_l11"><text string="CHECK"/></element>
+ <element name="text_l12"><text string="END"/></element>
+ <element name="text_l13"><text string="TAB/COLOR"/></element>
+ <element name="text_l14"><text string="FUNCTION"/></element>
+ <element name="text_l15"><text string="PLAY"/></element>
+ <element name="text_l16"><text string="NORMAL"/></element>
+ <element name="text_l17"><text string="NEW GAME"/></element>
+
+ <element name="text_l21"><text string="WHITE"/></element>
+ <element name="text_l22"><text string="BLACK"/></element>
+ <element name="text_l23"><text string="+"/></element>
+ <element name="text_l24"><text string="SOUND"/></element>
+ <element name="text_l25"><text string="LEVEL"/></element>
+ <element name="text_l26"><text string="ANALYSIS"/></element>
+ <element name="text_l27"><text string="GO"/></element>
+
+ <element name="text_l31"><text string="COMM"/></element>
+ <element name="text_l32"><text string="MODULE"/></element>
+ <element name="text_l33"><text string="-"/></element>
+ <element name="text_l34"><text string="INFO"/></element>
+ <element name="text_l35"><text string="LIBRARY"/></element>
+ <element name="text_l36"><text string="SET UP"/></element>
+ <element name="text_l37"><text string="STOP"/></element>
+
+ <element name="text_p1"><image file="chess/wk.svg"/></element>
+ <element name="text_p2"><image file="chess/wq.svg"/></element>
+ <element name="text_p3"><image file="chess/wr.svg"/></element>
+ <element name="text_p4"><image file="chess/wb.svg"/></element>
+ <element name="text_p5"><image file="chess/wn.svg"/></element>
+ <element name="text_p6"><image file="chess/wp.svg"/></element>
+
+ <element name="tmul"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
+
+ <group name="panel">
+ <bounds x="0" y="0" width="55" height="13" />
+
+ <element ref="text_l01"><bounds x="41" y="0.4" width="5" height="1.3" /></element>
+ <element ref="text_l02"><bounds x="48" y="0.4" width="5" height="1.3" /></element>
+
+ <element ref="text_l11"><bounds x="18.25" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l12"><bounds x="22.25" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l13"><bounds x="29.25" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l14"><bounds x="34.5" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l15"><bounds x="39.25" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l16"><bounds x="44.25" y="2.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l17"><bounds x="49.25" y="2.6" width="5.5" height="1.3" /></element>
+
+ <element ref="text_l21"><bounds x="18.25" y="6.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l22"><bounds x="22.25" y="6.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l23"><bounds x="29.25" y="6.0" width="5.5" height="1.5" /></element>
+ <element ref="text_l24"><bounds x="34.25" y="6.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l25"><bounds x="39.25" y="6.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l26"><bounds x="44.25" y="6.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l27"><bounds x="49.25" y="6.1" width="5.5" height="1.3" /></element>
+
+ <element ref="text_l31"><bounds x="18.25" y="9.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l32"><bounds x="22.25" y="9.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l33"><bounds x="29.25" y="9.5" width="5.5" height="1.5" /></element>
+ <element ref="text_l34"><bounds x="34.25" y="9.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l35"><bounds x="39.25" y="9.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l36"><bounds x="44.25" y="9.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l37"><bounds x="49.25" y="9.6" width="5.5" height="1.3" /></element>
+
+ <element ref="text_p1"><bounds x="4.1" y="2.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p2"><bounds x="4.1" y="5.6" width="1.8" height="1.8" /></element>
+ <element ref="text_p3"><bounds x="4.1" y="9.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p4"><bounds x="13.1" y="2.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p5"><bounds x="13.1" y="5.6" width="1.8" height="1.8" /></element>
+ <element ref="text_p6"><bounds x="13.1" y="9.1" width="1.8" height="1.8" /></element>
+
+ <element ref="tmul" blend="multiply"><bounds x="0" y="0" width="55" height="13" /></element>
+
+ <element ref="ledro"><bounds x="0" y="4" width="2" height="1" /></element>
+ <element ref="ledro"><bounds x="0" y="7.5" width="2" height="1" /></element>
+ <element ref="ledro"><bounds x="0" y="11" width="2" height="1" /></element>
+
+ <element name="8.3" ref="ledrr" blend="add"><bounds x="0" y="4" width="2" height="1" /></element>
+ <element name="8.5" ref="ledrr" blend="add"><bounds x="0" y="7.5" width="2" height="1" /></element>
+ <element name="8.4" ref="ledrr" blend="add"><bounds x="0" y="11" width="2" height="1" /></element>
+ <element name="9.3" ref="ledrg" blend="add"><bounds x="0" y="4" width="2" height="1" /></element>
+ <element name="9.5" ref="ledrg" blend="add"><bounds x="0" y="7.5" width="2" height="1" /></element>
+ <element name="9.4" ref="ledrg" blend="add"><bounds x="0" y="11" width="2" height="1" /></element>
+
+ <element ref="ledro"><bounds x="9" y="4" width="2" height="1" /></element>
+ <element ref="ledro"><bounds x="9" y="7.5" width="2" height="1" /></element>
+ <element ref="ledro"><bounds x="9" y="11" width="2" height="1" /></element>
+
+ <element name="8.6" ref="ledrr" blend="add"><bounds x="9" y="4" width="2" height="1" /></element>
+ <element name="8.2" ref="ledrr" blend="add"><bounds x="9" y="7.5" width="2" height="1" /></element>
+ <element name="8.0" ref="ledrr" blend="add"><bounds x="9" y="11" width="2" height="1" /></element>
+ <element name="9.6" ref="ledrg" blend="add"><bounds x="9" y="4" width="2" height="1" /></element>
+ <element name="9.2" ref="ledrg" blend="add"><bounds x="9" y="7.5" width="2" height="1" /></element>
+ <element name="9.0" ref="ledrg" blend="add"><bounds x="9" y="11" width="2" height="1" /></element>
+
+ <element name="9.9" ref="led"><bounds x="20" y="4" width="2" height="1" /></element>
+ <element name="8.9" ref="led"><bounds x="24" y="4" width="2" height="1" /></element>
+ <element name="9.8" ref="led"><bounds x="20" y="7.5" width="2" height="1" /></element>
+ <element name="8.8" ref="led"><bounds x="24" y="7.5" width="2" height="1" /></element>
+ <element name="9.1" ref="led"><bounds x="20" y="11" width="2" height="1" /></element>
+ <element name="8.1" ref="led"><bounds x="24" y="11" width="2" height="1" /></element>
+
+ <element ref="ledro"><bounds x="45" y="0.5" width="2" height="1" /></element>
+ <element name="8.7" ref="ledrr" blend="add"><bounds x="45" y="0.5" width="2" height="1" /></element>
+ <element name="9.7" ref="ledrg" blend="add"><bounds x="45" y="0.5" width="2" height="1" /></element>
+
+ <element ref="butd" inputtag="RESET" inputmask="0x02"><bounds x="39" y="0.5" width="1" height="1" /></element>
+
+ <element ref="but" inputtag="IN.0" inputmask="0x01"><bounds x="3" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x02"><bounds x="12" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x02"><bounds x="30" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x02"><bounds x="35" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x02"><bounds x="40" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x02"><bounds x="45" y="4" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x02"><bounds x="50" y="4" width="4" height="1" /></element>
+
+ <element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="3" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.0" inputmask="0x04"><bounds x="12" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x04"><bounds x="30" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x04"><bounds x="35" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x04"><bounds x="40" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x04"><bounds x="45" y="7.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="RESET" inputmask="0x01"><bounds x="50" y="7.5" width="4" height="1" /></element>
+
+ <element ref="but" inputtag="IN.0" inputmask="0x02"><bounds x="3" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x04"><bounds x="12" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x01"><bounds x="30" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x01"><bounds x="35" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x04"><bounds x="40" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x04"><bounds x="45" y="11" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x02"><bounds x="50" y="11" width="4" height="1" /></element>
+
+ <!-- larger clickable area -->
+ <element ref="not" inputtag="IN.0" inputmask="0x01"><bounds x="3" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x02"><bounds x="12" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x02"><bounds x="30" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x02"><bounds x="35" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x02"><bounds x="40" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x02"><bounds x="45" y="2.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x02"><bounds x="50" y="2.6" width="4" height="2" /></element>
+
+ <element ref="not" inputtag="IN.1" inputmask="0x01"><bounds x="3" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.0" inputmask="0x04"><bounds x="12" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x04"><bounds x="30" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x04"><bounds x="35" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x04"><bounds x="40" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x04"><bounds x="45" y="6.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="RESET" inputmask="0x01"><bounds x="50" y="6.1" width="4" height="2" /></element>
+
+ <element ref="not" inputtag="IN.0" inputmask="0x02"><bounds x="3" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x04"><bounds x="12" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x01"><bounds x="30" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x01"><bounds x="35" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x04"><bounds x="40" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x04"><bounds x="45" y="9.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x02"><bounds x="50" y="9.6" width="4" height="2" /></element>
+ </group>
+
+
+<!-- build screen -->
+
+ <view name="Internal Layout (Full)">
+ <bounds left="-13" right="88" top="-1.5" bottom="103" />
+
+ <group ref="panel"><bounds x="3.5" y="89" width="55" height="13" /></group>
+
+ <!-- analyst's screen -->
+ <screen index="0"><bounds x="63.5" y="93" width="20" height="3.8" /></screen>
+ <element ref="lcdm" blend="multiply"><bounds x="63" y="92" width="21" height="6" /></element>
+
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
+
+ <view name="Internal Layout (Board)"><!-- chesscomputer has a wooden lid for covering bottom side -->
+ <bounds left="-13" right="88" top="-1.5" bottom="87.5" />
+
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
+
+</mamelayout>
diff --git a/src/mame/layout/saitek_leonardo.lay b/src/mame/layout/saitek_leonardo.lay
index 088c8de124a..d6a10c66abd 100644
--- a/src/mame/layout/saitek_leonardo.lay
+++ b/src/mame/layout/saitek_leonardo.lay
@@ -7,23 +7,8 @@ license:CC0
<!-- define elements -->
<element name="black"><rect><color red="0.12" green="0.11" blue="0.1" /></rect></element>
-
- <element name="led" defstate="0">
- <rect state="0"><color red="0.15" green="0" blue="0" /></rect>
- <rect state="1"><color red="1" green="0" blue="0" /></rect>
- </element>
-
- <element name="ledro">
- <rect><color red="0.1" green="0.1" blue="0.1" /></rect>
- </element>
- <element name="ledrr" defstate="0">
- <rect state="0"><color red="0" green="0" blue="0" /></rect>
- <rect state="1"><color red="1" green="0" blue="0" /></rect>
- </element>
- <element name="ledrg" defstate="0">
- <rect state="0"><color red="0" green="0" blue="0" /></rect>
- <rect state="1"><color red="0" green="1" blue="0" /></rect>
- </element>
+ <element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
+ <element name="lcdm"><rect><color red="0.58" green="0.61" blue="0.62" /></rect></element>
<element name="ledo">
<disk><color red="0.1" green="0.1" blue="0.1" /></disk>
@@ -383,17 +368,15 @@ license:CC0
</group>
-<!-- build screen -->
+<!-- chessboard -->
- <view name="Internal Layout">
- <bounds left="-13" right="88" top="-1.5" bottom="99" />
+ <group name="board">
+ <bounds x="-1" y="-1.5" width="89" height="89" />
<element ref="cblack"><bounds x="-1" y="-1.5" width="89" height="89" /></element>
<element ref="black"><bounds x="3" y="2.5" width="81" height="81" /></element>
<group ref="sb_board"><bounds x="3.5" y="3" width="80" height="80" /></group>
- <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
-
<!-- chessboard coords -->
<element ref="text_8"><bounds x="0.1" y="9" width="2" height="2" /></element>
<element ref="text_7"><bounds x="0.1" y="19" width="2" height="2" /></element>
@@ -467,40 +450,307 @@ license:CC0
<element name="5.1" ref="ledr" blend="add"><bounds x="57.75" y="84.75" width="1.5" height="1.5" /></element>
<element name="6.1" ref="ledr" blend="add"><bounds x="67.75" y="84.75" width="1.5" height="1.5" /></element>
<element name="7.1" ref="ledr" blend="add"><bounds x="77.75" y="84.75" width="1.5" height="1.5" /></element>
+ </group>
+
+
+<!-- button panel -->
+
+ <element name="led" defstate="0">
+ <disk state="0"><color red="0.15" green="0" blue="0" /></disk>
+ <disk state="1"><color red="1" green="0" blue="0" /></disk>
+ </element>
+
+ <element name="not" defstate="0">
+ <rect><color alpha="0" /></rect>
+ </element>
+ <element name="but" defstate="0">
+ <rect state="0"><color red="0.21" green="0.2" blue="0.2" /></rect>
+ <rect state="1"><color red="0.34" green="0.33" blue="0.33" /></rect>
+ </element>
+ <element name="butd" defstate="0">
+ <disk state="0"><color red="0.21" green="0.2" blue="0.2" /></disk>
+ <disk state="1"><color red="0.34" green="0.33" blue="0.33" /></disk>
+ </element>
+
+ <element name="text_ln1"><text string="1" align="2"/></element>
+ <element name="text_ln2"><text string="2" align="2"/></element>
+ <element name="text_ln3"><text string="3" align="2"/></element>
+ <element name="text_ln4"><text string="4" align="2"/></element>
+ <element name="text_ln5"><text string="5" align="2"/></element>
+ <element name="text_ln6"><text string="6" align="2"/></element>
+ <element name="text_ln7"><text string="7" align="2"/></element>
+ <element name="text_ln8"><text string="8" align="2"/></element>
+ <element name="text_ln9"><text string="9" align="2"/></element>
+ <element name="text_ln10"><text string="10" align="2"/></element>
+ <element name="text_ln11"><text string="11" align="2"/></element>
+ <element name="text_ln12"><text string="12" align="2"/></element>
+ <element name="text_ln13"><text string="13" align="2"/></element>
+ <element name="text_ln14"><text string="14" align="2"/></element>
+ <element name="text_ln15"><text string="15" align="2"/></element>
+ <element name="text_ln16"><text string="16" align="2"/></element>
+ <element name="text_ln17"><text string="17" align="2"/></element>
+ <element name="text_ln18"><text string="18" align="2"/></element>
+ <element name="text_ln19"><text string="19" align="2"/></element>
+ <element name="text_ln20"><text string="20" align="2"/></element>
+ <element name="text_ln21"><text string="21" align="2"/></element>
+
+ <element name="text_l01"><text string="1"/></element>
+ <element name="text_l02"><text string="2"/></element>
+ <element name="text_l03"><text string="3"/></element>
+ <element name="text_l04"><text string="4"/></element>
+ <element name="text_l05"><text string="5"/></element>
+ <element name="text_l06"><text string="6"/></element>
+ <element name="text_l07"><text string="White"/></element>
+ <element name="text_l08"><text string="Black"/></element>
+ <element name="text_l09"><text string="Check"/></element>
+ <element name="text_l010"><text string="End"/></element>
+ <element name="text_l011"><text string="Mode"/></element>
+ <element name="text_l012"><text string="Comm."/></element>
+ <element name="text_l013"><text string="Module"/></element>
+ <element name="text_l014"><text string="ACL"/></element>
+
+ <element name="text_l11"><text string="Color"/></element>
+ <element name="text_l11a"><text string="Tab/"/></element>
+ <element name="text_l12"><text string="+"/></element>
+ <element name="text_l13"><text string="-"/></element>
+ <element name="text_l14">
+ <rect><color red="0.3" green="1.0" blue="0.3" /></rect>
+ <text string="Normal"><color red="0" green="0" blue="0" /></text>
+ </element>
+ <element name="text_l15">
+ <rect><color red="1.0" green="1.0" blue="0.3" /></rect>
+ <text string="Analysis"><color red="0" green="0" blue="0" /></text>
+ </element>
+ <element name="text_l16">
+ <rect><color red="1.0" green="0.3" blue="0.3" /></rect>
+ <text string="Set Up"><color red="0" green="0" blue="0" /></text>
+ </element>
+ <element name="text_l17"><text string="Game"/></element>
+ <element name="text_l17a"><text string="New"/></element>
+ <element name="text_l17b"><text string="normal"><color red="0.3" green="1.0" blue="0.3" /></text></element>
+ <element name="text_l18"><text string="Go"/></element>
+
+ <element name="text_l21"><text string="Function"/></element>
+ <element name="text_l22"><text string="Sound"/></element>
+ <element name="text_l23"><text string="Info"/></element>
+ <element name="text_l24"><text string="Play"/></element>
+ <element name="text_l24b"><text string="normal"><color red="0.3" green="1.0" blue="0.3" /></text></element>
+ <element name="text_l25">
+ <rect>
+ <bounds x="0" y="0" width="4.5" height="1.3" />
+ <color red="1.0" green="1.0" blue="0.3" />
+ </rect>
+ <rect>
+ <bounds x="0.2" y="0.2" width="4.1" height="0.9" />
+ <color red="0" green="0" blue="0" />
+ </rect>
+ <text string="Level"><bounds x="0" y="0" width="4.5" height="1.3" /></text>
+ </element>
+ <element name="text_l26">
+ <rect>
+ <bounds x="0" y="0" width="4.5" height="1.3" />
+ <color red="1.0" green="0.3" blue="0.3" />
+ </rect>
+ <rect>
+ <bounds x="0.2" y="0.2" width="4.1" height="0.9" />
+ <color red="0" green="0" blue="0" />
+ </rect>
+ <text string="Library"><bounds x="0" y="0" width="4.5" height="1.3" /></text>
+ </element>
+ <element name="text_l27"><text string="Stop"/></element>
+ <element name="text_l27b"><text string="memory"/></element>
+
+ <element name="text_p1"><image file="chess/wk.svg"/></element>
+ <element name="text_p2"><image file="chess/wq.svg"/></element>
+ <element name="text_p3"><image file="chess/wr.svg"/></element>
+ <element name="text_p4"><image file="chess/wb.svg"/></element>
+ <element name="text_p5"><image file="chess/wn.svg"/></element>
+ <element name="text_p6"><image file="chess/wp.svg"/></element>
+
+ <element name="tmul"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
+
+ <group name="panel">
+ <bounds x="0" y="0" width="80" height="20" />
+
+ <element ref="text_ln1"> <bounds x="0.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln3"> <bounds x="5.5" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln5"> <bounds x="11.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln7"> <bounds x="22.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln9"> <bounds x="27.5" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln11"><bounds x="33.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln13"><bounds x="38.5" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln15"><bounds x="44.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln17"><bounds x="49.5" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln19"><bounds x="55.0" y="10" width="1.5" height="1" /></element>
+ <element ref="text_ln21"><bounds x="60.5" y="10" width="1.5" height="1" /></element>
+
+ <element ref="text_ln2"> <bounds x="2.75" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln4"> <bounds x="8.25" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln6"> <bounds x="13.75" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln8"> <bounds x="24.75" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln10"><bounds x="30.25" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln12"><bounds x="35.75" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln14"><bounds x="41.25" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln16"><bounds x="46.75" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln18"><bounds x="52.25" y="14" width="1.5" height="1" /></element>
+ <element ref="text_ln20"><bounds x="57.75" y="14" width="1.5" height="1" /></element>
+
+ <element ref="text_l01"><bounds x="2.75" y="4.1" width="1.5" height="1.3" /></element>
+ <element ref="text_l02"><bounds x="5.5" y="4.1" width="1.5" height="1.3" /></element>
+ <element ref="text_l03"><bounds x="8.25" y="4.1" width="1.5" height="1.3" /></element>
+ <element ref="text_l04"><bounds x="11.0" y="4.1" width="1.5" height="1.3" /></element>
+ <element ref="text_l05"><bounds x="13.75" y="4.1" width="1.5" height="1.3" /></element>
+ <element ref="text_l06"><bounds x="16.5" y="4.1" width="1.5" height="1.3" /></element>
+
+ <element ref="text_l07"> <bounds x="20.0" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l08"> <bounds x="25.5" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l09"> <bounds x="33.75" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l010"><bounds x="39.25" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l011"><bounds x="50.25" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l012"><bounds x="55.75" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l013"><bounds x="61.25" y="4.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l014"><bounds x="66.75" y="4.1" width="5.5" height="1.3" /></element>
+
+ <element ref="text_l11"><bounds x="22.5" y="8.6" width="6" height="1.3" /></element>
+ <element ref="text_l11a"><bounds x="22.5" y="7.4" width="6" height="1.3" /></element>
+ <element ref="text_l12"><bounds x="28.0" y="8.5" width="6" height="1.5" /></element>
+ <element ref="text_l13"><bounds x="33.5" y="8.5" width="6" height="1.5" /></element>
+ <element ref="text_l14"><bounds x="39.75" y="8.6" width="4.5" height="1.3" /></element>
+ <element ref="text_l15"><bounds x="45.25" y="8.6" width="4.5" height="1.3" /></element>
+ <element ref="text_l16"><bounds x="50.75" y="8.6" width="4.5" height="1.3" /></element>
+ <element ref="text_l17"><bounds x="55.5" y="8.6" width="6" height="1.3" /></element>
+ <element ref="text_l17a"><bounds x="55.5" y="7.4" width="6" height="1.3" /></element>
+ <element ref="text_l17b"><bounds x="55.5" y="11" width="6" height="1.3" /></element>
+ <element ref="text_l18"><bounds x="61.0" y="8.6" width="6" height="1.3" /></element>
+
+ <element ref="text_l21"><bounds x="25.25" y="12.6" width="6" height="1.3" /></element>
+ <element ref="text_l22"><bounds x="30.75" y="12.6" width="6" height="1.3" /></element>
+ <element ref="text_l23"><bounds x="36.25" y="12.6" width="6" height="1.3" /></element>
+ <element ref="text_l24"><bounds x="41.75" y="12.6" width="6" height="1.3" /></element>
+ <element ref="text_l24b"><bounds x="41.75" y="15" width="6" height="1.3" /></element>
+ <element ref="text_l25"><bounds x="48.0" y="12.6" width="4.5" height="1.3" /></element>
+ <element ref="text_l26"><bounds x="53.5" y="12.6" width="4.5" height="1.3" /></element>
+ <element ref="text_l27"><bounds x="58.25" y="12.6" width="6" height="1.3" /></element>
+
+ <element ref="text_p1"><bounds x="2.6" y="8.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p2"><bounds x="5.35" y="12.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p3"><bounds x="8.1" y="8.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p4"><bounds x="10.85" y="12.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p5"><bounds x="13.6" y="8.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p6"><bounds x="16.35" y="12.1" width="1.8" height="1.8" /></element>
+
+ <element ref="whitew"><bounds x="3.4" y="7.2" width="0.2" height="1" /></element>
+ <element ref="whitew"><bounds x="6.15" y="7.2" width="0.2" height="4.9" /></element>
+ <element ref="whitew"><bounds x="8.9" y="7.2" width="0.2" height="1" /></element>
+ <element ref="whitew"><bounds x="11.65" y="7.2" width="0.2" height="4.9" /></element>
+ <element ref="whitew"><bounds x="14.4" y="7.2" width="0.2" height="1" /></element>
+ <element ref="whitew"><bounds x="17.15" y="7.2" width="0.2" height="4.9" /></element>
+
+ <element ref="tmul" blend="multiply"><bounds x="0" y="0" width="80" height="20" /></element>
+
+ <element ref="ledo"><bounds x="2.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="5.5" y="5.5" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="8.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="11.0" y="5.5" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="13.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element ref="ledo"><bounds x="16.5" y="5.5" width="1.5" height="1.5" /></element>
+
+ <element name="8.3" ref="ledr" blend="add"><bounds x="2.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.5" ref="ledr" blend="add"><bounds x="5.5" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.4" ref="ledr" blend="add"><bounds x="8.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.6" ref="ledr" blend="add"><bounds x="11.0" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.2" ref="ledr" blend="add"><bounds x="13.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.0" ref="ledr" blend="add"><bounds x="16.5" y="5.5" width="1.5" height="1.5" /></element>
+
+ <element name="9.3" ref="ledg" blend="add"><bounds x="2.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.5" ref="ledg" blend="add"><bounds x="5.5" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.4" ref="ledg" blend="add"><bounds x="8.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.6" ref="ledg" blend="add"><bounds x="11.5" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.2" ref="ledg" blend="add"><bounds x="13.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.0" ref="ledg" blend="add"><bounds x="16.5" y="5.5" width="1.5" height="1.5" /></element>
+
+ <element name="9.8" ref="led"><bounds x="22.0" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.8" ref="led"><bounds x="27.5" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.9" ref="led"><bounds x="35.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.9" ref="led"><bounds x="41.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.1" ref="led"><bounds x="57.75" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.1" ref="led"><bounds x="63.25" y="5.5" width="1.5" height="1.5" /></element>
+
+ <element ref="ledo"><bounds x="52.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="8.7" ref="ledr" blend="add"><bounds x="52.25" y="5.5" width="1.5" height="1.5" /></element>
+ <element name="9.7" ref="ledg" blend="add"><bounds x="52.25" y="5.5" width="1.5" height="1.5" /></element>
+
+ <element ref="butd" inputtag="RESET" inputmask="0x02"><bounds x="69" y="5.75" width="1" height="1" /></element>
+
+ <element ref="but" inputtag="IN.0" inputmask="0x01"><bounds x="1.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.0" inputmask="0x02"><bounds x="7.0" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.0" inputmask="0x04"><bounds x="12.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x02"><bounds x="23.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x04"><bounds x="29.0" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x01"><bounds x="34.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x02"><bounds x="40.0" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x04"><bounds x="45.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x04"><bounds x="51.0" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x02"><bounds x="56.5" y="10" width="4" height="1" /></element>
+ <element ref="but" inputtag="RESET" inputmask="0x01"><bounds x="62.0" y="10" width="4" height="1" /></element>
+
+ <element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="4.25" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x02"><bounds x="9.75" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x04"><bounds x="15.25" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x02"><bounds x="26.25" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x04"><bounds x="31.75" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x01"><bounds x="37.25" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x02"><bounds x="42.75" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x04"><bounds x="48.25" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x04"><bounds x="53.75" y="14" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x02"><bounds x="59.25" y="14" width="4" height="1" /></element>
+
+ <!-- larger clickable area -->
+ <element ref="not" inputtag="IN.0" inputmask="0x01"><bounds x="1.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.0" inputmask="0x02"><bounds x="7.0" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.0" inputmask="0x04"><bounds x="12.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x02"><bounds x="23.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x04"><bounds x="29.0" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x01"><bounds x="34.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x02"><bounds x="40.0" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x04"><bounds x="45.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x04"><bounds x="51.0" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x02"><bounds x="56.5" y="8.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="RESET" inputmask="0x01"><bounds x="62.0" y="8.6" width="4" height="2" /></element>
+
+ <element ref="not" inputtag="IN.1" inputmask="0x01"><bounds x="4.25" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x02"><bounds x="9.75" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x04"><bounds x="15.25" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x02"><bounds x="26.25" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x04"><bounds x="31.75" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x01"><bounds x="37.25" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x02"><bounds x="42.75" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x04"><bounds x="48.25" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x04"><bounds x="53.75" y="12.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x02"><bounds x="59.25" y="12.6" width="4" height="2" /></element>
+ </group>
+
+
+<!-- build screen -->
- <!-- button panel -->
- <element ref="ledro"><bounds x="0" y="90" width="2" height="1" /></element>
- <element ref="ledro"><bounds x="0" y="93" width="2" height="1" /></element>
- <element ref="ledro"><bounds x="0" y="96" width="2" height="1" /></element>
-
- <element name="8.3" ref="ledrr" blend="add"><bounds x="0" y="90" width="2" height="1" /></element>
- <element name="8.5" ref="ledrr" blend="add"><bounds x="0" y="93" width="2" height="1" /></element>
- <element name="8.4" ref="ledrr" blend="add"><bounds x="0" y="96" width="2" height="1" /></element>
- <element name="9.3" ref="ledrg" blend="add"><bounds x="0" y="90" width="2" height="1" /></element>
- <element name="9.5" ref="ledrg" blend="add"><bounds x="0" y="93" width="2" height="1" /></element>
- <element name="9.4" ref="ledrg" blend="add"><bounds x="0" y="96" width="2" height="1" /></element>
-
- <element ref="ledro"><bounds x="10" y="90" width="2" height="1" /></element>
- <element ref="ledro"><bounds x="10" y="93" width="2" height="1" /></element>
- <element ref="ledro"><bounds x="10" y="96" width="2" height="1" /></element>
-
- <element name="8.6" ref="ledrr" blend="add"><bounds x="10" y="90" width="2" height="1" /></element>
- <element name="8.2" ref="ledrr" blend="add"><bounds x="10" y="93" width="2" height="1" /></element>
- <element name="8.0" ref="ledrr" blend="add"><bounds x="10" y="96" width="2" height="1" /></element>
- <element name="9.6" ref="ledrg" blend="add"><bounds x="10" y="90" width="2" height="1" /></element>
- <element name="9.2" ref="ledrg" blend="add"><bounds x="10" y="93" width="2" height="1" /></element>
- <element name="9.0" ref="ledrg" blend="add"><bounds x="10" y="96" width="2" height="1" /></element>
-
- <element name="9.9" ref="led"><bounds x="20" y="90" width="2" height="1" /></element>
- <element name="8.9" ref="led"><bounds x="24" y="90" width="2" height="1" /></element>
- <element name="9.8" ref="led"><bounds x="20" y="93" width="2" height="1" /></element>
- <element name="8.8" ref="led"><bounds x="24" y="93" width="2" height="1" /></element>
- <element name="9.1" ref="led"><bounds x="20" y="96" width="2" height="1" /></element>
- <element name="8.1" ref="led"><bounds x="24" y="96" width="2" height="1" /></element>
-
- <element ref="ledro"><bounds x="40" y="90" width="2" height="1" /></element>
- <element name="8.7" ref="ledrr" blend="add"><bounds x="40" y="90" width="2" height="1" /></element>
- <element name="9.7" ref="ledrg" blend="add"><bounds x="40" y="90" width="2" height="1" /></element>
+ <view name="Internal Layout (Full)">
+ <bounds left="-13" right="88" top="-1.5" bottom="101.5" />
+ <group ref="panel"><bounds x="-2.5" y="84" width="80" height="20" /></group>
+
+ <!-- analyst's screen -->
+ <screen index="0"><bounds x="66" y="94" width="20" height="3.8" /></screen>
+ <element ref="lcdm" blend="multiply"><bounds x="65" y="93" width="22" height="6" /></element>
+
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
+
+ <view name="Internal Layout (Board)"><!-- chesscomputer has a wooden lid for covering bottom side -->
+ <bounds left="-13" right="88" top="-1.5" bottom="87.5" />
+
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/saitek_renaissance.lay b/src/mame/layout/saitek_renaissance.lay
index 3e457dbc001..b48fe517878 100644
--- a/src/mame/layout/saitek_renaissance.lay
+++ b/src/mame/layout/saitek_renaissance.lay
@@ -7,27 +7,15 @@ license:CC0
<!-- define elements -->
<element name="black"><rect><color red="0.12" green="0.11" blue="0.1" /></rect></element>
+ <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="led" defstate="0">
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
<disk state="0"><color red="0.12" green="0.11" blue="0.1" /></disk>
</element>
- <element name="ledr" defstate="0">
- <rect state="0"><color red="0.15" green="0" blue="0" /></rect>
- <rect state="1"><color red="1" green="0" blue="0" /></rect>
- </element>
-
- <element name="ledro">
- <rect><color red="0.1" green="0.1" blue="0.1" /></rect>
- </element>
- <element name="ledrr" defstate="0">
- <rect state="0"><color red="0" green="0" blue="0" /></rect>
- <rect state="1"><color red="1" green="0" blue="0" /></rect>
- </element>
- <element name="ledrg" defstate="0">
- <rect state="0"><color red="0" green="0" blue="0" /></rect>
- <rect state="1"><color red="0" green="1" blue="0" /></rect>
+ <element name="view" defstate="0">
+ <text string="V V V V"><color red="0.58" green="0.61" blue="0.62" /></text>
</element>
<element name="text_1">
@@ -388,6 +376,36 @@ license:CC0
</group>
+<!-- chessboard -->
+
+ <group name="board">
+ <bounds x="-1" y="-1.5" width="89" height="89" />
+
+ <element ref="cblack"><bounds x="-1" y="-1.5" width="89" height="89" /></element>
+ <element ref="black"><bounds x="3" y="2.5" width="81" height="81" /></element>
+ <group ref="sb_board"><bounds x="3" y="2.5" width="81" height="81" /></group>
+
+ <!-- chessboard coords -->
+ <element ref="text_8"><bounds x="0.2" y="7" width="2" height="2" /></element>
+ <element ref="text_7"><bounds x="0.2" y="17" width="2" height="2" /></element>
+ <element ref="text_6"><bounds x="0.2" y="27" width="2" height="2" /></element>
+ <element ref="text_5"><bounds x="0.2" y="37" width="2" height="2" /></element>
+ <element ref="text_4"><bounds x="0.2" y="47" width="2" height="2" /></element>
+ <element ref="text_3"><bounds x="0.2" y="57" width="2" height="2" /></element>
+ <element ref="text_2"><bounds x="0.2" y="67" width="2" height="2" /></element>
+ <element ref="text_1"><bounds x="0.2" y="77" width="2" height="2" /></element>
+
+ <element ref="text_a"><bounds x="7.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_b"><bounds x="17.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_c"><bounds x="27.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_d"><bounds x="37.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_e"><bounds x="47.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_f"><bounds x="57.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_g"><bounds x="67.5" y="84.5" width="2" height="2" /></element>
+ <element ref="text_h"><bounds x="77.5" y="84.5" width="2" height="2" /></element>
+ </group>
+
+
<!-- display -->
<element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
@@ -443,48 +461,233 @@ license:CC0
</group>
+<!-- button panel -->
+
+ <element name="ledr" defstate="0">
+ <rect state="0"><color red="0.15" green="0" blue="0" /></rect>
+ <rect state="1"><color red="1" green="0" blue="0" /></rect>
+ </element>
+
+ <element name="ledro">
+ <rect><color red="0.1" green="0.1" blue="0.1" /></rect>
+ </element>
+ <element name="ledrr" defstate="0">
+ <rect state="0"><color red="0" green="0" blue="0" /></rect>
+ <rect state="1"><color red="1" green="0" blue="0" /></rect>
+ </element>
+ <element name="ledrg" defstate="0">
+ <rect state="0"><color red="0" green="0" blue="0" /></rect>
+ <rect state="1"><color red="0" green="1" blue="0" /></rect>
+ </element>
+
+ <element name="not" defstate="0">
+ <rect><color alpha="0" /></rect>
+ </element>
+ <element name="but" defstate="0">
+ <rect state="0"><color red="0.21" green="0.2" blue="0.2" /></rect>
+ <rect state="1"><color red="0.34" green="0.33" blue="0.33" /></rect>
+ </element>
+ <element name="butd" defstate="0">
+ <disk state="0"><color red="0.21" green="0.2" blue="0.2" /></disk>
+ <disk state="1"><color red="0.34" green="0.33" blue="0.33" /></disk>
+ </element>
+
+ <element name="text_l01"><text string="ACL"/></element>
+ <element name="text_l02"><text string="WHITE"/></element>
+ <element name="text_l03"><text string="BLACK"/></element>
+ <element name="text_l04"><text string="MODE"/></element>
+ <element name="text_l05"><text string="COMM"/></element>
+ <element name="text_l06"><text string="MODULE"/></element>
+
+ <element name="text_l11"><text string="TAB/COLOR"/></element>
+ <element name="text_l12"><text string="FUNCTION"/></element>
+ <element name="text_l13"><text string="PLAY"/></element>
+ <element name="text_l14"><text string="NORMAL"/></element>
+ <element name="text_l15"><text string="NEW GAME"/></element>
+
+ <element name="text_l21"><text string="+"/></element>
+ <element name="text_l22"><text string="SOUND"/></element>
+ <element name="text_l23"><text string="LEVEL"/></element>
+ <element name="text_l24"><text string="ANALYSIS"/></element>
+ <element name="text_l25"><text string="GO"/></element>
+
+ <element name="text_l31"><text string="-"/></element>
+ <element name="text_l32"><text string="INFO"/></element>
+ <element name="text_l33"><text string="LIBRARY"/></element>
+ <element name="text_l34"><text string="SET UP"/></element>
+ <element name="text_l35"><text string="STOP"/></element>
+
+ <element name="text_p1"><image file="chess/wk.svg"/></element>
+ <element name="text_p2"><image file="chess/wq.svg"/></element>
+ <element name="text_p3"><image file="chess/wr.svg"/></element>
+ <element name="text_p4"><image file="chess/wb.svg"/></element>
+ <element name="text_p5"><image file="chess/wn.svg"/></element>
+ <element name="text_p6"><image file="chess/wp.svg"/></element>
+
+ <element name="tmul"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
+ <element name="text_l36"><text string="SCROLL"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+
+ <group name="panel">
+ <bounds x="0" y="0" width="38" height="14" />
+
+ <element ref="text_l01"><bounds x="9.5" y="0.1" width="5" height="1.3" /></element>
+ <element ref="text_l02"><bounds x="13.5" y="0.1" width="5" height="1.3" /></element>
+ <element ref="text_l03"><bounds x="18" y="0.1" width="5" height="1.3" /></element>
+ <element ref="text_l04"><bounds x="22.5" y="0.1" width="5" height="1.3" /></element>
+ <element ref="text_l05"><bounds x="27" y="0.1" width="5" height="1.3" /></element>
+ <element ref="text_l06"><bounds x="31.5" y="0.1" width="5" height="1.3" /></element>
+
+ <element ref="text_l11"><bounds x="12.25" y="3.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l12"><bounds x="17.5" y="3.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l13"><bounds x="22.25" y="3.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l14"><bounds x="27.25" y="3.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l15"><bounds x="32.25" y="3.6" width="5.5" height="1.3" /></element>
+
+ <element ref="text_l21"><bounds x="12.25" y="7.0" width="5.5" height="1.5" /></element>
+ <element ref="text_l22"><bounds x="17.25" y="7.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l23"><bounds x="22.25" y="7.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l24"><bounds x="27.25" y="7.1" width="5.5" height="1.3" /></element>
+ <element ref="text_l25"><bounds x="32.25" y="7.1" width="5.5" height="1.3" /></element>
+
+ <element ref="text_l31"><bounds x="12.25" y="10.5" width="5.5" height="1.5" /></element>
+ <element ref="text_l32"><bounds x="17.25" y="10.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l33"><bounds x="22.25" y="10.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l34"><bounds x="27.25" y="10.6" width="5.5" height="1.3" /></element>
+ <element ref="text_l35"><bounds x="32.25" y="10.6" width="5.5" height="1.3" /></element>
+
+ <element ref="text_p1"><bounds x="1.1" y="3.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p2"><bounds x="1.1" y="6.6" width="1.8" height="1.8" /></element>
+ <element ref="text_p3"><bounds x="1.1" y="10.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p4"><bounds x="6.1" y="3.1" width="1.8" height="1.8" /></element>
+ <element ref="text_p5"><bounds x="6.1" y="6.6" width="1.8" height="1.8" /></element>
+ <element ref="text_p6"><bounds x="6.1" y="10.1" width="1.8" height="1.8" /></element>
+
+ <element ref="tmul" blend="multiply"><bounds x="0" y="0" width="38" height="14" /></element>
+
+ <element name="9.0" ref="ledr"><bounds x="15" y="1.5" width="2" height="1" /></element>
+ <element name="9.1" ref="ledr"><bounds x="19.5" y="1.5" width="2" height="1" /></element>
+
+ <element ref="ledro"><bounds x="24" y="1.5" width="2" height="1" /></element>
+ <element name="9.4" ref="ledrr" blend="add"><bounds x="24" y="1.5" width="2" height="1" /></element>
+ <element name="9.5" ref="ledrg" blend="add"><bounds x="24" y="1.5" width="2" height="1" /></element>
+
+ <element name="9.2" ref="ledr"><bounds x="28.5" y="1.5" width="2" height="1" /></element>
+ <element name="9.3" ref="ledr"><bounds x="33" y="1.5" width="2" height="1" /></element>
+
+ <element ref="butd" inputtag="RESET" inputmask="0x02"><bounds x="11.5" y="1.5" width="1" height="1" /></element>
+
+ <element ref="but" inputtag="IN.0" inputmask="0x01"><bounds x="0" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x02"><bounds x="5" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x02"><bounds x="13" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x02"><bounds x="18" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x02"><bounds x="23" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x02"><bounds x="28" y="5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x02"><bounds x="33" y="5" width="4" height="1" /></element>
+
+ <element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="0" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.0" inputmask="0x04"><bounds x="5" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x04"><bounds x="13" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.3" inputmask="0x04"><bounds x="18" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x04"><bounds x="23" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x04"><bounds x="28" y="8.5" width="4" height="1" /></element>
+ <element ref="but" inputtag="RESET" inputmask="0x01"><bounds x="33" y="8.5" width="4" height="1" /></element>
+
+ <element ref="but" inputtag="IN.0" inputmask="0x02"><bounds x="0" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.1" inputmask="0x04"><bounds x="5" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.6" inputmask="0x01"><bounds x="13" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.5" inputmask="0x01"><bounds x="18" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x04"><bounds x="23" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.7" inputmask="0x04"><bounds x="28" y="12" width="4" height="1" /></element>
+ <element ref="but" inputtag="IN.4" inputmask="0x02"><bounds x="33" y="12" width="4" height="1" /></element>
+
+ <!-- larger clickable area -->
+ <element ref="not" inputtag="IN.0" inputmask="0x01"><bounds x="0" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x02"><bounds x="5" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x02"><bounds x="13" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x02"><bounds x="18" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x02"><bounds x="23" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x02"><bounds x="28" y="3.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x02"><bounds x="33" y="3.6" width="4" height="2" /></element>
+
+ <element ref="not" inputtag="IN.1" inputmask="0x01"><bounds x="0" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.0" inputmask="0x04"><bounds x="5" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x04"><bounds x="13" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.3" inputmask="0x04"><bounds x="18" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x04"><bounds x="23" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x04"><bounds x="28" y="7.1" width="4" height="2" /></element>
+ <element ref="not" inputtag="RESET" inputmask="0x01"><bounds x="33" y="7.1" width="4" height="2" /></element>
+
+ <element ref="not" inputtag="IN.0" inputmask="0x02"><bounds x="0" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.1" inputmask="0x04"><bounds x="5" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.6" inputmask="0x01"><bounds x="13" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.5" inputmask="0x01"><bounds x="18" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x04"><bounds x="23" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.7" inputmask="0x04"><bounds x="28" y="10.6" width="4" height="2" /></element>
+ <element ref="not" inputtag="IN.4" inputmask="0x02"><bounds x="33" y="10.6" width="4" height="2" /></element>
+ </group>
+
+
<!-- build screen -->
- <view name="Internal Layout">
- <bounds left="-13" right="88" top="-1.5" bottom="123" />
+ <view name="Internal Layout (Full, LCD Drawer In)">
+ <bounds left="-13" right="88" top="-1.5" bottom="104" />
- <element ref="cblack"><bounds x="-1" y="-1.5" width="89" height="89" /></element>
- <element ref="black"><bounds x="3" y="2.5" width="81" height="81" /></element>
- <group ref="sb_board"><bounds x="3" y="2.5" width="81" height="81" /></group>
+ <!-- main lcd screen -->
+ <group ref="display"><bounds x="39.9" y="66" width="23.6" height="30" /></group>
+ <element ref="blackb"><bounds x="39" y="80" width="25.6" height="10" /></element>
+ <element ref="text_l36"><bounds x="38.9" y="99.2" width="6" height="1.3" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x01"><bounds x="39.9" y="100.6" width="4" height="1" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x01"><bounds x="39.9" y="99.2" width="4" height="2" /></element>
+ <element ref="but"><bounds x="38.25" y="89" width="0.5" height="13.5" /></element>
+ <element ref="but"><bounds x="64.65" y="89" width="0.5" height="13.5" /></element>
+
+ <element ref="view" inputtag="VIEW" inputmask="0x01"><bounds x="46.9" y="100" width="7.6" height="2" /></element>
+
+ <!-- analyst's screen -->
+ <screen index="1"><bounds x="66.3" y="90" width="20" height="3.8" /></screen>
+ <element ref="lcd_bg2" blend="multiply"><bounds x="66" y="89" width="22" height="6" /></element>
+
+ <group ref="panel"><bounds x="0.1" y="88.6" width="38" height="14" /></group>
+
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
<group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
- <group ref="display"><bounds x="33" y="90" width="23.6" height="30" /></group>
+ <view name="Internal Layout (Full, LCD Drawer Out)">
+ <bounds left="-13" right="88" top="-1.5" bottom="128" />
- <!-- chessboard coords -->
- <element ref="text_8"><bounds x="0.2" y="7" width="2" height="2" /></element>
- <element ref="text_7"><bounds x="0.2" y="17" width="2" height="2" /></element>
- <element ref="text_6"><bounds x="0.2" y="27" width="2" height="2" /></element>
- <element ref="text_5"><bounds x="0.2" y="37" width="2" height="2" /></element>
- <element ref="text_4"><bounds x="0.2" y="47" width="2" height="2" /></element>
- <element ref="text_3"><bounds x="0.2" y="57" width="2" height="2" /></element>
- <element ref="text_2"><bounds x="0.2" y="67" width="2" height="2" /></element>
- <element ref="text_1"><bounds x="0.2" y="77" width="2" height="2" /></element>
+ <!-- main lcd screen -->
+ <group ref="display"><bounds x="39.9" y="90" width="23.6" height="30" /></group>
+ <element ref="text_l36"><bounds x="38.9" y="123.2" width="6" height="1.3" /></element>
+ <element ref="but" inputtag="IN.2" inputmask="0x01"><bounds x="39.9" y="124.6" width="4" height="1" /></element>
+ <element ref="not" inputtag="IN.2" inputmask="0x01"><bounds x="39.9" y="123.2" width="4" height="2" /></element>
- <element ref="text_a"><bounds x="7.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_b"><bounds x="17.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_c"><bounds x="27.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_d"><bounds x="37.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_e"><bounds x="47.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_f"><bounds x="57.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_g"><bounds x="67.5" y="84.5" width="2" height="2" /></element>
- <element ref="text_h"><bounds x="77.5" y="84.5" width="2" height="2" /></element>
+ <element ref="but"><bounds x="38.25" y="89" width="0.5" height="37.5" /></element>
+ <element ref="but"><bounds x="64.65" y="89" width="0.5" height="37.5" /></element>
+
+ <element ref="view" inputtag="VIEW" inputmask="0x02"><bounds x="46.9" y="124" width="7.6" height="2" /><orientation rotate="180" /></element>
+
+ <!-- analyst's screen -->
+ <screen index="1"><bounds x="66.3" y="90" width="20" height="3.8" /></screen>
+ <element ref="lcd_bg2" blend="multiply"><bounds x="66" y="89" width="22" height="6" /></element>
- <!-- button panel -->
- <element name="9.0" ref="ledr"><bounds x="0" y="90" width="2" height="1" /></element>
- <element name="9.1" ref="ledr"><bounds x="4" y="90" width="2" height="1" /></element>
+ <group ref="panel"><bounds x="0.1" y="88.6" width="38" height="14" /></group>
- <element ref="ledro"><bounds x="8" y="90" width="2" height="1" /></element>
- <element name="9.4" ref="ledrr" blend="add"><bounds x="8" y="90" width="2" height="1" /></element>
- <element name="9.5" ref="ledrg" blend="add"><bounds x="8" y="90" width="2" height="1" /></element>
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
+
+ <view name="Internal Layout (Board)"><!-- chesscomputer has a wooden lid for covering bottom side -->
+ <bounds left="-13" right="88" top="-1.5" bottom="87.5" />
- <element name="9.2" ref="ledr"><bounds x="12" y="90" width="2" height="1" /></element>
- <element name="9.3" ref="ledr"><bounds x="16" y="90" width="2" height="1" /></element>
+ <group ref="board"><bounds x="-1" y="-1.5" width="89" height="89" /></group>
+ <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
+ </view>
+ <view name="Internal Layout (Screen)">
+ <bounds x="39.9" y="66" width="23.6" height="30" />
+ <group ref="display"><bounds x="39.9" y="66" width="23.6" height="30" /></group>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/tx81z.lay b/src/mame/layout/tx81z.lay
new file mode 100644
index 00000000000..0fb984c5114
--- /dev/null
+++ b/src/mame/layout/tx81z.lay
@@ -0,0 +1,240 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+ <element name="greyback">
+ <rect>
+ <bounds left="0" top="0" right="1" bottom="1" />
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="blackback">
+ <rect>
+ <bounds left="0" top="0" right="1" bottom="1" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ </element>
+ <element name="button" defstate="0">
+ <rect state="0">
+ <color red="0.1" green="0.1" blue="0.1" />
+ </rect>
+ <rect state="1">
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="buttonled" defstate="0">
+ <rect>
+ <bounds x="0" y="0" width="1.0" height="1.0"/>
+ <color alpha="0" />
+ </rect>
+ <rect state="0">
+ <bounds x="0.3" y="0.1" width="0.4" height="0.1"/>
+ <color red="0.3" green="0.3" blue="0.3" />
+ </rect>
+ <rect state="1">
+ <bounds x="0.3" y="0.1" width="0.4" height="0.1"/>
+ <color red="1.0" green="0.3" blue="0.3" />
+ </rect>
+ </element>
+ <element name="phonesjack">
+ <disk>
+ <bounds x="0" y="0" width="22" height="22"/>
+ <color red="0.7" green="0.7" blue="0.7" />
+ </disk>
+ <disk>
+ <bounds x="3" y="3" width="16" height="16"/>
+ <color red="0.0" green="0.0" blue="0.0" />
+ </disk>
+ </element>
+ <element name="brline">
+ <rect>
+ <bounds x="0" y="0" width="1.0" height="1.0"/>
+ <color red="1.0" green="1.0" blue="1.0" />
+ </rect>
+ <rect>
+ <bounds x="0" y="0" width="0.98" height="0.96"/>
+ <color red="0.2" green="0.2" blue="0.2" />
+ </rect>
+ </element>
+ <element name="mounthole">
+ <disk>
+ <bounds x="0" y="0" width="16" height="16"/>
+ <color red="1.0" green="1.0" blue="1.0" />
+ </disk>
+ <disk>
+ <bounds x="10" y="0" width="16" height="16"/>
+ <color red="1.0" green="1.0" blue="1.0" />
+ </disk>
+ <rect>
+ <bounds x="8" y="0" width="10" height="16"/>
+ <color red="1.0" green="1.0" blue="1.0" />
+ </rect>
+ </element>
+ <element name="lcdmult"><rect><color red="0.7" green="1.0" blue="0.2"/></rect></element>
+ <element name="lcdback"><rect><color red="0.1" green="0.1" blue="0.1"/></rect></element>
+
+ <element name="power"><text string="POWER" /></element>
+ <element name="onoff"><text string="ON/OFF" /></element>
+ <element name="yamaha"><text string="YAMAHA" /></element>
+ <element name="fmtone"><text string="FM TONE GENERATOR" /></element>
+ <element name="tx81z"><text string="TX81Z"><color red="1.0" green="0.2" blue="0.2" /></text></element>
+ <element name="modeselect"><text string="MODE SELECT" /></element>
+ <element name="store"><text string="STORE/" /></element>
+ <element name="egcopy"><text string="EG COPY" /></element>
+ <element name="utility"><text string="UTILITY" /></element>
+ <element name="edit"><text string="EDIT/" /></element>
+ <element name="compare"><text string="COMPARE" /></element>
+ <element name="play"><text string="PLAY/" /></element>
+ <element name="perform"><text string="PERFORM" /></element>
+ <element name="parameter"><text string="PARAMETER" /></element>
+ <element name="dataentry"><text string="DATA ENTRY" /></element>
+ <element name="neg1"><text string="-1" /></element>
+ <element name="nooff"><text string="NO/OFF" /></element>
+ <element name="plus1"><text string="+1" /></element>
+ <element name="yeson"><text string="YES/ON" /></element>
+ <element name="dec"><text string="DEC" /></element>
+ <element name="inc"><text string="INC" /></element>
+ <element name="mastervolume"><text string="MASTER VOLUME" /></element>
+ <element name="cursor"><text string="CURSOR" /></element>
+ <element name="phones"><text string="PHONES" /></element>
+ <element name="arrow">
+ <image>
+ <data>
+ <![CDATA[
+ <svg xmlns="http://www.w3.org/2000/svg" width="66.43" height="68.45">
+ <polygon fill="none" stroke="#FFFFFF" stroke-width="3" stroke-miterlimit="10" points="57.53,15.86 57.53,3.45 4.02,34.1 57.97,65 57.97,52.59 64.43,52.59 64.43,15.86 "/>
+ </svg>
+ ]]>
+ </data>
+ </image>
+ </element>
+
+ <!-- logo and screen -->
+ <group name="group-logoscreen">
+ <element ref="blackback"><bounds x="124" y="14" width="260" height="64" /></element>
+ <element ref="yamaha"><bounds x="152" y="27" width="53" height="13" /></element>
+ <element ref="fmtone"><bounds x="144" y="43" width="67" height="7" /></element>
+ <element ref="tx81z"><bounds x="139" y="51" width="77" height="14" /></element>
+ <screen index="0"><bounds x="231" y="29" width="132" height="33" /></screen>
+ <element ref="lcdback" blend="add"><bounds x="231" y="29" width="132" height="33" /></element>
+ <element ref="lcdmult" blend="multiply"><bounds x="231" y="29" width="132" height="33" /></element>
+ </group>
+
+ <!-- mode select buttons -->
+ <group name="group-modeselect">
+ <element ref="modeselect"><bounds x="401" y="19" width="152" height="7" /></element>
+ <element ref="blackback"><bounds x="401" y="28" width="152" height="38" /></element>
+ <element ref="button" inputtag="P5" inputmask="0x02"><bounds x="405" y="31" width="34" height="32" /></element>
+ <element ref="store"><bounds x="406" y="40" width="32" height="7" /></element>
+ <element ref="egcopy"><bounds x="406" y="47" width="32" height="7" /></element>
+ <element ref="button" inputtag="P6" inputmask="0x04"><bounds x="442" y="31" width="34" height="32" /></element>
+ <element ref="buttonled" name="led4"><bounds x="442" y="31" width="34" height="32" /></element>
+ <element ref="utility"><bounds x="443" y="43" width="32" height="7" /></element>
+ <element ref="button" inputtag="P6" inputmask="0x02"><bounds x="479" y="31" width="34" height="32" /></element>
+ <element ref="buttonled" name="led3"><bounds x="479" y="31" width="34" height="32" /></element>
+ <element ref="edit"><bounds x="480" y="40" width="32" height="7" /></element>
+ <element ref="compare"><bounds x="480" y="47" width="32" height="7" /></element>
+ <element ref="button" inputtag="P6" inputmask="0x01"><bounds x="516" y="31" width="34" height="32" /></element>
+ <element ref="buttonled" name="led2"><bounds x="516" y="31" width="34" height="32" /></element>
+ <element ref="play"><bounds x="517" y="40" width="32" height="7" /></element>
+ <element ref="perform"><bounds x="517" y="47" width="32" height="7" /></element>
+ </group>
+
+ <!-- parameter buttons -->
+ <group name="group-parameter">
+ <element ref="parameter"><bounds x="570" y="19" width="77" height="7" /></element>
+ <element ref="blackback"><bounds x="570" y="28" width="77" height="38" /></element>
+ <element ref="button" inputtag="P5" inputmask="0x80"><bounds x="573" y="31" width="34" height="32" /></element>
+ <element ref="arrow"><bounds x="578" y="34" width="24" height="26" /></element>
+ <element ref="button" inputtag="P5" inputmask="0x40"><bounds x="610" y="31" width="34" height="32" /></element>
+ <element ref="arrow"><orientation flipx="yes"/><bounds x="615" y="34" width="24" height="26" /></element>
+ </group>
+
+ <!-- data entry buttons -->
+ <group name="group-dataentry">
+ <element ref="dataentry"><bounds x="663" y="19" width="77" height="7" /></element>
+ <element ref="blackback"><bounds x="663" y="28" width="77" height="38" /></element>
+ <element ref="button" inputtag="P5" inputmask="0x20"><bounds x="666" y="31" width="34" height="32" /></element>
+ <element ref="dec"><bounds x="667" y="43" width="32" height="7" /></element>
+ <element ref="neg1"><bounds x="666" y="67" width="34" height="7" /></element>
+ <element ref="nooff"><bounds x="666" y="74" width="34" height="7" /></element>
+ <element ref="button" inputtag="P5" inputmask="0x10"><bounds x="703" y="31" width="34" height="32" /></element>
+ <element ref="inc"><bounds x="704" y="43" width="32" height="7" /></element>
+ <element ref="plus1"><bounds x="703" y="67" width="34" height="7" /></element>
+ <element ref="yeson"><bounds x="703" y="74" width="34" height="7" /></element>
+ </group>
+
+ <!-- master volume/cursor buttons -->
+ <group name="group-mastervolumecursor">
+ <element ref="brline"><bounds x="812" y="41" width="60" height="30" /></element>
+ <element ref="mastervolume"><bounds x="757" y="19" width="77" height="7" /></element>
+ <element ref="blackback"><bounds x="757" y="28" width="77" height="38" /></element>
+ <element ref="button" inputtag="P2" inputmask="0x80"><bounds x="760" y="31" width="34" height="32" /></element>
+ <element ref="arrow"><bounds x="765" y="34" width="24" height="26" /></element>
+ <element ref="button" inputtag="P2" inputmask="0x40"><bounds x="797" y="31" width="34" height="32" /></element>
+ <element ref="arrow"><orientation flipx="yes"/><bounds x="802" y="34" width="24" height="26" /></element>
+ <element ref="cursor"><bounds x="757" y="67" width="77" height="7" /></element>
+
+ <element ref="blackback"><bounds x="851" y="28" width="40" height="38" /></element>
+ <element ref="button" inputtag="P2" inputmask="0x20"><bounds x="854" y="31" width="34" height="32" /></element>
+ <element ref="buttonled" name="led1"><bounds x="854" y="31" width="34" height="32" /></element>
+ <element ref="cursor"><bounds x="855" y="43" width="32" height="7" /></element>
+ </group>
+
+ <view name="Front Panel">
+ <!-- overall background -->
+ <element ref="greyback"><bounds x="0" y="0" width="1000" height="92" /></element>
+
+ <!-- mounting holes -->
+ <element ref="mounthole"><bounds x="4" y="4" width="26" height="16" /></element>
+ <element ref="mounthole"><bounds x="4" y="72" width="26" height="16" /></element>
+ <element ref="mounthole"><bounds x="970" y="4" width="26" height="16" /></element>
+ <element ref="mounthole"><bounds x="970" y="72" width="26" height="16" /></element>
+
+ <!-- power button -->
+ <element ref="power"><bounds x="65" y="19" width="40" height="7" /></element>
+ <element ref="blackback"><bounds x="65" y="28" width="40" height="38" /></element>
+ <element ref="button"><bounds x="68" y="31" width="34" height="32" /></element>
+ <element ref="onoff"><bounds x="65" y="67" width="40" height="7" /></element>
+
+ <!-- logo and screen -->
+ <group ref="group-logoscreen"><bounds x="124" y="14" width="260" height="64" /></group>
+
+ <!-- mode select buttons -->
+ <group ref="group-modeselect"><bounds x="401" y="18" width="152" height="48" /></group>
+
+ <!-- parameter buttons -->
+ <group ref="group-parameter"><bounds x="570" y="18" width="77" height="48" /></group>
+
+ <!-- data entry buttons -->
+ <group ref="group-dataentry"><bounds x="663" y="18" width="77" height="63" /></group>
+
+ <!-- master volume/cursor buttons -->
+ <group ref="group-mastervolumecursor"><bounds x="757" y="18" width="134" height="56" /></group>
+
+ <!-- headphone jack -->
+ <element ref="phones"><bounds x="911" y="19" width="24" height="7" /></element>
+ <element ref="phonesjack"><bounds x="912" y="35" width="22" height="22" /></element>
+ </view>
+
+ <view name="16:9 Friendly">
+ <!-- overall background -->
+ <element ref="greyback"><bounds x="0" y="0" width="360" height="230" /></element>
+
+ <!-- logo and screen -->
+ <group ref="group-logoscreen"><bounds x="50" y="14" width="260" height="64" /></group>
+
+ <!-- mode select buttons -->
+ <group ref="group-modeselect"><bounds x="104" y="93" width="152" height="48" /></group>
+
+ <!-- parameter buttons -->
+ <group ref="group-parameter"><bounds x="20" y="158" width="77" height="48" /></group>
+
+ <!-- data entry buttons -->
+ <group ref="group-dataentry"><bounds x="103" y="158" width="77" height="63" /></group>
+
+ <!-- master volume/cursor buttons -->
+ <group ref="group-mastervolumecursor"><bounds x="207" y="158" width="134" height="56" /></group>
+ </view>
+</mamelayout>
diff --git a/src/mame/machine/315_5338a.cpp b/src/mame/machine/315_5338a.cpp
index 9d0db3701e8..7a70f19b29e 100644
--- a/src/mame/machine/315_5338a.cpp
+++ b/src/mame/machine/315_5338a.cpp
@@ -57,6 +57,7 @@ void sega_315_5338a_device::device_start()
save_item(NAME(m_port_config));
save_item(NAME(m_serial_output));
save_item(NAME(m_address));
+ save_item(NAME(m_cmd));
}
@@ -89,6 +90,9 @@ uint8_t sega_315_5338a_device::read(offs_t offset)
// serial data read back?
case 0x0a: data = m_serial_output; break;
+ // command read back?
+ case 0x0b: data = m_cmd; break;
+
// serial data input
case 0x0c: data = m_read_cb(m_address); break;
@@ -122,8 +126,10 @@ void sega_315_5338a_device::write(offs_t offset, uint8_t data)
case 0x05:
case 0x06:
m_port_value[offset] = data;
- if (BIT(m_port_config, offset) == 0)
- m_out_port_cb[offset](data);
+
+ // always output, even if set to input?
+ // needed for bingoct sound
+ m_out_port_cb[offset](data);
break;
// port direction register (0 = output, 1 = input)
@@ -141,6 +147,7 @@ void sega_315_5338a_device::write(offs_t offset, uint8_t data)
// command register
case 0x09:
+ m_cmd = data;
switch (data)
{
case 0x00:
@@ -152,11 +159,22 @@ void sega_315_5338a_device::write(offs_t offset, uint8_t data)
case 0x07:
m_write_cb(m_address, m_serial_output, 0xff);
break;
+ case 0x70:
+ case 0x71:
+ case 0x72:
+ case 0x73:
+ case 0x74:
+ case 0x75:
+ case 0x76:
+ case 0x77:
+ m_write_cb(data & 0x07, m_serial_output, 0xff);
+ break;
case 0x87:
// sent after setting up the address and when wanting to receive serial data
break;
default:
logerror("Unknown command: %02x\n", data);
+ break;
}
break;
diff --git a/src/mame/machine/315_5338a.h b/src/mame/machine/315_5338a.h
index f0ef95e10ea..5ec91528a05 100644
--- a/src/mame/machine/315_5338a.h
+++ b/src/mame/machine/315_5338a.h
@@ -73,6 +73,7 @@ private:
uint8_t m_port_config;
uint8_t m_serial_output;
uint16_t m_address;
+ uint8_t m_cmd;
};
// device type definition
diff --git a/src/mame/machine/6883sam.cpp b/src/mame/machine/6883sam.cpp
index 8e20c5e940d..89ae03b2bc4 100644
--- a/src/mame/machine/6883sam.cpp
+++ b/src/mame/machine/6883sam.cpp
@@ -57,7 +57,25 @@
// CONSTANTS
//**************************************************************************
-#define LOG_SAM 0
+#define LOG_FBITS (1U << 1)
+#define LOG_VBITS (1U << 2)
+#define LOG_PBITS (1U << 3)
+#define LOG_TBITS (1U << 4)
+#define LOG_MBITS (1U << 5)
+#define LOG_RBITS (1U << 6)
+
+#define VERBOSE (0)
+// #define VERBOSE (LOG_FBITS)
+// #define VERBOSE (LOG_FBITS | LOG_VBITS | LOG_PBITS | LOG_MBITS | LOG_RBITS)
+
+#include "logmacro.h"
+
+#define LOGFBITS(...) LOGMASKED(LOG_FBITS, __VA_ARGS__)
+#define LOGVBITS(...) LOGMASKED(LOG_VBITS, __VA_ARGS__)
+#define LOGPBITS(...) LOGMASKED(LOG_PBITS, __VA_ARGS__)
+#define LOGTBITS(...) LOGMASKED(LOG_TBITS, __VA_ARGS__)
+#define LOGMBITS(...) LOGMASKED(LOG_MBITS, __VA_ARGS__)
+#define LOGRBITS(...) LOGMASKED(LOG_RBITS, __VA_ARGS__)
DEFINE_DEVICE_TYPE(SAM6883, sam6883_device, "sam6883", "MC6883 SAM")
@@ -302,16 +320,9 @@ void sam6883_device::update_memory()
// 64k mode (dynamic)
case SAM_STATE_M1|SAM_STATE_M0:
// 64k mode (static)
- if (m_sam_state & SAM_STATE_TY)
- {
- // full 64k RAM
- m_counter_mask = 0xFFFF;
- }
- else
- {
- // ROM/RAM
- m_counter_mask = 0x7FFF;
- }
+ // full 64k RAM or ROM/RAM
+ // CoCo Max requires these two be treated the same
+ m_counter_mask = 0xfFFF;
break;
}
}
@@ -370,6 +381,54 @@ void sam6883_device::internal_write(offs_t offset, uint8_t data)
update_memory();
if (xorval & (SAM_STATE_R1|SAM_STATE_R0))
update_cpu_clock();
+
+ if( xorval & (SAM_STATE_F6|SAM_STATE_F5|SAM_STATE_F4|SAM_STATE_F3|SAM_STATE_F2|SAM_STATE_F1|SAM_STATE_F0))
+ {
+ /* Video frame buffer address changed */
+ LOGFBITS("%s: SAM F Address: $%04x\n",
+ machine().describe_context(),
+ display_offset() );
+ }
+
+ if( xorval & (SAM_STATE_V0|SAM_STATE_V1|SAM_STATE_V2))
+ {
+ /* Video frame buffer address changed */
+ LOGVBITS("%s: SAM V Bits: $%02x\n",
+ machine().describe_context(),
+ (m_sam_state & (SAM_STATE_V0|SAM_STATE_V1|SAM_STATE_V2)) );
+ }
+
+ if( xorval & (SAM_STATE_P1))
+ {
+ /* Video frame buffer address changed */
+ LOGPBITS("%s: SAM P1 Bit: $%02x\n",
+ machine().describe_context(),
+ (m_sam_state & (SAM_STATE_P1)) >> 10 );
+ }
+
+ if( xorval & (SAM_STATE_TY))
+ {
+ /* Video frame buffer address changed */
+ LOGTBITS("%s: SAM TY Bits: $%02x\n",
+ machine().describe_context(),
+ (m_sam_state & (SAM_STATE_TY)) >> 15 );
+ }
+
+ if( xorval & (SAM_STATE_M0|SAM_STATE_M1))
+ {
+ /* Video frame buffer address changed */
+ LOGMBITS("%s: SAM M Bits: $%02x\n",
+ machine().describe_context(),
+ (m_sam_state & (SAM_STATE_M0|SAM_STATE_M1)) >> 9 );
+ }
+
+ if( xorval & (SAM_STATE_R0|SAM_STATE_R1))
+ {
+ /* Video frame buffer address changed */
+ LOGRBITS("%s: SAM R Bits: $%02x\n",
+ machine().describe_context(),
+ (m_sam_state & (SAM_STATE_R0|SAM_STATE_R1)) >> 11 );
+ }
}
diff --git a/src/mame/machine/bingoct.cpp b/src/mame/machine/bingoct.cpp
new file mode 100644
index 00000000000..497c2632ebf
--- /dev/null
+++ b/src/mame/machine/bingoct.cpp
@@ -0,0 +1,305 @@
+// license: BSD-3-Clause
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ Bingo Circus Terminal
+
+ © 1989 Sega
+
+ Hardware:
+ - 2x Z0840008PSC
+ - 32 MHz XTAL
+ - MB8464A-15LL-SK (next go EPR-12646)
+ - 2x ASSP 5C68A
+ - 4x HM65256BLSP (next to 5C68A)
+ - 315-5338
+ - D71051C
+ - D71054C
+ - MB8464A-15LL-SK (near 5C68A and 315-5330)
+ - 315-5330
+ - HM62256BLSP-10 (next to 315-5330)
+ - 315-5246
+ - 2x DIPSW8
+
+ PCB 837-7151
+
+ TODO:
+ - Serial connection to host system
+ - Artwork, lamps and LED digits
+
+ Notes:
+ - No schematics, everything is guessed
+
+***************************************************************************/
+
+#include "emu.h"
+#include "bingoct.h"
+#include "machine/315_5338a.h"
+#include "machine/i8251.h"
+#include "machine/nvram.h"
+#include "machine/pit8253.h"
+#include "sound/rf5c68.h"
+#include "screen.h"
+#include "speaker.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(BINGOCT, bingoct_device, "bingoct", "Bingo Circus Terminal")
+
+//-------------------------------------------------
+// maincpu memory maps
+//-------------------------------------------------
+
+void bingoct_device::main_mem_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().region("maincpu", 0);
+ map(0x8000, 0xbfff).bankr("gfxbank");
+ map(0xe000, 0xffff).ram().share("nvram");
+}
+
+void bingoct_device::main_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).lw8(NAME([this] (uint8_t data) { m_gfxbank->set_entry(data & 0x07); }));
+ map(0x20, 0x23).rw("pit", FUNC(pit8254_device::read), FUNC(pit8254_device::write));
+ map(0x40, 0x43).rw("uart", FUNC(i8251_device::read), FUNC(i8251_device::write));
+ map(0x60, 0x6f).rw("io", FUNC(sega_315_5338a_device::read), FUNC(sega_315_5338a_device::write));
+ map(0x84, 0x84).rw(m_vdp, FUNC(sega315_5246_device::data_read), FUNC(sega315_5246_device::data_write));
+ map(0x85, 0x85).rw(m_vdp, FUNC(sega315_5246_device::control_read), FUNC(sega315_5246_device::control_write));
+}
+
+//-------------------------------------------------
+// soundcpu memory maps
+//-------------------------------------------------
+
+void bingoct_device::sound_mem_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().region("soundcpu", 0);
+ map(0x8000, 0x9fff).bankr("soundbank");
+ map(0xa000, 0xa7ff).ram();
+ map(0xc000, 0xdfff).m("5c68_1", FUNC(rf5c68_device::map));
+ map(0xe000, 0xffff).m("5c68_2", FUNC(rf5c68_device::map));
+}
+
+void bingoct_device::sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).lw8(NAME([this] (uint8_t data) { m_soundbank->set_entry(data & 0x3f); }));
+ map(0x80, 0x80).rw("soundlatch", FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::write));
+}
+
+void bingoct_device::pcm_map(address_map &map)
+{
+ map(0x0000, 0xffff).ram();
+}
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+ROM_START( terminal )
+ ROM_REGION(0x20000, "maincpu", 0)
+ ROM_LOAD("epr-12646.ic20", 0x00000, 0x20000, CRC(c52e31a2) SHA1(901e84f3c9b65f207f7614d64e685e762b23987e))
+
+ ROM_REGION(0x80000, "soundcpu", 0)
+ ROM_LOAD("epr-12647.ic24", 0x00000, 0x20000, CRC(33198811) SHA1(6fb9db294a7f40303f22f68c3822e67cbd3560fa))
+ ROM_LOAD("epr-12648.ic25", 0x20000, 0x20000, CRC(a34737e5) SHA1(76feec0091afb92af8ced99af61495f28f981120))
+ // two empty sockets
+ROM_END
+
+const tiny_rom_entry *bingoct_device::device_rom_region() const
+{
+ return ROM_NAME(terminal);
+}
+
+//-------------------------------------------------
+// input_ports - device-specific input ports
+//-------------------------------------------------
+
+static INPUT_PORTS_START( terminal )
+ PORT_START("dipsw1")
+ PORT_DIPNAME(0x0f, 0x0f, "Coin Mode") PORT_DIPLOCATION("DIPSW1:1,2,3,4")
+ PORT_DIPSETTING(0x0f, "1 Credit")
+ PORT_DIPSETTING(0x0e, "2 Credits")
+ PORT_DIPSETTING(0x0d, "4 Credits")
+ PORT_DIPSETTING(0x0c, "5 Credits")
+ PORT_DIPSETTING(0x0b, "10 Credits")
+ PORT_DIPSETTING(0x0a, "20 Credits")
+ PORT_DIPSETTING(0x09, "25 Credits")
+ PORT_DIPSETTING(0x08, "50 Credits")
+ PORT_DIPSETTING(0x07, "100 Credits")
+ PORT_DIPSETTING(0x06, "200 Credits")
+ PORT_DIPSETTING(0x05, "250 Credits")
+ PORT_DIPSETTING(0x04, "1 Credit (Invalid)")
+ PORT_DIPSETTING(0x03, "1 Credit (Invalid)")
+ PORT_DIPSETTING(0x02, "1 Credit (Invalid)")
+ PORT_DIPSETTING(0x01, "1 Credit (Invalid)")
+ PORT_DIPSETTING(0x00, "1 Credit (Invalid)")
+ PORT_DIPNAME(0x70, 0x70, "Service Mode") PORT_DIPLOCATION("DIPSW1:5,6,7")
+ PORT_DIPSETTING(0x70, "1 Credit")
+ PORT_DIPSETTING(0x60, "2 Credits")
+ PORT_DIPSETTING(0x50, "5 Credits")
+ PORT_DIPSETTING(0x40, "10 Credits")
+ PORT_DIPSETTING(0x30, "20 Credits")
+ PORT_DIPSETTING(0x20, "25 Credits")
+ PORT_DIPSETTING(0x10, "50 Credits")
+ PORT_DIPSETTING(0x00, "100 Credits")
+ PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "DIPSW1:8")
+
+ PORT_START("dipsw2")
+ PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "DIPSW2:1")
+ PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "DIPSW2:2")
+ PORT_DIPUNUSED_DIPLOC(0x04, 0x04, "DIPSW2:3")
+ PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "DIPSW2:4")
+ PORT_DIPUNUSED_DIPLOC(0x10, 0x10, "DIPSW2:5")
+ PORT_DIPUNUSED_DIPLOC(0x20, 0x20, "DIPSW2:6")
+ PORT_DIPUNUSED_DIPLOC(0x40, 0x40, "DIPSW2:7")
+ PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "DIPSW2:8")
+
+ PORT_START("in0")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_CODE(KEYCODE_Z) PORT_NAME("Magic Screen A")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_CODE(KEYCODE_X) PORT_NAME("Magic Screen B")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_CODE(KEYCODE_C) PORT_NAME("Magic Screen C")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_CODE(KEYCODE_V) PORT_NAME("Magic Screen D")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_CODE(KEYCODE_B) PORT_NAME("10 Bet")
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_CODE(KEYCODE_N) PORT_NAME("1 Bet")
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_SERVICE2) PORT_NAME("Credit")
+
+ PORT_START("in1")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Test")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT) PORT_NAME("Key")
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE) PORT_NAME("Service")
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_COIN1) PORT_NAME("Coin")
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_NAME("Hopper Pool Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
+INPUT_PORTS_END
+
+ioport_constructor bingoct_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(terminal);
+}
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void bingoct_device::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_maincpu, 32_MHz_XTAL / 4); // divider unknown
+ m_maincpu->set_addrmap(AS_PROGRAM, &bingoct_device::main_mem_map);
+ m_maincpu->set_addrmap(AS_IO, &bingoct_device::main_io_map);
+
+ Z80(config, m_soundcpu, 32_MHz_XTAL / 4); // divider unknown
+ m_soundcpu->set_addrmap(AS_PROGRAM, &bingoct_device::sound_mem_map);
+ m_soundcpu->set_addrmap(AS_IO, &bingoct_device::sound_io_map);
+ m_soundcpu->set_irq_acknowledge_callback(FUNC(bingoct_device::soundcpu_irq_ack));
+
+ NVRAM(config, "nvram");
+
+ GENERIC_LATCH_8(config, "soundlatch");
+
+ pit8254_device &pit(PIT8254(config, "pit", 32_MHz_XTAL / 4)); // unknown clock
+ pit.set_clk<0>(32_MHz_XTAL / 4); // unknown clock
+ pit.set_clk<1>(32_MHz_XTAL / 4); // unknown clock
+ pit.out_handler<0>().set("pit", FUNC(pit8254_device::write_clk2));
+ pit.out_handler<2>().set_inputline(m_soundcpu, INPUT_LINE_IRQ0, ASSERT_LINE);
+
+ I8251(config, "uart", 32_MHz_XTAL / 4); // unknown clock
+
+ sega_315_5338a_device &io(SEGA_315_5338A(config, "io", 32_MHz_XTAL));
+ io.in_pa_callback().set_ioport("dipsw1");
+ io.in_pb_callback().set_ioport("dipsw2");
+ io.in_pc_callback().set("soundlatch", FUNC(generic_latch_8_device::read));
+ io.out_pc_callback().set("soundlatch", FUNC(generic_latch_8_device::write));
+ io.in_pe_callback().set_ioport("in1");
+ io.read_callback().set_ioport("in0");
+ io.write_callback().set(FUNC(bingoct_device::output_w));
+
+ // video hardware
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(10'738'635)/2,
+ sega315_5124_device::WIDTH , sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH, sega315_5124_device::LBORDER_START + sega315_5124_device::LBORDER_WIDTH + 256,
+ sega315_5124_device::HEIGHT_NTSC, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_192_TBORDER_HEIGHT, sega315_5124_device::TBORDER_START + sega315_5124_device::NTSC_192_TBORDER_HEIGHT + 192);
+ screen.set_screen_update("vdp", FUNC(sega315_5246_device::screen_update));
+
+ SEGA315_5246(config, m_vdp, XTAL(10'738'635));
+ m_vdp->set_screen("screen");
+ m_vdp->set_is_pal(false);
+ m_vdp->n_int().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+ m_vdp->n_nmi().set_inputline(m_maincpu, INPUT_LINE_NMI);
+ m_vdp->add_route(ALL_OUTPUTS, "mono", 1.00);
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center();
+
+ rf5c68_device &rf5c68_1(RF5C68(config, "5c68_1", 32000000 / 4));
+ rf5c68_1.add_route(ALL_OUTPUTS, "mono", 1.0);
+ rf5c68_1.set_addrmap(0, &bingoct_device::pcm_map);
+
+ rf5c68_device &rf5c68_2(RF5C68(config, "5c68_2", 32000000 / 4));
+ rf5c68_2.add_route(ALL_OUTPUTS, "mono", 1.0);
+ rf5c68_1.set_addrmap(0, &bingoct_device::pcm_map);
+}
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// bingoct_device - constructor
+//-------------------------------------------------
+
+bingoct_device::bingoct_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, BINGOCT, tag, owner, clock),
+ m_maincpu(*this, "maincpu"),
+ m_soundcpu(*this, "soundcpu"),
+ m_vdp(*this, "vdp"),
+ m_gfxbank(*this, "gfxbank"),
+ m_soundbank(*this, "soundbank")
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void bingoct_device::device_start()
+{
+ m_gfxbank->configure_entries(0, 8, memregion("maincpu")->base(), 0x4000);
+ m_soundbank->configure_entries(0, 64, memregion("soundcpu")->base(), 0x2000);
+}
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void bingoct_device::device_reset()
+{
+}
+
+//-------------------------------------------------
+// soundcpu_irq_ack - automatic irq ack
+//-------------------------------------------------
+
+IRQ_CALLBACK_MEMBER(bingoct_device::soundcpu_irq_ack)
+{
+ m_soundcpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
+ return 0xff;
+}
+
+//-------------------------------------------------
+// output_w - set lamps and led digits
+//-------------------------------------------------
+
+void bingoct_device::output_w(offs_t offset, uint8_t data)
+{
+ // logerror("output_w: %04x = %02x\n", offset, data);
+ // offset 5 = led digits
+}
diff --git a/src/mame/machine/bingoct.h b/src/mame/machine/bingoct.h
new file mode 100644
index 00000000000..5fef7eb6bb9
--- /dev/null
+++ b/src/mame/machine/bingoct.h
@@ -0,0 +1,61 @@
+// license: BSD-3-Clause
+// copyright-holders: Dirk Best
+/***************************************************************************
+
+ Bingo Circus Terminal
+
+ © 1989 Sega
+
+***************************************************************************/
+
+#ifndef MAME_MACHINE_BINGOCT_H
+#define MAME_MACHINE_BINGOCT_H
+
+#pragma once
+
+#include "cpu/z80/z80.h"
+#include "machine/gen_latch.h"
+#include "video/315_5124.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> bingoct_device
+
+class bingoct_device : public device_t
+{
+public:
+ // construction/destruction
+ bingoct_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+
+protected:
+ // device-level overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ required_device<z80_device> m_maincpu;
+ required_device<z80_device> m_soundcpu;
+ required_device<sega315_5246_device> m_vdp;
+ required_memory_bank m_gfxbank;
+ required_memory_bank m_soundbank;
+
+ void main_mem_map(address_map &map);
+ void main_io_map(address_map &map);
+ void sound_mem_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void pcm_map(address_map &map);
+
+ IRQ_CALLBACK_MEMBER(soundcpu_irq_ack);
+ void output_w(offs_t offset, uint8_t data);
+};
+
+// device type definition
+DECLARE_DEVICE_TYPE(BINGOCT, bingoct_device)
+
+#endif // MAME_MACHINE_BINGOCT_H
diff --git a/src/mame/machine/bublbobl.cpp b/src/mame/machine/bublbobl.cpp
index 20afd11c217..4cab1e64a47 100644
--- a/src/mame/machine/bublbobl.cpp
+++ b/src/mame/machine/bublbobl.cpp
@@ -166,53 +166,6 @@ Bubble Bobble MCU
***************************************************************************/
-uint8_t bublbobl_state::bublbobl_mcu_ddr1_r()
-{
- return m_ddr1;
-}
-
-void bublbobl_state::bublbobl_mcu_ddr1_w(uint8_t data)
-{
- m_ddr1 = data;
-}
-
-uint8_t bublbobl_state::bublbobl_mcu_ddr2_r()
-{
- return m_ddr2;
-}
-
-void bublbobl_state::bublbobl_mcu_ddr2_w(uint8_t data)
-{
- m_ddr2 = data;
-}
-
-uint8_t bublbobl_state::bublbobl_mcu_ddr3_r()
-{
- return m_ddr3;
-}
-
-void bublbobl_state::bublbobl_mcu_ddr3_w(uint8_t data)
-{
- m_ddr3 = data;
-}
-
-uint8_t bublbobl_state::bublbobl_mcu_ddr4_r()
-{
- return m_ddr4;
-}
-
-void bublbobl_state::bublbobl_mcu_ddr4_w(uint8_t data)
-{
- m_ddr4 = data;
-}
-
-uint8_t bublbobl_state::bublbobl_mcu_port1_r()
-{
- //logerror("%04x: 6801U4 port 1 read\n", m_mcu->pc());
- m_port1_in = ioport("IN0")->read();
- return (m_port1_out & m_ddr1) | (m_port1_in & ~m_ddr1);
-}
-
void bublbobl_state::bublbobl_mcu_port1_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 1 write %02x\n", m_mcu->pc(), data);
@@ -231,16 +184,9 @@ void bublbobl_state::bublbobl_mcu_port1_w(uint8_t data)
}
// bit 7: select read or write shared RAM
-
m_port1_out = data;
}
-uint8_t bublbobl_state::bublbobl_mcu_port2_r()
-{
- //logerror("%04x: 6801U4 port 2 read\n", m_mcu->pc());
- return (m_port2_out & m_ddr2) | (m_port2_in & ~m_ddr2);
-}
-
void bublbobl_state::bublbobl_mcu_port2_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 2 write %02x\n", m_mcu->pc(), data);
@@ -278,7 +224,7 @@ void bublbobl_state::bublbobl_mcu_port2_w(uint8_t data)
uint8_t bublbobl_state::bublbobl_mcu_port3_r()
{
//logerror("%04x: 6801U4 port 3 read\n", m_mcu->pc());
- return (m_port3_out & m_ddr3) | (m_port3_in & ~m_ddr3);
+ return m_port3_in;
}
void bublbobl_state::bublbobl_mcu_port3_w(uint8_t data)
@@ -287,18 +233,11 @@ void bublbobl_state::bublbobl_mcu_port3_w(uint8_t data)
m_port3_out = data;
}
-uint8_t bublbobl_state::bublbobl_mcu_port4_r()
-{
- //logerror("%04x: 6801U4 port 4 read\n", m_mcu->pc());
- return (m_port4_out & m_ddr4) | (m_port4_in & ~m_ddr4);
-}
-
void bublbobl_state::bublbobl_mcu_port4_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 4 write %02x\n", m_mcu->pc(), data);
// bits 0-7 of shared RAM address
-
m_port4_out = data;
}
diff --git a/src/mame/machine/coco.cpp b/src/mame/machine/coco.cpp
index 665d60c3a9f..9b202c897a5 100644
--- a/src/mame/machine/coco.cpp
+++ b/src/mame/machine/coco.cpp
@@ -51,10 +51,6 @@
research that for you if you want an exact number for scanlines before the
screen starts and the scanline that the v-interrupt triggers..etc.
-Added bi-directional bitbanger support. Also fixed reading PIA 1, port A. The
-DAC and bitbanger values written should be reflected in the read.
- tim lindner, October 2010
-
***************************************************************************/
#include "emu.h"
@@ -197,9 +193,11 @@ void coco_state::device_timer(emu_timer &timer, device_timer_id id, int param, v
{
switch(id)
{
+ case TIMER_DIECOM_LIGHTGUN:
+ m_dclg_output_h |= 0x02;
+ [[fallthrough]];
case TIMER_HIRES_JOYSTICK_X:
case TIMER_HIRES_JOYSTICK_Y:
- case TIMER_DIECOM_LIGHTGUN:
poll_keyboard();
break;
}
@@ -663,7 +661,7 @@ bool coco_state::is_joystick_hires(int joystick_index)
// poll_joystick
//-------------------------------------------------
-void coco_state::poll_joystick(bool *joyin, uint8_t *buttons)
+bool coco_state::poll_joystick(void)
{
static const analog_input_t s_empty = {};
static const int joy_rat_table[] = {15, 24, 42, 33 };
@@ -677,7 +675,6 @@ void coco_state::poll_joystick(bool *joyin, uint8_t *buttons)
const analog_input_t *analog;
bool joyin_value;
uint32_t joyval;
- int dclg_vpos;
switch(joystick_type(joystick))
{
case JOYSTICK_NORMAL:
@@ -706,37 +703,73 @@ void coco_state::poll_joystick(bool *joyin, uint8_t *buttons)
case JOYSTICK_DIECOM_LIGHT_GUN:
analog = &m_diecom_lightgun;
+ joyin_value = (dac_output() <= dclg_table[(joystick_axis ? m_dclg_output_h : m_dclg_output_v) & 0x03]);
+ break;
- /* get the vertical position of the lightgun */
- dclg_vpos = analog->input(joystick, 1);
+ default: /* None */
+ analog = &s_empty;
+ joyin_value = false;
+ break;
+ }
- if (m_screen->vpos() == dclg_vpos)
- {
- /* if gun is pointing at the current scan line, set hit bit and cache horizontal timer value */
- m_dclg_output_h |= 0x02;
- m_dclg_timer = analog->input(joystick, 0) << 1;
- }
+ return joyin_value;
+}
- joyin_value = (dac_output() <= dclg_table[(joystick_axis ? m_dclg_output_h : m_dclg_output_v) & 0x03]);
- if (m_dclg_state == 7)
- {
- /* while in state 7, prepare to check next video frame for a hit */
- attotime dclg_time = m_screen->time_until_pos(dclg_vpos, 0);
- m_diecom_lightgun_timer->adjust(dclg_time);
- }
+//-------------------------------------------------
+// poll_joystick_buttons
+//-------------------------------------------------
+
+uint8_t coco_state::poll_joystick_buttons(void)
+{
+ static const analog_input_t s_empty = {};
+ const analog_input_t *analog;
+ uint8_t joy0, joy1;
+
+ switch(joystick_type(0))
+ {
+ case JOYSTICK_NORMAL:
+ analog = &m_joystick;
+ break;
+
+ case JOYSTICK_RAT_MOUSE:
+ analog = &m_rat_mouse;
+ break;
+
+ case JOYSTICK_DIECOM_LIGHT_GUN:
+ analog = &m_diecom_lightgun;
break;
default: /* None */
analog = &s_empty;
- joyin_value = false;
break;
}
- *joyin = joyin_value;
- *buttons = analog->buttons();
-}
+ joy0 = analog->buttons();
+ switch(joystick_type(1))
+ {
+ case JOYSTICK_NORMAL:
+ analog = &m_joystick;
+ break;
+
+ case JOYSTICK_RAT_MOUSE:
+ analog = &m_rat_mouse;
+ break;
+
+ case JOYSTICK_DIECOM_LIGHT_GUN:
+ analog = &m_diecom_lightgun;
+ break;
+
+ default: /* None */
+ analog = &s_empty;
+ break;
+ }
+
+ joy1 = analog->buttons();
+
+ return joy0 | joy1;
+}
//-------------------------------------------------
@@ -764,13 +797,14 @@ void coco_state::poll_keyboard(void)
/* poll the joystick (*/
bool joyin;
- uint8_t buttons;
- poll_joystick(&joyin, &buttons);
+ joyin = poll_joystick();
/* PA7 comes from JOYIN */
pia0_pa |= joyin ? 0x80 : 0x00;
/* mask out the buttons */
+ uint8_t buttons;
+ buttons = poll_joystick_buttons();
pia0_pa &= ~buttons;
/* and write the result to PIA0 */
@@ -803,41 +837,54 @@ void coco_state::update_cassout(int cassout)
//-------------------------------------------------
-// diecom_lightgun_clock - called the diecom
-// lightgun undergoes a high to low transition
+// diecom_lightgun_clock - called when the diecom
+// lightgun undergoes a clock transition
//-------------------------------------------------
void coco_state::diecom_lightgun_clock(void)
{
- /* clock Diecom Light gun interface on a high to low transistion */
m_dclg_state++;
- m_dclg_state &= 0x0f;
+ m_dclg_state &= 0x1f;
+ int half_state = m_dclg_state >> 1;
/* clear hit bit for every transistion */
m_dclg_output_h &= ~0x02;
+ m_dclg_output_v = 0;
- if (m_dclg_state > 7)
+ if (half_state > 7)
{
- /* Bit shift timer data on state 8 thru 15 */
- if (((m_dclg_timer >> (m_dclg_state - 8 + 1)) & 0x01) == 1)
+ /* bit shift timer data on half states 8 thru 15 */
+ if (m_dclg_timer & (1 << (half_state - 7)))
+ {
m_dclg_output_v |= 0x01;
- else
- m_dclg_output_v &= ~0x01;
+ }
- /* Bit 9 of timer is only available if state == 8*/
- if (m_dclg_state == 8 && (((m_dclg_timer >> 9) & 0x01) == 1))
+ /* bit 9 of timer is only available if half state == 8 */
+ if (half_state == 8 && (m_dclg_timer & (1 << 8)))
m_dclg_output_v |= 0x02;
- else
- m_dclg_output_v &= ~0x02;
}
- /* During state 15, this bit is high. */
- if (m_dclg_state == 15)
+ /* during half state 15, this bit is high. */
+ /* it is used to sync the state of the converter box with the computer */
+ if (half_state == 15)
m_dclg_output_h |= 0x01;
else
m_dclg_output_h &= ~0x01;
-}
+ /* while in full state 15, prepare to check next video frame for a hit */
+ if (m_dclg_state == 15)
+ {
+ int dclg_vpos = m_diecom_lightgun.input(sel2() ? 1 : 0, 1) - 12;
+ m_dclg_timer = m_diecom_lightgun.input(sel2() ? 1 : 0, 0);
+ int horizontal_pixel = ((m_dclg_timer - 105.) / (420. - 110.0)) * (639.0 - 0.0) + 0.0;
+ attotime dclg_time = m_screen->time_until_pos(dclg_vpos, horizontal_pixel);
+ m_diecom_lightgun_timer->adjust(dclg_time);
+ }
+ else
+ {
+ m_diecom_lightgun_timer->adjust(attotime::never);
+ }
+}
//-------------------------------------------------
@@ -849,10 +896,11 @@ void coco_state::update_prinout(bool prinout)
if ((joystick_type(0) == JOYSTICK_DIECOM_LIGHT_GUN) || (joystick_type(1) == JOYSTICK_DIECOM_LIGHT_GUN))
{
/* printer port is connected to diecom light gun */
- if (m_dclg_previous_bit && !prinout)
+ if (m_dclg_previous_bit != prinout)
{
diecom_lightgun_clock();
}
+
m_dclg_previous_bit = prinout;
}
else
diff --git a/src/mame/machine/coco3.cpp b/src/mame/machine/coco3.cpp
index b49d79ef2b0..a276d5d45f0 100644
--- a/src/mame/machine/coco3.cpp
+++ b/src/mame/machine/coco3.cpp
@@ -54,8 +54,8 @@ void coco3_state::ff20_write(offs_t offset, uint8_t data)
{
coco_state::ff20_write(offset, data);
- if (offset == 0x02)
- m_gime->ff22_write(data);
+ /* The GIME monitors writes to the PIA to simulate a VDG */
+ m_gime->pia_write(offset, data);
}
@@ -127,20 +127,5 @@ void coco3_state::update_cart_base(uint8_t *cart_base)
uint32_t coco3_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
- bool result;
- if (!strcmp(screen.tag(), ":" COMPOSITE_SCREEN_TAG))
- {
- /* composite screen */
- result = m_gime->update_composite(bitmap, cliprect);
- }
- else if (!strcmp(screen.tag(), ":" RGB_SCREEN_TAG))
- {
- /* rgb screen */
- result = m_gime->update_rgb(bitmap, cliprect);
- }
- else
- {
- fatalerror("Called screen_update() with invalid tag '%s'\n", screen.tag());
- }
- return result;
+ return (m_screen_config->read() & 1) ? m_gime->update_rgb(bitmap, cliprect) : m_gime->update_composite(bitmap, cliprect);
}
diff --git a/src/mame/machine/egret.cpp b/src/mame/machine/egret.cpp
index 53658209496..e9276c05352 100644
--- a/src/mame/machine/egret.cpp
+++ b/src/mame/machine/egret.cpp
@@ -87,6 +87,10 @@ void egret_device::device_add_mconfig(machine_config &config)
{
M68HC05EG(config, m_maincpu, XTAL(32'768)*128); // Intended to run 4.1 MHz, the ADB timings in uS are twice as long as spec at 2.1
m_maincpu->set_addrmap(AS_PROGRAM, &egret_device::egret_map);
+
+ #if USE_BUS_ADB
+ ADB_CONNECTOR(config, "adb1", adb_device::default_devices, "a9m0330", false);
+ #endif
}
const tiny_rom_entry *egret_device::device_rom_region() const
@@ -367,7 +371,7 @@ egret_device::egret_device(const machine_config &mconfig, const char *tag, devic
write_via_data(*this),
m_maincpu(*this, EGRET_CPU_TAG)
#if USE_BUS_ADB
- , m_adb_connector{{*this, ":adb1"}, {*this, finder_base::DUMMY_TAG}}
+ , m_adb_connector{{*this, "adb1"}, {*this, finder_base::DUMMY_TAG}}
#endif
{
}
diff --git a/src/mame/machine/k573kara.cpp b/src/mame/machine/k573kara.cpp
new file mode 100644
index 00000000000..b2663f196f3
--- /dev/null
+++ b/src/mame/machine/k573kara.cpp
@@ -0,0 +1,166 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+#include "emu.h"
+#include "k573kara.h"
+
+#include "bus/rs232/rs232.h"
+
+/*
+ Karaoke PCB
+ ---------------
+
+ GX921-PWB(B)(?) (C)1999 KONAMI CO. LTD.
+
+ External plate:
+ An external plate connects the outside of the machine to the System 573.
+ From left to right, top to bottom:
+ - 4 pin mini-DIN port labeled "Expansion"
+ - 5 pin mini-DIN port labeled "Helper PC"
+ - 8 pin mini-DIN port labeled "Coin Box"
+ - DB9 male connector labeled "RS232C"
+ - DB15 female connector labeled "Control Panel"
+
+ - RCA connector labeled "Video in", internal wiring labeled "1"
+ - RCA connector labeled "Video out", internal wiring labeled "2"
+ - RCA connector labeled "Montior 1 out", internal wiring labeled "3"
+ - RCA connector labeled "Monitor 2 out", internal wiring labeled "4"
+ - RJ45 jack labeled "Network 1"
+ - RJ45 jack labeled "Network 2"
+ - 4 pin dipswitch labeled "DIP"
+
+ About dipswitch: there is a graphic below the dipswitch with the following explanation:
+ "Dipswitch 3 controls network 1. Lower it when port is not in use."
+ "Dipswitch 4 controls network 2. Lower it when port is not in use."
+
+
+ Internal I/O board notes:
+ - 36.864 MHz clock
+ - 2x RJ45(?) ports labeled "MODULAR-BP"
+ - 4x composite video plugs labeled "1" (Video in), "2" (Video out), "3" (Monitor 1 out), and "4" (Monitor 2 out)
+ - CXA1645M RGB Encoder
+ - PC1652D
+ - LT1381CS RS232 chip
+ - LS245
+ - 2x LVT245S
+ - Xilinx XC9572
+ - Xilinx XC9536
+ - CN? Combined RGB + subcarrier signal from main Sys573 board
+ - CN3 Helper Computer
+ - CN11 Coin Box
+ - CN6 Expansion + Lamps(?)
+ - CN7 Lamps(?)
+*/
+
+DEFINE_DEVICE_TYPE(KONAMI_573_KARAOKE_IO_BOARD, k573kara_device, "k573kara", "Konami 573 karaoke I/O board")
+
+void k573kara_device::amap(address_map &map)
+{
+ // Known addresses I could find that were used in the game's code
+ // Not a full list
+ //map(0x10, 0x11)
+ map(0x90, 0xaf).rw(m_duart_com, FUNC(pc16552_device::read), FUNC(pc16552_device::write)).umask16(0xff);
+ map(0xb0, 0xb1).rw(FUNC(k573kara_device::io_r), FUNC(k573kara_device::lamp1_w));
+ map(0xc0, 0xc1).w(FUNC(k573kara_device::lamp2_w));
+ map(0xd0, 0xd1).w(FUNC(k573kara_device::lamp3_w));
+ map(0xe0, 0xe1).rw(FUNC(k573kara_device::digital_id_r), FUNC(k573kara_device::digital_id_w));
+ map(0xf0, 0xf1).w(FUNC(k573kara_device::video_selector_w));
+ map(0xf8, 0xf9).rw(FUNC(k573kara_device::coin_box_r), FUNC(k573kara_device::coin_box_w));
+}
+
+k573kara_device::k573kara_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, KONAMI_573_KARAOKE_IO_BOARD, tag, owner, clock),
+ digital_id(*this, "digital_id"),
+ m_duart_com(*this, "duart_com"),
+ m_coin_box_val(0)
+{
+}
+
+void k573kara_device::device_start()
+{
+}
+
+void k573kara_device::device_reset()
+{
+ m_coin_box_val = 0;
+}
+
+ROM_START( k573kara )
+ ROM_REGION( 0x000008, "digital_id", 0 )
+ ROM_LOAD( "digital-id.bin", 0x000000, 0x000008, CRC(2b977f4d) SHA1(2b108a56653f91cb3351718c45dfcf979bc35ef1) )
+ROM_END
+
+const tiny_rom_entry *k573kara_device::device_rom_region() const
+{
+ return ROM_NAME(k573kara);
+}
+
+void k573kara_device::device_add_mconfig(machine_config &config)
+{
+ DS2401(config, digital_id);
+
+ // The PC Helper RS232 and the PC16552D are right next to each other but they may possibly be separate.
+ PC16552D(config, m_duart_com, 0);
+ auto& duart_chan0(NS16550(config, "duart_com:chan0", clock() / 2));
+ auto& rs232_chan0(RS232_PORT(config, "rs232_chan0", default_rs232_devices, nullptr));
+ rs232_chan0.rxd_handler().set("duart_com:chan0", FUNC(ins8250_uart_device::rx_w));
+ rs232_chan0.dcd_handler().set("duart_com:chan0", FUNC(ins8250_uart_device::dcd_w));
+ rs232_chan0.dsr_handler().set("duart_com:chan0", FUNC(ins8250_uart_device::dsr_w));
+ rs232_chan0.ri_handler().set("duart_com:chan0", FUNC(ins8250_uart_device::ri_w));
+ rs232_chan0.cts_handler().set("duart_com:chan0", FUNC(ins8250_uart_device::cts_w));
+ duart_chan0.out_tx_callback().set("rs232_chan0", FUNC(rs232_port_device::write_txd));
+ duart_chan0.out_dtr_callback().set("rs232_chan0", FUNC(rs232_port_device::write_dtr));
+ duart_chan0.out_rts_callback().set("rs232_chan0", FUNC(rs232_port_device::write_rts));
+}
+
+void k573kara_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+{
+}
+
+uint16_t k573kara_device::io_r()
+{
+ // Stage platforms can be connected through the RJ45 ports and the data returned through here.
+ // 0x200 must be set for this I/O port to be used.
+ return 0;
+}
+
+void k573kara_device::lamp1_w(uint16_t data)
+{
+}
+
+void k573kara_device::lamp2_w(uint16_t data)
+{
+}
+
+void k573kara_device::lamp3_w(uint16_t data)
+{
+}
+
+uint16_t k573kara_device::coin_box_r()
+{
+ // Unsure how the coin box works exactly. It seems to be a toggle instead of a normal coin insert.
+ // If you release the coin box button it thinks there is no money inserted and will kick you back to the title screen.
+ // The coin box can be disabled in the user settings menu.
+ return m_coin_box_val;
+}
+
+void k573kara_device::coin_box_w(uint16_t data)
+{
+ // Possibly some kind of other I/O unrelated to the coin box
+ m_coin_box_val = data;
+}
+
+void k573kara_device::video_selector_w(uint16_t data)
+{
+ // This value gets changed when testing during the video selector menu.
+ // The IO board seems to have 4 composite video ports so my guess is that it switches connectors.
+}
+
+uint16_t k573kara_device::digital_id_r()
+{
+ return digital_id->read();
+}
+
+void k573kara_device::digital_id_w(uint16_t data)
+{
+ digital_id->write( data & 1 );
+}
diff --git a/src/mame/machine/k573kara.h b/src/mame/machine/k573kara.h
new file mode 100644
index 00000000000..57e53e16223
--- /dev/null
+++ b/src/mame/machine/k573kara.h
@@ -0,0 +1,50 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+#ifndef MAME_MACHINE_K573KARA_H
+#define MAME_MACHINE_K573KARA_H
+
+#pragma once
+
+#include "machine/ds2401.h"
+#include "machine/ins8250.h"
+
+class k573kara_device : public device_t
+{
+public:
+ k573kara_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ void amap(address_map &map);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+private:
+ uint16_t uart_r(offs_t offset);
+ void uart_w(offs_t offset, uint16_t data);
+
+ uint16_t io_r();
+ void lamp1_w(uint16_t data);
+ void lamp2_w(uint16_t data);
+ void lamp3_w(uint16_t data);
+
+ uint16_t coin_box_r();
+ void coin_box_w(uint16_t data);
+
+ void video_selector_w(uint16_t data);
+
+ uint16_t digital_id_r();
+ void digital_id_w(uint16_t data);
+
+ required_device<ds2401_device> digital_id;
+ required_device<pc16552_device> m_duart_com;
+
+ uint16_t m_coin_box_val;
+};
+
+DECLARE_DEVICE_TYPE(KONAMI_573_KARAOKE_IO_BOARD, k573kara_device)
+
+#endif // MAME_MACHINE_K573KARA_H
diff --git a/src/mame/machine/kikikai.cpp b/src/mame/machine/kikikai.cpp
index 028af58b4e9..7c79653ff46 100644
--- a/src/mame/machine/kikikai.cpp
+++ b/src/mame/machine/kikikai.cpp
@@ -348,53 +348,6 @@ Kiki KaiKai / Kick 'n Run MCU
***************************************************************************/
-uint8_t kikikai_state::kikikai_mcu_ddr1_r()
-{
- return m_ddr1;
-}
-
-void kikikai_state::kikikai_mcu_ddr1_w(uint8_t data)
-{
- m_ddr1 = data;
-}
-
-uint8_t kikikai_state::kikikai_mcu_ddr2_r()
-{
- return m_ddr2;
-}
-
-void kikikai_state::kikikai_mcu_ddr2_w(uint8_t data)
-{
- m_ddr2 = data;
-}
-
-uint8_t kikikai_state::kikikai_mcu_ddr3_r()
-{
- return m_ddr3;
-}
-
-void kikikai_state::kikikai_mcu_ddr3_w(uint8_t data)
-{
- m_ddr3 = data;
-}
-
-uint8_t kikikai_state::kikikai_mcu_ddr4_r()
-{
- return m_ddr4;
-}
-
-void kikikai_state::kikikai_mcu_ddr4_w(uint8_t data)
-{
- m_ddr4 = data;
-}
-
-uint8_t kikikai_state::kikikai_mcu_port1_r()
-{
- //logerror("%04x: 6801U4 port 1 read\n", m_mcu->pc());
- m_port1_in = ioport("IN0")->read();
- return (m_port1_out & m_ddr1) | (m_port1_in & ~m_ddr1);
-}
-
void kikikai_state::kikikai_mcu_port1_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 1 write %02x\n", m_mcu->pc(), data);
@@ -413,16 +366,9 @@ void kikikai_state::kikikai_mcu_port1_w(uint8_t data)
machine().bookkeeping().coin_lockout_w(0, ~data & 0x20);
// bit 7: ? (set briefly while MCU boots)
-
m_port1_out = data;
}
-uint8_t kikikai_state::kikikai_mcu_port2_r()
-{
- //logerror("%04x: 6801U4 port 2 read\n", m_mcu->pc());
- return (m_port2_out & m_ddr2) | (m_port2_in & ~m_ddr2);
-}
-
void kikikai_state::kikikai_mcu_port2_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 2 write %02x\n", m_mcu->pc(), data);
@@ -459,7 +405,7 @@ void kikikai_state::kikikai_mcu_port2_w(uint8_t data)
uint8_t kikikai_state::kikikai_mcu_port3_r()
{
//logerror("%04x: 6801U4 port 3 read\n", m_mcu->pc());
- return (m_port3_out & m_ddr3) | (m_port3_in & ~m_ddr3);
+ return m_port3_in;
}
void kikikai_state::kikikai_mcu_port3_w(uint8_t data)
@@ -468,17 +414,9 @@ void kikikai_state::kikikai_mcu_port3_w(uint8_t data)
m_port3_out = data;
}
-uint8_t kikikai_state::kikikai_mcu_port4_r()
-{
- //logerror("%04x: 6801U4 port 4 read\n", m_mcu->pc());
- return (m_port4_out & m_ddr4) | (m_port4_in & ~m_ddr4);
-}
-
void kikikai_state::kikikai_mcu_port4_w(uint8_t data)
{
//logerror("%04x: 6801U4 port 4 write %02x\n", m_mcu->pc(), data);
-
// bits 0-7 of shared RAM address
-
m_port4_out = data;
}
diff --git a/src/mame/machine/mbee.cpp b/src/mame/machine/mbee.cpp
index 5990c8c17ce..a79c9e384e7 100644
--- a/src/mame/machine/mbee.cpp
+++ b/src/mame/machine/mbee.cpp
@@ -27,7 +27,7 @@ WRITE_LINE_MEMBER( mbee_state::pio_ardy )
m_centronics->write_strobe((state) ? 0 : 1);
}
-void mbee_state::pio_port_b_w(uint8_t data)
+void mbee_state::pio_port_b_w(u8 data)
{
/* PIO port B - d5..d2 not emulated
d7 interrupt from network or rtc or vsync or not used (see config switch)
@@ -43,9 +43,9 @@ void mbee_state::pio_port_b_w(uint8_t data)
m_speaker->level_w(BIT(data, 6));
}
-uint8_t mbee_state::pio_port_b_r()
+u8 mbee_state::pio_port_b_r()
{
- uint8_t data = 0;
+ u8 data = 0;
if (m_cassette->input() > 0.03)
data |= 1;
@@ -55,16 +55,16 @@ uint8_t mbee_state::pio_port_b_r()
switch (m_io_config->read() & 0xc0)
{
case 0x00:
- data |= (uint8_t)m_b7_vs << 7;
+ data |= (u8)m_b7_vs << 7;
break;
case 0x40:
- data |= (uint8_t)m_b7_rtc << 7;
+ data |= (u8)m_b7_rtc << 7;
break;
case 0x80:
data |= 0x80;
break;
}
- data |= (uint8_t)m_b2 << 1; // key pressed on new keyboard
+ data |= (u8)m_b2 << 1; // key pressed on new keyboard
return data;
}
@@ -88,7 +88,7 @@ WRITE_LINE_MEMBER( mbee_state::fdc_drq_w )
m_fdc_rq = (m_fdc_rq & 1) | (state << 1);
}
-uint8_t mbee_state::fdc_status_r()
+u8 mbee_state::fdc_status_r()
{
/* d7 indicate if IRQ or DRQ is occurring (1=happening)
d6..d0 not used */
@@ -96,7 +96,7 @@ uint8_t mbee_state::fdc_status_r()
return m_fdc_rq ? 0xff : 0x7f;
}
-void mbee_state::fdc_motor_w(uint8_t data)
+void mbee_state::fdc_motor_w(u8 data)
{
/* d7..d4 not used
d3 density (1=MFM)
@@ -147,7 +147,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( mbee_state::newkb_timer )
if (!BIT(m_features, 2))
return;
- uint8_t i, j, pressed;
+ u8 i, j, pressed;
// find what has changed
for (i = 0; i < 15; i++)
@@ -161,9 +161,10 @@ TIMER_DEVICE_CALLBACK_MEMBER( mbee_state::newkb_timer )
if (BIT(pressed^m_newkb_was_pressed[i], j))
{
// put it in the queue
- uint8_t code = (i << 3) | j | (BIT(pressed, j) ? 0x80 : 0);
+ u8 code = (i << 3) | j | (BIT(pressed, j) ? 0x80 : 0);
m_newkb_q[m_newkb_q_pos] = code;
- if (m_newkb_q_pos < 19) m_newkb_q_pos++;
+ if (m_newkb_q_pos < (std::size(m_newkb_q)-1))
+ m_newkb_q_pos++;
}
}
m_newkb_was_pressed[i] = pressed;
@@ -178,17 +179,19 @@ TIMER_DEVICE_CALLBACK_MEMBER( mbee_state::newkb_timer )
m_pio->port_b_write(pio_port_b_r());
}
-uint8_t mbee_state::port18_r()
+u8 mbee_state::port18_r()
{
- uint8_t i, data = m_newkb_q[0]; // get oldest key
+ u8 i, data = m_newkb_q[0]; // get oldest key
if (m_newkb_q_pos)
{
- m_newkb_q_pos--;
for (i = 0; i < m_newkb_q_pos; i++) m_newkb_q[i] = m_newkb_q[i+1]; // ripple queue
+ m_newkb_q[m_newkb_q_pos] = 0;
+ m_newkb_q_pos--;
}
m_b2 = 0; // clear irq
+ m_pio->port_b_write(pio_port_b_r());
return data;
}
@@ -199,19 +202,12 @@ uint8_t mbee_state::port18_r()
************************************************************/
-uint8_t mbee_state::speed_low_r()
+u8 mbee_state::speed_r(offs_t offset)
{
- m_maincpu->set_unscaled_clock(3375000);
+ m_maincpu->set_unscaled_clock(BIT(offset, 8, 2) ? 6750000 : 3375000);
return 0xff;
}
-uint8_t mbee_state::speed_high_r()
-{
- m_maincpu->set_unscaled_clock(6750000);
- return 0xff;
-}
-
-
/***********************************************************
@@ -219,17 +215,17 @@ uint8_t mbee_state::speed_high_r()
************************************************************/
-void mbee_state::port04_w(uint8_t data) // address
+void mbee_state::port04_w(u8 data) // address
{
m_rtc->write(0, data);
}
-void mbee_state::port06_w(uint8_t data) // write
+void mbee_state::port06_w(u8 data) // write
{
m_rtc->write(1, data);
}
-uint8_t mbee_state::port07_r() // read
+u8 mbee_state::port07_r() // read
{
return m_rtc->read(1);
}
@@ -262,16 +258,16 @@ WRITE_LINE_MEMBER( mbee_state::rtc_irq_w )
************************************************************/
-void mbee_state::setup_banks(uint8_t data, bool first_time, uint8_t b_mask)
+void mbee_state::setup_banks(u8 data, bool first_time, u8 b_mask)
{
b_mask &= 7;
u32 dbank = m_ramsize / 0x1000;
u8 extra_bits = data & 0xc0;
data &= 0x3f; // (bits 0-5 are referred to as S0-S5)
address_space &mem = m_maincpu->space(AS_PROGRAM);
- uint8_t *prom = memregion("pals")->base();
- uint8_t b_data = bitswap<8>(data, 7,5,3,2,4,6,1,0) & 0x3b; // arrange data bits to S0,S1,-,S4,S2,S3
- uint8_t b_bank, b_byte, b_byte_t, b_addr, p_bank = 1;
+ u8 *prom = memregion("pals")->base();
+ u8 b_data = bitswap<8>(data, 7,5,3,2,4,6,1,0) & 0x3b; // arrange data bits to S0,S1,-,S4,S2,S3
+ u8 b_bank, b_byte, b_byte_t, b_addr, p_bank = 1;
uint16_t b_vid;
if (first_time || (b_data != m_bank_array[0])) // if same data as last time, leave now
@@ -374,38 +370,68 @@ void mbee_state::port50_w(u8 data)
Output the PAK number to choose an optional PAK ROM.
The bios will support 256 PAKs, although normally only
- 8 are available in hardware. Each PAK is normally a 4K
- ROM. If 8K ROMs are used, the 2nd half becomes PAK+8,
+ 8 are available in hardware. Each PAK is normally a 8K
+ ROM. If 16K ROMs are used, the 2nd half becomes PAK+8,
thus 16 PAKs in total. This is used in the PC85 models.
************************************************************/
-void mbee_state::port0a_w(uint8_t data)
+void mbee_state::port0a_w(u8 data)
{
- m_0a = data;
-
- if (m_pak)
- m_pak->set_entry(data & 15);
+ m_0a = data & 15;
}
-uint8_t mbee_state::telcom_low_r()
+// Banking of Telcom rom
+// Some boards use bits 8 and 9, but there are no roms big enough in existence.
+u8 mbee_state::telcom_r(offs_t offset)
{
-/* Read of port 0A - set Telcom rom to first half */
- if (m_telcom)
- m_telcom->set_entry(0);
-
- return m_0a;
+ m_09 = BIT(offset, 8);
+ return 0xff;
}
-uint8_t mbee_state::telcom_high_r()
+u8 mbee_state::pak_r(offs_t offset)
{
-/* Read of port 10A - set Telcom rom to 2nd half */
- if (m_telcom)
- m_telcom->set_entry(1);
+ u8 data = m_0a & 7;
- return m_0a;
+ if (m_pak[data] && m_pak[data]->exists())
+ {
+ if (BIT(m_0a, 3))
+ {
+ if (m_pak_extended[data])
+ return m_pak[data]->read_rom(0x2000 | offset);
+ else
+ return 0xff;
+ }
+ else
+ return m_pak[data]->read_rom(offset);
+ }
+ else
+ {
+ m_pak_extended[data] = false;
+ if (m_pakdef)
+ return m_p_pakdef[(m_0a<<13)|offset];
+ else
+ return 0xff;
+ }
}
+u8 mbee_state::net_r(offs_t offset)
+{
+ if (m_net && m_net->exists())
+ {
+ if (m_09 && m_net_extended)
+ return m_net->read_rom(0x1000 | offset);
+ else
+ return m_net->read_rom(offset);
+ }
+ else
+ {
+ if (m_netdef)
+ return m_p_netdef[(m_09<<12)|offset];
+ else
+ return 0xff;
+ }
+}
/***********************************************************
@@ -428,6 +454,7 @@ void mbee_state::machine_start()
save_item(NAME(m_b2));
save_item(NAME(m_framecnt)); // not important
save_item(NAME(m_08));
+ save_item(NAME(m_09));
save_item(NAME(m_0a));
save_item(NAME(m_0b));
save_item(NAME(m_1c));
@@ -448,20 +475,6 @@ void mbee_state::machine_start()
m_basic->configure_entries(0, 2, b, 0x2000);
}
- // banking of the TELCOM rom
- if (m_telcom)
- {
- u8 *t = memregion("telcomrom")->base();
- m_telcom->configure_entries(0, 2, t, 0x1000);
- }
-
- // PAKs fitted
- if (m_pak)
- {
- u8 *p = memregion("pakrom")->base();
- m_pak->configure_entries(0, 16, p, 0x2000);
- }
-
// videoram
m_vram = make_unique_clear<u8[]>(0x0800);
save_pointer(NAME(m_vram), 0x0800);
@@ -522,12 +535,24 @@ void mbee_state::machine_start()
m_bankw[b_bank]->configure_entry(banks, d); // dummy rom
}
}
+
+ // set pak index to true for 16k roms
+ if (m_pakdef)
+ for (u8 i = 8; i < 16; i++)
+ m_pak_extended[i & 7] = (m_p_pakdef[(i<<13)] == 0xff) ? false : true;
+ else
+ for (u8 i = 0; i < 8; i++)
+ m_pak_extended[i] = false;
+
+ // set net index to true for 8k roms
+ m_net_extended = (m_netdef && (m_netdef->bytes() > 0x1000)) ? true : false;
}
void mbee_state::machine_reset()
{
m_fdc_rq = 0;
m_08 = 0;
+ m_09 = 0;
m_0a = 0;
m_0b = 0;
m_1c = 0;
@@ -538,12 +563,6 @@ void mbee_state::machine_reset()
if (m_basic)
m_basic->set_entry(0);
- if (m_telcom)
- m_telcom->set_entry(0);
-
- if (m_pak)
- m_pak->set_entry(5);
-
m_maincpu->set_pc(m_size);
// init new kbd
@@ -611,7 +630,7 @@ QUICKLOAD_LOAD_MEMBER(mbee_state::quickload_cb)
}
uint16_t i, j;
- uint8_t data;
+ u8 data;
size_t quickload_size = image.length();
if (image.is_filetype("mwb"))
@@ -700,3 +719,63 @@ QUICKLOAD_LOAD_MEMBER(mbee_state::quickload_cb)
return image_init_result::PASS;
}
+image_init_result mbee_state::load_cart(device_image_interface &image, generic_slot_device *slot, u8 pak_index)
+{
+ u32 size = slot->common_get_size("rom");
+
+ if ((size == 0) || (size > 0x4000))
+ {
+ image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported ROM size");
+ return image_init_result::FAIL;
+ }
+
+ m_pak_extended[pak_index] = (size > 0x2000) ? true : false;
+
+ slot->rom_alloc(m_pak_extended ? 0x4000 : 0x2000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); // we alloc the amount for a real rom
+ slot->common_load_rom(slot->get_rom_base(), size, "rom");
+
+ // Validate the rom
+ logerror ("Rom header = %02X %02X %02X\n", slot->read_rom(0), slot->read_rom(1), slot->read_rom(2));
+ if ((slot->read_rom(0) != 0xc3) || ((slot->read_rom(2) & 0xe0) != 0xc0))
+ {
+ image.seterror(IMAGE_ERROR_UNSPECIFIED, "Not a PAK rom");
+ slot->call_unload();
+ if (m_pakdef)
+ m_pak_extended[pak_index] = (m_p_pakdef[((pak_index+8)<<13)] == 0xff) ? false : true;
+ else
+ m_pak_extended[pak_index] = false;
+ return image_init_result::FAIL;
+ }
+
+ return image_init_result::PASS;
+}
+
+DEVICE_IMAGE_LOAD_MEMBER(mbee_state::net_load)
+{
+ uint32_t size = m_net->common_get_size("rom");
+
+ if ((size == 0) || (size > 0x2000))
+ {
+ image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported ROM size");
+ return image_init_result::FAIL;
+ }
+
+ size = (size > 0x1000) ? 0x2000 : 0x1000;
+
+ m_net->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
+ m_net->common_load_rom(m_net->get_rom_base(), size, "rom");
+
+
+ // Validate the rom
+ logerror ("Rom header = %02X %02X %02X\n", m_net->read_rom(0), m_net->read_rom(1), m_net->read_rom(2));
+ if ((m_net->read_rom(0) != 0xc3) || ((m_net->read_rom(2) & 0xf0) != 0xe0))
+ {
+ image.seterror(IMAGE_ERROR_UNSPECIFIED, "Not a NET rom");
+ m_net->call_unload();
+ m_net_extended = (m_netdef && (m_netdef->bytes() > 0x1000)) ? true : false;
+ return image_init_result::FAIL;
+ }
+
+ return image_init_result::PASS;
+}
+
diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp
index 7c384e683e1..b1f609a2d6f 100644
--- a/src/mame/machine/megadriv.cpp
+++ b/src/mame/machine/megadriv.cpp
@@ -741,7 +741,7 @@ uint8_t md_base_state::megadriv_z80_unmapped_read()
void md_base_state::megadriv_z80_map(address_map &map)
{
map(0x0000, 0x1fff).bankrw("bank1").mirror(0x2000); // RAM can be accessed by the 68k
- map(0x4000, 0x4003).rw(m_ymsnd, FUNC(ym2612_device::read), FUNC(ym2612_device::write));
+ map(0x4000, 0x4003).rw(m_ymsnd, FUNC(ym_generic_device::read), FUNC(ym_generic_device::write));
map(0x6000, 0x6000).w(FUNC(md_base_state::megadriv_z80_z80_bank_w));
map(0x6001, 0x6001).w(FUNC(md_base_state::megadriv_z80_z80_bank_w)); // wacky races uses this address
diff --git a/src/mame/machine/nb1412m2.cpp b/src/mame/machine/nb1412m2.cpp
index 362f80eb959..75d396e2c16 100644
--- a/src/mame/machine/nb1412m2.cpp
+++ b/src/mame/machine/nb1412m2.cpp
@@ -281,7 +281,7 @@ uint8_t nb1412m2_device::rom_decrypt_r()
// Mighty Guy specifics
uint8_t nb1412m2_device::timer_r()
{
- return m_timer_reg == true;
+ return (m_timer_reg) ? 1 : 0;
}
void nb1412m2_device::timer_w(uint8_t data)
@@ -319,7 +319,7 @@ void nb1412m2_device::dac_control_w(uint8_t data)
{
if (data == 0)
{
- // Mighty Guy is uses this to stop psycho gun sound.
+ // Mighty Guy uses this to stop psycho gun sound.
m_dac_playback = false;
}
}
diff --git a/src/mame/machine/nitedrvr.cpp b/src/mame/machine/nitedrvr.cpp
index f246b3fcb03..6c9b7a34c49 100644
--- a/src/mame/machine/nitedrvr.cpp
+++ b/src/mame/machine/nitedrvr.cpp
@@ -20,9 +20,9 @@ because D6 and D7 are apparently checked at different times, and a
change in-between can affect the direction you move.
***************************************************************************/
-int nitedrvr_state::nitedrvr_steering( )
+int nitedrvr_state::steering()
{
- int this_val = ioport("STEER")->read();
+ int this_val = m_steer->read();
int delta = this_val - m_last_steering_val;
m_last_steering_val = this_val;
@@ -32,7 +32,7 @@ int nitedrvr_state::nitedrvr_steering( )
else if (delta < -128)
delta += 256;
- /* Divide by four to make our steering less sensitive */
+ // Divide by four to make our steering less sensitive
m_steering_buf += (delta / 4);
if (m_steering_buf > 0)
@@ -54,23 +54,23 @@ int nitedrvr_state::nitedrvr_steering( )
}
/***************************************************************************
-nitedrvr_steering_reset
+steering_reset
***************************************************************************/
-uint8_t nitedrvr_state::nitedrvr_steering_reset_r()
+uint8_t nitedrvr_state::steering_reset_r()
{
m_steering_val = 0;
return 0;
}
-void nitedrvr_state::nitedrvr_steering_reset_w(uint8_t data)
+void nitedrvr_state::steering_reset_w(uint8_t data)
{
m_steering_val = 0;
}
/***************************************************************************
-nitedrvr_in0_r
+in0_r
Night Driver looks for the following:
A: $00
@@ -97,22 +97,25 @@ Night Driver looks for the following:
Fill in the steering and gear bits in a special way.
***************************************************************************/
-uint8_t nitedrvr_state::nitedrvr_in0_r(offs_t offset)
+uint8_t nitedrvr_state::in0_r(offs_t offset)
{
- int gear = ioport("GEARS")->read();
+ int gear = m_gears->read();
if (gear & 0x10) m_gear = 1;
else if (gear & 0x20) m_gear = 2;
else if (gear & 0x40) m_gear = 3;
else if (gear & 0x80) m_gear = 4;
+ for (uint8_t i = 0; i < 4; i++)
+ m_gear_sel[i] = ((m_gear == (i + 1)) ? 1 : 0);
+
switch (offset & 0x03)
{
- case 0x00: /* No remapping necessary */
- return ioport("DSW0")->read();
- case 0x01: /* No remapping necessary */
- return ioport("DSW1")->read();
- case 0x02: /* Remap our gear shift */
+ case 0x00: // No remapping necessary
+ return m_dsw[0]->read();
+ case 0x01: // No remapping necessary
+ return m_dsw[1]->read();
+ case 0x02: // Remap our gear shift
if (m_gear == 1)
return 0xe0;
else if (m_gear == 2)
@@ -121,15 +124,15 @@ uint8_t nitedrvr_state::nitedrvr_in0_r(offs_t offset)
return 0xb0;
else
return 0x70;
- case 0x03: /* Remap our steering */
- return (ioport("DSW2")->read() | nitedrvr_steering());
+ case 0x03: // Remap our steering
+ return (m_dsw[2]->read() | steering());
default:
return 0xff;
}
}
/***************************************************************************
-nitedrvr_in1_r
+in1_r
Night Driver looks for the following:
A: $00
@@ -160,9 +163,9 @@ Night Driver looks for the following:
Fill in the track difficulty switch and special signal in a special way.
***************************************************************************/
-uint8_t nitedrvr_state::nitedrvr_in1_r(offs_t offset)
+uint8_t nitedrvr_state::in1_r(offs_t offset)
{
- int port = ioport("IN0")->read();
+ int port = m_in0->read();
m_ac_line = (m_ac_line + 1) % 3;
@@ -170,6 +173,9 @@ uint8_t nitedrvr_state::nitedrvr_in1_r(offs_t offset)
else if (port & 0x20) m_track = 1;
else if (port & 0x40) m_track = 2;
+ for (uint8_t i = 0; i < 3; i++)
+ m_track_sel[i] = (m_track == i ? 1 : 0);
+
switch (offset & 0x07)
{
case 0x00:
@@ -185,7 +191,7 @@ uint8_t nitedrvr_state::nitedrvr_in1_r(offs_t offset)
case 0x05:
if (m_track == 0) return 0x80; else return 0x00;
case 0x06:
- /* TODO: fix alternating signal? */
+ // TODO: fix alternating signal?
if (m_ac_line==0) return 0x80; else return 0x00;
case 0x07:
return 0x00;
@@ -195,7 +201,7 @@ uint8_t nitedrvr_state::nitedrvr_in1_r(offs_t offset)
}
/***************************************************************************
-nitedrvr_out0_w
+out0_w
Sound bits:
@@ -207,7 +213,7 @@ D4 = SKID1
D5 = SKID2
***************************************************************************/
-void nitedrvr_state::nitedrvr_out0_w(uint8_t data)
+void nitedrvr_state::out0_w(uint8_t data)
{
m_discrete->write(NITEDRVR_MOTOR_DATA, data & 0x0f); // Motor freq data
m_discrete->write(NITEDRVR_SKID1_EN, data & 0x10); // Skid1 enable
@@ -215,7 +221,7 @@ void nitedrvr_state::nitedrvr_out0_w(uint8_t data)
}
/***************************************************************************
-nitedrvr_out1_w
+out1_w
D0 = !CRASH - also drives a video invert signal
D1 = ATTRACT
@@ -225,7 +231,7 @@ D4 = LED START
D5 = Spare (Not used)
***************************************************************************/
-void nitedrvr_state::nitedrvr_out1_w(uint8_t data)
+void nitedrvr_state::out1_w(uint8_t data)
{
m_led = BIT(data, 4);
@@ -236,18 +242,18 @@ void nitedrvr_state::nitedrvr_out1_w(uint8_t data)
if (!m_crash_en)
{
- /* Crash reset, set counter high and enable output */
+ // Crash reset, set counter high and enable output
m_crash_data_en = 1;
m_crash_data = 0x0f;
- /* Invert video */
- m_palette->set_pen_color(1, rgb_t(0x00,0x00,0x00)); /* BLACK */
- m_palette->set_pen_color(0, rgb_t(0xff,0xff,0xff)); /* WHITE */
+ // Invert video
+ m_palette->set_pen_color(1, rgb_t(0x00, 0x00, 0x00)); // BLACK
+ m_palette->set_pen_color(0, rgb_t(0xff, 0xff, 0xff)); // WHITE
}
m_discrete->write(NITEDRVR_BANG_DATA, m_crash_data_en ? m_crash_data : 0); // Crash Volume
}
-TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::nitedrvr_crash_toggle_callback)
+TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::crash_toggle_callback)
{
if (m_crash_en && m_crash_data_en)
{
@@ -258,15 +264,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::nitedrvr_crash_toggle_callback)
if (m_crash_data & 0x01)
{
- /* Invert video */
- m_palette->set_pen_color(1, rgb_t(0x00,0x00,0x00)); /* BLACK */
- m_palette->set_pen_color(0, rgb_t(0xff,0xff,0xff)); /* WHITE */
+ // Invert video
+ m_palette->set_pen_color(1, rgb_t(0x00, 0x00, 0x00)); // BLACK
+ m_palette->set_pen_color(0, rgb_t(0xff, 0xff, 0xff)); // WHITE
}
else
{
- /* Normal video */
- m_palette->set_pen_color(0, rgb_t(0x00,0x00,0x00)); /* BLACK */
- m_palette->set_pen_color(1, rgb_t(0xff,0xff,0xff)); /* WHITE */
+ // Normal video
+ m_palette->set_pen_color(0, rgb_t(0x00,0x00,0x00)); // BLACK
+ m_palette->set_pen_color(1, rgb_t(0xff,0xff,0xff)); // WHITE
}
}
}
@@ -274,6 +280,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::nitedrvr_crash_toggle_callback)
void nitedrvr_state::machine_start()
{
m_led.resolve();
+ m_track_sel.resolve();
+ m_gear_sel.resolve();
save_item(NAME(m_gear));
save_item(NAME(m_track));
diff --git a/src/mame/machine/nmk004.cpp b/src/mame/machine/nmk004.cpp
index 8bc4d3046d8..c60cd43a337 100644
--- a/src/mame/machine/nmk004.cpp
+++ b/src/mame/machine/nmk004.cpp
@@ -10,7 +10,7 @@
#include "nmk004.h"
#include "sound/okim6295.h"
-#include "sound/ym2203.h"
+#include "sound/ymopn.h"
void nmk004_device::write(uint8_t data)
diff --git a/src/mame/machine/slapstic.cpp b/src/mame/machine/slapstic.cpp
index 1e7f7f53ece..dfef29b2844 100644
--- a/src/mame/machine/slapstic.cpp
+++ b/src/mame/machine/slapstic.cpp
@@ -1130,7 +1130,7 @@ void atari_slapstic_device::alt_select_111_118::test(offs_t addr) const
atari_slapstic_device::alt_commit::alt_commit(atari_slapstic_device *sl, const checker &check, const slapstic_data *data) : state(sl)
{
m_reset = check.test_reset();
- m_commit = check.test_any(data->alt4);
+ m_commit = check.test_in(data->alt4);
}
void atari_slapstic_device::alt_commit::test(offs_t addr) const
diff --git a/src/mame/machine/sms.cpp b/src/mame/machine/sms.cpp
index 06fdbd23a91..1a2a2a3a94b 100644
--- a/src/mame/machine/sms.cpp
+++ b/src/mame/machine/sms.cpp
@@ -4,7 +4,7 @@
#include "crsshair.h"
#include "cpu/z80/z80.h"
#include "video/315_5124.h"
-#include "sound/ym2413.h"
+#include "sound/ymopl.h"
#include "includes/sms.h"
#define VERBOSE 0
diff --git a/src/mame/machine/sorcerer.cpp b/src/mame/machine/sorcerer.cpp
index cdb9ed0782c..6e3f547784f 100644
--- a/src/mame/machine/sorcerer.cpp
+++ b/src/mame/machine/sorcerer.cpp
@@ -529,121 +529,140 @@ void sorcererd_state::machine_reset()
}
-/******************************************************************************
- Snapshot Handling
-******************************************************************************/
+/*-------------------------------------------------
+ QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
+ Handles BIN and SNP extensions.
+-------------------------------------------------*/
-SNAPSHOT_LOAD_MEMBER(sorcerer_state::snapshot_cb)
+QUICKLOAD_LOAD_MEMBER(sorcerer_state::quickload_cb)
{
- u8 *RAM = memregion(m_maincpu->tag())->base();
+ // get autorun setting
+ bool autorun = BIT(m_iop_config->read(), 0);
address_space &space = m_maincpu->space(AS_PROGRAM);
- u8 header[28];
- unsigned char s_byte;
- /* check size */
- if (image.length() != 0x1001c)
+ if (image.is_filetype("bin"))
{
- image.seterror(IMAGE_ERROR_INVALIDIMAGE, "Snapshot must be 65564 bytes");
- image.message("Snapshot must be 65564 bytes");
- return image_init_result::FAIL;
- }
+ u16 execute_address, start_address, end_address;
- /* get the header */
- image.fread( &header, sizeof(header));
+ // load the binary into memory
+ if (z80bin_load_file(image, space, execute_address, start_address, end_address) != image_init_result::PASS)
+ return image_init_result::FAIL;
- /* write it to ram */
- for (int i = 0; i < 0xc000; i++)
- {
- image.fread( &s_byte, 1);
- space.write_byte(i, s_byte);
- }
- image.fread( RAM+0xc000, 0x4000);
-
- /* patch CPU registers */
- m_maincpu->set_state_int(Z80_I, header[0]);
- m_maincpu->set_state_int(Z80_HL2, header[1] | (header[2] << 8));
- m_maincpu->set_state_int(Z80_DE2, header[3] | (header[4] << 8));
- m_maincpu->set_state_int(Z80_BC2, header[5] | (header[6] << 8));
- m_maincpu->set_state_int(Z80_AF2, header[7] | (header[8] << 8));
- m_maincpu->set_state_int(Z80_HL, header[9] | (header[10] << 8));
- m_maincpu->set_state_int(Z80_DE, header[11] | (header[12] << 8));
- m_maincpu->set_state_int(Z80_BC, header[13] | (header[14] << 8));
- m_maincpu->set_state_int(Z80_IY, header[15] | (header[16] << 8));
- m_maincpu->set_state_int(Z80_IX, header[17] | (header[18] << 8));
- m_maincpu->set_state_int(Z80_IFF1, header[19]&2 ? 1 : 0);
- m_maincpu->set_state_int(Z80_IFF2, header[19]&4 ? 1 : 0);
- m_maincpu->set_state_int(Z80_R, header[20]);
- m_maincpu->set_state_int(Z80_AF, header[21] | (header[22] << 8));
- m_maincpu->set_state_int(STATE_GENSP, header[23] | (header[24] << 8));
- m_maincpu->set_state_int(Z80_IM, header[25]);
- m_maincpu->set_pc(header[26] | (header[27] << 8));
-
- return image_init_result::PASS;
-}
+ // is this file executable?
+ if (execute_address != 0xffff)
+ {
+ if ((execute_address >= 0xc000) && (execute_address <= 0xdfff) && (space.read_byte(0xdffa) != 0xc3))
+ return image_init_result::FAIL; // can't run a program if the cartridge isn't in
-/*-------------------------------------------------
- QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer )
--------------------------------------------------*/
+ /* Since Exidy Basic is by Microsoft, it needs some preprocessing before it can be run.
+ 1. A start address of 01D5 indicates a basic program which needs its pointers fixed up.
+ 2. If autorunning, jump to C689 (command processor), else jump to C3DD (READY prompt).
+ Important addresses:
+ 01D5 = start (load) address of a conventional basic program
+ C858 = an autorun basic program will have this exec address on the tape
+ C3DD = part of basic that displays READY and lets user enter input */
-QUICKLOAD_LOAD_MEMBER(sorcerer_state::quickload_cb)
-{
- uint16_t execute_address, start_address, end_address;
- int autorun;
- address_space &space = m_maincpu->space(AS_PROGRAM);
+ if (((start_address == 0x1d5) || (execute_address == 0xc858)) && (space.read_byte(0xdffa) == 0xc3))
+ {
+ static const u8 data[]={
+ 0xcd, 0x26, 0xc4, // CALL C426 ;set up other pointers
+ 0x21, 0xd4, 1, // LD HL,01D4 ;start of program address (used by C689)
+ 0x36, 0, // LD (HL),00 ;make sure dummy end-of-line is there
+ 0xc3, 0x89, 0xc6 // JP C689 ;run program
+ };
- /* load the binary into memory */
- if (z80bin_load_file(image, space, execute_address, start_address, end_address) != image_init_result::PASS)
- return image_init_result::FAIL;
+ for (u8 i = 0; i < std::size(data); i++)
+ space.write_byte(0xf01f + i, data[i]);
- /* is this file executable? */
- if (execute_address != 0xffff)
- {
- /* check to see if autorun is on */
- autorun = m_iop_config->read() & 1;
+ if (!autorun)
+ space.write_word(0xf028,0xc3dd);
- if ((execute_address >= 0xc000) && (execute_address <= 0xdfff) && (space.read_byte(0xdffa) != 0xc3))
- return image_init_result::FAIL; /* can't run a program if the cartridge isn't in */
+ /* tell BASIC where program ends */
+ space.write_byte(0x1b7, end_address & 0xff);
+ space.write_byte(0x1b8, (end_address >> 8) & 0xff);
- /* Since Exidy Basic is by Microsoft, it needs some preprocessing before it can be run.
- 1. A start address of 01D5 indicates a basic program which needs its pointers fixed up.
- 2. If autorunning, jump to C689 (command processor), else jump to C3DD (READY prompt).
- Important addresses:
- 01D5 = start (load) address of a conventional basic program
- C858 = an autorun basic program will have this exec address on the tape
- C3DD = part of basic that displays READY and lets user enter input */
+ if ((execute_address != 0xc858) && autorun)
+ space.write_word(0xf028, execute_address);
- if (((start_address == 0x1d5) || (execute_address == 0xc858)) && (space.read_byte(0xdffa) == 0xc3))
+ m_maincpu->set_pc(0xf01f);
+ }
+ else
+ {
+ if (autorun)
+ m_maincpu->set_pc(execute_address);
+ }
+ }
+ }
+ else
+ {
+ // SNP extension
+ // check size
+ if (image.length() != 0x1001c)
{
- static const u8 data[]={
- 0xcd, 0x26, 0xc4, // CALL C426 ;set up other pointers
- 0x21, 0xd4, 1, // LD HL,01D4 ;start of program address (used by C689)
- 0x36, 0, // LD (HL),00 ;make sure dummy end-of-line is there
- 0xc3, 0x89, 0xc6 // JP C689 ;run program
- };
+ image.seterror(IMAGE_ERROR_INVALIDIMAGE, "Snapshot must be 65564 bytes");
+ image.message("Snapshot must be 65564 bytes");
+ return image_init_result::FAIL;
+ }
- for (u8 i = 0; i < std::size(data); i++)
- space.write_byte(0xf01f + i, data[i]);
+ /* get the header */
+ u8 header[28];
+ image.fread( &header, sizeof(header));
- if (!autorun)
- space.write_word(0xf028,0xc3dd);
+ logerror("SNP PC register = 0x%04x\n", header[26] | (header[27] << 8));
- /* tell BASIC where program ends */
- space.write_byte(0x1b7, end_address & 0xff);
- space.write_byte(0x1b8, (end_address >> 8) & 0xff);
+ // write it to ram, and skip roms
+ unsigned char s_byte;
+ for (int i = 0; i < 0xe000; i++)
+ {
+ image.fread( &s_byte, 1);
+ space.write_byte(i, s_byte); // ram
+ }
- if ((execute_address != 0xc858) && autorun)
- space.write_word(0xf028, execute_address);
+ for (int i = 0xe000; i < 0xf000; i++)
+ image.fread( &s_byte, 1);
- m_maincpu->set_pc(0xf01f);
+ for (int i = 0xf000; i < 0xf800; i++)
+ {
+ image.fread( &s_byte, 1);
+ space.write_byte(i, s_byte); // screen
}
- else
+
+ for (int i = 0xf800; i < 0xfc00; i++)
+ image.fread( &s_byte, 1);
+
+ for (int i = 0xfc00; i < 0x10000; i++)
{
- if (autorun)
- m_maincpu->set_pc(execute_address);
+ image.fread( &s_byte, 1);
+ space.write_byte(i, s_byte); //pcg
}
+ // it's assumed if autorun was off that you wished to examine the image rather than to play it
+ if (autorun)
+ {
+ // patch CPU registers
+ m_maincpu->set_state_int(Z80_I, header[0]);
+ m_maincpu->set_state_int(Z80_HL2, header[1] | (header[2] << 8));
+ m_maincpu->set_state_int(Z80_DE2, header[3] | (header[4] << 8));
+ m_maincpu->set_state_int(Z80_BC2, header[5] | (header[6] << 8));
+ m_maincpu->set_state_int(Z80_AF2, header[7] | (header[8] << 8));
+ m_maincpu->set_state_int(Z80_HL, header[9] | (header[10] << 8));
+ m_maincpu->set_state_int(Z80_DE, header[11] | (header[12] << 8));
+ m_maincpu->set_state_int(Z80_BC, header[13] | (header[14] << 8));
+ m_maincpu->set_state_int(Z80_IY, header[15] | (header[16] << 8));
+ m_maincpu->set_state_int(Z80_IX, header[17] | (header[18] << 8));
+ m_maincpu->set_state_int(Z80_IFF1, header[19]&2 ? 1 : 0);
+ m_maincpu->set_state_int(Z80_IFF2, header[19]&4 ? 1 : 0);
+ m_maincpu->set_state_int(Z80_R, header[20]);
+ m_maincpu->set_state_int(Z80_AF, header[21] | (header[22] << 8));
+ m_maincpu->set_state_int(STATE_GENSP, header[23] | (header[24] << 8));
+ m_maincpu->set_state_int(Z80_IM, header[25]);
+ m_maincpu->set_pc(header[26] | (header[27] << 8));
+ }
+ else
+ m_maincpu->set_pc(0xe000); // SNP destroys workspace, so do cold start.
}
return image_init_result::PASS;
}
+
diff --git a/src/mame/machine/tek410x_kbd.cpp b/src/mame/machine/tek410x_kbd.cpp
new file mode 100644
index 00000000000..4d0d1beea46
--- /dev/null
+++ b/src/mame/machine/tek410x_kbd.cpp
@@ -0,0 +1,385 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/**********************************************************************
+
+ This emulates the standard serial keyboard used with Tektronix's
+ 4105, 4106, 4107 and 4109 terminals, including the trademark
+ octagonal "joy disk". The 4404 keyboard is also compatible.
+
+ The hardware was designed by the Keytronic Corporation, and uses
+ their 20-pin key strobe driver (22-0950-003) and input receiver
+ (22-0908-003) ASICs.
+
+ The 8048/8748's DB pins are connected to drivers for up to 5 LEDs,
+ but only one of these LEDs (CR9, on the Caps Lock key) is actually
+ populated.
+
+ A different but apparently backward-compatible keyboard was used
+ with the CX4107 and CX4109, based on a 8051 CPU with space for an
+ external program ROM and adding an onboard speaker as well as many
+ extra keys and an IBM 3279-style layout.
+
+ Hexadecimal table of press codes (release codes are the same + 80):
+
+ 00 Caps Lock
+ 01 Left Shift
+ 02 Right Shift
+ 03 Ctrl
+ 04 DEras/SEras
+ 05 Break
+ 06 Back Space
+ 07 Tab
+ 08 Line Feed
+ 09 Return
+ 0A Esc
+ 0B Space Bar
+ 0C " '
+ 0D < ,
+ 0E _ -
+ 0F > .
+ 10 ? /
+ 11 ) 0
+ 12 ! 1
+ 13 @ 2
+ 14 # 3
+ 15 $ 4
+ 16 % 5
+ 17 ^ 6
+ 18 & 7
+ 19 * 8
+ 1A ( 9
+ 1B : ;
+ 1C =
+ 1D A
+ 1E B
+ 1F C
+ 20 D
+ 21 E
+ 22 F
+ 23 G
+ 24 H
+ 25 I
+ 26 J
+ 27 K
+ 28 L
+ 29 M
+ 2A N
+ 2B O
+ 2C P
+ 2D Q
+ 2E R
+ 2F S
+ 30 T
+ 31 U
+ 32 V
+ 33 W
+ 34 X
+ 35 Y
+ 36 Z
+ 37 { [
+ 38 ` \
+ 39 } ]
+ 3A ~ |
+ 3B Rub Out
+ 3C Enter (keypad)
+ 3D , (keypad)
+ 3E - (keypad)
+ 3F . (keypad)
+ 40 0 (keypad)
+ 41 1 (keypad)
+ 42 2 (keypad)
+ 43 3 (keypad)
+ 44 4 (keypad)
+ 45 5 (keypad)
+ 46 6 (keypad)
+ 47 7 (keypad)
+ 48 8 (keypad)
+ 49 9 (keypad)
+ 4A F1
+ 4B F2
+ 4C F3
+ 4D F4
+ 4E F5
+ 4F F6
+ 50 F7
+ 51 F8
+ 52 GEras/Dialog
+ 53 Cancel/Setup
+ 54 DCopy/SCopy
+ 55 Menu
+ 56 Cursor Right (joystick)
+ 57 Cursor Up (joystick)
+ 58 Cursor Left (joystick)
+ 59 Cursor Down (joystick)
+
+ Additional press codes for CX keyboard only:
+
+ 5A Erase EOF
+ 5B Dup/PA1
+ 5C Reset/Dev Cncl
+ 5D Field Mark/PA2/_
+ 5E Attn Sys Req
+ 5F Cursr Sel/Clear
+ 60 < >
+ 61 Cursr Blink/Alt Cursr
+ 62 Ident
+ 63 Down Arrow
+ 64 Right Arrow/Right Double Arrow
+ 65 Left Arrow/Left Double Arrow
+ 66 Up Arrow
+ 67 Insert/Alpha
+ 68 Right Alt/Ctrl
+
+ The baud rate is 4800, with 8 data bits and no parity.
+
+**********************************************************************/
+
+#include "emu.h"
+#include "tek410x_kbd.h"
+
+// device type definition
+DEFINE_DEVICE_TYPE(TEK410X_KEYBOARD, tek410x_keyboard_device, "tek410x_kbd", "Tektronix 410X Standard Keyboard (119-1592-01)")
+
+tek410x_keyboard_device::tek410x_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, TEK410X_KEYBOARD, tag, owner, clock)
+ , m_mcu(*this, "mcu")
+ , m_key_matrix(*this, "X%u", 0U)
+ , m_config(*this, "CONFIG")
+ , m_tdata_callback(*this)
+ , m_rdata_callback(*this)
+ , m_select(0)
+ , m_p2_out(0)
+ , m_kdi(true)
+ , m_kdo(false)
+{
+}
+
+void tek410x_keyboard_device::device_resolve_objects()
+{
+ m_tdata_callback.resolve_safe();
+ m_rdata_callback.resolve_safe();
+}
+
+void tek410x_keyboard_device::device_start()
+{
+ save_item(NAME(m_select));
+ save_item(NAME(m_p2_out));
+ save_item(NAME(m_kdi));
+ save_item(NAME(m_kdo));
+}
+
+WRITE_LINE_MEMBER(tek410x_keyboard_device::kdi_w)
+{
+ m_kdi = state;
+ if (BIT(m_p2_out, 7))
+ {
+ m_mcu->set_input_line(MCS48_INPUT_IRQ, state ? CLEAR_LINE : ASSERT_LINE);
+ m_tdata_callback(state);
+ }
+}
+
+WRITE_LINE_MEMBER(tek410x_keyboard_device::kdo_w)
+{
+ m_kdo = state;
+ if (BIT(m_p2_out, 5))
+ m_rdata_callback(state);
+}
+
+WRITE_LINE_MEMBER(tek410x_keyboard_device::reset_w)
+{
+ m_mcu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE);
+ if (!state)
+ p2_w(0xff);
+}
+
+u8 tek410x_keyboard_device::p1_r()
+{
+ if (m_select < 12)
+ return m_key_matrix[m_select]->read();
+ else
+ return 0xff;
+}
+
+u8 tek410x_keyboard_device::p2_r()
+{
+ return 0xb0 | (m_kdo ? (m_p2_out & 0x20) << 1 : 0) | m_config->read();
+}
+
+void tek410x_keyboard_device::p2_w(u8 data)
+{
+ if (!BIT(data, 4))
+ m_select = m_mcu->p1_r() & 0x0f;
+
+ if (m_kdi && BIT(data, 7) != BIT(m_p2_out, 7))
+ {
+ m_tdata_callback(BIT(data, 7));
+ m_mcu->set_input_line(MCS48_INPUT_IRQ, BIT(data, 7) ? CLEAR_LINE : ASSERT_LINE);
+ }
+
+ if (m_kdo && BIT(data, 5) != BIT(m_p2_out, 5))
+ m_rdata_callback(BIT(data, 5));
+
+ m_p2_out = data;
+}
+
+void tek410x_keyboard_device::ext_map(address_map &map)
+{
+ map(0x00, 0xff).nopr();
+}
+
+static INPUT_PORTS_START(tek410x_keyboard)
+ PORT_START("X0")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) PORT_CODE(KEYCODE_ENTER_PAD)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(COMMA_PAD)) PORT_CODE(KEYCODE_PLUS_PAD)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_CODE(KEYCODE_3_PAD)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_CODE(KEYCODE_6_PAD)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_CODE(KEYCODE_MINUS_PAD)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_CODE(KEYCODE_9_PAD)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_CODE(KEYCODE_DEL_PAD)
+
+ PORT_START("X1")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
+ 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(2_PAD)) PORT_CODE(KEYCODE_2_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(7_PAD)) PORT_CODE(KEYCODE_7_PAD)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_CODE(KEYCODE_1_PAD)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_CODE(KEYCODE_8_PAD)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_CODE(KEYCODE_0_PAD)
+
+ PORT_START("X2")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Break") //PORT_CODE(KEYCODE_XXX)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Line Feed") PORT_CHAR(0x0a) //PORT_CODE(KEYCODE_XXX)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Rub Out") PORT_CODE(KEYCODE_BACKSPACE)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(']') PORT_CHAR('}') PORT_CODE(KEYCODE_BACKSLASH)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
+
+ PORT_START("X3")
+ 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_CHAR('\\') PORT_CHAR('`') PORT_CODE(KEYCODE_OPENBRACE)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('\'') PORT_CHAR('"') PORT_CODE(KEYCODE_QUOTE)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Back Space") PORT_CHAR(0x08) PORT_CODE(KEYCODE_CLOSEBRACE)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('-') PORT_CHAR('_') PORT_CODE(KEYCODE_MINUS)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CHAR(0x0d) PORT_CODE(KEYCODE_ENTER)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('=') PORT_CHAR('+') PORT_CODE(KEYCODE_EQUALS)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space Bar") PORT_CHAR(' ') PORT_CODE(KEYCODE_SPACE)
+
+ PORT_START("X4")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_CODE(KEYCODE_DOWN)
+ 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(F7)) PORT_CODE(KEYCODE_F11)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CODE(KEYCODE_F6)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_CODE(KEYCODE_F10)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Setup Cancel") PORT_CODE(KEYCODE_F2)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CODE(KEYCODE_F7)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SCopy DCopy") PORT_CODE(KEYCODE_F3)
+
+ PORT_START("X5")
+ 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(UP)) PORT_CODE(KEYCODE_UP)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_CODE(KEYCODE_F12)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CODE(KEYCODE_F5)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CODE(KEYCODE_F9)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Dialog GEras") PORT_CODE(KEYCODE_F1)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CODE(KEYCODE_F8)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Menu") PORT_CODE(KEYCODE_F4)
+
+ PORT_START("X6")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("X") PORT_CHAR('x') PORT_CHAR('X') PORT_CODE(KEYCODE_X)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W") PORT_CHAR('w') PORT_CHAR('W') PORT_CODE(KEYCODE_W)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S") PORT_CHAR('s') PORT_CHAR('S') PORT_CODE(KEYCODE_S)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q") PORT_CHAR('q') PORT_CHAR('Q') PORT_CODE(KEYCODE_Q)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('2') PORT_CHAR('@') PORT_CODE(KEYCODE_2)
+ 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_CHAR('1') PORT_CHAR('!') PORT_CODE(KEYCODE_1)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Z") PORT_CHAR('z') PORT_CHAR('Z') PORT_CODE(KEYCODE_Z)
+
+ PORT_START("X7")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Caps Lock") PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_CODE(KEYCODE_LCONTROL)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Esc") PORT_CHAR(0x1b) //PORT_CODE(KEYCODE_XXX)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab") PORT_CHAR(0x09) //PORT_CODE(KEYCODE_XXX)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('|') PORT_CHAR('~') PORT_CODE(KEYCODE_TAB)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SEras DEras") //PORT_CODE(KEYCODE_XXX)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ctrl") PORT_CHAR(UCHAR_SHIFT_2) PORT_CODE(KEYCODE_CAPSLOCK)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('[') PORT_CHAR('{') PORT_CODE(KEYCODE_TILDE)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Shift") PORT_CHAR(UCHAR_SHIFT_1) PORT_CODE(KEYCODE_LSHIFT)
+
+ PORT_START("X8")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CHAR('c') PORT_CHAR('C') PORT_CODE(KEYCODE_C)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CHAR('e') PORT_CHAR('E') PORT_CODE(KEYCODE_E)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CHAR('d') PORT_CHAR('D') PORT_CODE(KEYCODE_D)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("R") PORT_CHAR('r') PORT_CHAR('R') PORT_CODE(KEYCODE_R)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('3') PORT_CHAR('#') PORT_CODE(KEYCODE_3)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CHAR('f') PORT_CHAR('F') PORT_CODE(KEYCODE_F)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('4') PORT_CHAR('$') PORT_CODE(KEYCODE_4)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V") PORT_CHAR('v') PORT_CHAR('V') PORT_CODE(KEYCODE_V)
+
+ PORT_START("X9")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N") PORT_CHAR('n') PORT_CHAR('N') PORT_CODE(KEYCODE_N)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y") PORT_CHAR('y') PORT_CHAR('Y') PORT_CODE(KEYCODE_Y)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CHAR('h') PORT_CHAR('H') PORT_CODE(KEYCODE_H)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T") PORT_CHAR('t') PORT_CHAR('T') PORT_CODE(KEYCODE_T)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('6') PORT_CHAR('^') PORT_CODE(KEYCODE_6)
+ 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_CHAR('5') PORT_CHAR('%') PORT_CODE(KEYCODE_5)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CHAR('b') PORT_CHAR('B') PORT_CODE(KEYCODE_B)
+
+ PORT_START("X10")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M") PORT_CHAR('m') PORT_CHAR('M') PORT_CODE(KEYCODE_M)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U") PORT_CHAR('u') PORT_CHAR('U') PORT_CODE(KEYCODE_U)
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J") PORT_CHAR('j') PORT_CHAR('J') PORT_CODE(KEYCODE_J)
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I") PORT_CHAR('i') PORT_CHAR('I') PORT_CODE(KEYCODE_I)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('7') PORT_CHAR('&') PORT_CODE(KEYCODE_7)
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K") PORT_CHAR('k') PORT_CHAR('K') PORT_CODE(KEYCODE_K)
+ PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('8') PORT_CHAR('*') PORT_CODE(KEYCODE_8)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(',') PORT_CHAR('>') PORT_CODE(KEYCODE_COMMA)
+
+ PORT_START("X11")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('/') PORT_CHAR('?') PORT_CODE(KEYCODE_SLASH)
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P") PORT_CHAR('p') PORT_CHAR('P') PORT_CODE(KEYCODE_P)
+ 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_NAME("O") PORT_CHAR('o') PORT_CHAR('O') PORT_CODE(KEYCODE_O)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('0') PORT_CHAR('(') PORT_CODE(KEYCODE_0)
+ 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_CHAR('9') PORT_CHAR(')') PORT_CODE(KEYCODE_9)
+ PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('.') PORT_CHAR('>') PORT_CODE(KEYCODE_STOP)
+
+ PORT_START("CONFIG")
+ PORT_DIPNAME(0x0f, 0x00, "Keyboard Type") PORT_DIPLOCATION("E:1,2,3,4")
+ PORT_DIPSETTING(0x00, "North America")
+ PORT_DIPSETTING(0x08, "United Kingdom (4A)")
+ PORT_DIPSETTING(0x04, "French (4B)")
+ PORT_DIPSETTING(0x02, "Swedish (4C)")
+ PORT_DIPSETTING(0x06, "Danish/Norwegian (4F)")
+ PORT_DIPSETTING(0x07, "German (4G)")
+ PORT_DIPSETTING(0x0a, "Katakana (4K)")
+INPUT_PORTS_END
+
+ioport_constructor tek410x_keyboard_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME(tek410x_keyboard);
+}
+
+void tek410x_keyboard_device::device_add_mconfig(machine_config &config)
+{
+ I8748(config, m_mcu, 4.608_MHz_XTAL);
+ m_mcu->set_addrmap(AS_IO, &tek410x_keyboard_device::ext_map);
+ m_mcu->bus_out_cb().set_output("led0").bit(0);
+ m_mcu->p1_in_cb().set(FUNC(tek410x_keyboard_device::p1_r));
+ m_mcu->p2_in_cb().set(FUNC(tek410x_keyboard_device::p2_r));
+ m_mcu->p2_out_cb().set(FUNC(tek410x_keyboard_device::p2_w));
+}
+
+ROM_START(tek410x_kbd)
+ ROM_REGION(0x400, "mcu", 0)
+ ROM_LOAD("473_8748.bin", 0x000, 0x400, CRC(371553a8) SHA1(165ffc2c0775c1a3c2cc3ec86fb05adc8e8bb3eb))
+ROM_END
+
+const tiny_rom_entry *tek410x_keyboard_device::device_rom_region() const
+{
+ return ROM_NAME(tek410x_kbd);
+}
diff --git a/src/mame/machine/tek410x_kbd.h b/src/mame/machine/tek410x_kbd.h
new file mode 100644
index 00000000000..095f7648094
--- /dev/null
+++ b/src/mame/machine/tek410x_kbd.h
@@ -0,0 +1,69 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+
+#ifndef MAME_MACHINE_TEK410X_KEYBOARD_H
+#define MAME_MACHINE_TEK410X_KEYBOARD_H
+
+#pragma once
+
+#include "cpu/mcs48/mcs48.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> tek410x_keyboard_device
+
+class tek410x_keyboard_device : public device_t
+{
+public:
+ // device type constructor
+ tek410x_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
+
+ // callback configuration
+ auto tdata_callback() { return m_tdata_callback.bind(); }
+ auto rdata_callback() { return m_rdata_callback.bind(); }
+
+ // line inputs
+ DECLARE_WRITE_LINE_MEMBER(kdi_w);
+ DECLARE_WRITE_LINE_MEMBER(kdo_w);
+ DECLARE_WRITE_LINE_MEMBER(reset_w);
+
+protected:
+ // device-level overrides
+ virtual void device_resolve_objects() override;
+ virtual void device_start() override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+private:
+ // MCU handlers
+ u8 p1_r();
+ u8 p2_r();
+ void p2_w(u8 data);
+
+ // address maps
+ void ext_map(address_map &map);
+
+ // object finders
+ required_device<mcs48_cpu_device> m_mcu;
+ required_ioport_array<12> m_key_matrix;
+ required_ioport m_config;
+
+ // output callbacks
+ devcb_write_line m_tdata_callback;
+ devcb_write_line m_rdata_callback;
+
+ // internal state
+ u8 m_select;
+ u8 m_p2_out;
+ bool m_kdi;
+ bool m_kdo;
+};
+
+// device type declaration
+DECLARE_DEVICE_TYPE(TEK410X_KEYBOARD, tek410x_keyboard_device)
+
+#endif // MAME_MACHINE_TEK410X_KEYBOARD_H
diff --git a/src/mame/machine/toaplan1.cpp b/src/mame/machine/toaplan1.cpp
index f4f12766bae..465f7245e3a 100644
--- a/src/mame/machine/toaplan1.cpp
+++ b/src/mame/machine/toaplan1.cpp
@@ -8,7 +8,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/tms32010/tms32010.h"
-#include "sound/ym3812.h"
+#include "sound/ymopl.h"
#include "includes/toaplan1.h"
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index d703d08b43b..f9f26369cda 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -1094,15 +1094,15 @@ maddog2_100 // (c) 1992
maddog2_110 // (c) 1992
maddog2_202 // (c) 1992
maddoga // (c) 1990
-marvice // (c) 1994 Web Picmatic
-marvice100hz // (c) 1994 Web Picmatic
+marvice // (c) 1994 Picmatic
+marvice100hz // (c) 1994 Picmatic
spacepir // (c) 1992
spacepir_14 // (c) 1992
-tierras100hz // (c) 1995 Web Picmatic
+tierras100hz // (c) 1995 Picmatic
wsjr // (c) 1991
wsjr_15 // (c) 1991
-zortonbr // (c) 1994 Web Picmatic
-zortonbr_100 // (c) 1993 Web Picmatic
+zortonbr // (c) 1994 Picmatic
+zortonbr_100 // (c) 1993 Picmatic
@source:alien.cpp
alien // (c) 2005 Capcom
@@ -2462,6 +2462,7 @@ bonzeadvu // B41 (c) 1988 Taito America Corporation (US)
cadash // C21 (c) 1989 Taito Corporation Japan
cadashf // C21 (c) 1989 Taito Corporation Japan
cadashg // C21 (c) 1989 Taito Corporation Japan
+cadashgo // C21 (c) 1989 Taito Corporation Japan
cadashi // C21 (c) 1989 Taito Corporation Japan
cadashj // C21 (c) 1989 Taito Corporation
cadashj1 // C21 (c) 1989 Taito Corporation
@@ -2472,6 +2473,7 @@ cadashu // C21 (c) 1989 Taito America Corporation
cadashu1 // C21 (c) 1989 Taito America Corporation
earthjkr // (c) 1993 Visco (Japan)
earthjkra //
+earthjkrb //
earthjkrp //
eto // (c) 1994 Visco (Japan)
galmedes // (c) 1992 Visco (Japan)
@@ -9267,7 +9269,6 @@ tripjok //
@source:bingoc.cpp
bingoc // (c) 1989 Sega
-bingoct // (c) 1989 Sega
@source:bingoman.cpp
bingoman //
@@ -9833,6 +9834,7 @@ comg175 // (c) 1984 Cal Omega / Casino Electronics Inc.
comg176 // (c) 1982 Cal Omega Inc.
comg181 // (c) 1983 Cal Omega Inc.
comg183 // (c) 1983 Cal Omega Inc.
+comg184 // (c) 1983 Cal Omega Inc.
comg185 // (c) 1983 Cal Omega Inc.
comg186 // (c) 1983 Cal Omega Inc.
comg187 // (c) 1983 Cal Omega Inc.
@@ -9874,6 +9876,7 @@ can09 //
@source:canon_s80.cpp
canons80 //
+canonts3 //
@source:canyon.cpp
canyon // 009493-009504 1977/10 [6502]
@@ -11375,6 +11378,9 @@ crazybal // EGS
crbaloon // CL (c) 1980 Taito Corporation
crbaloon2 // CL (c) 1980 Taito Corporation
+@source:crei680.cpp
+crei680
+
@source:crgolf.cpp
crgolf // (c) 1984 Nasco Japan
crgolfa // (c) 1984 Nasco Japan
@@ -11628,6 +11634,7 @@ dai // DAI
@source:dai3wksi.cpp
dai3wksi // 1979.09 Dai San Wakusei (The Third Planet)
warp1 // 1979.12 Warp-1
+warp1t // 1979.12 Warp-1 (Taito license)
warp1bl // bootleg
@source:dambustr.cpp
@@ -11635,6 +11642,9 @@ dambustr // (c) 1981 South West Research
dambustra // (c) 1981 South West Research
dambustruk // (c) 1981 South West Research
+@source:dangbar.cpp
+dangbar //
+
@source:darius.cpp
darius // A96 (c) 1986 Taito Corporation Japan (World)
dariuse // A96 (c) 1986 Taito Corporation (Japan)
@@ -12046,6 +12056,10 @@ shackled // (c) 1986 Data East USA (US)
srdarwin // (c) 1987 Data East Corporation (World)
srdarwinj // (c) 1987 Data East Corporation (Japan)
+@source:decmate2.cpp
+decmate2 //
+decmate3 //
+
@source:deco_ld.cpp
begas // (c) 1983
begas1 // (c) 1983
@@ -12166,6 +12180,7 @@ decocass //
decomult //
@source:decstation.cpp
+ds2100 // 1989 Digital Equipment Corporation (DECstation 2100)
ds3100 // 1989 Digital Equipment Corporation (DECstation 3100)
ds5k133 // 1993 Digital Equipment Corporation (DECstation 5000/133)
@@ -13415,6 +13430,7 @@ exl100 //
exerion // (c) 1983 Jaleco
exerionb // bootleg
exerionb2 // bootleg
+exerionba // bootleg (Assa / Automave)
exeriont // (c) 1983 Jaleco + Taito America license
irion //
@@ -14146,6 +14162,9 @@ asurabld // (c) 1998 (Japan)
asurabus // (c) 2000 (Japan)
asurabusa // review build
+@source:fwheel.cpp
+fwheel //
+
@source:g627.cpp
rota_101 //
rota_115 //
@@ -16141,6 +16160,7 @@ unkeinv // Gordon Barlow Design
vidchal // Select Merchandise
@source:hh_cops1.cpp
+cambrp // Sinclair
mbaskb // Mattel
mhockey // Mattel
msoccer // Mattel
@@ -19141,6 +19161,9 @@ klaxd2 // 136075 (c) 1989 (Germany)
klaxj3 // 136075 (c) 1989 (Japan)
klaxj4 // 136075 (c) 1989 (Japan)
+@source:kminus.cpp
+kminus // 1982 Kyber Minus
+
@source:kncljoe.cpp
bcrusher // bootleg
kncljoe // (c) 1985 Taito Corporation
@@ -19359,6 +19382,7 @@ bassangl // 1998 - Bass Angler (GE765 VER. JAA)
cr589fw // 1999 - CR-589 Firmware (700B04)
cr589fwa // 1999 - CR-589 Firmware (700A04)
darkhleg // 1998 - Dark Horse Legend (GX706 VER. JAA)
+ddrkara // 1999 - Dance Dance Revolution Karaoke Mix (GQ921 VER. JBB)
ddr2m // 1999 - Dance Dance Revolution 2nd Mix (GN895 VER. JAA)
ddr2mc // 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA)
ddr2mc2 // 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA)
@@ -19395,6 +19419,7 @@ dmx2majp // 2001 - Dance Maniax 2nd Mix Append J-Paradise
dncfrks // 2000 - Dance Freaks (G*874 VER. KAA)
drmn // 1999 - DrumMania (GQ881 VER. JAD)
drmna // 1999 - DrumMania (GQ881 VER. JAB)
+drmnu // 1999 - DrumMania (GQ881 VER. UAB)
drmn10m // 2004 - DrumMania 10th Mix (G*D40 VER. JAA)
drmn2m // 1999 - DrumMania 2nd Mix (GE912 VER. JAB)
drmn2mpu // 1999 - DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)
@@ -19466,12 +19491,19 @@ mrtlbeat // 2002 - Martial Beat (Martial Beat (G*B47 VER.
pcnfrk // 1999 - Percussion Freaks (GQ881 VER. EAB)
pcnfrka // 1999 - Percussion Freaks (GQ881 VER. AAB)
pcnfrkk // 1999 - Percussion Freaks (GQ881 VER. KAB)
-pcnfrku // 1999 - Percussion Freaks (GQ881 VER. UAB)
-pcnfrk2m // 2000 - Percussion Freaks 2nd Mix (GE912 VER. KAA)
-pcnfrk3m // 2000 - Percussion Freaks 3rd Mix (G*A23 VER. KAA)
+pcnfrk2m // 2000 - Percussion Freaks 2nd Mix (GE912 VER. AAA)
+pcnfrk2mk // 2000 - Percussion Freaks 2nd Mix (GE912 VER. KAA)
+pcnfrk3m // 2000 - Percussion Freaks 3rd Mix (G*A23 VER. AAA)
+pcnfrk3mk // 2000 - Percussion Freaks 3rd Mix (G*A23 VER. KAA)
pcnfrk4m // 2001 - Percussion Freaks 4rd Mix (G*A25 VER. AAA)
pcnfrk4mk // 2001 - Percussion Freaks 4rd Mix (G*A25 VER. KAA)
-pcnfrk5m // 2001 - Percussion Freaks 5th Mix (G*B05 VER. KAA)
+pcnfrk5m // 2001 - Percussion Freaks 5th Mix (G*B05 VER. AAA)
+pcnfrk5mk // 2001 - Percussion Freaks 5th Mix (G*B05 VER. KAA)
+pcnfrk6m // 2001 - Percussion Freaks 6th Mix (G*B16 VER. AAA)
+pcnfrk7m // 2002 - Percussion Freaks 7th Mix (G*C07 VER. AAA)
+pcnfrk8m // 2003 - Percussion Freaks 8th Mix (G*C38 VER. AAA)
+pcnfrk9m // 2003 - Percussion Freaks 9th Mix eAmusement (G*D09 VER. ABA)
+pcnfrk10m // 2004 - Percussion Freaks 10th Mix eAmusement (G*D40 VER. ACA)
pnchmn // 2000 - Punch Mania: Hokuto no Ken (GQ918 VER. JAB)
pnchmn2 // 2000 - Punch Mania 2: Hokuto no Ken (GQA09 JAA)
pnchmna // 2000 - Punch Mania: Hokuto no Ken (GQ918 VER. JAB, ALT CD)
@@ -19535,8 +19567,9 @@ dorodon2 // Falcon
ladybug // 8110 (c) 1981
ladybugb // bootleg
ladybugb2 // bootleg
+mrsdyna // 8203 (c) 1982 Universal
snapjack // ???? (c)
-sraider // ???? (c) 1982 Universal
+sraider // 8203 (c) 1982 Universal
@source:ladyfrog.cpp
ladyfrog // (c) 1990 Mondial Games
@@ -19634,6 +19667,9 @@ leappad // (c) 2001 LeapFrog / Knowledge Kids Enterprise
mfleappad // (c) 2002 LeapFrog
ltleappad // (c) 2005 LeapFrog
+@source:leapfrog_leapster_explorer.cpp
+leapexpr
+
@source:leapster.cpp
leapster //
leapster2 //
@@ -22459,6 +22495,7 @@ turbotag // (c) 1985
archrivl // (c) 1989
archrivla // (c) 1989
archrivlb // bootleg
+basketbal // bootleg
blasted // (c) 1988
intlaser // (c) 1987
pigskin // (c) 1990
@@ -22870,6 +22907,7 @@ misdraw // (c) 1986 Merit / Big Apple Games
mosdraw // (c) 1990 Merit
mdchoice // (c) 1983 Merit
mpchoice // (c) 1983 Merit
+mpchoicea // (c) 1983 Merit
mroundup // (c) 1984 Merit
phrcraze // (c) 1986 Merit
phrcrazea // (c) 1986 Merit
@@ -22880,6 +22918,7 @@ pitboss // (c) 1983 Merit
pitboss04 // (c) 1983 Merit
pitboss03 // (c) 1983 Merit
pitboss03a // (c) 1983 Merit
+pitboss03b // (c) 1983 Merit
pitbossm4 // (c) 1983 Merit
pitbossps // (c) 1983 Merit
riviera // (c) 1987 Merit
@@ -23057,6 +23096,9 @@ gldarrow // (c) 1984 Meyco Games
mfabfz //
mfabfz85 //
+@source:mg1.cpp
+mg1 // Whitechapel Computer Works MG-1
+
@source:mgames.cpp
mgames // (c) 1981 Merit
@@ -23430,6 +23472,7 @@ blockr1 // 06/11/1991 (c) 1991 Capcom (World) (Joystick
blockr2 // 10/09/1991 (c) 1991 Capcom (World)
cworld // 11/1989 (QUIZ 1) (c) 1989 Capcom
dokaben // 3/1989 (c) 1989 Capcom (Japan)
+dokaben2 // ?/1989 (c) 1989 Capcom (Japan)
hatena // 28/02/1990 (QUIZ 2) (c) 1990 Capcom (Japan)
marukin // 17/10/1990 (c) 1990 Yuga (Japan)
mgakuen // (c) 1988 Yuga
@@ -31901,6 +31944,7 @@ senko // 2005.08 Senko no Ronde (Rev A)
senkoo // 2005.04 Senko no Ronde
senkosp // 2006.08 Senkou no Rondo SP
sfz3ugd // 2001.02 Street Fighter ZERO3 Upper
+sgdrvsim // 2007.?? Driving Simulator
sgtetris // 1999.10 Sega Tetris
shaktam // 2000.12.28 Shakatto Tambourine (Rev B)
shaktamb // 2001.10.17 Shakatto Tambourine Cho Powerup Chu (2K1 AUT)
@@ -32679,50 +32723,51 @@ fcpocket
rminitv
@source:nes_vt369_vtunknown.cpp
+240in1ar
bittboy
-mc_pg150
-mc_hh210
-dvnimbus
-unkra200
+denv150
+dgun2561
dgun2577
-lxcyber
+dgun2593
+dvnimbus
+egame150
+fapocket
+gcs2mgp
gtct885
-rd5_240
hkb502
hkb502a
+lpgm240
lxcap
-retro400
-myarccn
-fapocket
-sy889
-sy888b
-mc_cb280
-mog_m320
-dgun2561
-dgun2593
-lxcmcy
+lxccatv
+lxccminn
+lxccplan
lxcmc250
-lxcmcysw
-lxcmcyfz
-lxcmcydp
-lxcmcysp
+lxcmcy
lxcmcycr
+lxcmcydp
+lxcmcyfz
lxcmcypj
lxcmcypp
-lxccminn
-lxccplan
+lxcmcysp
+lxcmcysw
+lxcyber
+mc_cb280
+mc_hh210
+mc_pg150
+mog_m320
+myarccn
+otrail
+rd5_240
+red5mam
+retro400
rtvgc300
rtvgc300fz
-red5mam
-240in1ar
-denv150
-egame150
-lpgm240
+sealvt
+sy888b
+sy889
tup240
-otrail
+unkra200
zonefusn
-sealvt
-gcs2mgp
@source:newbrain.cpp
newbrain //
@@ -33475,6 +33520,7 @@ partner //
@source:pasha2.cpp
pasha2 // (c) 1998 Dong Sung
+zdrum // (c) 2000 PARA Enterprises
@source:paso1600.cpp
paso1600 //
@@ -34590,6 +34636,9 @@ kov3hd101
phc25 //
phc25j //
+@source:philipsbo.cpp
+pbo // (c) 1987 Philips
+
@source:phoenix.cpp
avefenix // bootleg (Video Game)
avefenixl // bootleg (Laguna)
@@ -34863,6 +34912,9 @@ wbeachvl2 // (c) 1995
wbeachvl3 // (c) 1995
wbeachvla // (c) 1995
+@source:plsonic4.cpp
+plsonic4 //
+
@source:plus4.cpp
c116 //
c16 //
@@ -35902,6 +35954,7 @@ darkseal2 // MAS (c) 1992 Data East Corporation (Japan)
gunball // MAV (c) 1992 Data East Corporation (Japan)
nitrobal // MAV (c) 1992 Data East Corporation (World)
nitrobala // MAV (c) 1992 Data East Corporation (World)
+nitrobalb // MAV (c) 1992 Data East Corporation (World)
rohga // MAM (c) 1991 Data East Corporation (Asia/Euro)
rohga1 // MAM (c) 1991 Data East Corporation (Asia/Euro)
rohga2 // MAM (c) 1991 Data East Corporation (Asia/Euro)
@@ -38440,6 +38493,7 @@ crystalca // 1998 JCD srl
3in1semi // (c) 1998 SemiCom
4in1boot // (c) 2002 KISoft (includes hacks of Semicom games + Snowbros)
ballboy // bootleg
+ballboy3p // bootleg
cookbib2 // (c) 1996 SemiCom
cookbib2a // (c) 1996 SemiCom
cookbib2b // (c) 1996 SemiCom
@@ -38511,7 +38565,6 @@ supreme
arcade10
@source:storio.cpp
-innotab2 // (c) 2011 V.Tech
storio // (c) 2011 V.Tech
storiode // (c) 2011 V.Tech
storioes // (c) 2011 V.Tech
@@ -38728,26 +38781,31 @@ jak_mk
jak_mpacw
@source:spg2xx_jakks_gkr.cpp
-jak_wwe //
-jak_fan4 //
-jak_just //
+jak_capc //
+jak_care //
+jak_dbz //
+jak_disf //
+jak_disn //
jak_dora //
jak_dorr //
-jak_disn //
-jak_disf //
jak_dpr //
jak_dprs //
-jak_sith //
-jak_sdoo //
-jak_dbz //
+jak_dwmn //
+jak_dwmno //
+jak_fan4 //
+jak_just //
jak_mpac //
-jak_capc //
-jak_wof //
-jak_spdm //
-jak_pooh //
-jak_care //
jak_nick //
+jak_pooh //
jak_sbfc //
+jak_sdoo //
+jak_sith //
+jak_sithp //
+jak_spdm //
+jak_swot //
+jak_wof //
+jak_wwe //
+jak_xmenp //
@source:spg2xx_jakks_sharp.cpp
jsc_dora
@@ -38864,6 +38922,7 @@ spinner // bootleg
@source:spinb.cpp
bushido //
bushidoa //
+bushidob //
jolypark //
mach2 //
mach2a //
@@ -40401,6 +40460,9 @@ tek4109a //
@source:tek440x.cpp
tek4404 // (c) 1984 Tektronix
+@source:tekigw.cpp
+tek6130 // Tektronix 6130
+
@source:tekxp33x.cpp
tekxp330 //
@@ -42082,6 +42144,9 @@ laser700 // 1984? Laser 700
@source:vtech_eu3a12.cpp
vreadere
+@source:vtech_innotab.cpp
+innotab2 // (c) 2011 V.Tech
+
@source:vulgus.cpp
mach9 // bootleg (ITISA)
vulgus // 5/1984 (c) 1984
@@ -42944,6 +43009,7 @@ wrally // (c) 1993 - Ref 930705
wrallya // (c) 1993 - Ref 930705
wrallyat // (c) 1993 - Ref 930217
wrallyb // (c) 1993 - Ref 930217
+wrallyc // (c) 1993
@source:wrinkles.cpp
wrinkles
@@ -43497,13 +43563,16 @@ strider2a // Strider 2 (ASIA 991213)
strider2u // Strider 2 (USA 991213)
tblkkuzu // The Block Kuzushi (JAPAN)
techromn // Tech Romancer (EURO 980914)
+techromna // Tech Romancer (ASIA 980914)
techromnu // Tech Romancer (USA 980914)
twcupmil // Tecmo World Cup Millennium (JAPAN)
tgmj // Tetris The Grand Master (JAPAN 980710)
tondemo // Tondemo Crisis (JAPAN)
-ts2 // Battle Arena Toshinden 2 (USA 951124)
-ts2a // Battle Arena Toshinden 2 (USA 951124)
+ts2 // Battle Arena Toshinden 2 (EURO 951124)
ts2j // Battle Arena Toshinden 2 (JAPAN 951124)
+ts2ja // Battle Arena Toshinden 2 (JAPAN 951124)
+ts2u // Battle Arena Toshinden 2 (USA 951124)
+ts2ua // Battle Arena Toshinden 2 (USA 951124)
@source:zodiack.cpp
bounty // (c) 1982 Orca
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 9aacee0b468..bdaa6019121 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -202,6 +202,7 @@ controlid.cpp
cortex.cpp
cosmicos.cpp
cp1.cpp
+crei680.cpp
crimson.cpp
crvision.cpp
ct486.cpp
@@ -225,6 +226,7 @@ dccons.cpp
dcebridge.cpp
dct11em.cpp
debut.cpp
+decmate2.cpp
decstation.cpp
dectalk.cpp
decwritr.cpp
@@ -500,6 +502,7 @@ kaypro.cpp
kc.cpp
kdt6.cpp
kim1.cpp
+kminus.cpp
konin.cpp
korgds8.cpp
korgdss1.cpp
@@ -521,6 +524,7 @@ lc80.cpp
lcmate2.cpp
leapfrog_iquest.cpp
leapfrog_leappad.cpp
+leapfrog_leapster_explorer.cpp
leapster.cpp
learnwin.cpp
lee1214.cpp
@@ -601,6 +605,7 @@ mephisto_smondial.cpp
meritum.cpp
mes.cpp
mfabfz.cpp
+mg1.cpp
mice.cpp
micral.cpp
micro20.cpp
@@ -777,6 +782,7 @@ pes.cpp
pet.cpp
pg685.cpp
phc25.cpp
+philipsbo.cpp
phunsy.cpp
picno.cpp
pimps.cpp
@@ -1019,6 +1025,7 @@ tecnbras.cpp
tek405x.cpp
tek410x.cpp
tek440x.cpp
+tekigw.cpp
tekxp33x.cpp
teleray10.cpp
telex1192.cpp
@@ -1144,6 +1151,7 @@ vta2000.cpp
vtech1.cpp
vtech2.cpp
vtech_eu3a12.cpp
+vtech_innotab.cpp
wangpc.cpp
wicat.cpp
wizard.cpp
diff --git a/src/mame/video/1942.cpp b/src/mame/video/1942.cpp
index 926bc59d0c3..8cb3cc11e65 100644
--- a/src/mame/video/1942.cpp
+++ b/src/mame/video/1942.cpp
@@ -135,6 +135,11 @@ void _1942_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(_1942_state::get_bg_tile_info)), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
m_fg_tilemap->set_transparent_pen(0);
+
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
}
void _1942p_state::video_start()
@@ -143,6 +148,11 @@ void _1942p_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(_1942_state::get_bg_tile_info)), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
m_fg_tilemap->set_transparent_pen(3);
+
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
}
@@ -225,7 +235,7 @@ void _1942_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
const rectangle cliprecty(cliprect.min_x, cliprect.max_x, y, y);
uint8_t objdata[4];
- uint8_t v = flip_screen() ? ~(y - 1) : y - 1;
+ uint8_t v = flip_screen() ? ~(y - 1 - 6) : y - 1 - 6;
for (int h = 496; h >= 128; h -= 16)
{
const bool objcnt4 = BIT(h, 8) != BIT(~h, 7);
@@ -283,7 +293,7 @@ void _1942_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
do
{
- m_gfxdecode->gfx(2)->transpen(bitmap, cliprecty, code + i, col, flip_screen(), flip_screen(), sx, sy + 16 * i * dir, 15);
+ m_gfxdecode->gfx(2)->transpen(bitmap, cliprecty, code + i, col, flip_screen(), flip_screen(), sx+128, sy + 6 + 16 * i * dir, 15);
} while (i-- > 0);
}
}
@@ -319,7 +329,7 @@ void _1942p_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
sy = 240 - sy;
}
- m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, col, flip_screen(), flip_screen(), sx, sy, 15);
+ m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, col, flip_screen(), flip_screen(), sx+128, sy+6, 15);
}
}
diff --git a/src/mame/video/1943.cpp b/src/mame/video/1943.cpp
index 0ecc0adc192..32437c08769 100644
--- a/src/mame/video/1943.cpp
+++ b/src/mame/video/1943.cpp
@@ -202,6 +202,13 @@ void _1943_state::video_start()
m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(1), 0x0f);
m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_bg2_tilemap->set_scrolldx(128, 128);
+ m_bg2_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
+
save_item(NAME(m_char_on));
save_item(NAME(m_obj_on));
save_item(NAME(m_bg1_on));
@@ -298,7 +305,7 @@ void _1943_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
sy = 240 - sy;
}
- _1943_drawgfx(bitmap,cliprect, m_gfxdecode->gfx(3), code, color, flip_screen(), flip_screen(), sx, sy, 0);
+ _1943_drawgfx(bitmap,cliprect, m_gfxdecode->gfx(3), code, color, flip_screen(), flip_screen(), sx+128, sy+6, 0);
}
}
diff --git a/src/mame/video/aquarius.cpp b/src/mame/video/aquarius.cpp
index 8241282c106..2d235ac90b3 100644
--- a/src/mame/video/aquarius.cpp
+++ b/src/mame/video/aquarius.cpp
@@ -41,31 +41,58 @@ void aquarius_state::aquarius_palette(palette_device &palette) const
palette.set_pen_indirect(i, aquarius_pens[i]);
}
-void aquarius_state::aquarius_videoram_w(offs_t offset, uint8_t data)
+void aquarius_state::videoram_w(offs_t offset, uint8_t data)
{
+ int row = offset / 40;
+ int col = offset % 40;
+ int tile_index = (row + 2) * 44 + (col + 2);
+
m_videoram[offset] = data;
- m_tilemap->mark_tile_dirty(offset);
+ m_tilemap->mark_tile_dirty(tile_index);
+ if (offset == 0) m_tilemap->mark_all_dirty();
}
-void aquarius_state::aquarius_colorram_w(offs_t offset, uint8_t data)
+void aquarius_state::colorram_w(offs_t offset, uint8_t data)
{
+ int row = offset / 40;
+ int col = offset % 40;
+ int tile_index = (row + 2) * 44 + (col + 2);
+
m_colorram[offset] = data;
- m_tilemap->mark_tile_dirty(offset);
+ m_tilemap->mark_tile_dirty(tile_index);
+ if (offset == 0) m_tilemap->mark_all_dirty();
}
-TILE_GET_INFO_MEMBER(aquarius_state::aquarius_gettileinfo)
+TILE_GET_INFO_MEMBER(aquarius_state::get_tile_info)
{
- int bank = 0;
- int code = m_videoram[tile_index];
- int color = m_colorram[tile_index];
- int flags = 0;
+ int row = tile_index / 44;
+ int col = tile_index % 44;
- tileinfo.set(bank, code, color, flags);
+ switch (row)
+ {
+ case 0: case 1: case 27: case 28:
+ // border top/bottom
+ tileinfo.set(0, m_videoram[0], m_colorram[0], 0);
+ break;
+ default:
+ switch (col)
+ {
+ case 0: case 1: case 42: case 43:
+ // border left/right
+ tileinfo.set(0, m_videoram[0], m_colorram[0], 0);
+ break;
+ default:
+ // display area
+ tileinfo.set(0, m_videoram[(row - 2) * 40 + (col - 2)], m_colorram[(row - 2) * 40 + (col - 2)], 0);
+ break;
+ }
+ break;
+ }
}
void aquarius_state::video_start()
{
- m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aquarius_state::aquarius_gettileinfo)), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
+ m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aquarius_state::get_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 44, 29);
}
uint32_t aquarius_state::screen_update_aquarius(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/avgdvg.cpp b/src/mame/video/avgdvg.cpp
index 188bf61c4de..5b13113d39b 100644
--- a/src/mame/video/avgdvg.cpp
+++ b/src/mame/video/avgdvg.cpp
@@ -885,6 +885,9 @@ void avg_mhavoc_device::vgrst() // mhavoc_vgrst
void avg_starwars_device::update_databus() // starwars_data
{
+ // Avoid interfering with the slapstic
+ auto dis = machine().disable_side_effects();
+
m_data = m_memspace->read_byte(m_membase + m_pc);
}
diff --git a/src/mame/video/blktiger.cpp b/src/mame/video/blktiger.cpp
index 4f5c245bee4..004c4863606 100644
--- a/src/mame/video/blktiger.cpp
+++ b/src/mame/video/blktiger.cpp
@@ -86,6 +86,13 @@ void blktiger_state::video_start()
m_bg_tilemap4x8->set_transmask(2, 0xff00, 0x80ff);
m_bg_tilemap4x8->set_transmask(3, 0xf000, 0x8fff);
+ m_tx_tilemap->set_scrolldx(128, 128);
+ m_tx_tilemap->set_scrolldy( 6, 6);
+ m_bg_tilemap8x4->set_scrolldx(128, 128);
+ m_bg_tilemap8x4->set_scrolldy( 6, 6);
+ m_bg_tilemap4x8->set_scrolldx(128, 128);
+ m_bg_tilemap4x8->set_scrolldy( 6, 6);
+
save_pointer(NAME(m_scroll_ram), BGRAM_BANK_SIZE * BGRAM_BANKS);
}
@@ -207,7 +214,7 @@ void blktiger_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
code,
color,
flipx,flip_screen(),
- sx,sy,15);
+ sx+128,sy+6,15);
}
}
diff --git a/src/mame/video/calomega.cpp b/src/mame/video/calomega.cpp
index 6d58d21f52e..b5a1c3a9e78 100644
--- a/src/mame/video/calomega.cpp
+++ b/src/mame/video/calomega.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders: Roberto Fresca
+// copyright-holders: Roberto Fresca, Grull Osgo
/***********************************************
.-----------------------------------------.
@@ -7,7 +7,7 @@
| CAL OMEGA / CEI / UCMC |
| SYSTEMS 903 / 904 / 905 / 906-III |
| |
- | Driver by Roberto Fresca. |
+ | Driver by Roberto Fresca & Grull Osgo |
| |
'-----------------------------------------'
@@ -39,12 +39,12 @@ TILE_GET_INFO_MEMBER(calomega_state::get_bg_tile_info)
--xx xx-- tiles color.
---- --x- tiles bank.
x--- ---x extended tiles addressing.
- -x-- ---- seems unused. */
-
+ -x-- ---- seems unused.
+*/
int attr = m_colorram[tile_index];
- int code = ((attr & 1) << 8) | m_videoram[tile_index]; // bit 0 extends the the tiles addressing
- int bank = (attr & 0x02) >> 1; // bit 1 switch the gfx banks
- int color = (attr & 0x3c) >> 2; // bits 2-3-4-5 for color
+ int code = ((attr & 1) << 8) | m_videoram[tile_index]; // bit 0 extends the the tiles addressing.
+ int bank = (attr & 0x02) >> 1; // bit 1 switch the gfx banks.
+ int color = (attr & 0x3c) >> 2; // bits 2-3-4-5 for color.
tileinfo.set(bank, code, color, 0);
}
@@ -57,13 +57,17 @@ void calomega_state::video_start()
uint32_t calomega_state::screen_update_calomega(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
+ if(r_pot != m_red->read()) { r_pot = m_red->read() * 2.55; calomega_palette(*m_palette);}
+ if(g_pot != m_grn->read()) { g_pot = m_grn->read() * 2.55; calomega_palette(*m_palette);}
+ if(b_pot != m_blu->read()) { b_pot = m_blu->read() * 2.55; calomega_palette(*m_palette);}
+
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
void calomega_state::calomega_palette(palette_device &palette) const
{
-/* the proms are 256x4 bit, but the games only seem to need the first 128 entries,
+/* The proms are 256 x 4 bits, but the games only seem to need the first 128 entries,
and the rest of the PROM data looks like junk rather than valid colors
prom bits
@@ -72,17 +76,9 @@ void calomega_state::calomega_palette(palette_device &palette) const
--x- green component
-x-- blue component
x--- foreground (colors with this bit set are full brightness,
- colors with it clear are attenuated by the background color pots)
+ colors with it clear are attenuated by the analogic color pots)
*/
- // TODO: hook pots up as PORT_ADJUSTERs instead of hard coding them here
-
- // let's make the BG a little darker than FG blue
- constexpr int r_pot = 0x00;
- constexpr int g_pot = 0x00;
- constexpr int b_pot = 0xc0;
-
- // 00000BGR
uint8_t const *const color_prom = memregion("proms")->base();
if (!color_prom)
return;
@@ -93,13 +89,13 @@ void calomega_state::calomega_palette(palette_device &palette) const
int const fg = BIT(nibble, 3);
- // red component
+ // red component
int const r = BIT(nibble, 0) * (fg ? 0xff : r_pot);
- // green component
+ // green component
int const g = BIT(nibble, 1) * (fg ? 0xff : g_pot);
- // blue component
+ // blue component
int const b = BIT(nibble, 2) * (fg ? 0xff : b_pot);
palette.set_pen_color(i, rgb_t(r, g, b));
diff --git a/src/mame/video/combatsc.cpp b/src/mame/video/combatsc.cpp
index a77789f9e71..b2f65c0e42e 100644
--- a/src/mame/video/combatsc.cpp
+++ b/src/mame/video/combatsc.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Phil Stroffolino, Manuel Abadia
/***************************************************************************
- video.c
+ combatsc.cpp
Functions to emulate the video hardware of the machine.
@@ -12,7 +12,7 @@
#include "includes/combatsc.h"
-void combatsc_state::combatsc_palette(palette_device &palette) const
+void combatsc_state::palette(palette_device &palette) const
{
uint8_t const *const color_prom = memregion("proms")->base();
@@ -59,7 +59,7 @@ void combatsc_state::combatsc_palette(palette_device &palette) const
}
-void combatsc_state::combatscb_palette(palette_device &palette) const
+void combatscb_state::palette(palette_device &palette) const
{
uint8_t const *const color_prom = memregion("proms")->base();
@@ -91,8 +91,8 @@ void combatsc_state::combatscb_palette(palette_device &palette) const
TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
{
- uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
- uint8_t attributes = m_page[0][tile_index];
+ uint8_t ctrl_6 = m_k007121[0]->ctrlram_r(6);
+ uint8_t attributes = m_videoram[0][tile_index];
int bank = 4 * ((m_vreg & 0x0f) - 1);
int number, color;
@@ -100,7 +100,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
bank = 0;
if ((attributes & 0xb0) == 0)
- bank = 0; /* text bank */
+ bank = 0; // text bank
if (attributes & 0x80)
bank += 1;
@@ -113,7 +113,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
color = ((ctrl_6 & 0x10) * 2 + 16) + (attributes & 0x0f);
- number = m_page[0][tile_index + 0x400] + 256 * bank;
+ number = m_videoram[0][tile_index + 0x400] + 256 * bank;
tileinfo.set(0,
number,
@@ -124,8 +124,8 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
{
- uint8_t ctrl_6 = m_k007121_2->ctrlram_r(6);
- uint8_t attributes = m_page[1][tile_index];
+ uint8_t ctrl_6 = m_k007121[1]->ctrlram_r(6);
+ uint8_t attributes = m_videoram[1][tile_index];
int bank = 4 * ((m_vreg >> 4) - 1);
int number, color;
@@ -133,7 +133,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
bank = 0;
if ((attributes & 0xb0) == 0)
- bank = 0; /* text bank */
+ bank = 0; // text bank
if (attributes & 0x80)
bank += 1;
@@ -146,7 +146,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
color = ((ctrl_6 & 0x10) * 2 + 16 + 4 * 16) + (attributes & 0x0f);
- number = m_page[1][tile_index + 0x400] + 256 * bank;
+ number = m_videoram[1][tile_index + 0x400] + 256 * bank;
tileinfo.set(1,
number,
@@ -157,8 +157,8 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
TILE_GET_INFO_MEMBER(combatsc_state::get_text_info)
{
- uint8_t attributes = m_page[0][tile_index + 0x800];
- int number = m_page[0][tile_index + 0xc00];
+ uint8_t attributes = m_videoram[0][tile_index + 0x800];
+ int number = m_videoram[0][tile_index + 0xc00];
int color = 16 + (attributes & 0x0f);
tileinfo.set(0,
@@ -168,9 +168,9 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info)
}
-TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
+TILE_GET_INFO_MEMBER(combatscb_state::get_tile_info0)
{
- uint8_t attributes = m_page[0][tile_index];
+ uint8_t attributes = m_videoram[0][tile_index];
int bank = 4 * ((m_vreg & 0x0f) - 1);
int number, pal, color;
@@ -178,7 +178,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
bank = 0;
if ((attributes & 0xb0) == 0)
- bank = 0; /* text bank */
+ bank = 0; // text bank
if (attributes & 0x80)
bank += 1;
@@ -191,7 +191,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 1 : 3;
color = pal*16;// + (attributes & 0x0f);
- number = m_page[0][tile_index + 0x400] + 256 * bank;
+ number = m_videoram[0][tile_index + 0x400] + 256 * bank;
tileinfo.set(0,
number,
@@ -199,9 +199,9 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
0);
}
-TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
+TILE_GET_INFO_MEMBER(combatscb_state::get_tile_info1)
{
- uint8_t attributes = m_page[1][tile_index];
+ uint8_t attributes = m_videoram[1][tile_index];
int bank = 4*((m_vreg >> 4) - 1);
int number, pal, color;
@@ -209,7 +209,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
bank = 0;
if ((attributes & 0xb0) == 0)
- bank = 0; /* text bank */
+ bank = 0; // text bank
if (attributes & 0x80)
bank += 1;
@@ -222,7 +222,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 5 : 7;
color = pal * 16;// + (attributes & 0x0f);
- number = m_page[1][tile_index + 0x400] + 256 * bank;
+ number = m_videoram[1][tile_index + 0x400] + 256 * bank;
tileinfo.set(1,
number,
@@ -230,10 +230,10 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
0);
}
-TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
+TILE_GET_INFO_MEMBER(combatscb_state::get_text_info)
{
-// uint8_t attributes = m_page[0][tile_index + 0x800];
- int number = m_page[0][tile_index + 0xc00];
+// uint8_t attributes = m_videoram[0][tile_index + 0x800];
+ int number = m_videoram[0][tile_index + 0xc00];
int color = 16;// + (attributes & 0x0f);
tileinfo.set(1,
@@ -248,7 +248,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
***************************************************************************/
-VIDEO_START_MEMBER(combatsc_state,combatsc)
+void combatsc_state::video_start()
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info0)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info1)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -265,13 +265,14 @@ VIDEO_START_MEMBER(combatsc_state,combatsc)
save_pointer(NAME(m_spriteram[0]), 0x800);
save_pointer(NAME(m_spriteram[1]), 0x800);
+ save_item(NAME(m_textflip));
}
-VIDEO_START_MEMBER(combatsc_state,combatscb)
+void combatscb_state::video_start()
{
- m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info0_bootleg)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info1_bootleg)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_textlayer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_text_info_bootleg)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatscb_state::get_tile_info0)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatscb_state::get_tile_info1)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_textlayer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatscb_state::get_text_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_spriteram[0] = make_unique_clear<uint8_t[]>(0x800);
m_spriteram[1] = make_unique_clear<uint8_t[]>(0x800);
@@ -293,37 +294,39 @@ VIDEO_START_MEMBER(combatsc_state,combatscb)
***************************************************************************/
-uint8_t combatsc_state::combatsc_video_r(offs_t offset)
+void combatsc_base_state::videoview0_w(offs_t offset, uint8_t data)
{
- return m_videoram[offset];
-}
-
-void combatsc_state::combatsc_video_w(offs_t offset, uint8_t data)
-{
- m_videoram[offset] = data;
+ m_videoram[0][offset] = data;
if (offset < 0x800)
{
- if (m_video_circuit)
- m_bg_tilemap[1]->mark_tile_dirty(offset & 0x3ff);
- else
- m_bg_tilemap[0]->mark_tile_dirty(offset & 0x3ff);
+ m_bg_tilemap[0]->mark_tile_dirty(offset & 0x3ff);
}
- else if (offset < 0x1000 && m_video_circuit == 0)
+ else if (offset < 0x1000)
{
m_textlayer->mark_tile_dirty(offset & 0x3ff);
}
}
-void combatsc_state::combatsc_pf_control_w(offs_t offset, uint8_t data)
+void combatsc_base_state::videoview1_w(offs_t offset, uint8_t data)
+{
+ m_videoram[1][offset] = data;
+
+ if (offset < 0x800)
+ {
+ m_bg_tilemap[1]->mark_tile_dirty(offset & 0x3ff);
+ }
+}
+
+void combatsc_state::pf_control_w(offs_t offset, uint8_t data)
{
- k007121_device *k007121 = m_video_circuit ? m_k007121_2 : m_k007121_1;
+ k007121_device *k007121 = m_video_circuit ? m_k007121[1] : m_k007121[0];
k007121->ctrl_w(offset, data);
if (offset == 7)
{
m_bg_tilemap[m_video_circuit]->set_flip((data & 0x08) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
- if(m_video_circuit == 0)
+ if (m_video_circuit == 0)
{
m_textflip = (data & 0x08) == 0x08;
m_textlayer->set_flip((data & 0x08) ? TILEMAP_FLIPY | TILEMAP_FLIPX : 0);
@@ -332,69 +335,55 @@ void combatsc_state::combatsc_pf_control_w(offs_t offset, uint8_t data)
if (offset == 3)
{
if (data & 0x08)
- memcpy(m_spriteram[m_video_circuit].get(), m_page[m_video_circuit] + 0x1000, 0x800);
+ memcpy(m_spriteram[m_video_circuit].get(), m_videoram[m_video_circuit] + 0x1000, 0x800);
else
- memcpy(m_spriteram[m_video_circuit].get(), m_page[m_video_circuit] + 0x1800, 0x800);
+ memcpy(m_spriteram[m_video_circuit].get(), m_videoram[m_video_circuit] + 0x1800, 0x800);
}
}
-uint8_t combatsc_state::combatsc_scrollram_r(offs_t offset)
-{
- return m_scrollram[offset];
-}
-
-void combatsc_state::combatsc_scrollram_w(offs_t offset, uint8_t data)
-{
- m_scrollram[offset] = data;
-}
-
-
-
/***************************************************************************
Display Refresh
***************************************************************************/
-void combatsc_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit, bitmap_ind8 &priority_bitmap, uint32_t pri_mask )
+void combatsc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit, bitmap_ind8 &priority_bitmap, uint32_t pri_mask)
{
- k007121_device *k007121 = circuit ? m_k007121_2 : m_k007121_1;
+ k007121_device *k007121 = circuit ? m_k007121[1] : m_k007121[0];
int base_color = (circuit * 4) * 16 + (k007121->ctrlram_r(6) & 0x10) * 2;
k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(circuit), *m_palette, source, base_color, 0, 0, priority_bitmap, pri_mask);
}
-uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t combatsc_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int i;
-
- if (m_k007121_1->ctrlram_r(1) & 0x02)
+ if (m_k007121[0]->ctrlram_r(1) & 0x02)
{
m_bg_tilemap[0]->set_scroll_rows(32);
- for (i = 0; i < 32; i++)
- m_bg_tilemap[0]->set_scrollx(i, m_scrollram0[i]);
+ for (int i = 0; i < 32; i++)
+ m_bg_tilemap[0]->set_scrollx(i, m_scrollram[0][i]);
}
else
{
m_bg_tilemap[0]->set_scroll_rows(1);
- m_bg_tilemap[0]->set_scrollx(0, m_k007121_1->ctrlram_r(0) | ((m_k007121_1->ctrlram_r(1) & 0x01) << 8));
+ m_bg_tilemap[0]->set_scrollx(0, m_k007121[0]->ctrlram_r(0) | ((m_k007121[0]->ctrlram_r(1) & 0x01) << 8));
}
- if (m_k007121_2->ctrlram_r(1) & 0x02)
+ if (m_k007121[1]->ctrlram_r(1) & 0x02)
{
m_bg_tilemap[1]->set_scroll_rows(32);
- for (i = 0; i < 32; i++)
- m_bg_tilemap[1]->set_scrollx(i, m_scrollram1[i]);
+ for (int i = 0; i < 32; i++)
+ m_bg_tilemap[1]->set_scrollx(i, m_scrollram[1][i]);
}
else
{
m_bg_tilemap[1]->set_scroll_rows(1);
- m_bg_tilemap[1]->set_scrollx(0, m_k007121_2->ctrlram_r(0) | ((m_k007121_2->ctrlram_r(1) & 0x01) << 8));
+ m_bg_tilemap[1]->set_scrollx(0, m_k007121[1]->ctrlram_r(0) | ((m_k007121[1]->ctrlram_r(1) & 0x01) << 8));
}
- m_bg_tilemap[0]->set_scrolly(0, m_k007121_1->ctrlram_r(2));
- m_bg_tilemap[1]->set_scrolly(0, m_k007121_2->ctrlram_r(2));
+ m_bg_tilemap[0]->set_scrolly(0, m_k007121[0]->ctrlram_r(2));
+ m_bg_tilemap[1]->set_scrolly(0, m_k007121[1]->ctrlram_r(2));
screen.priority().fill(0, cliprect);
@@ -405,7 +394,7 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0, 1);
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 1, 2);
- /* we use the priority buffer so sprites are drawn front to back */
+ // we use the priority buffer so sprites are drawn front to back
draw_sprites(bitmap, cliprect, m_spriteram[1].get(), 1, screen.priority(), 0x0f00);
draw_sprites(bitmap, cliprect, m_spriteram[0].get(), 0, screen.priority(), 0x4444);
}
@@ -414,7 +403,7 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 0, 1);
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 1, 2);
- /* we use the priority buffer so sprites are drawn front to back */
+ // we use the priority buffer so sprites are drawn front to back
// drill sergeant ribbons goes here, MT #06259
draw_sprites(bitmap, cliprect, m_spriteram[1].get(), 1, screen.priority(), 0x0f00);
// guess: move the face as well (should go behind hands but it isn't tested)
@@ -424,16 +413,17 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
m_bg_tilemap[1]->draw(screen, bitmap, cliprect, 0, 8);
}
- //if (m_k007121_1->ctrlram_r(1) & 0x08)
+ //if (m_k007121[0]->ctrlram_r(1) & 0x08)
{
rectangle clip;
clip = cliprect;
- for (i = 0; i < 32; i++)
+ for (int i = 0; i < 32; i++)
{
// scrollram [0x20]-[0x3f]: char enable (presumably bit 0 only)
uint8_t base_scroll = m_textflip == true ? (0x3f - i) : (0x20 + i);
- if(m_scrollram[base_scroll] == 0)
+ auto slot = m_scroll_view.entry();
+ if (m_scrollram[*slot][base_scroll] == 0)
continue;
@@ -441,12 +431,12 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
clip.max_y = clip.min_y + 7;
// bit 3 of reg [1] selects if tiles are opaque or have transparent pen.
- m_textlayer->draw(screen, bitmap, clip, m_k007121_1->ctrlram_r(1) & 0x08 ? TILEMAP_DRAW_OPAQUE : 0, 0);
+ m_textlayer->draw(screen, bitmap, clip, m_k007121[0]->ctrlram_r(1) & 0x08 ? TILEMAP_DRAW_OPAQUE : 0, 0);
}
}
- /* chop the extreme columns if necessary */
- if (m_k007121_1->ctrlram_r(3) & 0x40)
+ // chop the extreme columns if necessary
+ if (m_k007121[0]->ctrlram_r(3) & 0x40)
{
rectangle clip;
@@ -489,7 +479,7 @@ byte #4:
***************************************************************************/
-void combatsc_state::bootleg_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit )
+void combatscb_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
gfx_element *gfx = m_gfxdecode->gfx(circuit + 2);
@@ -507,12 +497,12 @@ void combatsc_state::bootleg_draw_sprites( bitmap_ind16 &bitmap, const rectangle
while (source > finish)
{
- uint8_t attributes = source[3]; /* PBxF ?xxX */
+ uint8_t attributes = source[3]; // PBxF ?xxX
{
int number = source[0];
int x = source[2] - 71 + (attributes & 0x01)*256;
int y = 242 - source[1];
- uint8_t color = source[4]; /* CCCC xxBB */
+ uint8_t color = source[4]; // CCCC xxBB
int bank = (color & 0x03) | ((attributes & 0x40) >> 4);
@@ -521,25 +511,23 @@ void combatsc_state::bootleg_draw_sprites( bitmap_ind16 &bitmap, const rectangle
color = (circuit * 4) * 16 + (color >> 4);
- /* hacks to select alternate palettes */
+ // hacks to select alternate palettes
// if(m_vreg == 0x40 && (attributes & 0x40)) color += 1*16;
// if(m_vreg == 0x23 && (attributes & 0x02)) color += 1*16;
// if(m_vreg == 0x66 ) color += 2*16;
gfx->transpen(bitmap,cliprect,
number, color,
- attributes & 0x10,0, /* flip */
+ attributes & 0x10,0, // flip
x, y, 15 );
}
source -= 8;
}
}
-uint32_t combatsc_state::screen_update_combatscb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t combatscb_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int i;
-
- for (i = 0; i < 32; i++)
+ for (int i = 0; i < 32; i++)
{
m_bg_tilemap[0]->set_scrollx(i, m_io_ram[0x040 + i] + 5);
m_bg_tilemap[1]->set_scrollx(i, m_io_ram[0x060 + i] + 3);
@@ -550,16 +538,16 @@ uint32_t combatsc_state::screen_update_combatscb(screen_device &screen, bitmap_i
if (m_priority == 0)
{
m_bg_tilemap[1]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
- bootleg_draw_sprites(bitmap,cliprect, m_page[0], 0);
+ draw_sprites(bitmap, cliprect, m_videoram[0], 0);
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0 ,0);
- bootleg_draw_sprites(bitmap,cliprect, m_page[1], 1);
+ draw_sprites(bitmap, cliprect, m_videoram[1], 1);
}
else
{
m_bg_tilemap[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
- bootleg_draw_sprites(bitmap,cliprect, m_page[0], 0);
+ draw_sprites(bitmap, cliprect, m_videoram[0], 0);
m_bg_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
- bootleg_draw_sprites(bitmap,cliprect, m_page[1], 1);
+ draw_sprites(bitmap, cliprect, m_videoram[1], 1);
}
m_textlayer->draw(screen, bitmap, cliprect, 0, 0);
diff --git a/src/mame/video/commando.cpp b/src/mame/video/commando.cpp
index 0297de67b10..92fd2e65112 100644
--- a/src/mame/video/commando.cpp
+++ b/src/mame/video/commando.cpp
@@ -86,6 +86,11 @@ void commando_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(commando_state::get_bg_tile_info)), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(commando_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
+
m_fg_tilemap->set_transparent_pen(3);
}
@@ -115,7 +120,7 @@ void commando_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
if (bank < 3)
- m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 15);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx+128, sy+6, 15);
}
}
diff --git a/src/mame/video/cop01.cpp b/src/mame/video/cop01.cpp
index b01de2e98d5..4393cf3870a 100644
--- a/src/mame/video/cop01.cpp
+++ b/src/mame/video/cop01.cpp
@@ -2,8 +2,6 @@
// copyright-holders:Carlos A. Lozano
/***************************************************************************
- video.c
-
Functions to emulate the video hardware of the machine.
***************************************************************************/
diff --git a/src/mame/video/ddribble.cpp b/src/mame/video/ddribble.cpp
index 53d7d6b4de9..6fa212fed44 100644
--- a/src/mame/video/ddribble.cpp
+++ b/src/mame/video/ddribble.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Manuel Abadia
/***************************************************************************
- video.c
+ ddribble.cpp
Functions to emulate the video hardware of the machine.
@@ -12,7 +12,7 @@
#include "includes/ddribble.h"
-void ddribble_state::ddribble_palette(palette_device &palette) const
+void ddribble_state::palette(palette_device &palette) const
{
uint8_t const *const color_prom = memregion("proms")->base();
@@ -32,15 +32,15 @@ void ddribble_state::K005885_0_w(offs_t offset, uint8_t data)
{
switch (offset)
{
- case 0x03: /* char bank selection for set 1 */
+ case 0x03: // char bank selection for set 1
if ((data & 0x03) != m_charbank[0])
{
m_charbank[0] = data & 0x03;
m_fg_tilemap->mark_all_dirty();
}
break;
- case 0x04: /* IRQ control, flipscreen */
- m_int_enable_0 = data & 0x02;
+ case 0x04: // IRQ control, flipscreen
+ m_int_enable[0] = data & 0x02;
break;
}
m_vregs[0][offset] = data;
@@ -50,15 +50,15 @@ void ddribble_state::K005885_1_w(offs_t offset, uint8_t data)
{
switch (offset)
{
- case 0x03: /* char bank selection for set 2 */
+ case 0x03: // char bank selection for set 2
if ((data & 0x03) != m_charbank[1])
{
m_charbank[1] = data & 0x03;
m_bg_tilemap->mark_all_dirty();
}
break;
- case 0x04: /* IRQ control, flipscreen */
- m_int_enable_1 = data & 0x02;
+ case 0x04: // IRQ control, flipscreen
+ m_int_enable[1] = data & 0x02;
break;
}
m_vregs[1][offset] = data;
@@ -72,8 +72,8 @@ void ddribble_state::K005885_1_w(offs_t offset, uint8_t data)
TILEMAP_MAPPER_MEMBER(ddribble_state::tilemap_scan)
{
- /* logical (col,row) -> memory offset */
- return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6); /* skip 0x400 */
+ // logical (col,row) -> memory offset
+ return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6); // skip 0x400
}
TILE_GET_INFO_MEMBER(ddribble_state::get_fg_tile_info)
@@ -116,13 +116,13 @@ void ddribble_state::video_start()
***************************************************************************/
-void ddribble_state::ddribble_fg_videoram_w(offs_t offset, uint8_t data)
+void ddribble_state::fg_videoram_w(offs_t offset, uint8_t data)
{
m_fg_videoram[offset] = data;
m_fg_tilemap->mark_tile_dirty(offset & 0xbff);
}
-void ddribble_state::ddribble_bg_videoram_w(offs_t offset, uint8_t data)
+void ddribble_state::bg_videoram_w(offs_t offset, uint8_t data)
{
m_bg_videoram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset & 0xbff);
@@ -150,20 +150,20 @@ byte #4: attributes
***************************************************************************/
-void ddribble_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t* source, int lenght, int gfxset, int flipscreen )
+void ddribble_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t* source, int lenght, int gfxset, int flipscreen)
{
gfx_element *gfx = m_gfxdecode->gfx(gfxset);
const uint8_t *finish = source + lenght;
while (source < finish)
{
- int number = source[0] | ((source[1] & 0x07) << 8); /* sprite number */
- int attr = source[4]; /* attributes */
- int sx = source[3] | ((attr & 0x01) << 8); /* vertical position */
- int sy = source[2]; /* horizontal position */
- int flipx = attr & 0x20; /* flip x */
- int flipy = attr & 0x40; /* flip y */
- int color = (source[1] & 0xf0) >> 4; /* color */
+ int number = source[0] | ((source[1] & 0x07) << 8); // sprite number
+ int attr = source[4]; // attributes
+ int sx = source[3] | ((attr & 0x01) << 8); // vertical position
+ int sy = source[2]; // horizontal position
+ int flipx = attr & 0x20; // flip x
+ int flipy = attr & 0x40; // flip y
+ int color = (source[1] & 0xf0) >> 4; // color
int width, height;
if (flipscreen)
@@ -174,7 +174,7 @@ void ddribble_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
sy = 240 - sy;
if ((attr & 0x1c) == 0x10)
- { /* ???. needed for some sprites in flipped mode */
+ { // ???. needed for some sprites in flipped mode
sx -= 0x10;
sy -= 0x10;
}
@@ -182,35 +182,34 @@ void ddribble_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
switch (attr & 0x1c)
{
- case 0x10: /* 32x32 */
+ case 0x10: // 32x32
width = height = 2; number &= (~3); break;
- case 0x08: /* 16x32 */
+ case 0x08: // 16x32
width = 1; height = 2; number &= (~2); break;
- case 0x04: /* 32x16 */
+ case 0x04: // 32x16
width = 2; height = 1; number &= (~1); break;
- /* the hardware allow more sprite sizes, but ddribble doesn't use them */
- default: /* 16x16 */
+ // the hardware allows more sprite sizes, but ddribble doesn't use them
+ default: // 16x16
width = height = 1; break;
}
{
static const int x_offset[2] = { 0x00, 0x01 };
static const int y_offset[2] = { 0x00, 0x02 };
- int x, y, ex, ey;
- for (y = 0; y < height; y++)
+ for (int y = 0; y < height; y++)
{
- for (x = 0; x < width; x++)
+ for (int x = 0; x < width; x++)
{
- ex = flipx ? (width - 1 - x) : x;
- ey = flipy ? (height - 1 - y) : y;
+ int ex = flipx ? (width - 1 - x) : x;
+ int ey = flipy ? (height - 1 - y) : y;
- gfx->transpen(bitmap,cliprect,
- (number)+x_offset[ex]+y_offset[ey],
+ gfx->transpen(bitmap, cliprect,
+ (number) + x_offset[ex] + y_offset[ey],
color,
flipx, flipy,
- sx+x*16,sy+y*16, 0);
+ sx + x * 16, sy + y * 16, 0);
}
}
}
@@ -224,20 +223,20 @@ void ddribble_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
***************************************************************************/
-uint32_t ddribble_state::screen_update_ddribble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t ddribble_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
m_fg_tilemap->set_flip((m_vregs[0][4] & 0x08) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
m_bg_tilemap->set_flip((m_vregs[1][4] & 0x08) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
- /* set scroll registers */
+ // set scroll registers
m_fg_tilemap->set_scrollx(0, m_vregs[0][1] | ((m_vregs[0][2] & 0x01) << 8));
m_bg_tilemap->set_scrollx(0, m_vregs[1][1] | ((m_vregs[1][2] & 0x01) << 8));
m_fg_tilemap->set_scrolly(0, m_vregs[0][0]);
m_bg_tilemap->set_scrolly(0, m_vregs[1][0]);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- draw_sprites(bitmap, cliprect, m_spriteram_1, 0x07d, 2, m_vregs[0][4] & 0x08);
- draw_sprites(bitmap, cliprect, m_spriteram_2, 0x140, 3, m_vregs[1][4] & 0x08);
+ draw_sprites(bitmap, cliprect, m_spriteram[0], 0x07d, 2, m_vregs[0][4] & 0x08);
+ draw_sprites(bitmap, cliprect, m_spriteram[1], 0x140, 3, m_vregs[1][4] & 0x08);
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
diff --git a/src/mame/video/dragrace.cpp b/src/mame/video/dragrace.cpp
index 84f02b0edcc..8e3469212fc 100644
--- a/src/mame/video/dragrace.cpp
+++ b/src/mame/video/dragrace.cpp
@@ -13,15 +13,13 @@
TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
{
uint8_t code = m_playfield_ram[tile_index];
- int num = 0;
+ int num = code & 0x1f;
int col = 0;
- num = code & 0x1f;
-
if ((code & 0xc0) == 0x40)
num |= 0x20;
- switch (code & 0xA0)
+ switch (code & 0xa0)
{
case 0x00:
col = 0;
@@ -32,12 +30,12 @@ TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
case 0x80:
col = (code & 0x40) ? 1 : 0;
break;
- case 0xA0:
+ case 0xa0:
col = (code & 0x40) ? 3 : 2;
break;
}
- tileinfo.set(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
+ tileinfo.set(((code & 0xa0) == 0x80) ? 1 : 0, num, col, 0);
}
@@ -47,7 +45,7 @@ void dragrace_state::video_start()
}
-uint32_t dragrace_state::screen_update_dragrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t dragrace_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->mark_all_dirty();
diff --git a/src/mame/video/finalizr.cpp b/src/mame/video/finalizr.cpp
index a8578034156..76182cc3e3e 100644
--- a/src/mame/video/finalizr.cpp
+++ b/src/mame/video/finalizr.cpp
@@ -35,7 +35,7 @@
***************************************************************************/
-void finalizr_state::finalizr_palette(palette_device &palette) const
+void finalizr_state::palette(palette_device &palette) const
{
const uint8_t *color_prom = memregion("proms")->base();
static constexpr int resistances[4] = { 2200, 1000, 470, 220 };
@@ -94,8 +94,8 @@ void finalizr_state::finalizr_palette(palette_device &palette) const
TILE_GET_INFO_MEMBER(finalizr_state::get_bg_tile_info)
{
- int attr = m_colorram[tile_index];
- int code = m_videoram[tile_index] + ((attr & 0xc0) << 2) + (m_charbank << 10);
+ int attr = m_colorram[0][tile_index];
+ int code = m_videoram[0][tile_index] + ((attr & 0xc0) << 2) + (m_charbank << 10);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
@@ -104,8 +104,8 @@ TILE_GET_INFO_MEMBER(finalizr_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
{
- int attr = m_colorram2[tile_index];
- int code = m_videoram2[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_colorram[1][tile_index];
+ int code = m_videoram[1][tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
@@ -127,22 +127,20 @@ void finalizr_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
gfx_element *gfx1 = m_gfxdecode->gfx(1);
gfx_element *gfx2 = m_gfxdecode->gfx(2);
- uint8_t *sr = m_spriterambank ? m_spriteram_2 : m_spriteram;
+ uint8_t *sr = m_spriterambank ? m_spriteram[1] : m_spriteram[0];
- for (int offs = 0; offs <= m_spriteram.bytes() - 5; offs += 5)
+ for (int offs = 0; offs <= m_spriteram[0].bytes() - 5; offs += 5)
{
- int sx, sy, flipx, flipy, code, color, size;
-
- sx = 32 + 1 + sr[offs + 3] - ((sr[offs + 4] & 0x01) << 8);
- sy = sr[offs + 2];
- flipx = sr[offs + 4] & 0x20;
- flipy = sr[offs + 4] & 0x40;
- code = sr[offs] + ((sr[offs + 1] & 0x0f) << 8);
- color = ((sr[offs + 1] & 0xf0) >> 4);
+ int sx = 32 + 1 + sr[offs + 3] - ((sr[offs + 4] & 0x01) << 8);
+ int sy = sr[offs + 2];
+ int flipx = sr[offs + 4] & 0x20;
+ int flipy = sr[offs + 4] & 0x40;
+ int code = sr[offs] + ((sr[offs + 1] & 0x0f) << 8);
+ int color = ((sr[offs + 1] & 0xf0) >> 4);
// (sr[offs + 4] & 0x02) is used, meaning unknown
- size = sr[offs + 4] & 0x1c;
+ int size = sr[offs + 4] & 0x1c;
if (size >= 0x10)
{
@@ -202,7 +200,7 @@ void finalizr_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
-uint32_t finalizr_state::screen_update_finalizr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t finalizr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->mark_all_dirty();
m_fg_tilemap->mark_all_dirty();
diff --git a/src/mame/video/fmtowns.cpp b/src/mame/video/fmtowns.cpp
index 92656f62197..d4471d2777a 100644
--- a/src/mame/video/fmtowns.cpp
+++ b/src/mame/video/fmtowns.cpp
@@ -761,14 +761,11 @@ void towns_state::render_sprite_4(uint32_t poffset, uint32_t coffset, uint16_t x
uint16_t xstart,xend,ystart,yend;
int linesize = m_video.towns_crtc_reg[24] * 4;
int xdir,ydir;
- int width = (m_video.towns_crtc_reg[12] - m_video.towns_crtc_reg[11]) / (((m_video.towns_crtc_reg[27] & 0x0f00) >> 8)+1);
- int height = (m_video.towns_crtc_reg[16] - m_video.towns_crtc_reg[15]) / (((m_video.towns_crtc_reg[27] & 0xf000) >> 12)+2);
if (rotation)
{
std::swap (x,y);
std::swap (xflip,yflip);
- std::swap (width,height);
}
if(xflip)
@@ -841,7 +838,7 @@ void towns_state::render_sprite_4(uint32_t poffset, uint32_t coffset, uint16_t x
voffset += linesize * (ypos & 0x1ff); // scanline size in bytes * y pos
voffset += (xpos & 0x1ff) * 2;
}
- if(voffset < 0x20000 && xpos < width && ypos < height && pixel != 0 && voffset > linesize)
+ if(voffset < 0x20000 && xpos < 256 && ypos < 256 && pixel != 0 && voffset > linesize)
{
m_towns_gfxvram[0x40000+voffset+vbase+1] = (col & 0xff00) >> 8;
m_towns_gfxvram[0x40000+voffset+vbase] = col & 0x00ff;
@@ -862,7 +859,7 @@ void towns_state::render_sprite_4(uint32_t poffset, uint32_t coffset, uint16_t x
pixel = m_towns_txtvram[poffset] & 0x0f;
col = (m_towns_txtvram[coffset+(pixel*2)] | (m_towns_txtvram[coffset+(pixel*2)+1] << 8)) & 0x7fff;
- if(voffset < 0x20000 && xpos < width && ypos < height && pixel != 0 && voffset > linesize)
+ if(voffset < 0x20000 && xpos < 256 && ypos < 256 && pixel != 0 && voffset > linesize)
{
m_towns_gfxvram[0x40000+voffset+vbase+1] = (col & 0xff00) >> 8;
m_towns_gfxvram[0x40000+voffset+vbase] = col & 0x00ff;
@@ -887,32 +884,29 @@ void towns_state::render_sprite_16(uint32_t poffset, uint16_t x, uint16_t y, boo
uint16_t xstart,ystart,xend,yend;
int linesize = m_video.towns_crtc_reg[24] * 4;
int xdir,ydir;
- int width = (m_video.towns_crtc_reg[12] - m_video.towns_crtc_reg[11]) / (((m_video.towns_crtc_reg[27] & 0x0f00) >> 8)+1);
- int height = (m_video.towns_crtc_reg[16] - m_video.towns_crtc_reg[15]) / (((m_video.towns_crtc_reg[27] & 0xf000) >> 12)+2);
if (rotation)
{
std::swap (x,y);
std::swap (xflip,yflip);
- std::swap (width,height);
}
if(xflip)
{
if (xhalfsize)
- xstart = x+8;
+ xstart = x+7;
else
- xstart = x+16;
- xend = x;
+ xstart = x+15;
+ xend = x-1;
xdir = -1;
}
else
{
- xstart = x+1;
+ xstart = x;
if (xhalfsize)
- xend = x+9;
+ xend = x+8;
else
- xend = x+17;
+ xend = x+16;
xdir = 1;
}
if(yflip)
@@ -955,7 +949,7 @@ void towns_state::render_sprite_16(uint32_t poffset, uint16_t x, uint16_t y, boo
voffset += linesize * (ypos & 0x1ff); // scanline size in bytes * y pos
voffset += (xpos & 0x1ff) * 2;
}
- if(voffset < 0x20000 && xpos < width && ypos < height && col< 0x8000 && voffset > linesize)
+ if(voffset < 0x20000 && xpos < 256 && ypos < 256 && col< 0x8000 && voffset > linesize)
{
m_towns_gfxvram[0x40000+vbase+voffset+1] = (col & 0xff00) >> 8;
m_towns_gfxvram[0x40000+vbase+voffset] = col & 0x00ff;
@@ -972,17 +966,15 @@ void towns_state::render_sprite_16(uint32_t poffset, uint16_t x, uint16_t y, boo
}
}
-void towns_state::draw_sprites(const rectangle* rect)
+TIMER_CALLBACK_MEMBER(towns_state::draw_sprites)
{
uint16_t sprite_limit = (m_video.towns_sprite_reg[0] | (m_video.towns_sprite_reg[1] << 8)) & 0x3ff;
uint16_t xoff = (m_video.towns_sprite_reg[2] | (m_video.towns_sprite_reg[3] << 8)) & 0x1ff;
uint16_t yoff = (m_video.towns_sprite_reg[4] | (m_video.towns_sprite_reg[5] << 8)) & 0x1ff;
uint32_t poffset,coffset;
+ const rectangle *rect = &m_video.towns_crtc_layerscr[1];
int linesize = m_video.towns_crtc_reg[24] * 4;
- if(!(m_video.towns_sprite_reg[1] & 0x80))
- return;
-
// TODO: I'm not confident about this but based on the behavior of aburner and rbisland, it's probably in the ballpark
// aburner writes the backgound color from 0 to 0x400 in both pages while rbisland from 0 to 0x800 (What's the difference?)
// it's only written when the color changes so the sprite engine has to be prevented from writing there
@@ -1020,7 +1012,7 @@ void towns_state::draw_sprites(const rectangle* rect)
poffset = (attr & 0x3ff) << 7;
coffset = (colour & 0xfff) << 5;
#ifdef SPR_DEBUG
- printf("Sprite4 #%i, X %i Y %i Attr %04x Col %04x Poff %08x Coff %08x\n",
+ logerror("Sprite4 #%i, X %i Y %i Attr %04x Col %04x Poff %08x Coff %08x\n",
n,x,y,attr,colour,poffset,coffset);
#endif
if(!(colour & 0x2000))
@@ -1030,7 +1022,7 @@ void towns_state::draw_sprites(const rectangle* rect)
{
poffset = (attr & 0x3ff) << 7;
#ifdef SPR_DEBUG
- printf("Sprite16 #%i, X %i Y %i Attr %04x Col %04x Poff %08x",
+ logerror("Sprite16 #%i, X %i Y %i Attr %04x Col %04x Poff %08x\n",
n,x,y,attr,colour,poffset);
#endif
if(!(colour & 0x2000))
@@ -1039,12 +1031,16 @@ void towns_state::draw_sprites(const rectangle* rect)
}
if(m_video.towns_sprite_page == 0) // flip VRAM page
+ {
m_video.towns_sprite_page = 1;
+ m_video.towns_crtc_reg[21] &= ~0x8000;
+ }
else
+ {
m_video.towns_sprite_page = 0;
-
- m_video.towns_sprite_flag = 1; // we are now drawing
- m_video.sprite_timer->adjust(m_maincpu->cycles_to_attotime(128 * (1025-sprite_limit)));
+ m_video.towns_crtc_reg[21] |= 0x8000;
+ }
+ m_video.towns_sprite_flag = 0;
}
void towns_state::towns_crtc_draw_scan_layer_hicolour(bitmap_rgb32 &bitmap,const rectangle* rect,int layer,int line,int scanline)
@@ -1465,14 +1461,14 @@ void towns_state::draw_text_layer()
}
}
-TIMER_CALLBACK_MEMBER(towns_state::towns_sprite_done)
+void towns_state::towns_sprite_start()
{
- // sprite drawing is complete, lower flag
- m_video.towns_sprite_flag = 0;
- if(m_video.towns_sprite_page != 0)
- m_video.towns_crtc_reg[21] |= 0x8000;
- else
- m_video.towns_crtc_reg[21] &= ~0x8000;
+ if(!(m_video.towns_sprite_reg[1] & 0x80))
+ return;
+
+ uint16_t sprite_limit = (m_video.towns_sprite_reg[0] | (m_video.towns_sprite_reg[1] << 8)) & 0x3ff;
+ m_video.towns_sprite_flag = 1; // we are now drawing
+ m_video.sprite_timer->adjust(m_maincpu->cycles_to_attotime(128 * (1025-sprite_limit)));
}
TIMER_CALLBACK_MEMBER(towns_state::towns_vblank_end)
@@ -1492,14 +1488,14 @@ INTERRUPT_GEN_MEMBER(towns_state::towns_vsync_irq)
if(m_video.towns_tvram_enable)
draw_text_layer();
if(m_video.towns_sprite_reg[1] & 0x80)
- draw_sprites(&m_video.towns_crtc_layerscr[1]);
+ towns_sprite_start();
}
void towns_state::video_start()
{
m_video.towns_vram_wplane = 0x00;
m_video.towns_sprite_page = 0;
- m_video.sprite_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(towns_state::towns_sprite_done),this));
+ m_video.sprite_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(towns_state::draw_sprites),this));
}
uint32_t towns_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/gime.cpp b/src/mame/video/gime.cpp
index 49fb4f4c5ba..dc02ea6f5a2 100644
--- a/src/mame/video/gime.cpp
+++ b/src/mame/video/gime.cpp
@@ -61,9 +61,9 @@
with the trailing edge of writes to PIA0 CB1). DEMO does not attempt
to synchronize on horizontal sync; it relies on CPU timing.
- MOON: SockMaster demo. Uses GIME interrupts; FIRQ gets TMR interrupts
- and IRQ gets VBORD interrupts. Since it does not use the PIA field
- sync, it can be used to demonstrate how the GIME's VBORD interrupt
+ MOON: SockMaster demo. Uses GIME interrupts; FIRQ gets fast interrupts
+ and IRQ gets slow interrupts. Since it does not use the PIA field
+ sync, it can be used to demonstrate how the GIME's slow interrupt
is distinct.
BOINK: SockMaster demo. Like DEMO, it SYNCs on the trailing edge
@@ -75,6 +75,8 @@
CRYSTAL CITY: Jeremy Spiller game. The intro uses an attribute-less
GIME text mode
+ ARKANOID: Abuses TIMER = 0 for ball ricochet sounds
+
**********************************************************************/
@@ -95,10 +97,21 @@
#define GIME_TYPE_1987 0
#define NO_ATTRIBUTE 0x80
-#define LOG_INT_MASKING 0
-#define LOG_GIME 0
-#define LOG_TIMER 0
-#define LOG_PALETTE 0
+#define LOG_INT_MASKING (1U << 1)
+#define LOG_GIME (1U << 2)
+#define LOG_TIMER (1U << 3)
+#define LOG_PALETTE (1U << 4)
+
+#define VERBOSE (0)
+//#define VERBOSE (LOG_INT_MASKING|LOG_GIME|LOG_TIMER)
+
+#include "logmacro.h"
+
+#define LOGINTMASKING(...) LOGMASKED(LOG_INT_MASKING, __VA_ARGS__)
+#define LOGGIME(...) LOGMASKED(LOG_GIME, __VA_ARGS__)
+#define LOGTIMER(...) LOGMASKED(LOG_TIMER, __VA_ARGS__)
+#define LOGPALETTE(...) LOGMASKED(LOG_PALETTE, __VA_ARGS__)
+
@@ -184,6 +197,7 @@ void gime_device::device_start(void)
save_item(NAME(m_mmu));
save_item(NAME(m_sam_state));
save_item(NAME(m_ff22_value));
+ save_item(NAME(m_ff23_value));
save_item(NAME(m_interrupt_value));
save_item(NAME(m_irq));
save_item(NAME(m_firq));
@@ -302,6 +316,7 @@ void gime_device::device_reset(void)
m_displayed_rgb = false;
m_ff22_value = 0;
+ m_ff23_value = 0;
update_memory();
reset_timer();
@@ -375,20 +390,18 @@ ioport_constructor gime_device::device_input_ports() const
//**************************************************************************
// TIMER
//
-// The CoCo 3 had a timer that had would activate when first written to, and
+// The CoCo 3 had a timer that was always running, it
// would decrement over and over again until zero was reached, and at that
// point, would flag an interrupt. At this point, the timer starts back up
// again.
//
// I am deducing that the timer interrupt line was asserted if the timer was
-// zero and unasserted if the timer was non-zero. Since we never truly track
-// the timer, we just use timer callback (coco3_timer_callback() asserts the
-// line)
+// zero and unasserted if the timer was non-zero.
//
// Most CoCo 3 docs, including the specs that Tandy released, say that the
// high speed timer is 70ns (half of the speed of the main clock crystal).
// However, it seems that this is in error, and the GIME timer is really a
-// 280ns timer (one eighth the speed of the main clock crystal. Gault's
+// 279ns timer (one eighth the speed of the main clock crystal. Gault's
// FAQ agrees with this
//
//**************************************************************************
@@ -400,7 +413,7 @@ ioport_constructor gime_device::device_input_ports() const
gime_device::timer_type_t gime_device::timer_type(void)
{
// wraps the GIME register access and returns an enumeration
- return (m_gime_registers[0x01] & 0x20) ? GIME_TIMER_CLOCK : GIME_TIMER_HBORD;
+ return (m_gime_registers[0x01] & 0x20) ? GIME_TIMER_279NSEC : GIME_TIMER_63USEC;
}
@@ -414,11 +427,11 @@ const char *gime_device::timer_type_string(void)
const char *result;
switch(timer_type())
{
- case GIME_TIMER_CLOCK:
- result = "CLOCK";
+ case GIME_TIMER_63USEC:
+ result = "63USEC";
break;
- case GIME_TIMER_HBORD:
- result = "HBORD";
+ case GIME_TIMER_279NSEC:
+ result = "279NSEC";
break;
default:
fatalerror("Should not get here\n");
@@ -454,7 +467,7 @@ void gime_device::timer_elapsed(void)
void gime_device::reset_timer(void)
{
/* value is from 0-4095 */
- m_timer_value = ((m_gime_registers[0x04] & 0x0F) * 0x100) | m_gime_registers[0x05];
+ m_timer_value = ((m_gime_registers[0x04] & 0x0F) << 8) | m_gime_registers[0x05];
/* depending on the GIME type, canonicalize the value */
if (m_timer_value > 0)
@@ -463,22 +476,22 @@ void gime_device::reset_timer(void)
m_timer_value += 1; /* the 1987 GIME reset to the value plus one */
else
m_timer_value += 2; /* the 1986 GIME reset to the value plus two */
- }
- if ((timer_type() == GIME_TIMER_CLOCK) && (m_timer_value > 0))
- {
- /* we're starting a countdown on the GIME clock timer */
- attotime duration = clocks_to_attotime(m_timer_value * 8);
- m_gime_clock_timer->adjust(duration);
+ if (timer_type() == GIME_TIMER_63USEC)
+ {
+ m_gime_clock_timer->adjust(attotime::from_usec(63.695) * m_timer_value);
+ }
+ else
+ {
+ m_gime_clock_timer->adjust(attotime::from_nsec(279.365) * m_timer_value);
+ }
}
else
{
- /* either the timer is off, or were not using the GIME clock timer */
m_gime_clock_timer->adjust(attotime::never);
}
- if (LOG_TIMER)
- logerror("%s: reset_timer(): timer_type=%s value=%d\n", describe_context(), timer_type_string(), m_timer_value);
+ LOGTIMER("%s: reset_timer(): timer_type=%s value=%d\n", describe_context(), timer_type_string(), m_timer_value);
}
@@ -612,6 +625,22 @@ uint8_t *gime_device::memory_pointer(uint32_t address)
//-------------------------------------------------
+// pia_write - observe writes to pia 1
+//-------------------------------------------------
+
+void gime_device::pia_write(offs_t offset, uint8_t data)
+{
+ if (offset == 0x03)
+ m_ff23_value = data;
+
+ /* only cache writes to $FF22 if the data register is addressed */
+ if (offset == 0x02 && ((m_ff23_value & 0x04) == 0x04))
+ m_ff22_value = data;
+}
+
+
+
+//-------------------------------------------------
// update_cart_rom
//-------------------------------------------------
@@ -770,15 +799,10 @@ void gime_device::write(offs_t offset, uint8_t data)
inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
{
- // this is needed for writes to FF95
- bool timer_was_off = (m_gime_registers[0x04] == 0x00) && (m_gime_registers[0x05] == 0x00);
-
// sanity check input
offset &= 0x0F;
- // perform logging
- if (LOG_GIME)
- logerror("%s: CoCo3 GIME: $%04x <== $%02x\n", describe_context(), offset + 0xff90, data);
+ LOGGIME("%s: CoCo3 GIME: $%04x <== $%02x\n", describe_context(), offset + 0xff90, data);
// make the change, and track the difference
uint8_t xorval = m_gime_registers[offset] ^ data;
@@ -828,17 +852,14 @@ inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
// ! Bit 2 EI2 Serial data interrupt
// Bit 1 EI1 Keyboard interrupt
// Bit 0 EI0 Cartridge interrupt
- if (LOG_INT_MASKING)
- {
- logerror("%s: GIME IRQ: Interrupts { %s%s%s%s%s%s} enabled\n",
- describe_context(),
- (data & 0x20) ? "TMR " : "",
- (data & 0x10) ? "HBORD " : "",
- (data & 0x08) ? "VBORD " : "",
- (data & 0x04) ? "EI2 " : "",
- (data & 0x02) ? "EI1 " : "",
- (data & 0x01) ? "EI0 " : "");
- }
+ LOGINTMASKING("%s: GIME IRQ: Interrupts { %s%s%s%s%s%s} enabled\n",
+ describe_context(),
+ (data & 0x20) ? "TMR " : "",
+ (data & 0x10) ? "HBORD " : "",
+ (data & 0x08) ? "VBORD " : "",
+ (data & 0x04) ? "EI2 " : "",
+ (data & 0x02) ? "EI1 " : "",
+ (data & 0x01) ? "EI0 " : "");
// While normally interrupts are acknowledged by reading from this
// register and not writing to it, the act of disabling these interrupts
@@ -846,6 +867,13 @@ inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
//
// Kudos to Glen Hewlett for identifying this problem
change_gime_irq(m_irq & data);
+
+ // special case timer reset value of zero
+ if (m_timer_value == 0 && (xorval & INTERRUPT_TMR ))
+ {
+ set_interrupt_value(INTERRUPT_TMR, true);
+ set_interrupt_value(INTERRUPT_TMR, false);
+ }
break;
case 0x03:
@@ -858,17 +886,14 @@ inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
// ! Bit 2 EI2 Serial data interrupt
// Bit 1 EI1 Keyboard interrupt
// Bit 0 EI0 Cartridge interrupt
- if (LOG_INT_MASKING)
- {
- logerror("%s: GIME FIRQ: Interrupts { %s%s%s%s%s%s} enabled\n",
- describe_context(),
- (data & 0x20) ? "TMR " : "",
- (data & 0x10) ? "HBORD " : "",
- (data & 0x08) ? "VBORD " : "",
- (data & 0x04) ? "EI2 " : "",
- (data & 0x02) ? "EI1 " : "",
- (data & 0x01) ? "EI0 " : "");
- }
+ LOGINTMASKING("%s: GIME FIRQ: Interrupts { %s%s%s%s%s%s} enabled\n",
+ describe_context(),
+ (data & 0x20) ? "TMR " : "",
+ (data & 0x10) ? "HBORD " : "",
+ (data & 0x08) ? "VBORD " : "",
+ (data & 0x04) ? "EI2 " : "",
+ (data & 0x02) ? "EI1 " : "",
+ (data & 0x01) ? "EI0 " : "");
// While normally interrupts are acknowledged by reading from this
// register and not writing to it, the act of disabling these interrupts
@@ -876,6 +901,14 @@ inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
//
// Kudos to Glen Hewlett for identifying this problem
change_gime_firq(m_firq & data);
+
+ // Special case timer reset value of zero
+ if (m_timer_value == 0 && (xorval & INTERRUPT_TMR))
+ {
+ set_interrupt_value(INTERRUPT_TMR, true);
+ set_interrupt_value(INTERRUPT_TMR, false);
+ }
+
break;
case 0x04:
@@ -888,20 +921,6 @@ inline void gime_device::write_gime_register(offs_t offset, uint8_t data)
case 0x05:
// $FF95 Timer register LSB
// Bits 0-7 Low order eight bits of the timer
- if (timer_was_off && (m_gime_registers[0x05] != 0x00))
- {
- // Writes to $FF95 do not cause the timer to reset, but MESS
- // will invoke coco3_timer_reset() if $FF94/5 was previously
- // $0000. The reason for this is because the timer is not
- // actually off when $FF94/5 are loaded with $0000; rather it
- // is continuously reloading the GIME's internal countdown
- // register, even if it isn't causing interrupts to be raised.
- //
- // Failure to do this was the cause of bug #1065. Special
- // thanks to John Kowalski for pointing me in the right
- // direction
- reset_timer();
- }
break;
case 0x08:
@@ -1015,9 +1034,7 @@ inline void gime_device::write_palette_register(offs_t offset, uint8_t data)
{
offset &= 0x0F;
- // perform logging
- if (LOG_PALETTE)
- logerror("%s: CoCo3 Palette: $%04x <== $%02x\n", describe_context(), offset + 0xffB0, data);
+ LOGPALETTE("%s: CoCo3 Palette: $%04x <== $%02x\n", describe_context(), offset + 0xffB0, data);
/* has this entry changed? */
if (m_palette_rotated[m_palette_rotated_position][offset] != data)
@@ -1069,11 +1086,11 @@ inline void gime_device::write_sam_register(offs_t offset)
void gime_device::interrupt_rising_edge(uint8_t interrupt)
{
// evaluate IRQ
- if ((m_gime_registers[0x00] & 0x20) && (m_gime_registers[0x02] & interrupt))
+ if (m_gime_registers[0x02] & interrupt)
change_gime_irq(m_irq | interrupt);
// evaluate FIRQ
- if ((m_gime_registers[0x00] & 0x10) && (m_gime_registers[0x03] & interrupt))
+ if (m_gime_registers[0x03] & interrupt)
change_gime_firq(m_firq | interrupt);
}
@@ -1088,7 +1105,8 @@ void gime_device::change_gime_irq(uint8_t data)
if (m_irq != data)
{
m_irq = data;
- m_write_irq(irq_r());
+ if (m_gime_registers[0x00] & 0x20)
+ m_write_irq(irq_r());
}
}
@@ -1103,7 +1121,8 @@ void gime_device::change_gime_firq(uint8_t data)
if (m_firq != data)
{
m_firq = data;
- m_write_firq(firq_r());
+ if (m_gime_registers[0x00] & 0x10)
+ m_write_firq(firq_r());
}
}
@@ -1180,14 +1199,6 @@ void gime_device::new_frame(void)
void gime_device::horizontal_sync_changed(bool line)
{
set_interrupt_value(INTERRUPT_HBORD, line);
-
- /* decrement timer if appropriate */
- if ((timer_type() == GIME_TIMER_HBORD) && (m_timer_value > 0) && line)
- {
- if (--m_timer_value == 0)
- timer_elapsed();
- }
-
}
diff --git a/src/mame/video/gime.h b/src/mame/video/gime.h
index 0640932b422..15e697213d2 100644
--- a/src/mame/video/gime.h
+++ b/src/mame/video/gime.h
@@ -40,7 +40,7 @@ public:
bool spare_chip_select_enabled(void) { return m_gime_registers[0] & 0x04 ? true : false; }
// the GIME seems to intercept writes to $FF22 (not precisely sure how)
- void ff22_write(uint8_t data) { m_ff22_value = data; }
+ void pia_write(offs_t offset, uint8_t data);
// updates the cart ROM
void update_cart_rom(void);
@@ -122,8 +122,8 @@ protected:
enum timer_type_t
{
- GIME_TIMER_HBORD,
- GIME_TIMER_CLOCK
+ GIME_TIMER_63USEC,
+ GIME_TIMER_279NSEC
};
// timer constants
@@ -141,6 +141,7 @@ protected:
uint8_t m_gime_registers[16];
uint8_t m_mmu[16];
uint8_t m_ff22_value;
+ uint8_t m_ff23_value;
uint8_t m_interrupt_value;
uint8_t m_irq;
uint8_t m_firq;
diff --git a/src/mame/video/gng.cpp b/src/mame/video/gng.cpp
index 5770e6ff1bd..d0513344f6e 100644
--- a/src/mame/video/gng.cpp
+++ b/src/mame/video/gng.cpp
@@ -53,6 +53,11 @@ void gng_state::video_start()
m_fg_tilemap->set_transparent_pen(3);
m_bg_tilemap->set_transmask(0, 0xff, 0x00); // split type 0 is totally transparent in front half
m_bg_tilemap->set_transmask(1, 0x41, 0xbe); // split type 1 has pens 0 and 6 transparent in front half
+
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
}
@@ -128,7 +133,7 @@ void gng_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
buffered_spriteram[offs] + ((attributes << 2) & 0x300),
(attributes >> 4) & 3,
flipx,flipy,
- sx,sy,15);
+ sx+128,sy+6,15);
}
}
diff --git a/src/mame/video/gunsmoke.cpp b/src/mame/video/gunsmoke.cpp
index 9e46d5b4ad5..036afa552c0 100644
--- a/src/mame/video/gunsmoke.cpp
+++ b/src/mame/video/gunsmoke.cpp
@@ -128,6 +128,11 @@ void gunsmoke_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(gunsmoke_state::get_bg_tile_info)), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(gunsmoke_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
+
m_fg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 0x4f);
}
@@ -160,7 +165,7 @@ void gunsmoke_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx+128, sy+6, 0);
}
}
diff --git a/src/mame/video/ironhors.cpp b/src/mame/video/ironhors.cpp
index fe8867df9d8..97e2aff8ed0 100644
--- a/src/mame/video/ironhors.cpp
+++ b/src/mame/video/ironhors.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Mirko Buffoni
/***************************************************************************
- ironhors.c
+ ironhors.cpp
Functions to emulate the video hardware of the machine.
@@ -18,7 +18,7 @@
***************************************************************************/
-void ironhors_state::ironhors_palette(palette_device &palette) const
+void ironhors_base_state::palette(palette_device &palette) const
{
const uint8_t *color_prom = memregion("proms")->base();
static constexpr int resistances[4] = { 2000, 1000, 470, 220 };
@@ -73,19 +73,19 @@ void ironhors_state::ironhors_palette(palette_device &palette) const
}
}
-void ironhors_state::videoram_w(offs_t offset, uint8_t data)
+void ironhors_base_state::videoram_w(offs_t offset, uint8_t data)
{
m_videoram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset);
}
-void ironhors_state::colorram_w(offs_t offset, uint8_t data)
+void ironhors_base_state::colorram_w(offs_t offset, uint8_t data)
{
m_colorram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset);
}
-void ironhors_state::charbank_w(uint8_t data)
+void ironhors_base_state::charbank_w(uint8_t data)
{
if (m_charbank != (data & 0x03))
{
@@ -95,10 +95,10 @@ void ironhors_state::charbank_w(uint8_t data)
m_spriterambank = data & 0x08;
- /* other bits unknown */
+ // other bits unknown
}
-void ironhors_state::palettebank_w(uint8_t data)
+void ironhors_base_state::palettebank_w(uint8_t data)
{
if (m_palettebank != (data & 0x07))
{
@@ -109,13 +109,13 @@ void ironhors_state::palettebank_w(uint8_t data)
machine().bookkeeping().coin_counter_w(0, data & 0x10);
machine().bookkeeping().coin_counter_w(1, data & 0x20);
- /* bit 6 unknown - set after game over */
+ // bit 6 unknown - set after game over
if (data & 0x88)
popmessage("palettebank_w %02x",data);
}
-void ironhors_state::flipscreen_w(uint8_t data)
+void ironhors_base_state::flipscreen_w(uint8_t data)
{
if (flip_screen() != (~data & 0x08))
{
@@ -123,7 +123,7 @@ void ironhors_state::flipscreen_w(uint8_t data)
machine().tilemap().mark_all_dirty();
}
- /* other bits are used too, but unknown */
+ // other bits are used too, but unknown
}
TILE_GET_INFO_MEMBER(ironhors_state::get_bg_tile_info)
@@ -144,17 +144,16 @@ void ironhors_state::video_start()
m_bg_tilemap->set_scroll_rows(32);
}
-void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
+void ironhors_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int offs;
uint8_t *sr;
if (m_spriterambank != 0)
- sr = m_spriteram;
+ sr = m_spriteram[0];
else
- sr = m_spriteram2;
+ sr = m_spriteram[1];
- for (offs = 0; offs < m_spriteram.bytes(); offs += 5)
+ for (int offs = 0; offs < m_spriteram[0].bytes(); offs += 5)
{
int sx = sr[offs + 3];
int sy = sr[offs + 2];
@@ -174,7 +173,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
switch (sr[offs + 4] & 0x0c)
{
- case 0x00: /* 16x16 */
+ case 0x00: // 16x16
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code/4,
color,
@@ -182,7 +181,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sx,sy,0);
break;
- case 0x04: /* 16x8 */
+ case 0x04: // 16x8
{
if (flip_screen()) sy += 8; // this fixes the train wheels' position
@@ -199,7 +198,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
break;
- case 0x08: /* 8x16 */
+ case 0x08: // 8x16
{
m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~2,
@@ -214,7 +213,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
break;
- case 0x0c: /* 8x8 */
+ case 0x0c: // 8x8
{
m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
@@ -229,9 +228,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
uint32_t ironhors_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int row;
-
- for (row = 0; row < 32; row++)
+ for (int row = 0; row < 32; row++)
m_bg_tilemap->set_scrollx(row, m_scroll[row]);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@@ -239,7 +236,7 @@ uint32_t ironhors_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
+TILE_GET_INFO_MEMBER(farwest_state::get_bg_tile_info)
{
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x40) << 2) +
((m_colorram[tile_index] & 0x20) << 4) + (m_charbank << 10);
@@ -249,20 +246,19 @@ TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
tileinfo.set(0, code, color, flags);
}
-VIDEO_START_MEMBER(ironhors_state,farwest)
+void farwest_state::video_start()
{
- m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ironhors_state::farwest_get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(farwest_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap->set_scroll_rows(32);
}
-void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
+void farwest_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int offs;
- uint8_t *sr = m_spriteram2;
- uint8_t *sr2 = m_spriteram;
+ uint8_t *sr = m_spriteram[1];
+ uint8_t *sr2 = m_spriteram[0];
- for (offs = 0; offs < m_spriteram.bytes(); offs += 4)
+ for (int offs = 0; offs < m_spriteram[0].bytes(); offs += 4)
{
int sx = sr[offs + 2];
int sy = sr[offs + 1];
@@ -283,7 +279,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
switch (sr[offs + 3] & 0x0c)
{
- case 0x00: /* 16x16 */
+ case 0x00: // 16x16
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code/4,
color,
@@ -291,7 +287,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
sx,sy,0);
break;
- case 0x04: /* 16x8 */
+ case 0x04: // 16x8
{
if (flip_screen()) sy += 8; // this fixes the train wheels' position
@@ -308,7 +304,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
}
break;
- case 0x08: /* 8x16 */
+ case 0x08: // 8x16
{
m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~2,
@@ -323,7 +319,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
}
break;
- case 0x0c: /* 8x8 */
+ case 0x0c: // 8x8
{
m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
@@ -336,14 +332,12 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
}
}
-uint32_t ironhors_state::screen_update_farwest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t farwest_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int row;
-
- for (row = 0; row < 32; row++)
+ for (int row = 0; row < 32; row++)
m_bg_tilemap->set_scrollx(row, m_scroll[row]);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- farwest_draw_sprites(bitmap, cliprect);
+ draw_sprites(bitmap, cliprect);
return 0;
}
diff --git a/src/mame/video/jackal.cpp b/src/mame/video/jackal.cpp
index 10a587fdc82..a3f5664409a 100644
--- a/src/mame/video/jackal.cpp
+++ b/src/mame/video/jackal.cpp
@@ -3,7 +3,7 @@
// thanks-to:Kenneth Lin (original driver author)
/***************************************************************************
- video.c
+ jackal.cpp
Functions to emulate the video hardware of the machine.
@@ -13,7 +13,7 @@
#include "includes/jackal.h"
-void jackal_state::jackal_palette(palette_device &palette) const
+void jackal_state::palette(palette_device &palette) const
{
uint8_t const *const color_prom = memregion("proms")->base();
@@ -36,18 +36,10 @@ void jackal_state::jackal_palette(palette_device &palette) const
}
}
-
-void jackal_state::jackal_mark_tile_dirty( int offset )
-{
- m_bg_tilemap->mark_tile_dirty(offset);
-}
-
TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
{
- uint8_t *RAM = memregion("master")->base();
-
- int attr = RAM[0x2000 + tile_index];
- int code = RAM[0x2400 + tile_index] + ((attr & 0xc0) << 2) + ((attr & 0x30) << 6);
+ int attr = m_videoram[0][tile_index];
+ int code = m_videoram[0][0x400 + tile_index] + ((attr & 0xc0) << 2) + ((attr & 0x30) << 6);
int color = 0;//attr & 0x0f;
int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
@@ -57,15 +49,16 @@ TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
void jackal_state::video_start()
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(jackal_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-}
-void jackal_state::draw_background( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
-{
- uint8_t *RAM = memregion("master")->base();
- int i;
+ m_spritebank->configure_entry(0, m_spriteram[0]);
+ m_spritebank->configure_entry(1, m_spriteram[1]);
- m_scrollram = &RAM[0x0020];
+ m_scrollbank->configure_entry(0, m_scrollram[0]);
+ m_scrollbank->configure_entry(1, m_scrollram[1]);
+}
+void jackal_state::draw_background(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
m_bg_tilemap->set_scroll_rows(1);
m_bg_tilemap->set_scroll_cols(1);
@@ -78,16 +71,16 @@ void jackal_state::draw_background( screen_device &screen, bitmap_ind16 &bitmap,
{
m_bg_tilemap->set_scroll_rows(32);
- for (i = 0; i < 32; i++)
- m_bg_tilemap->set_scrollx(i, m_scrollram[i]);
+ for (int i = 0; i < 32; i++)
+ m_bg_tilemap->set_scrollx(i, m_scrollram[0][i]);
}
if (m_videoctrl[2] & 0x04)
{
m_bg_tilemap->set_scroll_cols(32);
- for (i = 0; i < 32; i++)
- m_bg_tilemap->set_scrolly(i, m_scrollram[i]);
+ for (int i = 0; i < 32; i++)
+ m_bg_tilemap->set_scrolly(i, m_scrollram[0][i]);
}
}
@@ -96,11 +89,9 @@ void jackal_state::draw_background( screen_device &screen, bitmap_ind16 &bitmap,
#define DRAW_SPRITE(bank, code, sx, sy) m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
-void jackal_state::draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *sram, int length, int bank )
+void jackal_state::draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *sram, int length, int bank)
{
- int offs;
-
- for (offs = 0; offs < length; offs += 5)
+ for (int offs = 0; offs < length; offs += 5)
{
int sn1 = sram[offs];
int sn2 = sram[offs + 1];
@@ -124,7 +115,7 @@ void jackal_state::draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &c
flipy = !flipy;
}
- if (attr & 0xC) // half-size sprite
+ if (attr & 0xc) // half-size sprite
{
int spritenum = sn1 * 4 + ((sn2 & (8 + 4)) >> 2) + ((sn2 & (2 + 1)) << 10);
int mod = -8;
@@ -136,20 +127,20 @@ void jackal_state::draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &c
mod = 8;
}
- if ((attr & 0x0C) == 0x0C)
+ if ((attr & 0x0c) == 0x0c)
{
if (flip_screen()) sy += 16;
DRAW_SPRITE(bank + 1, spritenum, sx, sy)
}
- if ((attr & 0x0C) == 0x08)
+ if ((attr & 0x0c) == 0x08)
{
sy += 8;
DRAW_SPRITE(bank + 1, spritenum, sx, sy)
DRAW_SPRITE(bank + 1, spritenum - 2, sx, sy + mod)
}
- if ((attr & 0x0C) == 0x04)
+ if ((attr & 0x0c) == 0x04)
{
DRAW_SPRITE(bank + 1, spritenum, sx, sy)
DRAW_SPRITE(bank + 1, spritenum + 1, sx + mod, sy)
@@ -180,27 +171,13 @@ void jackal_state::draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &c
}
}
-void jackal_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
+void jackal_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *RAM = memregion("master")->base();
- uint8_t *sr, *ss;
-
- if (m_videoctrl[0x03] & 0x08)
- {
- sr = &RAM[0x03800]; // Sprite 2
- ss = &RAM[0x13800]; // Additional Sprite 2
- }
- else
- {
- sr = &RAM[0x03000]; // Sprite 1
- ss = &RAM[0x13000]; // Additional Sprite 1
- }
-
- draw_sprites_region(bitmap, cliprect, ss, 0x0f5, 3);
- draw_sprites_region(bitmap, cliprect, sr, 0x500, 1);
+ draw_sprites_region(bitmap, cliprect, &m_spriteram[1][BIT(m_videoctrl[0x03], 3) * 0x800], 0x0f5, 3);
+ draw_sprites_region(bitmap, cliprect, &m_spriteram[0][BIT(m_videoctrl[0x03], 3) * 0x800], 0x500, 1);
}
-uint32_t jackal_state::screen_update_jackal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t jackal_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
draw_background(screen, bitmap, cliprect);
draw_sprites(bitmap, cliprect);
diff --git a/src/mame/video/k001005.cpp b/src/mame/video/k001005.cpp
index b4f5124a91a..954bb159571 100644
--- a/src/mame/video/k001005.cpp
+++ b/src/mame/video/k001005.cpp
@@ -237,7 +237,7 @@ void k001005_renderer::render_polygons()
if (v[vert_num].p[POLY_FOG] > 65536.0f) v[vert_num].p[POLY_FOG] = 65536.0f;
vert_num++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
tex_y = ((header & 0x400) >> 5) |
((header & 0x100) >> 4) |
@@ -392,7 +392,7 @@ void k001005_renderer::render_polygons()
vert_num++;
new_verts++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
extra.texture_x = tex_x * 8;
extra.texture_y = tex_y * 8;
@@ -474,7 +474,7 @@ void k001005_renderer::render_polygons()
if (v[vert_num].p[POLY_FOG] > 65536.0f) v[vert_num].p[POLY_FOG] = 65536.0f;
vert_num++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
r = (fifo[index] >> 0) & 0xff;
g = (fifo[index] >> 8) & 0xff;
@@ -600,7 +600,7 @@ void k001005_renderer::render_polygons()
vert_num++;
new_verts++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
r = (fifo[index] >> 0) & 0xff;
g = (fifo[index] >> 8) & 0xff;
@@ -668,7 +668,7 @@ void k001005_renderer::render_polygons()
v[vert_num].y = ((float)(-y) / 16.0f) + 192.0f + 8;
vert_num++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
// unknown word
index++;
@@ -738,7 +738,7 @@ void k001005_renderer::render_polygons()
v[vert_num].p[POLY_V] = tv;
vert_num++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
r = (color >> 0) & 0xff;
g = (color >> 8) & 0xff;
@@ -820,7 +820,7 @@ void k001005_renderer::render_polygons()
v[vert_num].p[POLY_A] = (color >> 24) & 0xff;
vert_num++;
}
- while (!last_vertex);
+ while (!last_vertex && vert_num < 4);
extra.color = color;
extra.flags = cmd;
diff --git a/src/mame/video/ladybug.cpp b/src/mame/video/ladybug.cpp
index 622423fbad3..958e2cc7638 100644
--- a/src/mame/video/ladybug.cpp
+++ b/src/mame/video/ladybug.cpp
@@ -353,6 +353,20 @@ uint32_t ladybug_state::screen_update_ladybug(screen_device &screen, bitmap_ind1
}
+void mrsdyna_state::mrsdyna_palette(palette_device &palette) const
+{
+ const uint8_t *color_prom = memregion("proms")->base();
+
+ // the resistor net may be probably different than Lady Bug
+ palette_init_common(palette, color_prom, 3, 0, 5, 4, 7, 6);
+
+ for (int i = 0; i < 0x20; i++)
+ palette.set_pen_indirect(i + 0x60, i + 0x20);
+
+ // stationary part of grid
+ palette.set_pen_indirect(0x81, 0x40);
+}
+
void sraider_state::sraider_palette(palette_device &palette) const
{
const uint8_t *color_prom = memregion("proms")->base();
@@ -403,7 +417,7 @@ TILE_GET_INFO_MEMBER(sraider_state::get_grid_tile_info)
}
}
-void sraider_state::sraider_io_w(uint8_t data)
+void mrsdyna_state::mrsdyna_io_w(uint8_t data)
{
// bit7 = flip
// bit6 = grid red
@@ -419,6 +433,11 @@ void sraider_state::sraider_io_w(uint8_t data)
}
m_grid_color = data & 0x70;
+}
+
+void sraider_state::sraider_io_w(uint8_t data)
+{
+ mrsdyna_state::mrsdyna_io_w(data);
m_stars->set_enable(BIT(data, 3));
@@ -430,7 +449,7 @@ void sraider_state::sraider_io_w(uint8_t data)
void sraider_state::video_start()
{
- ladybug_base_state::video_start();
+ mrsdyna_state::video_start();
m_grid_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(sraider_state::get_grid_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_grid_tilemap->set_scroll_rows(32);
@@ -444,6 +463,17 @@ WRITE_LINE_MEMBER(sraider_state::screen_vblank_sraider)/* update starfield posit
m_stars->update_state();
}
+uint32_t mrsdyna_state::screen_update_mrsdyna(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ // clear the bg bitmap
+ bitmap.fill(0, cliprect);
+
+ // now the chars/sprites
+ m_video->draw(screen, bitmap, cliprect, flip_screen());
+
+ return 0;
+}
+
uint32_t sraider_state::screen_update_sraider(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
// clear the bg bitmap
diff --git a/src/mame/video/mbee.cpp b/src/mame/video/mbee.cpp
index 558ab982240..1a9ba1bdbc7 100644
--- a/src/mame/video/mbee.cpp
+++ b/src/mame/video/mbee.cpp
@@ -32,13 +32,7 @@
3. At the Basic prompt, type in EDASM press enter. At the memory size
prompt press enter. Now, make sure the keyboard works properly.
- Old keyboard ToDo:
- - Occasional characters dropped while typing
- - Lots of characters dropped when pasting
- - On mbee128p, Simply Write doesn't accept any input
-
- New keyboard ToDo:
- - On mbeett, various problems caused by phantom characters.
+ See drivers\mbee.cpp for any issues.
****************************************************************************/
diff --git a/src/mame/video/megasys1.cpp b/src/mame/video/megasys1.cpp
index e3ffa605b80..dcf99067f81 100644
--- a/src/mame/video/megasys1.cpp
+++ b/src/mame/video/megasys1.cpp
@@ -195,7 +195,7 @@ actual code sent to the hardware.
#include "emu.h"
#include "includes/megasys1.h"
-#include "sound/ym2151.h"
+#include "sound/ymopm.h"
diff --git a/src/mame/video/namco_c45road.cpp b/src/mame/video/namco_c45road.cpp
index 403ad010276..ea378cd55ad 100644
--- a/src/mame/video/namco_c45road.cpp
+++ b/src/mame/video/namco_c45road.cpp
@@ -25,9 +25,9 @@
* 0x1fa00..0x1fbdf xxx- ---- ---- ---- priority
* ---- xxxx xxxx xxxx xscroll
*
- * 0x1fbfe horizontal adjust?
- * 0x0017
- * 0x0018 (Final Lap3)
+ * 0x1fbfe horizontal adjust? (Thunder Ceptor suggests maybe not although isn't on Namco System 2)
+ * 0x0017 (Suzuka 8 Hours / Four Trax / Lucky & Wild)
+ * 0x0018 (Final Lap / Thunder Ceptor)
*
* 0x1fc00..0x1fddf selects line in source bitmap
* 0x1fdfe yscroll
@@ -86,7 +86,8 @@ namco_c45_road_device::namco_c45_road_device(const machine_config &mconfig, cons
m_tileram(*this, "tileram"),
m_lineram(*this, "lineram"),
m_clut(*this, "clut"),
- m_transparent_color(~0)
+ m_transparent_color(~0),
+ m_xoffset(0)
{
}
@@ -174,7 +175,7 @@ void namco_c45_road_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect
screenx |= ~0x7ff;
// adjust the horizontal placement
- screenx -= 64; // needs adjustment to left
+ screenx += m_xoffset; // needs adjustment to left
int numpixels = (44 * ROAD_TILE_SIZE << 16) / dsourcex;
unsigned sourcex = 0;
diff --git a/src/mame/video/namco_c45road.h b/src/mame/video/namco_c45road.h
index ba0814ccb51..e6ff5d4880f 100644
--- a/src/mame/video/namco_c45road.h
+++ b/src/mame/video/namco_c45road.h
@@ -29,6 +29,8 @@ public:
// C45 Land (Road) Emulation
void set_transparent_color(pen_t pen) { m_transparent_color = pen; }
+ void set_xoffset(int xoffset) { m_xoffset = xoffset; }
+
void draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int pri);
protected:
@@ -60,6 +62,7 @@ private:
optional_region_ptr<uint8_t> m_clut;
tilemap_t * m_tilemap;
pen_t m_transparent_color;
+ int m_xoffset;
};
diff --git a/src/mame/video/namcos2.cpp b/src/mame/video/namcos2.cpp
index 922a9def87b..6b6a8ac0fca 100644
--- a/src/mame/video/namcos2.cpp
+++ b/src/mame/video/namcos2.cpp
@@ -234,7 +234,7 @@ uint32_t namcos2_state::screen_update_metlhawk(screen_device &screen, bitmap_ind
m_c123tmap->draw(screen, bitmap, clip, pri / 2);
}
m_c169roz->draw(screen, bitmap, clip, pri);
- m_ns2sprite->draw_sprites_metalhawk(screen, bitmap, clip, pri);
+ m_ns2sprite->draw_sprites(screen, bitmap, clip, pri, 0);
}
return 0;
}
diff --git a/src/mame/video/namcos2_sprite.cpp b/src/mame/video/namcos2_sprite.cpp
index a6047f05add..b7ed3f38858 100644
--- a/src/mame/video/namcos2_sprite.cpp
+++ b/src/mame/video/namcos2_sprite.cpp
@@ -22,14 +22,32 @@
#include "namcos2_sprite.h"
DEFINE_DEVICE_TYPE(NAMCOS2_SPRITE, namcos2_sprite_device, "namcos2_sprite", "Namco System 2 Sprites (C106,C134,C135,C146)")
+DEFINE_DEVICE_TYPE(NAMCOS2_SPRITE_FINALLAP, namcos2_sprite_finallap_device, "namcos2_sprite_finallap", "Namco System 2 Sprites (C106,C134,C135,C146) (Final Lap)")
+DEFINE_DEVICE_TYPE(NAMCOS2_SPRITE_METALHAWK, namcos2_sprite_metalhawk_device, "namcos2_sprite_metalhawk", "Namco System 2 Sprites (C106,C134,C135,C146) (Metal Hawk)")
namcos2_sprite_device::namcos2_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
- device_t(mconfig, NAMCOS2_SPRITE, tag, owner, clock),
+ namcos2_sprite_device(mconfig, NAMCOS2_SPRITE, tag, owner, clock)
+{
+}
+
+namcos2_sprite_device::namcos2_sprite_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, type, tag, owner, clock),
m_gfxdecode(*this, finder_base::DUMMY_TAG),
m_spriteram(*this, finder_base::DUMMY_TAG)
{
}
+
+namcos2_sprite_metalhawk_device::namcos2_sprite_metalhawk_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ namcos2_sprite_device(mconfig, NAMCOS2_SPRITE_METALHAWK, tag, owner, clock)
+{
+}
+
+namcos2_sprite_finallap_device::namcos2_sprite_finallap_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ namcos2_sprite_device(mconfig, NAMCOS2_SPRITE_FINALLAP, tag, owner, clock)
+{
+}
+
void namcos2_sprite_device::device_start()
{
}
@@ -191,6 +209,22 @@ void namcos2_sprite_device::zdrawgfxzoom(
/* nop */
}
+void namcos2_sprite_device::get_tilenum_and_size(const u16 word0, const u16 word1, u32 &sprn, bool &is_32)
+{
+ sprn = (word1 >> 2) & 0x0fff;
+ is_32 = bool(word0 & 0x200);
+}
+
+void namcos2_sprite_finallap_device::get_tilenum_and_size(const u16 word0, const u16 word1, u32 &sprn, bool &is_32)
+{
+ // Final Lap schematics show an older sprite board with lower capacity
+ // and the 32/16 pixel mode select on a different bit
+ // this is needed for the title screen to look correct, in addition to various in game sparks effects etc.
+
+ sprn = (word1 >> 2) & 0x07ff;
+ is_32 = bool((word1 >> 2) & 0x800);
+}
+
void namcos2_sprite_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int control)
{
int offset = (control & 0x000f) * (128 * 4);
@@ -226,27 +260,30 @@ void namcos2_sprite_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
const u16 word0 = m_spriteram[offset + (loop * 4) + 0];
const u16 word1 = m_spriteram[offset + (loop * 4) + 1];
const u16 offset4 = m_spriteram[offset + (loop * 4) + 2];
+ const int sizey = ((word0 >> 10) & 0x003f) + 1;
+
+ u32 sprn;
+ bool is_32;
- const int sizey = ((word0 >> 10) & 0x003f) + 1;
- int sizex = (word3 >> 10) & 0x003f;
+ get_tilenum_and_size(word0, word1, sprn, is_32);
- if ((word0 & 0x0200) == 0) sizex >>= 1;
+ int sizex = (word3 >> 10) & 0x003f;
+ if (!is_32) sizex >>= 1;
if ((sizey - 1) && sizex)
{
const u32 color = (word3 >> 4) & 0x000f;
- const u32 sprn = (word1 >> 2) & 0x0fff;
const int ypos = (0x1ff - (word0 & 0x01ff)) - 0x50 + 0x02;
const int xpos = (offset4 & 0x03ff) - 0x50 + 0x07;
const bool flipy = word1 & 0x8000;
const bool flipx = word1 & 0x4000;
- const int scalex = (sizex << 16) / ((word0 & 0x0200) ? 0x20 : 0x10);
- const int scaley = (sizey << 16) / ((word0 & 0x0200) ? 0x20 : 0x10);
+ const int scalex = (sizex << 16) / (is_32 ? 0x20 : 0x10);
+ const int scaley = (sizey << 16) / (is_32 ? 0x20 : 0x10);
if (scalex && scaley)
{
gfx_element *gfx = m_gfxdecode->gfx(0);
- if ((word0 & 0x0200) == 0)
+ if (!is_32)
gfx->set_source_clip((word1 & 0x0001) ? 16 : 0, 16, (word1 & 0x0002) ? 16 : 0, 16);
else
gfx->set_source_clip(0, 32, 0, 32);
@@ -268,7 +305,7 @@ void namcos2_sprite_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
}
} /* draw_sprites */
-void namcos2_sprite_device::draw_sprites_metalhawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri)
+void namcos2_sprite_metalhawk_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int control)
{
/**
* word#0
diff --git a/src/mame/video/namcos2_sprite.h b/src/mame/video/namcos2_sprite.h
index ffc479b50a1..4b9e4a03040 100644
--- a/src/mame/video/namcos2_sprite.h
+++ b/src/mame/video/namcos2_sprite.h
@@ -18,24 +18,50 @@ public:
template <typename T> void set_gfxdecode_tag(T &&tag) { m_gfxdecode.set_tag(std::forward<T>(tag)); }
template <typename T> void set_spriteram_tag(T &&tag) { m_spriteram.set_tag(std::forward<T>(tag)); }
- void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int control );
- void draw_sprites_metalhawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
+ virtual void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int control );
protected:
+ namcos2_sprite_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
// device-level overrides
virtual void device_start() override;
-private:
// general
void zdrawgfxzoom(screen_device &screen, bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx, u32 code, u32 color, bool flipx, bool flipy, int sx, int sy, int scalex, int scaley, int zpos);
void zdrawgfxzoom(screen_device &screen, bitmap_rgb32 &dest_bmp, const rectangle &clip, gfx_element *gfx, u32 code, u32 color, bool flipx, bool flipy, int sx, int sy, int scalex, int scaley, int zpos);
+ virtual void get_tilenum_and_size(const u16 word0, const u16 word1, u32 &sprn, bool &is_32);
+
required_device<gfxdecode_device> m_gfxdecode;
required_shared_ptr<u16> m_spriteram;
};
+class namcos2_sprite_finallap_device : public namcos2_sprite_device
+{
+public:
+ // construction/destruction
+ namcos2_sprite_finallap_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ virtual void get_tilenum_and_size(const u16 word0, const u16 word1, u32& sprn, bool& is_32) override;
+};
+
+
+class namcos2_sprite_metalhawk_device : public namcos2_sprite_device
+{
+public:
+ // construction/destruction
+ namcos2_sprite_metalhawk_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri, int control ) override;
+};
+
+
+
// device type definition
DECLARE_DEVICE_TYPE(NAMCOS2_SPRITE, namcos2_sprite_device)
+DECLARE_DEVICE_TYPE(NAMCOS2_SPRITE_FINALLAP, namcos2_sprite_finallap_device)
+DECLARE_DEVICE_TYPE(NAMCOS2_SPRITE_METALHAWK, namcos2_sprite_metalhawk_device)
#endif // MAME_VIDEO_NAMCOS2_SPRITE_H
diff --git a/src/mame/video/nitedrvr.cpp b/src/mame/video/nitedrvr.cpp
index 0ccd49114c6..fe9e5b1d009 100644
--- a/src/mame/video/nitedrvr.cpp
+++ b/src/mame/video/nitedrvr.cpp
@@ -46,7 +46,7 @@ void nitedrvr_state::draw_tiles(bitmap_ind16 &bitmap, const rectangle &cliprect)
}
}
-uint32_t nitedrvr_state::screen_update_nitedrvr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t nitedrvr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
bitmap.fill(0, cliprect);
draw_tiles(bitmap, cliprect);
diff --git a/src/mame/video/pacman.cpp b/src/mame/video/pacman.cpp
index 9a4ceaaf21a..0bdf54ed8f9 100644
--- a/src/mame/video/pacman.cpp
+++ b/src/mame/video/pacman.cpp
@@ -22,8 +22,6 @@
#include "includes/pacman.h"
#include "video/resnet.h"
-
-
/***************************************************************************
Convert the color PROMs into a more useable format.
@@ -133,7 +131,7 @@ TILEMAP_MAPPER_MEMBER(pacman_state::pacman_scan_rows)
TILE_GET_INFO_MEMBER(pacman_state::pacman_get_tile_info)
{
int code = m_videoram[tile_index] | (m_charbank << 8);
- int attr = (m_colorram[tile_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
+ int attr = (m_colorram[tile_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6);
tileinfo.set(0,code,attr,0);
}
@@ -179,7 +177,7 @@ VIDEO_START_MEMBER(pacman_state,pacman)
VIDEO_START_MEMBER(pacman_state,birdiy)
{
- VIDEO_START_CALL_MEMBER( pacman );
+ VIDEO_START_CALL_MEMBER(pacman);
m_xoffsethack = 0;
m_inv_spr = 1; // sprites are mirrored in X-axis compared to normal behaviour
}
@@ -187,33 +185,32 @@ VIDEO_START_MEMBER(pacman_state,birdiy)
void pacman_state::pacman_videoram_w(offs_t offset, uint8_t data)
{
m_videoram[offset] = data;
- m_bg_tilemap->mark_tile_dirty(offset );
+ m_bg_tilemap->mark_tile_dirty(offset);
}
void pacman_state::pacman_colorram_w(offs_t offset, uint8_t data)
{
m_colorram[offset] = data;
- m_bg_tilemap->mark_tile_dirty(offset );
+ m_bg_tilemap->mark_tile_dirty(offset);
}
WRITE_LINE_MEMBER(pacman_state::flipscreen_w)
{
m_flipscreen = state;
- m_bg_tilemap->set_flip(m_flipscreen * ( TILEMAP_FLIPX + TILEMAP_FLIPY ) );
+ m_bg_tilemap->set_flip(m_flipscreen * (TILEMAP_FLIPX + TILEMAP_FLIPY));
}
void mspactwin_state::mspactwin_videoram_w(offs_t offset, uint8_t data)
{
- m_videoram[offset] = data;
- m_bg_tilemap->mark_tile_dirty(offset );
- m_screen->update_partial(m_screen->vpos());
+ m_screen->update_now(); // titlescreen
+ pacman_videoram_w(offset, data);
}
WRITE_LINE_MEMBER(mspactwin_state::flipscreen_w)
{
m_flipscreen = state;
- m_bg_tilemap->set_flip(m_flipscreen * ( TILEMAP_FLIPX + TILEMAP_FLIPY ) );
+ m_bg_tilemap->set_flip(m_flipscreen * (TILEMAP_FLIPX + TILEMAP_FLIPY));
// logerror("Flip: %02x\n", state);
}
@@ -223,9 +220,9 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
if (m_bgpriority != 0)
bitmap.fill(0, cliprect);
else
- m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
+ m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
- if( m_spriteram != nullptr )
+ if (m_spriteram != nullptr)
{
uint8_t *spriteram = m_spriteram;
uint8_t *spriteram_2 = m_spriteram2;
@@ -236,7 +233,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
/* Draw the sprites. Note that it is important to draw them exactly in this */
/* order, to have the correct priorities. */
- for (offs = m_spriteram.bytes() - 2;offs > 2*2;offs -= 2)
+ for (offs = m_spriteram.bytes() - 2; offs > 2*2; offs -= 2)
{
int color;
int sx,sy;
@@ -256,10 +253,10 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
fx = (spriteram[offs] & 1) ^ m_inv_spr;
fy = (spriteram[offs] & 2) ^ ((m_inv_spr) << 1);
- color = ( spriteram[offs + 1] & 0x1f ) | (m_colortablebank << 5) | (m_palettebank << 6 );
+ color = (spriteram[offs + 1] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6);
m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
- ( spriteram[offs] >> 2 ) | (m_spritebank << 6),
+ (spriteram[offs] >> 2) | (m_spritebank << 6),
color,
fx,fy,
sx,sy,
@@ -267,7 +264,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
/* also plot the sprite with wraparound (tunnel in Crush Roller) */
m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
- ( spriteram[offs] >> 2 ) | (m_spritebank << 6),
+ (spriteram[offs] >> 2) | (m_spritebank << 6),
color,
fx,fy,
sx - 256,sy,
@@ -275,7 +272,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
}
/* In the Pac Man based games (NOT Pengo) the first two sprites must be offset */
/* one pixel to the left to get a more correct placement */
- for (offs = 2*2;offs >= 0;offs -= 2)
+ for (offs = 2*2; offs >= 0; offs -= 2)
{
int color;
int sx,sy;
@@ -291,13 +288,13 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
sx = 272 - spriteram_2[offs + 1];
sy = spriteram_2[offs] - 31;
}
- color = ( spriteram[offs + 1] & 0x1f ) | (m_colortablebank << 5) | (m_palettebank << 6 );
+ color = (spriteram[offs + 1] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6);
fx = (spriteram[offs] & 1) ^ m_inv_spr;
fy = (spriteram[offs] & 2) ^ ((m_inv_spr) << 1);
m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
- ( spriteram[offs] >> 2 ) | (m_spritebank << 6),
+ (spriteram[offs] >> 2) | (m_spritebank << 6),
color,
fx,fy,
sx,sy + m_xoffsethack,
@@ -305,7 +302,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
/* also plot the sprite with wraparound (tunnel in Crush Roller) */
m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
- ( spriteram[offs] >> 2 ) | (m_spritebank << 6),
+ (spriteram[offs] >> 2) | (m_spritebank << 6),
color,
fx,fy,
sx - 256,sy + m_xoffsethack,
@@ -314,7 +311,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
}
if (m_bgpriority != 0)
- m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
+ m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@@ -405,7 +402,7 @@ uint32_t pacman_state::screen_update_s2650games(screen_device &screen, bitmap_in
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
- for (offs = m_spriteram.bytes() - 2;offs > 2*2;offs -= 2)
+ for (offs = m_spriteram.bytes() - 2; offs > 2*2; offs -= 2)
{
int color;
int sx,sy;
@@ -509,7 +506,7 @@ TILEMAP_MAPPER_MEMBER(pacman_state::jrpacman_scan_rows)
TILE_GET_INFO_MEMBER(pacman_state::jrpacman_get_tile_info)
{
int color_index, code, attr;
- if( tile_index < 1792 )
+ if (tile_index < 1792)
{
color_index = tile_index & 0x1f;
}
@@ -519,31 +516,31 @@ TILE_GET_INFO_MEMBER(pacman_state::jrpacman_get_tile_info)
}
code = m_videoram[tile_index] | (m_charbank << 8);
- attr = (m_videoram[color_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
+ attr = (m_videoram[color_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6);
tileinfo.set(0,code,attr,0);
}
-void pacman_state::jrpacman_mark_tile_dirty( int offset )
+void pacman_state::jrpacman_mark_tile_dirty(int offset)
{
- if( offset < 0x20 )
+ if (offset < 0x20)
{
/* line color - mark whole line as dirty */
int i;
- for( i = 2 * 0x20; i < 56 * 0x20; i += 0x20 )
+ for (i = 2 * 0x20; i < 56 * 0x20; i += 0x20)
{
- m_bg_tilemap->mark_tile_dirty(offset + i );
+ m_bg_tilemap->mark_tile_dirty(offset + i);
}
}
else if (offset < 1792)
{
/* tiles for playfield */
- m_bg_tilemap->mark_tile_dirty(offset );
+ m_bg_tilemap->mark_tile_dirty(offset);
}
else
{
/* tiles & colors for top and bottom two rows */
- m_bg_tilemap->mark_tile_dirty(offset & ~0x80 );
+ m_bg_tilemap->mark_tile_dirty(offset & ~0x80);
}
}
@@ -562,8 +559,8 @@ VIDEO_START_MEMBER(pacman_state,jrpacman)
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(pacman_state::jrpacman_get_tile_info)), tilemap_mapper_delegate(*this, FUNC(pacman_state::jrpacman_scan_rows)), 8, 8, 36, 54);
- m_bg_tilemap->set_transparent_pen(0 );
- m_bg_tilemap->set_scroll_cols(36 );
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(36);
}
void pacman_state::jrpacman_videoram_w(offs_t offset, uint8_t data)
@@ -585,10 +582,9 @@ WRITE_LINE_MEMBER(pacman_state::jrpacman_spritebank_w)
void pacman_state::jrpacman_scroll_w(uint8_t data)
{
- int i;
- for( i = 2; i < 34; i++ )
+ for (int i = 2; i < 34; i++)
{
- m_bg_tilemap->set_scrolly(i, data );
+ m_bg_tilemap->set_scrolly(i, data);
}
}
diff --git a/src/mame/video/sprint2.cpp b/src/mame/video/sprint2.cpp
index 96e04846aa5..dbcc0a21d2d 100644
--- a/src/mame/video/sprint2.cpp
+++ b/src/mame/video/sprint2.cpp
@@ -10,7 +10,7 @@
#include "includes/sprint2.h"
-void sprint2_state::sprint2_palette(palette_device &palette) const
+void sprint2_state::palette(palette_device &palette) const
{
palette.set_indirect_color(0, rgb_t(0x00, 0x00, 0x00));
palette.set_indirect_color(1, rgb_t(0x5b, 0x5b, 0x5b));
@@ -49,27 +49,7 @@ void sprint2_state::video_start()
}
-uint8_t sprint2_state::sprint2_collision1_r()
-{
- return m_collision[0];
-}
-uint8_t sprint2_state::sprint2_collision2_r()
-{
- return m_collision[1];
-}
-
-
-void sprint2_state::sprint2_collision_reset1_w(uint8_t data)
-{
- m_collision[0] = 0;
-}
-void sprint2_state::sprint2_collision_reset2_w(uint8_t data)
-{
- m_collision[1] = 0;
-}
-
-
-void sprint2_state::sprint2_video_ram_w(offs_t offset, uint8_t data)
+void sprint2_state::video_ram_w(offs_t offset, uint8_t data)
{
m_video_ram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset);
@@ -96,50 +76,44 @@ uint8_t sprint2_state::collision_check(rectangle& rect)
}
-inline int sprint2_state::get_sprite_code(uint8_t *video_ram, int n)
+inline int sprint2_state::get_sprite_code(int n)
{
- return video_ram[0x398 + 2 * n + 1] >> 3;
+ return m_video_ram[0x398 + 2 * n + 1] >> 3;
}
-inline int sprint2_state::get_sprite_x(uint8_t *video_ram, int n)
+inline int sprint2_state::get_sprite_x(int n)
{
- return 2 * (248 - video_ram[0x390 + 1 * n]);
+ return 2 * (248 - m_video_ram[0x390 + 1 * n]);
}
-inline int sprint2_state::get_sprite_y(uint8_t *video_ram, int n)
+inline int sprint2_state::get_sprite_y(int n)
{
- return 1 * (248 - video_ram[0x398 + 2 * n]);
+ return 1 * (248 - m_video_ram[0x398 + 2 * n]);
}
-uint32_t sprint2_state::screen_update_sprint2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t sprint2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *video_ram = m_video_ram;
- int i;
-
m_bg_tilemap->draw(*m_screen, bitmap, cliprect, 0, 0);
- /* draw the sprites */
+ // draw the sprites
- for (i = 0; i < 4; i++)
+ for (int i = 0; i < 4; i++)
{
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
- get_sprite_code(video_ram, i),
+ get_sprite_code(i),
i,
0, 0,
- get_sprite_x(video_ram, i),
- get_sprite_y(video_ram, i), 0);
+ get_sprite_x(i),
+ get_sprite_y(i), 0);
}
return 0;
}
-WRITE_LINE_MEMBER(sprint2_state::screen_vblank_sprint2)
+WRITE_LINE_MEMBER(sprint2_state::screen_vblank)
{
// rising edge
if (state)
{
- uint8_t *video_ram = m_video_ram;
- int i;
- int j;
const rectangle &visarea = m_screen->visible_area();
/*
@@ -150,47 +124,47 @@ WRITE_LINE_MEMBER(sprint2_state::screen_vblank_sprint2)
*
*/
- for (i = 0; i < 2; i++)
+ for (int i = 0; i < 2; i++)
{
rectangle rect(
- get_sprite_x(video_ram, i),
- get_sprite_x(video_ram, i) + m_gfxdecode->gfx(1)->width() - 1,
- get_sprite_y(video_ram, i),
- get_sprite_y(video_ram, i) + m_gfxdecode->gfx(1)->height() - 1);
+ get_sprite_x(i),
+ get_sprite_x(i) + m_gfxdecode->gfx(1)->width() - 1,
+ get_sprite_y(i),
+ get_sprite_y(i) + m_gfxdecode->gfx(1)->height() - 1);
rect &= visarea;
- /* check for sprite-tilemap collisions */
+ // check for sprite-tilemap collisions
m_bg_tilemap->draw(*m_screen, m_helper, rect, 0, 0);
m_gfxdecode->gfx(1)->transpen(m_helper,rect,
- get_sprite_code(video_ram, i),
+ get_sprite_code(i),
0,
0, 0,
- get_sprite_x(video_ram, i),
- get_sprite_y(video_ram, i), 1);
+ get_sprite_x(i),
+ get_sprite_y(i), 1);
m_collision[i] |= collision_check(rect);
- /* check for sprite-sprite collisions */
+ // check for sprite-sprite collisions
- for (j = 0; j < 4; j++)
+ for (int j = 0; j < 4; j++)
if (j != i)
{
m_gfxdecode->gfx(1)->transpen(m_helper,rect,
- get_sprite_code(video_ram, j),
+ get_sprite_code(j),
1,
0, 0,
- get_sprite_x(video_ram, j),
- get_sprite_y(video_ram, j), 0);
+ get_sprite_x(j),
+ get_sprite_y(j), 0);
}
m_gfxdecode->gfx(1)->transpen(m_helper,rect,
- get_sprite_code(video_ram, i),
+ get_sprite_code(i),
0,
0, 0,
- get_sprite_x(video_ram, i),
- get_sprite_y(video_ram, i), 1);
+ get_sprite_x(i),
+ get_sprite_y(i), 1);
m_collision[i] |= collision_check(rect);
}
diff --git a/src/mame/video/tigeroad.cpp b/src/mame/video/tigeroad.cpp
index 647355588dc..adf1dc542d5 100644
--- a/src/mame/video/tigeroad.cpp
+++ b/src/mame/video/tigeroad.cpp
@@ -108,6 +108,11 @@ void tigeroad_state::video_start()
m_fg_tilemap->set_transparent_pen(3);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
+
save_item(NAME(m_bgcharbank));
}
diff --git a/src/mame/video/tigeroad_spr.cpp b/src/mame/video/tigeroad_spr.cpp
index f636d40a767..dab1db5c7b5 100644
--- a/src/mame/video/tigeroad_spr.cpp
+++ b/src/mame/video/tigeroad_spr.cpp
@@ -102,7 +102,7 @@ void tigeroad_spr_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cl
tile_number,
color,
flipx, flipy,
- sx, sy, 15);
+ sx+128, sy+6, 15);
source -= 4;
}
diff --git a/src/mame/video/vulgus.cpp b/src/mame/video/vulgus.cpp
index e94e0254abd..0971a709e47 100644
--- a/src/mame/video/vulgus.cpp
+++ b/src/mame/video/vulgus.cpp
@@ -114,6 +114,11 @@ void vulgus_state::video_start()
m_fg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 47);
+ m_bg_tilemap->set_scrolldx(128, 128);
+ m_bg_tilemap->set_scrolldy( 6, 6);
+ m_fg_tilemap->set_scrolldx(128, 128);
+ m_fg_tilemap->set_scrolldy( 6, 6);
+
save_item(NAME(m_palette_bank));
}
@@ -192,7 +197,7 @@ void vulgus_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
if (row == 2) row = 3;
for (; row >= 0; row--)
- gfx->transpen(bitmap, cliprect, code + row, color, flip, flip, sx, sy + 16 * row * dir, 15);
+ gfx->transpen(bitmap, cliprect, code + row, color, flip, flip, sx+128, sy + 6 + 16 * row * dir, 15);
}
}
diff --git a/src/mame/video/x68k.cpp b/src/mame/video/x68k.cpp
index 661a16c55a5..f0d7303f134 100644
--- a/src/mame/video/x68k.cpp
+++ b/src/mame/video/x68k.cpp
@@ -203,11 +203,14 @@ void x68k_state::draw_text(bitmap_rgb32 &bitmap, int xscr, int yscr, rectangle r
uint32_t loc; // location in TVRAM
uint32_t colour;
int bit;
+ int divisor = 1;
+ if(m_crtc->gfx_double_scan())
+ divisor = 2;
for(line=rect.min_y;line<=rect.max_y;line++) // per scanline
{
// adjust for scroll registers
- loc = (((line - m_crtc->vbegin()) + yscr) & 0x3ff) * 64;
+ loc = ((((line- m_crtc->vbegin()) / divisor) + yscr) & 0x3ff) * 64;
loc += (xscr / 16) & 0x7f;
loc &= 0xffff;
bit = 15 - (xscr & 0x0f);
@@ -218,7 +221,7 @@ void x68k_state::draw_text(bitmap_rgb32 &bitmap, int xscr, int yscr, rectangle r
+ (((m_tvram[loc+0x20000] >> bit) & 0x01) ? 4 : 0)
+ (((m_tvram[loc+0x30000] >> bit) & 0x01) ? 8 : 0);
// Colour 0 is displayable if the text layer is at the priority level 2
- if((m_pcgpalette->pen(colour) & 0xffffff) || ((m_video.reg[1] & 0x0c00) == 0x0800))
+ if((colour && (m_pcgpalette->pen(colour) & 0xffffff)) || ((m_video.reg[1] & 0x0c00) == 0x0800))
bitmap.pix(line, pixel) = m_pcgpalette->pen(colour);
bit--;
if(bit < 0)
@@ -241,6 +244,9 @@ bool x68k_state::draw_gfx_scanline( bitmap_ind16 &bitmap, rectangle cliprect, ui
int shift;
bool blend, ret = false;
uint16_t *pal = (uint16_t *)m_gfxpalette->basemem().base();
+ int divisor = 1;
+ if(m_crtc->gfx_double_scan())
+ divisor = 2;
for(int scanline=cliprect.min_y;scanline<=cliprect.max_y;scanline++) // per scanline
{
@@ -296,7 +302,7 @@ bool x68k_state::draw_gfx_scanline( bitmap_ind16 &bitmap, rectangle cliprect, ui
case 0x00: // 16 colours
xscr = m_crtc->xscr_gfx(page) & 0x1ff;
yscr = m_crtc->yscr_gfx(page) & 0x1ff;
- lineoffset = (((scanline - m_crtc->vbegin()) + yscr) & 0x1ff) * 512;
+ lineoffset = (((scanline - m_crtc->vbegin() / divisor) + yscr) & 0x1ff) * 512;
loc = xscr & 0x1ff;
shift = 4;
if((m_video.reg[2] & 0x1a00) == 0x1a00)
@@ -342,7 +348,7 @@ bool x68k_state::draw_gfx_scanline( bitmap_ind16 &bitmap, rectangle cliprect, ui
{
xscr = m_crtc->xscr_gfx(page) & 0x1ff;
yscr = m_crtc->yscr_gfx(page) & 0x1ff;
- lineoffset = (((scanline - m_crtc->vbegin()) + yscr) & 0x1ff) * 512;
+ lineoffset = (((scanline - m_crtc->vbegin() / divisor) + yscr) & 0x1ff) * 512;
loc = xscr & 0x1ff;
shift = 4;
if((m_video.reg[2] & 0x1a00) == 0x1a00)
@@ -387,7 +393,7 @@ bool x68k_state::draw_gfx_scanline( bitmap_ind16 &bitmap, rectangle cliprect, ui
case 0x03: // 65536 colours
xscr = m_crtc->xscr_gfx(0) & 0x1ff;
yscr = m_crtc->yscr_gfx(0) & 0x1ff;
- lineoffset = (((scanline - m_crtc->vbegin()) + yscr) & 0x1ff) * 512;
+ lineoffset = (((scanline - m_crtc->vbegin() / divisor) + yscr) & 0x1ff) * 512;
loc = xscr & 0x1ff;
for(pixel=m_crtc->hbegin();pixel<=m_crtc->hend();pixel++)
{
@@ -409,20 +415,25 @@ void x68k_state::draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect)
{
int priority, scanline, pixel;
bool gfxblend=false;
- //rectangle rect;
- //int xscr,yscr;
- //int gpage;
+ rectangle gfxrect = cliprect;
+ int divisor = 1;
+ if(m_crtc->gfx_double_scan())
+ {
+ gfxrect.max_y >>= 1;
+ gfxrect.min_y >>= 1;
+ divisor = 2;
+ }
if(m_crtc->gfx_layer_buffer()) // if graphic layers are set to buffer, then they aren't visible
return;
- m_gfxbitmap.fill(0, cliprect);
+ m_gfxbitmap.fill(0, gfxrect);
if((m_video.reg[2] & 0x1800) == 0x1000)
- m_special.fill(0, cliprect);
+ m_special.fill(0, gfxrect);
for(priority=3;priority>=0;priority--)
{
- gfxblend = draw_gfx_scanline(m_gfxbitmap,cliprect,priority);
+ gfxblend = draw_gfx_scanline(m_gfxbitmap,gfxrect,priority);
}
for(scanline=cliprect.min_y;scanline<=cliprect.max_y;scanline++)
@@ -433,13 +444,13 @@ void x68k_state::draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect)
{
if((m_video.reg[0] & 0x03) == 3)
{
- colour = m_gfxbitmap.pix(scanline, pixel);
+ colour = m_gfxbitmap.pix(scanline / divisor, pixel);
if(colour || (m_video.gfx_pri == 2))
bitmap.pix(scanline, pixel) = GGGGGRRRRRBBBBBI(colour);
}
else if(gfxblend)
{
- colour = m_gfxbitmap.pix(scanline, pixel);
+ colour = m_gfxbitmap.pix(scanline / divisor, pixel);
if(((m_video.reg[2] & 0x1900) == 0x1900) && (m_video.gfx_pri != 2) && (colour & 1))
blend = true;
else
@@ -454,7 +465,7 @@ void x68k_state::draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect)
}
else
{
- colour = m_gfxbitmap.pix(scanline, pixel) & 0xff;
+ colour = m_gfxbitmap.pix(scanline / divisor, pixel) & 0xff;
if(((m_video.reg[2] & 0x1900) == 0x1900) && (m_video.gfx_pri != 2) && (colour & 1))
{
blend = true;
@@ -462,7 +473,7 @@ void x68k_state::draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect)
}
else
blend = false;
- if((colour && (m_gfxpalette->pen(colour) & 0xffffff)) || (m_video.gfx_pri == 2))
+ if((m_gfxpalette->pen(colour) & 0xffffff) || (m_video.gfx_pri == 2))
{
if(blend)
bitmap.pix(scanline, pixel) = ((bitmap.pix(scanline, pixel) >> 1) & 0xff7f7f7f) + ((m_gfxpalette->pen(colour) >> 1) & 0x7f7f7f);
@@ -507,6 +518,9 @@ void x68k_state::draw_sprites(bitmap_ind16 &bitmap, int priority, rectangle clip
b1-0, H-Res (0 = 8x8 tilemaps, 1 = 16x16 tilemaps, 2 or 3 = unknown)
*/
int ptr,pri;
+ int divisor = 1;
+ if(!(m_video.bg_hvres & 0x0c) && m_crtc->gfx_double_scan())
+ divisor = 2;
for(ptr=508;ptr>=0;ptr-=4) // stepping through sprites
{
@@ -532,11 +546,43 @@ void x68k_state::draw_sprites(bitmap_ind16 &bitmap, int priority, rectangle clip
sx += m_video.bg_hshift;
sx += m_sprite_shift;
- m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,code,colour,xflip,yflip,m_crtc->hbegin()+sx,m_crtc->vbegin()+(sy*m_video.bg_double),0x10000,0x10000*m_video.bg_double,0x00);
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,code,colour,xflip,yflip,m_crtc->hbegin()+sx,(m_crtc->vbegin() / divisor)+(sy*m_video.bg_double),0x10000,0x10000*m_video.bg_double,0x00);
}
}
}
+void x68k_state::draw_bg(bitmap_ind16 &bitmap, screen_device &screen, int layer, bool opaque, rectangle rect)
+{
+ int sclx = layer ? m_spritereg[0x402] : m_spritereg[0x400];
+ int scly = layer ? m_spritereg[0x403] : m_spritereg[0x401];
+ tilemap_t* x68k_bg0;
+ tilemap_t* x68k_bg1;
+ tilemap_t* map;
+ int divisor = 1;
+ if(!(m_video.bg_hvres & 0x0c) && m_crtc->gfx_double_scan())
+ divisor = 2;
+
+ if((m_spritereg[0x408] & 0x03) == 0x00) // Sprite/BG H-Res 0=8x8, 1=16x16, 2 or 3 = undefined.
+ {
+ x68k_bg0 = m_bg0_8;
+ x68k_bg1 = m_bg1_8;
+ }
+ else
+ {
+ x68k_bg0 = m_bg0_16;
+ x68k_bg1 = m_bg1_16;
+ }
+
+ if(layer)
+ map = (m_spritereg[0x404] & 0x0030) == 0x10 ? x68k_bg0 : x68k_bg1;
+ else
+ map = (m_spritereg[0x404] & 0x0006) == 0x02 ? x68k_bg0 : x68k_bg1;
+
+ map->set_scrollx(0,(sclx - m_crtc->hbegin() - m_video.bg_hshift) & 0x3ff);
+ map->set_scrolly(0,(scly - (m_crtc->vbegin() / divisor)) & 0x3ff);
+ map->draw(screen, bitmap, rect, opaque ? TILEMAP_DRAW_OPAQUE : 0, 0);
+}
+
static const gfx_layout x68k_pcg_8 =
{
8,8,
@@ -632,25 +678,9 @@ uint32_t x68k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
int priority;
int xscr,yscr;
int x;
- tilemap_t* x68k_bg0;
- tilemap_t* x68k_bg1;
int pixel = 0, scanline = 0;
//uint8_t *rom;
- if((m_spritereg[0x408] & 0x03) == 0x00) // Sprite/BG H-Res 0=8x8, 1=16x16, 2 or 3 = undefined.
- {
- x68k_bg0 = m_bg0_8;
- x68k_bg1 = m_bg1_8;
- }
- else
- {
- x68k_bg0 = m_bg0_16;
- x68k_bg1 = m_bg1_16;
- }
-// rect.max_x=m_crtc->width();
-// rect.max_y=m_crtc->height();
- bitmap.fill(0, cliprect);
-
if(m_sysport.contrast == 0) // if monitor contrast is 0, then don't bother displaying anything
return 0;
@@ -682,6 +712,42 @@ uint32_t x68k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
}
}
+ bool clear = false;
+ if(m_video.reg[2] & 0x0040)
+ {
+ rectangle pcgrect = rect;
+ if(!(m_video.bg_hvres & 0x0c) && m_crtc->gfx_double_scan())
+ {
+ pcgrect.max_y >>= 1;
+ pcgrect.min_y >>= 1;
+ }
+ if(m_spritereg[0x404] & 0x0008)
+ {
+ clear = true;
+ draw_bg(m_pcgbitmap, screen, 1, true, pcgrect);
+ }
+ else if(m_spritereg[0x404] & 0x0001)
+ {
+ clear = true;
+ draw_bg(m_pcgbitmap, screen, 0, true, pcgrect);
+ }
+ }
+ if(clear)
+ {
+ int divisor = 1;
+ if(!(m_video.bg_hvres & 0x0c) && m_crtc->gfx_double_scan())
+ divisor = 2;
+ for(scanline=rect.min_y;scanline<=rect.max_y;scanline++)
+ {
+ for(pixel=m_crtc->hbegin();pixel<=m_crtc->hend();pixel++)
+ {
+ uint8_t colour = m_pcgbitmap.pix(scanline / divisor, pixel) & 0xff;
+ bitmap.pix(scanline, pixel) = m_pcgpalette->pen(colour);
+ }
+ }
+ }
+ else
+ bitmap.fill(m_pcgpalette->pen(0), rect);
for(priority=2;priority>=0;priority--)
{
@@ -692,47 +758,31 @@ uint32_t x68k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
// Sprite / BG Tiles
if(priority == m_video.sprite_pri /*&& (m_spritereg[0x404] & 0x0200)*/ && (m_video.reg[2] & 0x0040))
{
- m_pcgbitmap.fill(0, rect);
- draw_sprites(m_pcgbitmap,1,rect);
- if((m_spritereg[0x404] & 0x0008))
- {
- if((m_spritereg[0x404] & 0x0030) == 0x10) // BG1 TXSEL
- {
- x68k_bg0->set_scrollx(0,(m_spritereg[0x402] - m_crtc->hbegin() - m_video.bg_hshift) & 0x3ff);
- x68k_bg0->set_scrolly(0,(m_spritereg[0x403] - m_crtc->vbegin()) & 0x3ff);
- x68k_bg0->draw(screen, m_pcgbitmap,rect,0,0);
- }
- else
- {
- x68k_bg1->set_scrollx(0,(m_spritereg[0x402] - m_crtc->hbegin() - m_video.bg_hshift) & 0x3ff);
- x68k_bg1->set_scrolly(0,(m_spritereg[0x403] - m_crtc->vbegin()) & 0x3ff);
- x68k_bg1->draw(screen, m_pcgbitmap,rect,0,0);
- }
- }
- draw_sprites(m_pcgbitmap,2,rect);
- if((m_spritereg[0x404] & 0x0001))
+ rectangle pcgrect = rect;
+ int divisor = 1;
+ if(!(m_video.bg_hvres & 0x0c) && m_crtc->gfx_double_scan())
{
- if((m_spritereg[0x404] & 0x0006) == 0x02) // BG0 TXSEL
- {
- x68k_bg0->set_scrollx(0,(m_spritereg[0x400] - m_crtc->hbegin() - m_video.bg_hshift) & 0x3ff);
- x68k_bg0->set_scrolly(0,(m_spritereg[0x401] - m_crtc->vbegin()) & 0x3ff);
- x68k_bg0->draw(screen, m_pcgbitmap,rect,0,0);
- }
- else
- {
- x68k_bg1->set_scrollx(0,(m_spritereg[0x400] - m_crtc->hbegin() - m_video.bg_hshift) & 0x3ff);
- x68k_bg1->set_scrolly(0,(m_spritereg[0x401] - m_crtc->vbegin()) & 0x3ff);
- x68k_bg1->draw(screen, m_pcgbitmap,rect,0,0);
- }
+ pcgrect.max_y >>= 1;
+ pcgrect.min_y >>= 1;
+ divisor = 2;
}
- draw_sprites(m_pcgbitmap,3,rect);
+ m_pcgbitmap.fill(0, pcgrect);
+ draw_sprites(m_pcgbitmap,1,pcgrect);
+ if(m_spritereg[0x404] & 0x0008)
+ draw_bg(m_pcgbitmap, screen, 1, false, pcgrect);
+
+ draw_sprites(m_pcgbitmap,2,pcgrect);
+ if(m_spritereg[0x404] & 0x0001)
+ draw_bg(m_pcgbitmap, screen, 0, false, pcgrect);
+
+ draw_sprites(m_pcgbitmap,3,pcgrect);
for(scanline=rect.min_y;scanline<=rect.max_y;scanline++)
{
for(pixel=m_crtc->hbegin();pixel<=m_crtc->hend();pixel++)
{
- uint8_t colour = m_pcgbitmap.pix(scanline, pixel) & 0xff;
- if((colour && (m_pcgpalette->pen(colour) & 0xffffff)) || ((m_video.reg[1] & 0x3000) == 0x2000))
+ uint8_t colour = m_pcgbitmap.pix(scanline / divisor, pixel) & 0xff;
+ if(colour && (m_pcgpalette->pen(colour) & 0xffffff))
bitmap.pix(scanline, pixel) = m_pcgpalette->pen(colour);
}
}
@@ -751,12 +801,16 @@ uint32_t x68k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
if((m_video.reg[2] & 0x1800) == 0x1000) // special priority
{
uint16_t colour;
+ int divisor = 1;
+ if(m_crtc->gfx_double_scan())
+ divisor = 2;
for(scanline=rect.min_y;scanline<=rect.max_y;scanline++)
{
for(pixel=m_crtc->hbegin();pixel<=m_crtc->hend();pixel++)
{
- colour = m_special.pix(scanline, pixel) & 0xff;
- if(colour)
+ colour = m_special.pix(scanline / divisor, pixel) & 0xff;
+ // XXX: this might check the pen color not the palette index
+ if(colour & ~1)
bitmap.pix(scanline, pixel) = m_gfxpalette->pen(colour & ~1);
}
}
diff --git a/src/mame/video/x68k_crtc.cpp b/src/mame/video/x68k_crtc.cpp
index 70453f92b53..c7e870ccf01 100644
--- a/src/mame/video/x68k_crtc.cpp
+++ b/src/mame/video/x68k_crtc.cpp
@@ -5,7 +5,7 @@
#include "video/x68k_crtc.h"
#include "screen.h"
-//#define VERBOSE 0
+//#define VERBOSE 1
#include "logmacro.h"
// device type definitions
@@ -152,18 +152,14 @@ void x68k_crtc_device::refresh_mode()
{
// Calculate data from register values
m_vmultiple = 1;
- if ((m_reg[20] & 0x10) != 0 && (m_reg[20] & 0x0c) == 0)
- m_vmultiple = 2; // 31.5kHz + 256 lines = doublescan
if (m_interlace)
m_vmultiple = 0.5f; // 31.5kHz + 1024 lines or 15kHz + 512 lines = interlaced
m_htotal = (m_reg[0] + 1) * 8;
m_vtotal = (m_reg[4] + 1) / m_vmultiple; // default is 567 (568 scanlines)
m_hbegin = (m_reg[2] * 8) + 1;
- m_hend = (m_reg[3] * 8);
- m_vbegin = (m_reg[6]) / m_vmultiple;
+ m_hend = m_reg[3] * 8;
+ m_vbegin = m_reg[6] / m_vmultiple;
m_vend = (m_reg[7] - 1) / m_vmultiple;
- if ((m_vmultiple == 2) && !(m_reg[7] & 1)) // otherwise if the raster irq line == vblank line, the raster irq fires too late
- m_vend++;
m_hsync_end = (m_reg[1]) * 8;
m_vsync_end = (m_reg[5]) / m_vmultiple;
m_hsyncadjust = m_reg[8];
@@ -175,19 +171,9 @@ void x68k_crtc_device::refresh_mode()
scr.max_x = m_hend + 2;
rectangle visiblescr(m_hbegin, m_hend, m_vbegin, m_vend);
- // expand visible area to the size indicated by CRTC reg 20
- int length = m_hend - m_hbegin;
- if (length < m_width)
- {
- visiblescr.min_x = m_hbegin - ((m_width - length)/2);
- visiblescr.max_x = m_hend + ((m_width - length)/2);
- }
- length = m_vend - m_vbegin;
- if (length < m_height)
- {
- visiblescr.min_y = m_vbegin - ((m_height - length)/2);
- visiblescr.max_y = m_vend + ((m_height - length)/2);
- }
+ if ((visiblescr.max_y > m_height) || (visiblescr.max_x > m_width))
+ logerror("visarea larger then reg[20]: %dx%d, %dx%d\n", visiblescr.max_x, visiblescr.max_y, m_width, m_height);
+
// bounds check
if (visiblescr.min_x < 0)
visiblescr.min_x = 0;
@@ -200,11 +186,29 @@ void x68k_crtc_device::refresh_mode()
// LOG("CRTC regs - %i %i %i %i - %i %i %i %i - %i - %i\n", m_reg[0], m_reg[1], m_reg[2], m_reg[3],
// m_reg[4], m_reg[5], m_reg[6], m_reg[7], m_reg[8], m_reg[9]);
- unsigned div = (m_reg[20] & 0x03) == 0 ? 4 : 2;
- if (BIT(m_reg[20], 4) && !BIT(m_reg[20], 1))
- div = BIT(m_reg[20], 0) ? 3 : 6;
- if ((m_reg[20] & 0x0c) == 0)
- div *= 2;
+ int div;
+ switch (m_reg[20] & 0x1f)
+ {
+ case 0:
+ div = 8;
+ break;
+ default:
+ logerror("Invalid mode %d", m_reg[20] & 0x1f); [[fallthrough]];
+ case 1:
+ case 5:
+ case 0x11:
+ div = 4;
+ break;
+ case 0x16:
+ div = 2;
+ break;
+ case 0x10:
+ div = 6;
+ break;
+ case 0x15:
+ div = 3;
+ break;
+ }
attotime refresh = attotime::from_hz((BIT(m_reg[20], 4) ? clock_69m() : clock_39m()) / div) * (scr.max_x * scr.max_y);
LOG("screen().configure(%i,%i,[%i,%i,%i,%i],%f)\n", scr.max_x, scr.max_y, visiblescr.min_x, visiblescr.min_y, visiblescr.max_x, visiblescr.max_y, refresh.as_hz());
screen().configure(scr.max_x, scr.max_y, visiblescr, refresh.as_attoseconds());
@@ -221,69 +225,22 @@ TIMER_CALLBACK_MEMBER(x68k_crtc_device::hsync)
if (m_operation & 8)
text_copy((m_reg[22] & 0xff00) >> 8, (m_reg[22] & 0x00ff), (m_reg[21] & 0xf));
- if (m_vmultiple == 2) // 256-line (doublescan)
+ int scan = screen().vpos();
+ if (hstate == 1)
{
- if (hstate == 1)
- {
- if (m_oddscanline)
- {
- int scan = screen().vpos();
- if (scan > m_vend)
- scan = m_vbegin;
- hsync_time = screen().time_until_pos(scan, (m_htotal + m_hend) / 2);
- m_scanline_timer->adjust(hsync_time);
- if (scan != 0)
- screen().update_partial(scan);
- }
- else
- {
- int scan = screen().vpos();
- if (scan > m_vend)
- scan = m_vbegin;
- hsync_time = screen().time_until_pos(scan, m_hend / 2);
- m_scanline_timer->adjust(hsync_time);
- if (scan != 0)
- screen().update_partial(scan);
- }
- }
- if (hstate == 0)
- {
- if (m_oddscanline)
- {
- int scan = screen().vpos();
- if (scan > m_vend)
- scan = m_vbegin;
- else
- scan++;
- hsync_time = screen().time_until_pos(scan, m_hbegin / 2);
- m_scanline_timer->adjust(hsync_time, 1);
- m_oddscanline = false;
- }
- else
- {
- hsync_time = screen().time_until_pos(screen().vpos(), (m_htotal + m_hbegin) / 2);
- m_scanline_timer->adjust(hsync_time, 1);
- m_oddscanline = true;
- }
- }
+ hsync_time = screen().time_until_pos(scan, m_hend);
+ m_scanline_timer->adjust(hsync_time);
+ if ((scan != 0) && (scan < m_vend))
+ screen().update_partial(scan - 1);
}
- else // 512-line
+ if (hstate == 0)
{
- if (hstate == 1)
- {
- int scan = screen().vpos();
- if (scan > m_vend)
- scan = 0;
- hsync_time = screen().time_until_pos(scan, m_hend);
- m_scanline_timer->adjust(hsync_time);
- if (scan != 0)
- screen().update_partial(scan);
- }
- if (hstate == 0)
- {
- hsync_time = screen().time_until_pos(screen().vpos() + 1, m_hbegin);
- m_scanline_timer->adjust(hsync_time, 1);
- }
+ if (scan == (m_vtotal - 1))
+ scan = 0;
+ else
+ scan++;
+ hsync_time = screen().time_until_pos(scan, m_hbegin);
+ m_scanline_timer->adjust(hsync_time, 1);
}
}
@@ -301,7 +258,7 @@ TIMER_CALLBACK_MEMBER(x68k_crtc_device::raster_irq)
if (scan <= m_vtotal)
{
m_rint_callback(0);
- screen().update_partial(scan);
+ screen().update_partial(scan - 1);
irq_time = screen().time_until_pos(scan, m_hbegin);
// end of HBlank period clears GPIP6 also?
end_time = screen().time_until_pos(scan, m_hend);
@@ -407,14 +364,15 @@ void x68k_crtc_device::crtc_w(offs_t offset, u16 data, u16 mem_mask)
case 9: // CRTC raster IRQ (GPIP6)
{
data = m_reg[9];
- attotime irq_time = screen().time_until_pos((data) / m_vmultiple,2);
-
- if (data != screen().vpos())
+ attotime irq_time = attotime::zero;
+ if ((data / m_vmultiple) != screen().vpos())
+ {
+ irq_time = screen().time_until_pos((data - 1) / m_vmultiple,2);
m_rint_callback(1);
- if (irq_time.as_double() > 0)
- m_raster_irq_timer->adjust(irq_time, (data) / m_vmultiple);
+ }
+ m_raster_irq_timer->adjust(irq_time, (data) / m_vmultiple);
+ LOG("CRTC: Write to raster IRQ register - %i %i %f\n",data, screen().vpos(), irq_time.as_double());
}
- LOG("CRTC: Write to raster IRQ register - %i\n",data);
break;
case 20:
if (ACCESSING_BITS_0_7)
@@ -480,6 +438,8 @@ u16 x68k_crtc_device::crtc_r(offs_t offset)
switch (offset)
{
case 9:
+ if (machine().side_effects_disabled())
+ return m_reg[9];
return 0;
case 10: // Text X/Y scroll
case 11:
diff --git a/src/mame/video/x68k_crtc.h b/src/mame/video/x68k_crtc.h
index d7b90e4b3ff..bc9f81bae0b 100644
--- a/src/mame/video/x68k_crtc.h
+++ b/src/mame/video/x68k_crtc.h
@@ -39,6 +39,7 @@ public:
u16 yscr_gfx(int page) const { return m_reg[13 + page * 2]; }
u8 vfactor() const { return (m_reg[20] & 0x0c) >> 2; }
bool is_1024x1024() const { return BIT(m_reg[20], 10); }
+ bool gfx_double_scan() const { return (m_reg[20] & 0x1e) == 0x10; }
bool gfx_layer_buffer() const { return BIT(m_reg[20], 11); }
bool text_layer_buffer() const { return BIT(m_reg[20], 12); }
u16 hbegin() const { return m_hbegin; }
diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp
index f30d07bc93b..b55b0aa11f9 100644
--- a/src/osd/modules/debugger/debugimgui.cpp
+++ b/src/osd/modules/debugger/debugimgui.cpp
@@ -1039,8 +1039,7 @@ void debug_imgui::refresh_typelist()
if(fd == nullptr)
return;
- floppy_image_format_t* format_list = fd->get_formats();
- for(floppy_image_format_t* flist = format_list; flist; flist = flist->next)
+ for(floppy_image_format_t* flist : fd->get_formats())
{
if(flist->supports_save())
{
diff --git a/src/osd/modules/debugger/qt/dasmwindow.cpp b/src/osd/modules/debugger/qt/dasmwindow.cpp
index 4eee8d86fb1..44ce8bac988 100644
--- a/src/osd/modules/debugger/qt/dasmwindow.cpp
+++ b/src/osd/modules/debugger/qt/dasmwindow.cpp
@@ -119,8 +119,11 @@ DasmWindow::~DasmWindow()
void DasmWindow::cpuChanged(int index)
{
- m_dasmView->view()->set_source(*m_dasmView->view()->source(index));
- m_dasmView->viewport()->update();
+ if (index < m_dasmView->view()->source_count())
+ {
+ m_dasmView->view()->set_source(*m_dasmView->view()->source(index));
+ m_dasmView->viewport()->update();
+ }
}
diff --git a/src/osd/modules/debugger/qt/memorywindow.cpp b/src/osd/modules/debugger/qt/memorywindow.cpp
index 6f25c6bc964..9989ac6d66d 100644
--- a/src/osd/modules/debugger/qt/memorywindow.cpp
+++ b/src/osd/modules/debugger/qt/memorywindow.cpp
@@ -169,21 +169,24 @@ MemoryWindow::~MemoryWindow()
void MemoryWindow::memoryRegionChanged(int index)
{
- m_memTable->view()->set_source(*m_memTable->view()->source(index));
- m_memTable->viewport()->update();
-
- // Update the data format radio buttons to the memory region's default
- debug_view_memory *memView = downcast<debug_view_memory*>(m_memTable->view());
- switch (memView->get_data_format())
+ if (index < m_memTable->view()->source_count())
{
- case 1: dataFormatMenuItem("formatActOne")->setChecked(true); break;
- case 2: dataFormatMenuItem("formatActTwo")->setChecked(true); break;
- case 4: dataFormatMenuItem("formatActFour")->setChecked(true); break;
- case 8: dataFormatMenuItem("formatActEight")->setChecked(true); break;
- case 9: dataFormatMenuItem("formatAct32bitFloat")->setChecked(true); break;
- case 10: dataFormatMenuItem("formatAct64bitFloat")->setChecked(true); break;
- case 11: dataFormatMenuItem("formatAct80bitFloat")->setChecked(true); break;
- default: break;
+ m_memTable->view()->set_source(*m_memTable->view()->source(index));
+ m_memTable->viewport()->update();
+
+ // Update the data format radio buttons to the memory region's default
+ debug_view_memory *memView = downcast<debug_view_memory*>(m_memTable->view());
+ switch (memView->get_data_format())
+ {
+ case 1: dataFormatMenuItem("formatActOne")->setChecked(true); break;
+ case 2: dataFormatMenuItem("formatActTwo")->setChecked(true); break;
+ case 4: dataFormatMenuItem("formatActFour")->setChecked(true); break;
+ case 8: dataFormatMenuItem("formatActEight")->setChecked(true); break;
+ case 9: dataFormatMenuItem("formatAct32bitFloat")->setChecked(true); break;
+ case 10: dataFormatMenuItem("formatAct64bitFloat")->setChecked(true); break;
+ case 11: dataFormatMenuItem("formatAct80bitFloat")->setChecked(true); break;
+ default: break;
+ }
}
}
diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h
index 126b007d331..4845bd301b2 100644
--- a/src/osd/sdl/osdsdl.h
+++ b/src/osd/sdl/osdsdl.h
@@ -16,6 +16,7 @@
#define SDLOPTION_INIPATH "inipath"
#define SDLOPTION_SDLVIDEOFPS "sdlvideofps"
#define SDLOPTION_USEALLHEADS "useallheads"
+#define SDLOPTION_ATTACH_WINDOW "attach_window"
#define SDLOPTION_CENTERH "centerh"
#define SDLOPTION_CENTERV "centerv"
@@ -89,7 +90,8 @@ public:
// full screen options
#ifdef SDLMAME_X11
bool use_all_heads() const { return bool_value(SDLOPTION_USEALLHEADS); }
-#endif
+ const char *attach_window() const { return value(SDLOPTION_ATTACH_WINDOW); }
+#endif // SDLMAME_X11
// keyboard mapping
bool keymap() const { return bool_value(SDLOPTION_KEYMAP); }
diff --git a/src/osd/sdl/sdlmain.cpp b/src/osd/sdl/sdlmain.cpp
index 0fdd9883955..1a65e48a846 100644
--- a/src/osd/sdl/sdlmain.cpp
+++ b/src/osd/sdl/sdlmain.cpp
@@ -93,7 +93,8 @@ const options_entry sdl_options::s_option_entries[] =
#ifdef SDLMAME_X11
{ nullptr, nullptr, OPTION_HEADER, "SDL FULL SCREEN OPTIONS" },
{ SDLOPTION_USEALLHEADS, "0", OPTION_BOOLEAN, "split full screen image across monitors" },
- #endif
+ { SDLOPTION_ATTACH_WINDOW, "", OPTION_STRING, "attach to arbitrary window" },
+ #endif // SDLMAME_X11
// keyboard mapping
{ nullptr, nullptr, OPTION_HEADER, "SDL KEYBOARD MAPPING" },
diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp
index d751472ebd7..0d15c4e4c0b 100644
--- a/src/osd/sdl/window.cpp
+++ b/src/osd/sdl/window.cpp
@@ -14,6 +14,7 @@
// standard SDL headers
#include <SDL2/SDL.h>
+#include <SDL2/SDL_syswm.h>
// standard C headers
#include <cmath>
@@ -681,11 +682,68 @@ int sdl_window_info::complete_create()
// get monitor work area for centering
osd_rect work = monitor()->usuable_position_size();
- // create the SDL window
- auto sdlwindow = SDL_CreateWindow(title().c_str(),
+ // create or attach to an existing window
+ SDL_Window *sdlwindow;
+#ifdef SDLMAME_X11
+ const char *attach_window = downcast<sdl_options &>(machine().options()).attach_window();
+#else
+ const char *attach_window = nullptr;
+#endif
+ if (attach_window && *attach_window)
+ {
+ // we're attaching to an existing window; parse the argument
+ unsigned long long attach_window_value;
+ try
+ {
+ attach_window_value = std::stoull(attach_window, nullptr, 0);
+ }
+ catch (std::invalid_argument &)
+ {
+ osd_printf_error("Invalid -attach_window value: %s\n", attach_window);
+ return 1;
+ }
+
+ // and attach to it
+ sdlwindow = SDL_CreateWindowFrom((void *)attach_window_value);
+ if (!sdlwindow)
+ {
+ osd_printf_error("Failed to attach to window \"%s\": %s\n", attach_window, SDL_GetError());
+ return 1;
+ }
+
+ // perform SDL subsystem-specific tasks
+ SDL_SysWMinfo swmi;
+ SDL_VERSION(&swmi.version);
+ if (SDL_GetWindowWMInfo(sdlwindow, &swmi))
+ {
+ switch (swmi.subsystem)
+ {
+#ifdef SDLMAME_X11
+ case SDL_SYSWM_X11:
+ // by default, SDL_CreateWindowFrom() doesn't ensure that we're getting the events that we
+ // expect
+ XSelectInput(swmi.info.x11.display, swmi.info.x11.window,
+ FocusChangeMask | EnterWindowMask | LeaveWindowMask |
+ PointerMotionMask | KeyPressMask | KeyReleaseMask |
+ PropertyChangeMask | StructureNotifyMask |
+ ExposureMask | KeymapStateMask);
+ break;
+#endif // SDLMAME_X11
+
+ default:
+ break;
+ }
+ }
+ }
+ else
+ {
+ // create the SDL window
+ sdlwindow = SDL_CreateWindow(title().c_str(),
work.left() + (work.width() - temp.width()) / 2,
work.top() + (work.height() - temp.height()) / 2,
temp.width(), temp.height(), m_extra_flags);
+ }
+
//window().sdl_window() = SDL_CreateWindow(window().m_title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
// width, height, m_extra_flags);
diff --git a/src/tools/floptool.cpp b/src/tools/floptool.cpp
index 0204feb0607..7cd7c2ad7f0 100644
--- a/src/tools/floptool.cpp
+++ b/src/tools/floptool.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Olivier Galibert
/***************************************************************************
- (Floppy) image command-line manager
+ (Floppy) image command-line manager
***************************************************************************/
@@ -15,303 +15,73 @@
#include <cassert>
#include <map>
-#include "../emu/emucore.h"
+#include "image_handler.h"
#include "corestr.h"
-#include "osdcomm.h"
-
-using u8 = uint8_t;
-using u16 = uint16_t;
-using u32 = uint32_t;
-
-#include "formats/all.h"
-#include "formats/fs_unformatted.h"
-#include "formats/fsblk_vec.h"
-
-emu_fatalerror::emu_fatalerror(util::format_argument_pack<std::ostream> const &args)
- : emu_fatalerror(0, args)
-{
-}
-
-emu_fatalerror::emu_fatalerror(int _exitcode, util::format_argument_pack<std::ostream> const &args)
- : m_text(util::string_format(args))
- , m_code(_exitcode)
-{
-}
-
-struct fs_info {
- const filesystem_manager_t *m_manager;
- floppy_format_type m_type;
- u32 m_image_size;
- const char *m_name;
- u32 m_key;
- const char *m_description;
-
- fs_info(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) :
- m_manager(manager),
- m_type(type),
- m_image_size(image_size),
- m_name(name),
- m_key(0),
- m_description(description)
- {}
-
- fs_info(const char *name, u32 key, const char *description) :
- m_manager(nullptr),
- m_type(nullptr),
- m_image_size(0),
- m_name(name),
- m_key(key),
- m_description(description)
- {}
-};
-
-struct iofile_ram {
- std::vector<u8> *data;
- int64_t pos;
-};
-
-static void ram_closeproc(void *file)
-{
- auto f = (iofile_ram *)file;
- delete f;
-}
-
-static int ram_seekproc(void *file, int64_t offset, int whence)
-{
- auto f = (iofile_ram *)file;
- switch(whence) {
- case SEEK_SET: f->pos = offset; break;
- case SEEK_CUR: f->pos += offset; break;
- case SEEK_END: f->pos = f->data->size() + offset; break;
- }
-
- if(whence == SEEK_CUR)
- f->pos = std::max<int64_t>(f->pos, 0);
- else
- f->pos = std::clamp<int64_t>(f->pos, 0, f->data->size());
- return 0;
-}
-
-static size_t ram_readproc(void *file, void *buffer, size_t length)
-{
- auto f = (iofile_ram *)file;
- size_t l = std::min<std::common_type_t<size_t, int64_t> >(length, f->data->size() - f->pos);
- memcpy(buffer, f->data->data() + f->pos, l);
- return l;
-}
-
-static size_t ram_writeproc(void *file, const void *buffer, size_t length)
-{
- auto f = (iofile_ram *)file;
- size_t l = std::max<std::common_type_t<size_t, int64_t> >(f->pos + length, f->data->size());
- f->data->resize(l);
- memcpy(f->data->data() + f->pos, buffer, length);
- return length;
-}
-
-static uint64_t ram_filesizeproc(void *file)
-{
- auto f = (iofile_ram *)file;
- return f->data->size();
-}
-
-
-static const io_procs iop_ram = {
- ram_closeproc,
- ram_seekproc,
- ram_readproc,
- ram_writeproc,
- ram_filesizeproc
-};
-
-static io_generic *ram_open(std::vector<u8> &data)
-{
- iofile_ram *f = new iofile_ram;
- f->data = &data;
- f->pos = 0;
- return new io_generic({ &iop_ram, f });
-}
-
-std::map<std::string, std::vector<floppy_image_format_t *>> formats_by_category;
-std::map<std::string, floppy_image_format_t *> formats_by_key;
-
-std::map<std::string, std::vector<fs_info>> fs_by_category;
-std::map<std::string, fs_info> fs_by_key;
-
-static std::vector<uint32_t> variants;
-
-struct enumerator;
-
-struct fs_enum : public filesystem_manager_t::floppy_enumerator {
- enumerator *m_en;
- fs_enum(enumerator *en) : filesystem_manager_t::floppy_enumerator(), m_en(en) {};
-
- void reg(const fs_info &fsi) const;
- virtual void add(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) override;
- virtual void add_raw(const char *name, u32 key, const char *description) override;
-};
-
-struct enumerator : public mame_formats_enumerator {
- fs_enum fse;
-
- enumerator() : mame_formats_enumerator(), fse(this) {}
-
- virtual ~enumerator() = default;
- virtual void add(const cassette_image::Format *const *formats) {}
-
- std::vector<floppy_image_format_t *> *cf = nullptr;
- std::vector<fs_info> *cfs = nullptr;
- virtual void category(const char *name) {
- auto i = formats_by_category.find(name);
- if(i != formats_by_category.end()) {
- fprintf(stderr, "Collision on category name %s\n", name);
- exit(1);
- }
- cf = &formats_by_category[name];
- cfs = &fs_by_category[name];
- }
-
- virtual void add(floppy_format_type format) {
- auto f = format();
- std::string key = f->name();
- auto i = formats_by_key.find(key);
- if(i != formats_by_key.end()) {
- fprintf(stderr, "Collision on format key %s between \"%s\" and \"%s\".\n",
- key.c_str(),
- i->second->description(),
- f->description());
- exit(1);
- }
- cf->push_back(f);
- formats_by_key[key] = f;
- }
-
- virtual void add(filesystem_manager_type fs) {
- auto ff = fs();
- ff->enumerate_f(fse, floppy_image::FF_UNKNOWN, variants);
- }
-};
-
-void fs_enum::reg(const fs_info &fsi) const
-{
- std::string key = fsi.m_name;
- auto i = fs_by_key.find(key);
- if(i != fs_by_key.end()) {
- fprintf(stderr, "Collision on fs key %s between \"%s\" and \"%s\".\n",
- key.c_str(),
- i->second.m_description,
- fsi.m_description);
- exit(1);
- }
- m_en->cfs->push_back(fsi);
- fs_by_key.emplace(key, fsi);
-}
-
-void fs_enum::add(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description)
-{
- fs_info fsi(manager, type, image_size, name, description);
- reg(fsi);
-}
-
-void fs_enum::add_raw(const char *name, u32 key, const char *description)
-{
- fs_info fsi(name, key, description);
- reg(fsi);
-}
-
-void CLIB_DECL ATTR_PRINTF(1,2) logerror(const char *format, ...)
-{
- va_list arg;
- va_start(arg, format);
- vprintf(format, arg);
- va_end(arg);
-}
-
-
-static void init_formats()
-{
- enumerator en;
- mame_formats_full_list(en);
-}
-
-static floppy_image_format_t *find_format_by_name(const char *name)
-{
- auto i = formats_by_key.find(name);
- if(i == formats_by_key.end())
- return nullptr;
- return i->second;
-}
-
-static floppy_image_format_t *find_format_by_identify(io_generic *image)
-{
- int best = 0;
- floppy_image_format_t *best_fif = nullptr;
-
- for(const auto &e : formats_by_key) {
- floppy_image_format_t *fif = e.second;
- int score = fif->identify(image, floppy_image::FF_UNKNOWN, variants);
- if(score > best) {
- best = score;
- best_fif = fif;
- }
- }
- return best_fif;
-}
-
-static const fs_info *find_fs_by_name(const char *name)
-{
- auto i = fs_by_key.find(name);
- if(i == fs_by_key.end())
- return nullptr;
- return &i->second;
-}
+static formats_table formats;
static void display_usage()
{
fprintf(stderr, "Usage: \n");
- fprintf(stderr, " floptool.exe identify <inputfile> [<inputfile> ...] -- Identify a floppy image format\n");
- fprintf(stderr, " floptool.exe convert [input_format|auto] output_format <inputfile> <outputfile> -- Convert a floppy image\n");
+ fprintf(stderr, " floptool.exe identify <inputfile> [<inputfile> ...] -- Identify an image format\n");
+ fprintf(stderr, " floptool.exe flopconvert [input_format|auto] output_format <inputfile> <outputfile> -- Convert a floppy image\n");
fprintf(stderr, " floptool.exe flopcreate output_format filesystem <outputfile> -- Create a preformatted floppy image\n");
fprintf(stderr, " floptool.exe flopdir input_format filesystem <image> -- List the contents of a floppy image\n");
fprintf(stderr, " floptool.exe flopread input_format filesystem <image> <path> <outputfile> -- Extract a file from a floppy image\n");
+ fprintf(stderr, " floptool.exe flopwrite input_format filesystem <image> <inputfile> <path> -- Write a file into a floppy image\n");
}
static void display_formats()
-{
+{
int sk = 0;
- for(const auto &e : formats_by_key) {
+ for(const auto &e : formats.floppy_format_info_by_key) {
int sz = e.first.size();
if(sz > sk)
sk = sz;
}
- for(const auto &e : fs_by_key) {
+
+ for(const auto &e : formats.filesystem_format_by_key) {
+ int sz = e.first.size();
+ if(sz > sk)
+ sk = sz;
+ }
+
+ for(const auto &e : formats.floppy_create_info_by_key) {
int sz = e.first.size();
if(sz > sk)
sk = sz;
}
fprintf(stderr, "Supported floppy formats:\n\n");
- for(const auto &e : formats_by_category)
+ for(const auto &e : formats.floppy_format_info_by_category)
if(!e.second.empty()) {
fprintf(stderr, "%s:\n", e.first.c_str());
- for(floppy_image_format_t *fif : e.second)
- fprintf(stderr, " %-*s - %s [%s]\n", sk, fif->name(), fif->description(), fif->extensions());
+ for(auto *fif : e.second)
+ fprintf(stderr, " %-*s r%c - %s [%s]\n", sk, fif->m_format->name(), fif->m_format->supports_save() ? 'w' : '-', fif->m_format->description(), fif->m_format->extensions());
}
fprintf(stderr, "\n\n");
- fprintf(stderr, "Supported floppy filesystems:\n\n");
- for(const auto &e : fs_by_category)
+ fprintf(stderr, "Supported filesystems (with floppy formatting names):\n\n");
+ for(const auto &e : formats.filesystem_format_by_category)
if(!e.second.empty()) {
fprintf(stderr, "%s:\n", e.first.c_str());
- for(const fs_info &fs : e.second)
- fprintf(stderr, " %-*s %c%c%c - %s\n",
+ for(const auto &f : e.second) {
+ fprintf(stderr, " %-*s %c%c%c %c%c%c - %s\n",
sk,
- fs.m_name,
- !fs.m_manager || fs.m_manager->can_format() ? 'f' : '-',
- fs.m_manager && fs.m_manager->can_read() ? 'r' : '-',
- fs.m_manager && fs.m_manager->can_write() ? 'w' : '-',
- fs.m_description);
+ f->m_manager->name(),
+ f->m_floppy || f->m_floppy_raw ? 'F' : '-',
+ f->m_hd ? 'H' : '-',
+ f->m_cd ? 'C' : '-',
+ f->m_manager->can_format() || f->m_floppy_raw ? 'f' : '-',
+ f->m_manager->can_read() ? 'r' : '-',
+ f->m_manager->can_write() ? 'w' : '-',
+ f->m_manager->description());
+ for(auto &f2 : f->m_floppy_create)
+ fprintf(stderr, " %-*s - %s\n",
+ sk,
+ f2->m_name,
+ f2->m_description);
+ }
}
}
@@ -322,181 +92,157 @@ static void display_full_usage()
display_usage();
fprintf(stderr, "\n");
display_formats();
- fprintf(stderr, "\nExample usage:\n");
- fprintf(stderr, " floptool.exe identify image.dsk\n\n");
}
static int identify(int argc, char *argv[])
{
- if (argc<3) {
+ // Need to detect CHDs too
+
+ if(argc<3) {
fprintf(stderr, "Missing name of file to identify.\n\n");
display_usage();
return 1;
}
+ int sz = 0;
for(int i=2; i<argc; i++) {
- char msg[4096];
- sprintf(msg, "Error opening %s for reading", argv[i]);
- FILE *f = fopen(argv[i], "rb");
- if (!f) {
- perror(msg);
- return 1;
+ int len = strlen(argv[i]);
+ if(len > sz)
+ sz = len;
+ }
+
+ for(int i=2; i<argc; i++) {
+ image_handler ih;
+ ih.set_on_disk_path(argv[i]);
+ auto scores = ih.identify(formats);
+ if(scores.empty())
+ printf("%-*s : Unknown format\n", sz, argv[i]);
+ int sz2 = 0;
+ for(const auto &e : scores) {
+ int len = strlen(e.second->m_format->name());
+ if(len > sz2)
+ sz2 = len;
+ }
+
+ bool first = true;
+ for(const auto &e : scores) {
+ printf("%-*s %c %3d - %-*s %s\n", sz, first ? argv[i] : "", first ? ':' : ' ', e.first, sz2, e.second->m_format->name(), e.second->m_format->description());
+ first = false;
}
- io_generic io;
- io.file = f;
- io.procs = &stdio_ioprocs_noclose;
- io.filler = 0xff;
-
- floppy_image_format_t *best_fif = find_format_by_identify(&io);
- if (best_fif)
- printf("%s : %s\n", argv[i], best_fif->description());
- else
- printf("%s : Unknown format\n", argv[i]);
- fclose(f);
}
return 0;
}
-static int convert(int argc, char *argv[])
+static const floppy_format_info *find_floppy_source_format(const char *name, image_handler &ih)
{
- if (argc!=6) {
- fprintf(stderr, "Incorrect number of arguments.\n\n");
- display_usage();
- return 1;
- }
-
- floppy_image_format_t *source_format, *dest_format;
-
- char msg[4096];
- sprintf(msg, "Error opening %s for reading", argv[4]);
- FILE *f = fopen(argv[4], "rb");
- if (!f) {
- perror(msg);
- return 1;
- }
- io_generic source_io;
- source_io.file = f;
- source_io.procs = &stdio_ioprocs_noclose;
- source_io.filler = 0xff;
-
- if(!core_stricmp(argv[2], "auto")) {
- source_format = find_format_by_identify(&source_io);
- if(!source_format) {
- fprintf(stderr, "Error: Could not identify the format of file %s\n", argv[4]);
- return 1;
+ const floppy_format_info *source_format;
+ if(!core_stricmp(name, "auto")) {
+ auto scores = ih.identify(formats);
+ if(scores.empty()) {
+ fprintf(stderr, "Error: Could not identify the format of file %s\n", ih.get_on_disk_path().c_str());
+ return nullptr;
+ }
+ if(scores.size() >= 2 && scores[0].first == scores[1].first) {
+ fprintf(stderr, "Ambiguous source format. Possible formats:\n");
+ int sz = 0;
+ for(const auto &e : scores) {
+ int len = strlen(e.second->m_format->name());
+ if(len > sz)
+ sz = len;
+ }
+
+ for(const auto &e : scores)
+ printf(" %3d - %-*s %s\n", e.first, sz, e.second->m_format->name(), e.second->m_format->description());
+ return nullptr;
}
+ source_format = scores[0].second;
} else {
- source_format = find_format_by_name(argv[2]);
+ source_format = formats.find_floppy_format_info_by_key(name);
if(!source_format) {
- fprintf(stderr, "Error: Format '%s' unknown\n", argv[2]);
- return 1;
+ fprintf(stderr, "Error: Format '%s' unknown\n", name);
+ return nullptr;
+
}
}
+ return source_format;
+}
+
+static int flopconvert(int argc, char *argv[])
+{
+ if(argc!=6) {
+ fprintf(stderr, "Incorrect number of arguments.\n\n");
+ display_usage();
+ return 1;
+ }
- dest_format = find_format_by_name(argv[3]);
+ image_handler ih;
+ ih.set_on_disk_path(argv[4]);
+
+ const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
+ if(!source_format)
+ return 1;
+
+ const floppy_format_info *dest_format = formats.find_floppy_format_info_by_key(argv[3]);
if(!dest_format) {
fprintf(stderr, "Error: Format '%s' unknown\n", argv[3]);
return 1;
}
- if(!dest_format->supports_save()) {
- fprintf(stderr, "Error: saving to format '%s' unsupported\n", argv[3]);
+ if(!dest_format->m_format->supports_save()) {
+ fprintf(stderr, "Error: Aaving to format '%s' unsupported\n", argv[3]);
return 1;
}
- sprintf(msg, "Error opening %s for writing", argv[5]);
- f = fopen(argv[5], "wb");
- if (!f) {
- perror(msg);
+ if(ih.floppy_load(source_format)) {
+ fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- io_generic dest_io;
- dest_io.file = f;
- dest_io.procs = &stdio_ioprocs_noclose;
- dest_io.filler = 0xff;
- floppy_image image(84, 2, floppy_image::FF_UNKNOWN);
- if(!source_format->load(&source_io, floppy_image::FF_UNKNOWN, variants, &image)) {
- fprintf(stderr, "Error: parsing input file as '%s' failed\n", source_format->name());
- return 1;
- }
+ ih.set_on_disk_path(argv[5]);
- if(!dest_format->save(&dest_io, variants, &image)) {
- fprintf(stderr, "Error: writing output file as '%s' failed\n", dest_format->name());
+ if(ih.floppy_save(dest_format)) {
+ fprintf(stderr, "Error: Saving as format '%s' failed\n", dest_format->m_format->name());
return 1;
}
- fclose((FILE *)source_io.file);
- fclose((FILE *)dest_io.file);
-
return 0;
}
-static int create(int argc, char *argv[])
+static int flopcreate(int argc, char *argv[])
{
- if (argc!=5) {
+ if(argc!=5) {
fprintf(stderr, "Incorrect number of arguments.\n\n");
display_usage();
return 1;
}
- auto dest_format = find_format_by_name(argv[2]);
+ auto dest_format = formats.find_floppy_format_info_by_key(argv[2]);
if(!dest_format) {
- fprintf(stderr, "Error: Format '%s' unknown\n", argv[3]);
+ fprintf(stderr, "Error: Floppy format '%s' unknown\n", argv[3]);
return 1;
}
-
- auto source_fs = find_fs_by_name(argv[3]);
- if(!source_fs) {
- fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[2]);
+ if(!dest_format->m_format->supports_save()) {
+ fprintf(stderr, "Error: Saving to format '%s' unsupported\n", argv[3]);
return 1;
}
- floppy_image image(84, 2, floppy_image::FF_UNKNOWN);
-
- if(source_fs->m_type) {
- auto metav = source_fs->m_manager->volume_meta_description();
- fs_meta_data meta;
- for(const auto &e : metav)
- if(!e.m_ro)
- meta[e.m_name] = e.m_default;
-
- std::vector<u8> img(source_fs->m_image_size);
- fsblk_vec_t blockdev(img);
- auto fs = source_fs->m_manager->mount(blockdev);
- fs->format(meta);
-
- auto iog = ram_open(img);
- auto source_format = source_fs->m_type();
- source_format->load(iog, floppy_image::FF_UNKNOWN, variants, &image);
- delete source_format;
- delete iog;
-
- } else
- fs_unformatted::format(source_fs->m_key, &image);
-
- char msg[4096];
- sprintf(msg, "Error opening %s for writing", argv[4]);
- auto f = fopen(argv[4], "wb");
- if (!f) {
- perror(msg);
+ auto create_fs = formats.find_floppy_create_info_by_key(argv[3]);
+ if(!create_fs) {
+ fprintf(stderr, "Error: Floppy creation format '%s' unknown\n", argv[3]);
return 1;
}
-
- io_generic dest_io;
- dest_io.file = f;
- dest_io.procs = &stdio_ioprocs_noclose;
- dest_io.filler = 0xff;
-
- if(!dest_format->save(&dest_io, variants, &image)) {
- fprintf(stderr, "Error: writing output file as '%s' failed\n", dest_format->name());
+ if(!create_fs->m_manager->can_format()) {
+ fprintf(stderr, "Error: Floppy creation format '%s' does not support creating new images\n", argv[3]);
return 1;
}
- fclose((FILE *)dest_io.file);
+ fs_meta_data meta;
+ image_handler ih;
+ ih.set_on_disk_path(argv[4]);
- return 0;
+ ih.floppy_create(create_fs, meta);
+ return ih.floppy_save(dest_format);
}
static void dir_scan(u32 depth, filesystem_t::dir_t dir, std::vector<std::vector<std::string>> &entries, const std::unordered_map<fs_meta_name, size_t> &nmap, size_t nc, const std::vector<fs_meta_description> &dmetad, const std::vector<fs_meta_description> &fmetad)
@@ -514,10 +260,10 @@ static void dir_scan(u32 depth, filesystem_t::dir_t dir, std::vector<std::vector
auto subdir = dir.dir_get(c.m_key);
auto meta = subdir.metadata();
for(const auto &m : dmetad) {
- if(meta.find(m.m_name) == meta.end())
+ if(!meta.has(m.m_name))
continue;
size_t slot = nmap.find(m.m_name)->second;
- std::string val = fs_meta_to_string(m.m_type, meta.find(m.m_name)->second);
+ std::string val = fs_meta::to_string(m.m_type, meta.get(m.m_name));
if(slot == 0)
val = head + "dir " + val;
entries[id][slot] = val;
@@ -530,10 +276,10 @@ static void dir_scan(u32 depth, filesystem_t::dir_t dir, std::vector<std::vector
auto file = dir.file_get(c.m_key);
auto meta = file.metadata();
for(const auto &m : fmetad) {
- if(meta.find(m.m_name) == meta.end())
+ if(!meta.has(m.m_name))
continue;
size_t slot = nmap.find(m.m_name)->second;
- std::string val = fs_meta_to_string(m.m_type, meta.find(m.m_name)->second);
+ std::string val = fs_meta::to_string(m.m_type, meta.get(m.m_name));
if(slot == 0)
val = head + (c.m_type == fs_dir_entry_type::system_file ? "sys " : "file ") + val;
entries[id][slot] = val;
@@ -544,18 +290,18 @@ static void dir_scan(u32 depth, filesystem_t::dir_t dir, std::vector<std::vector
}
}
-static int generic_dir(const filesystem_manager_t *fm, fsblk_t &blockdev)
+static int generic_dir(image_handler &ih)
{
- auto load_fs = fm->mount(blockdev);
- auto vmetad = fm->volume_meta_description();
- auto fmetad = fm->file_meta_description();
- auto dmetad = fm->directory_meta_description();
+ auto [fsm, fs] = ih.get_fs();
+ auto vmetad = fsm->volume_meta_description();
+ auto fmetad = fsm->file_meta_description();
+ auto dmetad = fsm->directory_meta_description();
- auto vmeta = load_fs->metadata();
+ auto vmeta = fs->metadata();
if(!vmeta.empty()) {
std::string vinf = "Volume:";
for(const auto &e : vmetad)
- vinf += util::string_format(" %s=%s", fs_meta_get_name(e.m_name), fs_meta_to_string(e.m_type, vmeta[e.m_name]));
+ vinf += util::string_format(" %s=%s", fs_meta_data::entry_name(e.m_name), fs_meta::to_string(e.m_type, vmeta.get(e.m_name)));
printf("%s\n\n", vinf.c_str());
}
@@ -572,12 +318,12 @@ static int generic_dir(const filesystem_manager_t *fm, fsblk_t &blockdev)
for(size_t i = 0; i != names.size(); i++)
nmap[names[i]] = i;
- auto root = load_fs->root();
+ auto root = fs->root();
std::vector<std::vector<std::string>> entries;
entries.resize(1);
for(fs_meta_name n : names)
- entries[0].push_back(fs_meta_get_name(n));
+ entries[0].push_back(fs_meta_data::entry_name(n));
dir_scan(0, root, entries, nmap, names.size(), dmetad, fmetad);
@@ -596,77 +342,61 @@ static int generic_dir(const filesystem_manager_t *fm, fsblk_t &blockdev)
}
printf("%s\n", l.c_str());
}
-
+
return 0;
}
static int flopdir(int argc, char *argv[])
{
- if (argc!=5) {
+ if(argc!=5) {
fprintf(stderr, "Incorrect number of arguments.\n\n");
display_usage();
return 1;
}
- auto format = find_format_by_name(argv[2]);
- if(!format) {
- fprintf(stderr, "Error: Format '%s' unknown\n", argv[3]);
+ image_handler ih;
+ ih.set_on_disk_path(argv[4]);
+
+ const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
+ if(!source_format)
return 1;
- }
- auto fs = find_fs_by_name(argv[3]);
+ auto fs = formats.find_filesystem_format_by_key(argv[3]);
if(!fs) {
- fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[2]);
+ fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[3]);
return 1;
}
if(!fs->m_manager || !fs->m_manager->can_read()) {
- fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[2]);
+ fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[3]);
return 1;
}
- char msg[4096];
- sprintf(msg, "Error opening %s for reading", argv[4]);
- FILE *f = fopen(argv[4], "rb");
- if (!f) {
- perror(msg);
+ if(ih.floppy_load(source_format)) {
+ fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- io_generic io;
- io.file = f;
- io.procs = &stdio_ioprocs_noclose;
- io.filler = 0xff;
- floppy_image image(84, 2, floppy_image::FF_UNKNOWN);
- if(!format->load(&io, floppy_image::FF_UNKNOWN, variants, &image)) {
- fprintf(stderr, "Error: parsing input file as '%s' failed\n", format->name());
+ if(ih.floppy_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
- std::vector<u8> img;
- auto iog = ram_open(img);
- auto load_format = fs->m_type();
- load_format->save(iog, variants, &image);
- delete load_format;
- delete iog;
-
- fsblk_vec_t blockdev(img);
- return generic_dir(fs->m_manager, blockdev);
-
- return 0;
+ return generic_dir(ih);
}
-// Should use chd&friends instead, but one thing at a time
-
static int hddir(int argc, char *argv[])
{
- if (argc!=4) {
+ if(argc!=4) {
fprintf(stderr, "Incorrect number of arguments.\n\n");
display_usage();
return 1;
}
- auto fs = find_fs_by_name(argv[2]);
+ image_handler ih;
+ ih.set_on_disk_path(argv[3]);
+
+ auto fs = formats.find_filesystem_format_by_key(argv[2]);
if(!fs) {
fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[2]);
return 1;
@@ -677,87 +407,147 @@ static int hddir(int argc, char *argv[])
return 1;
}
- char msg[4096];
- sprintf(msg, "Error opening %s for reading", argv[3]);
- FILE *f = fopen(argv[3], "rb");
- if (!f) {
- perror(msg);
+ if(ih.hd_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
+ return 1;
+ }
+
+ return generic_dir(ih);
+}
+
+
+static int generic_read(image_handler &ih, const char *srcpath, const char *dstpath)
+{
+ auto [fsm, fs] = ih.get_fs();
+
+ std::vector<std::string> path = ih.path_split(srcpath);
+
+ auto dir = fs->root();
+ std::string apath;
+ for(unsigned int i = 0; i < path.size() - 1; i++) {
+ auto c = dir.contents();
+ unsigned int j;
+ for(j = 0; j != c.size(); j++)
+ if(c[j].m_name == path[i])
+ break;
+ if(j == c.size()) {
+ fprintf(stderr, "Error: directory %s%c%s not found\n", apath.c_str(), fsm->directory_separator(), path[i].c_str());
+ return 1;
+ }
+ if(c[j].m_type != fs_dir_entry_type::dir) {
+ fprintf(stderr, "Error: %s%c%s is not a directory\n", apath.c_str(), fsm->directory_separator(), path[i].c_str());
+ return 1;
+ }
+ dir = dir.dir_get(c[j].m_key);
+ apath += fsm->directory_separator() + path[i];
+ }
+
+ auto c = dir.contents();
+ unsigned int j;
+ for(j = 0; j != c.size(); j++)
+ if(c[j].m_name == path.back())
+ break;
+ if(j == c.size()) {
+ fprintf(stderr, "Error: file %s%c%s not found\n", apath.c_str(), fsm->directory_separator(), path.back().c_str());
+ return 1;
+ }
+ auto file = dir.file_get(c[j].m_key);
+ auto meta = file.metadata();
+
+ if(!meta.has(fs_meta_name::length)) {
+ fprintf(stderr, "Error: %s%c%s is not a readable file\n", apath.c_str(), fsm->directory_separator(), path.back().c_str());
return 1;
}
- fseek(f, 0, SEEK_END);
- size_t size = ftell(f);
- rewind(f);
- std::vector<u8> img(size);
- fread(img.data(), size, 1, f);
- fclose(f);
- fsblk_vec_t blockdev(img);
- return generic_dir(fs->m_manager, blockdev);
+ image_handler::fsave(dstpath, file.read_all());
+
+ bool has_rsrc = fsm->has_rsrc() && meta.has(fs_meta_name::rsrc_length);
+
+ if(has_rsrc)
+ image_handler::fsave_rsrc(image_handler::path_make_rsrc(dstpath), file.rsrc_read_all());
+
+ return 0;
}
static int flopread(int argc, char *argv[])
{
- if (argc!=7) {
+ if(argc!=7) {
fprintf(stderr, "Incorrect number of arguments.\n\n");
display_usage();
return 1;
}
- auto format = find_format_by_name(argv[2]);
- if(!format) {
- fprintf(stderr, "Error: Format '%s' unknown\n", argv[2]);
+ image_handler ih;
+ ih.set_on_disk_path(argv[4]);
+
+ const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
+ if(!source_format)
return 1;
- }
- auto fs = find_fs_by_name(argv[3]);
+ auto fs = formats.find_filesystem_format_by_key(argv[3]);
if(!fs) {
fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[3]);
return 1;
}
if(!fs->m_manager || !fs->m_manager->can_read()) {
- fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[2]);
+ fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[3]);
+ return 1;
+ }
+
+ if(ih.floppy_load(source_format)) {
+ fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
+ return 1;
+ }
+
+ if(ih.floppy_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
+ return 1;
+ }
+
+ return generic_read(ih, argv[5], argv[6]);
+}
+
+static int hdread(int argc, char *argv[])
+{
+ if(argc!=6) {
+ fprintf(stderr, "Incorrect number of arguments.\n\n");
+ display_usage();
+ return 1;
+ }
+
+ image_handler ih;
+ ih.set_on_disk_path(argv[3]);
+
+ auto fs = formats.find_filesystem_format_by_key(argv[2]);
+ if(!fs) {
+ fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[2]);
return 1;
}
- char msg[4096];
- sprintf(msg, "Error opening %s for reading", argv[4]);
- FILE *f = fopen(argv[4], "rb");
- if (!f) {
- perror(msg);
+ if(!fs->m_manager || !fs->m_manager->can_read()) {
+ fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[2]);
return 1;
}
- io_generic io;
- io.file = f;
- io.procs = &stdio_ioprocs_noclose;
- io.filler = 0xff;
- floppy_image image(84, 2, floppy_image::FF_UNKNOWN);
- if(!format->load(&io, floppy_image::FF_UNKNOWN, variants, &image)) {
- fprintf(stderr, "Error: parsing input file as '%s' failed\n", format->name());
+ if(ih.hd_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
- std::vector<u8> img;
- auto iog = ram_open(img);
- auto load_format = fs->m_type();
- load_format->save(iog, variants, &image);
- delete load_format;
- delete iog;
+ return generic_read(ih, argv[4], argv[5]);
+}
+
- fsblk_vec_t blockdev(img);
- auto load_fs = fs->m_manager->mount(blockdev);
- std::string opath = argv[5];
- std::vector<std::string> path;
- if(fs->m_manager->has_subdirectories()) {
- abort();
+static int generic_write(image_handler &ih, const char *srcpath, const char *dstpath)
+{
+ auto [fsm, fs] = ih.get_fs();
- } else
- path.push_back(opath);
+ std::vector<std::string> path = ih.path_split(dstpath);
- auto dir = load_fs->root();
+ auto dir = fs->root();
std::string apath;
for(unsigned int i = 0; i < path.size() - 1; i++) {
auto c = dir.contents();
@@ -766,72 +556,147 @@ static int flopread(int argc, char *argv[])
if(c[j].m_name == path[i])
break;
if(j == c.size()) {
- fprintf(stderr, "Error: directory %s%c%s not found\n", apath.c_str(), fs->m_manager->directory_separator(), path[i].c_str());
+ fprintf(stderr, "Error: directory %s%c%s not found\n", apath.c_str(), fsm->directory_separator(), path[i].c_str());
return 1;
}
if(c[j].m_type != fs_dir_entry_type::dir) {
- fprintf(stderr, "Error: %s%c%s is not a directory\n", apath.c_str(), fs->m_manager->directory_separator(), path[i].c_str());
+ fprintf(stderr, "Error: %s%c%s is not a directory\n", apath.c_str(), fsm->directory_separator(), path[i].c_str());
return 1;
}
dir = dir.dir_get(c[j].m_key);
- apath += fs->m_manager->directory_separator() + path[i];
+ apath += fsm->directory_separator() + path[i];
}
- auto c = dir.contents();
- unsigned int j;
- for(j = 0; j != c.size(); j++)
- if(c[j].m_name == path.back())
- break;
- if(j == c.size()) {
- fprintf(stderr, "Error: file %s%c%s not found\n", apath.c_str(), fs->m_manager->directory_separator(), path.back().c_str());
+
+ fs_meta_data meta;
+ meta.set(fs_meta_name::name, path.back());
+
+ auto file = dir.file_create(meta);
+ auto filedata = image_handler::fload(srcpath);
+ file.replace(filedata);
+
+ bool has_rsrc = fsm->has_rsrc();
+
+ if(has_rsrc) {
+ std::string rpath = image_handler::path_make_rsrc(dstpath);
+
+ if(image_handler::fexists(rpath)) {
+ filedata = image_handler::fload_rsrc(rpath);
+ if(!filedata.empty())
+ file.rsrc_replace(filedata);
+ }
+ }
+
+ return 0;
+}
+
+
+static int flopwrite(int argc, char *argv[])
+{
+ if(argc!=7) {
+ fprintf(stderr, "Incorrect number of arguments.\n\n");
+ display_usage();
return 1;
}
- auto file = dir.file_get(c[j].m_key);
- auto meta = file.metadata();
- if(meta.find(fs_meta_name::length) == meta.end()) {
- fprintf(stderr, "Error: %s%c%s is not a readable file\n", apath.c_str(), fs->m_manager->directory_separator(), path.back().c_str());
+ image_handler ih;
+ ih.set_on_disk_path(argv[4]);
+
+ const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
+ if(!source_format)
+ return 1;
+
+ auto fs = formats.find_filesystem_format_by_key(argv[3]);
+ if(!fs) {
+ fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[3]);
return 1;
}
- auto filedata = file.read_all();
+ if(!fs->m_manager || !fs->m_manager->can_read()) {
+ fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[3]);
+ return 1;
+ }
- sprintf(msg, "Error opening %s for writing", argv[6]);
- auto fo = fopen(argv[6], "wb");
- if (!fo) {
- perror(msg);
+ if(ih.floppy_load(source_format)) {
+ fprintf(stderr, "Error: Loading as format '%s' failed\n", source_format->m_format->name());
return 1;
}
- fwrite(filedata.data(), filedata.size(), 1, fo);
- fclose(fo);
+ if(ih.floppy_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
+ return 1;
+ }
+
+ int err = generic_write(ih, argv[5], argv[6]);
+ if(err)
+ return err;
+ ih.fs_to_floppy();
+ if(ih.floppy_save(source_format))
+ return 1;
+
return 0;
}
+static int hdwrite(int argc, char *argv[])
+{
+ if(argc!=6) {
+ fprintf(stderr, "Incorrect number of arguments.\n\n");
+ display_usage();
+ return 1;
+ }
+
+
+ image_handler ih;
+ ih.set_on_disk_path(argv[3]);
+
+ auto fs = formats.find_filesystem_format_by_key(argv[2]);
+ if(!fs) {
+ fprintf(stderr, "Error: Filesystem '%s' unknown\n", argv[2]);
+ return 1;
+ }
+
+ if(!fs->m_manager || !fs->m_manager->can_read()) {
+ fprintf(stderr, "Error: Filesystem '%s' does not implement reading\n", argv[2]);
+ return 1;
+ }
+
+ if(ih.hd_mount_fs(fs)) {
+ fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
+ return 1;
+ }
+
+ return generic_write(ih, argv[4], argv[5]);
+}
int CLIB_DECL main(int argc, char *argv[])
{
- init_formats();
+ formats.init();
- if (argc == 1) {
+ if(argc == 1) {
display_full_usage();
return 0;
}
try {
- if (!core_stricmp("identify", argv[1]))
+ if(!core_stricmp("identify", argv[1]))
return identify(argc, argv);
- else if (!core_stricmp("convert", argv[1]))
- return convert(argc, argv);
- else if (!core_stricmp("create", argv[1]))
- return create(argc, argv);
- else if (!core_stricmp("flopdir", argv[1]))
+ else if(!core_stricmp("flopconvert", argv[1]))
+ return flopconvert(argc, argv);
+ else if(!core_stricmp("flopcreate", argv[1]))
+ return flopcreate(argc, argv);
+ else if(!core_stricmp("flopdir", argv[1]))
return flopdir(argc, argv);
- else if (!core_stricmp("flopread", argv[1]))
+ else if(!core_stricmp("flopread", argv[1]))
return flopread(argc, argv);
- else if (!core_stricmp("hddir", argv[1]))
+ else if(!core_stricmp("flopwrite", argv[1]))
+ return flopwrite(argc, argv);
+ else if(!core_stricmp("hddir", argv[1]))
return hddir(argc, argv);
+ else if(!core_stricmp("hdread", argv[1]))
+ return hdread(argc, argv);
+ else if(!core_stricmp("hdwrite", argv[1]))
+ return hdwrite(argc, argv);
else {
fprintf(stderr, "Unknown command '%s'\n\n", argv[1]);
display_usage();
diff --git a/src/tools/image_handler.cpp b/src/tools/image_handler.cpp
new file mode 100644
index 00000000000..a1bec2d34ef
--- /dev/null
+++ b/src/tools/image_handler.cpp
@@ -0,0 +1,481 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// Image generic handler class and helpers
+
+#include "image_handler.h"
+#include "formats/all.h"
+#include "formats/fsblk_vec.h"
+#include "formats/fs_unformatted.h"
+
+// Fatalerror implementation
+
+emu_fatalerror::emu_fatalerror(util::format_argument_pack<std::ostream> const &args)
+ : emu_fatalerror(0, args)
+{
+}
+
+emu_fatalerror::emu_fatalerror(int _exitcode, util::format_argument_pack<std::ostream> const &args)
+ : m_text(util::string_format(args))
+ , m_code(_exitcode)
+{
+}
+
+// io_generic from vector<u8>
+
+static void ram_closeproc(void *file)
+{
+ auto f = (iofile_ram *)file;
+ delete f;
+}
+
+static int ram_seekproc(void *file, int64_t offset, int whence)
+{
+ auto f = (iofile_ram *)file;
+ switch(whence) {
+ case SEEK_SET: f->pos = offset; break;
+ case SEEK_CUR: f->pos += offset; break;
+ case SEEK_END: f->pos = f->data->size() + offset; break;
+ }
+
+ if(whence == SEEK_CUR)
+ f->pos = std::max<int64_t>(f->pos, 0);
+ else
+ f->pos = std::clamp<int64_t>(f->pos, 0, f->data->size());
+ return 0;
+}
+
+static size_t ram_readproc(void *file, void *buffer, size_t length)
+{
+ auto f = (iofile_ram *)file;
+ size_t l = std::min<std::common_type_t<size_t, int64_t> >(length, f->data->size() - f->pos);
+ memcpy(buffer, f->data->data() + f->pos, l);
+ return l;
+}
+
+static size_t ram_writeproc(void *file, const void *buffer, size_t length)
+{
+ auto f = (iofile_ram *)file;
+ size_t l = std::max<std::common_type_t<size_t, int64_t> >(f->pos + length, f->data->size());
+ f->data->resize(l);
+ memcpy(f->data->data() + f->pos, buffer, length);
+ return length;
+}
+
+static uint64_t ram_filesizeproc(void *file)
+{
+ auto f = (iofile_ram *)file;
+ return f->data->size();
+}
+
+
+static const io_procs iop_ram = {
+ ram_closeproc,
+ ram_seekproc,
+ ram_readproc,
+ ram_writeproc,
+ ram_filesizeproc
+};
+
+io_generic *ram_open(std::vector<u8> &data)
+{
+ iofile_ram *f = new iofile_ram;
+ f->data = &data;
+ f->pos = 0;
+ return new io_generic({ &iop_ram, f });
+}
+
+
+// Format enumeration
+
+namespace {
+ struct enumerator : public mame_formats_enumerator {
+ formats_table *m_table;
+ std::string m_category;
+
+ enumerator(formats_table *table) : mame_formats_enumerator(), m_table(table), m_category("None") {}
+
+ virtual ~enumerator() = default;
+ virtual void add(const cassette_image::Format *const *formats) {}
+
+ virtual void category(const char *name) {
+ m_category = name;
+ }
+
+ virtual void add(floppy_format_type format) {
+ m_table->floppy_format_infos.emplace_back(std::make_unique<floppy_format_info>(format(), m_category));
+ }
+
+ virtual void add(const filesystem_manager_t &fs) {
+ m_table->filesystem_formats.emplace_back(std::make_unique<filesystem_format>(&fs, m_category));
+ }
+ };
+
+ struct fs_enum : public filesystem_manager_t::floppy_enumerator {
+ filesystem_format *m_format;
+
+ fs_enum(filesystem_format *format) : m_format(format) {}
+
+ virtual void add(floppy_format_type type, u32 image_size, const char *name, const char *description) override {
+ m_format->m_floppy = true;
+ m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(m_format->m_manager, type, image_size, name, description));
+ }
+
+ virtual void add_raw(const char *name, u32 key, const char *description) override {
+ m_format->m_floppy_raw = true;
+ m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(name, key, description));
+ }
+ };
+}
+
+void formats_table::init()
+{
+ std::vector<uint32_t> variants;
+
+ enumerator en(this);
+ mame_formats_full_list(en);
+
+ for(auto &f : filesystem_formats) {
+ fs_enum fen(f.get());
+ f->m_manager->enumerate_f(fen, floppy_image::FF_UNKNOWN, variants);
+ }
+
+ for(auto &f : floppy_format_infos) {
+ auto *ff = f.get();
+ std::string key = ff->m_format->name();
+ auto i = floppy_format_info_by_key.find(key);
+ if(i != floppy_format_info_by_key.end()) {
+ fprintf(stderr, "Collision on floppy format name %s between \"%s\" and \"%s\".\n",
+ ff->m_format->name(),
+ ff->m_format->description(),
+ i->second->m_format->description());
+ exit(1);
+ }
+
+ floppy_format_info_by_key[key] = ff;
+ floppy_format_info_by_category[ff->m_category].push_back(ff);
+ }
+
+ for(auto &f : filesystem_formats) {
+ auto *ff = f.get();
+ std::string key = ff->m_manager->name();
+ auto i = filesystem_format_by_key.find(key);
+ if(i != filesystem_format_by_key.end()) {
+ fprintf(stderr, "Collision on filesystem name %s between \"%s\" and \"%s\".\n",
+ ff->m_manager->name(),
+ ff->m_manager->description(),
+ i->second->m_manager->description());
+ exit(1);
+ }
+
+ filesystem_format_by_key[key] = ff;
+ filesystem_format_by_category[ff->m_category].push_back(ff);
+
+ for(auto &f2 : ff->m_floppy_create) {
+ auto *ff2 = f2.get();
+ key = ff2->m_name;
+ auto i = floppy_create_info_by_key.find(key);
+ if(i != floppy_create_info_by_key.end()) {
+ fprintf(stderr, "Collision on floppy create name %s between \"%s\" and \"%s\".\n",
+ ff2->m_name,
+ ff2->m_description,
+ i->second->m_description);
+ exit(1);
+ }
+
+ floppy_create_info_by_key[key] = ff2;
+ }
+ }
+}
+
+const floppy_format_info *formats_table::find_floppy_format_info_by_key(const std::string &key) const
+{
+ auto i = floppy_format_info_by_key.find(key);
+ return i == floppy_format_info_by_key.end() ? nullptr : i->second;
+}
+
+const filesystem_format *formats_table::find_filesystem_format_by_key(const std::string &key) const
+{
+ auto i = filesystem_format_by_key.find(key);
+ return i == filesystem_format_by_key.end() ? nullptr : i->second;
+}
+
+const floppy_create_info *formats_table::find_floppy_create_info_by_key(const std::string &key) const
+{
+ auto i = floppy_create_info_by_key.find(key);
+ return i == floppy_create_info_by_key.end() ? nullptr : i->second;
+}
+
+
+// Image handling
+
+std::vector<u8> image_handler::fload(std::string path)
+{
+ char msg[4096];
+ sprintf(msg, "Error opening %s for reading", path.c_str());
+ auto fi = fopen(path.c_str(), "rb");
+ if(!fi) {
+ perror(msg);
+ exit(1);
+ }
+ fseek(fi, 0, SEEK_END);
+ long size = ftell(fi);
+ std::vector<u8> filedata(size);
+ fseek(fi, 0, SEEK_SET);
+ fread(filedata.data(), filedata.size(), 1, fi);
+ fclose(fi);
+
+ return filedata;
+}
+
+std::vector<u8> image_handler::fload_rsrc(std::string path)
+{
+ auto filedata = fload(path);
+ const u8 *head = filedata.data();
+
+ if(filesystem_t::r32b(head+0x00) == 0x00051607 &&
+ filesystem_t::r32b(head+0x04) == 0x00020000) {
+ u16 nent = filesystem_t::r16b(head+0x18);
+ for(u16 i=0; i != nent; i++) {
+ const u8 *e = head + 12*i;
+ if(filesystem_t::r32b(e+0) == 2) {
+ u32 start = filesystem_t::r32b(e+4);
+ u32 len = filesystem_t::r32b(e+8);
+ filedata.erase(filedata.begin(), filedata.begin() + start);
+ filedata.erase(filedata.begin() + len, filedata.end());
+ return filedata;
+ }
+ }
+ }
+ filedata.clear();
+ return filedata;
+}
+
+void image_handler::fsave(std::string path, const std::vector<u8> &data)
+{
+ char msg[4096];
+ sprintf(msg, "Error opening %s for writing", path.c_str());
+ auto fo = fopen(path.c_str(), "wb");
+ if(!fo) {
+ perror(msg);
+ exit(1);
+ }
+
+ fwrite(data.data(), data.size(), 1, fo);
+ fclose(fo);
+}
+
+void image_handler::fsave_rsrc(std::string path, const std::vector<u8> &data)
+{
+ u8 head[0x2a];
+
+ filesystem_t::w32b(head+0x00, 0x00051607); // Magic
+ filesystem_t::w32b(head+0x04, 0x00020000); // Version
+ filesystem_t::fill(head+0x08, 0, 16); // Filler
+ filesystem_t::w16b(head+0x18, 1); // Number of entries
+ filesystem_t::w32b(head+0x1a, 2); // Resource fork
+ filesystem_t::w32b(head+0x22, 0x2a); // Offset in the file
+ filesystem_t::w32b(head+0x26, data.size()); // Length
+
+ char msg[4096];
+ sprintf(msg, "Error opening %s for writing", path.c_str());
+ auto fo = fopen(path.c_str(), "wb");
+ if(!fo) {
+ perror(msg);
+ exit(1);
+ }
+
+ fwrite(head, sizeof(head), 1, fo);
+ fwrite(data.data(), data.size(), 1, fo);
+ fclose(fo);
+}
+
+image_handler::image_handler() : m_floppy_image(84, 2, floppy_image::FF_UNKNOWN)
+{
+}
+
+void image_handler::set_on_disk_path(std::string path)
+{
+ m_on_disk_path = path;
+}
+
+std::vector<std::pair<u8, const floppy_format_info *>> image_handler::identify(const formats_table &formats)
+{
+ std::vector<std::pair<u8, const floppy_format_info *>> res;
+ std::vector<uint32_t> variants;
+
+ std::string msg = util::string_format("Error opening %s for reading", m_on_disk_path);
+ FILE *f = fopen(m_on_disk_path.c_str(), "rb");
+ if (!f) {
+ perror(msg.c_str());
+ return res;
+ }
+
+ io_generic io;
+ io.file = f;
+ io.procs = &stdio_ioprocs_noclose;
+ io.filler = 0xff;
+
+ for(const auto &e : formats.floppy_format_info_by_key) {
+ u8 score = e.second->m_format->identify(&io, floppy_image::FF_UNKNOWN, variants);
+ if(score)
+ res.emplace_back(std::make_pair(score, e.second));
+ }
+
+ fclose(f);
+
+ return res;
+}
+
+bool image_handler::floppy_load(const floppy_format_info *format)
+{
+ std::vector<uint32_t> variants;
+ std::string msg = util::string_format("Error opening %s for reading", m_on_disk_path);
+ FILE *f = fopen(m_on_disk_path.c_str(), "rb");
+ if (!f) {
+ perror(msg.c_str());
+ return true;
+ }
+
+ io_generic io;
+ io.file = f;
+ io.procs = &stdio_ioprocs_noclose;
+ io.filler = 0xff;
+
+ return !format->m_format->load(&io, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+}
+
+bool image_handler::floppy_save(const floppy_format_info *format)
+{
+ std::vector<uint32_t> variants;
+ std::string msg = util::string_format("Error opening %s for writing", m_on_disk_path);
+ FILE *f = fopen(m_on_disk_path.c_str(), "wb");
+ if (!f) {
+ perror(msg.c_str());
+ return true;
+ }
+
+ io_generic io;
+ io.file = f;
+ io.procs = &stdio_ioprocs_noclose;
+ io.filler = 0xff;
+
+ return !format->m_format->save(&io, variants, &m_floppy_image);
+}
+
+void image_handler::floppy_create(const floppy_create_info *format, fs_meta_data meta)
+{
+ if(format->m_type) {
+ std::vector<uint32_t> variants;
+ std::vector<u8> img(format->m_image_size);
+ fsblk_vec_t blockdev(img);
+ auto fs = format->m_manager->mount(blockdev);
+ fs->format(meta);
+
+ auto iog = ram_open(img);
+ auto source_format = format->m_type();
+ source_format->load(iog, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+ delete source_format;
+ delete iog;
+
+ } else
+ fs_unformatted::format(format->m_key, &m_floppy_image);
+}
+
+bool image_handler::floppy_mount_fs(const filesystem_format *format)
+{
+ m_floppy_fs_converter = nullptr;
+ for(const auto &ci : format->m_floppy_create) {
+ if(ci->m_type != m_floppy_fs_converter) {
+ std::vector<uint32_t> variants;
+ m_floppy_fs_converter = ci->m_type;
+ m_sector_image.clear();
+ auto iog = ram_open(m_sector_image);
+ auto load_format = m_floppy_fs_converter();
+ load_format->save(iog, variants, &m_floppy_image);
+ delete load_format;
+ delete iog;
+ }
+
+ if(ci->m_image_size == m_sector_image.size())
+ goto success;
+ }
+ m_floppy_fs_converter = nullptr;
+ m_sector_image.clear();
+ return true;
+
+ success:
+ m_fsblk.reset(new fsblk_vec_t(m_sector_image));
+ m_fsm = format->m_manager;
+ m_fs = m_fsm->mount(*m_fsblk);
+ return false;
+}
+
+bool image_handler::hd_mount_fs(const filesystem_format *format)
+{
+ // Should use the chd mechanisms, one thing at a time...
+
+ m_sector_image = fload(m_on_disk_path);
+ m_fsblk.reset(new fsblk_vec_t(m_sector_image));
+ m_fsm = format->m_manager;
+ m_fs = m_fsm->mount(*m_fsblk);
+ return false;
+}
+
+void image_handler::fs_to_floppy()
+{
+ std::vector<uint32_t> variants;
+ auto iog = ram_open(m_sector_image);
+ auto format = m_floppy_fs_converter();
+ format->load(iog, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
+ delete format;
+ delete iog;
+}
+
+std::vector<std::string> image_handler::path_split(std::string path) const
+{
+ std::string opath = path;
+ std::vector<std::string> rpath;
+ if(m_fsm->has_subdirectories()) {
+ std::string element;
+ char sep = m_fsm->directory_separator();
+ for(char c : opath) {
+ if(c == sep) {
+ if(!element.empty()) {
+ rpath.push_back(element);
+ element.clear();
+ }
+ } else
+ element += c;
+ }
+ if(!element.empty())
+ rpath.push_back(element);
+
+ } else
+ rpath.push_back(opath);
+
+ return rpath;
+}
+
+bool image_handler::fexists(std::string path)
+{
+ auto f = fopen(path.c_str(), "rb");
+ if(f != nullptr) {
+ fclose(f);
+ return true;
+ }
+ return false;
+}
+
+
+std::string image_handler::path_make_rsrc(std::string path)
+{
+ auto p = path.end();
+ while(p != path.begin() && p[-1] != '/')
+ p--;
+ std::string rpath(path.begin(), p);
+ rpath += "._";
+ rpath += std::string(p, path.end());
+ return rpath;
+}
+
diff --git a/src/tools/image_handler.h b/src/tools/image_handler.h
new file mode 100644
index 00000000000..bef852aaed6
--- /dev/null
+++ b/src/tools/image_handler.h
@@ -0,0 +1,121 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// Image generic handler class and helpers
+
+#ifndef TOOLS_IMAGE_HANDLER_H
+#define TOOLS_IMAGE_HANDLER_H
+
+#include "../emu/emucore.h"
+#include "formats/fsmgr.h"
+
+#include <map>
+#include <vector>
+#include <memory>
+
+using u8 = uint8_t;
+using u16 = uint16_t;
+using u32 = uint32_t;
+
+struct iofile_ram {
+ std::vector<u8> *data;
+ int64_t pos;
+};
+
+io_generic *ram_open(std::vector<u8> &data);
+
+struct floppy_format_info {
+ floppy_image_format_t *m_format;
+ std::string m_category;
+
+ floppy_format_info(floppy_image_format_t *format, std::string category) : m_format(format), m_category(category) {}
+};
+
+struct floppy_create_info {
+ const filesystem_manager_t *m_manager;
+
+ floppy_format_type m_type;
+ u32 m_image_size;
+ u32 m_key;
+ const char *m_name;
+ const char *m_description;
+
+ floppy_create_info(const filesystem_manager_t *manager, floppy_format_type type, u32 image_size, const char *name, const char *description) :
+ m_manager(manager), m_type(type), m_image_size(image_size), m_key(0), m_name(name), m_description(description)
+ { }
+
+ floppy_create_info(const char *name, u32 key, const char *description) :
+ m_manager(nullptr), m_type(nullptr), m_image_size(0), m_key(key), m_name(name), m_description(description)
+ { }
+};
+
+struct filesystem_format {
+ const filesystem_manager_t *m_manager;
+ std::vector<std::unique_ptr<floppy_create_info>> m_floppy_create;
+ std::string m_category;
+ bool m_floppy, m_floppy_raw, m_hd, m_cd;
+
+ filesystem_format(const filesystem_manager_t *manager, std::string category) : m_manager(manager), m_category(category), m_floppy(false), m_floppy_raw(false), m_hd(false), m_cd(false) {}
+};
+
+struct formats_table {
+ std::vector<std::unique_ptr<floppy_format_info>> floppy_format_infos;
+ std::vector<std::unique_ptr<filesystem_format>> filesystem_formats;
+
+ std::map<std::string, const floppy_format_info *> floppy_format_info_by_key;
+ std::map<std::string, const filesystem_format *> filesystem_format_by_key;
+ std::map<std::string, const floppy_create_info *> floppy_create_info_by_key;
+
+ std::map<std::string, std::vector<const floppy_format_info *>> floppy_format_info_by_category;
+ std::map<std::string, std::vector<const filesystem_format *>> filesystem_format_by_category;
+
+ void init();
+
+ const floppy_format_info *find_floppy_format_info_by_key(const std::string &key) const;
+ const filesystem_format *find_filesystem_format_by_key(const std::string &key) const;
+ const floppy_create_info *find_floppy_create_info_by_key(const std::string &key) const;
+};
+
+class image_handler {
+public:
+ image_handler();
+
+ void set_on_disk_path(std::string path);
+ const std::string &get_on_disk_path() const { return m_on_disk_path; }
+
+ std::vector<std::pair<u8, const floppy_format_info *>> identify(const formats_table &formats);
+
+ bool floppy_load(const floppy_format_info *format);
+ bool floppy_save(const floppy_format_info *format);
+
+ void floppy_create(const floppy_create_info *format, fs_meta_data meta);
+ bool floppy_mount_fs(const filesystem_format *format);
+ bool hd_mount_fs(const filesystem_format *format);
+ void fs_to_floppy();
+
+ std::pair<const filesystem_manager_t *, filesystem_t *> get_fs() const { return std::make_pair(m_fsm, m_fs.get()); }
+
+ std::vector<std::string> path_split(std::string path) const;
+
+ static std::vector<u8> fload(std::string path);
+ static std::vector<u8> fload_rsrc(std::string path);
+ static void fsave(std::string path, const std::vector<u8> &data);
+ static void fsave_rsrc(std::string path, const std::vector<u8> &data);
+ static bool fexists(std::string path);
+ static std::string path_make_rsrc(std::string path);
+
+private:
+ std::string m_on_disk_path;
+
+ floppy_image m_floppy_image;
+
+ floppy_format_type m_floppy_fs_converter;
+ std::vector<u8> m_sector_image;
+ std::unique_ptr<fsblk_t> m_fsblk;
+ const filesystem_manager_t *m_fsm;
+ std::unique_ptr<filesystem_t> m_fs;
+
+};
+
+#endif
+
diff --git a/src/tools/imgtool/formats/vt_dsk.cpp b/src/tools/imgtool/formats/vt_dsk_legacy.cpp
index c29d08ba88b..0d68db7cb33 100644
--- a/src/tools/imgtool/formats/vt_dsk.cpp
+++ b/src/tools/imgtool/formats/vt_dsk_legacy.cpp
@@ -2,16 +2,16 @@
// copyright-holders:Juergen Buchmueller
/*********************************************************************
- formats/vt_dsk.c
+ formats/vt_dsk_legacy.cpp
- VTech Laser/VZ disk images
+ VTech Laser/VZ disk images (legacy support)
*********************************************************************/
#include <cstdio>
#include <cstring>
#include <cassert>
-#include "formats/vt_dsk.h"
+#include "formats/vt_dsk_legacy.h"
#include "formats/basicdsk.h"
static FLOPPY_IDENTIFY(vz_identify)
diff --git a/src/tools/imgtool/formats/vt_dsk.h b/src/tools/imgtool/formats/vt_dsk_legacy.h
index a3f9a86b44e..3f31b107f4e 100644
--- a/src/tools/imgtool/formats/vt_dsk.h
+++ b/src/tools/imgtool/formats/vt_dsk_legacy.h
@@ -2,17 +2,17 @@
// copyright-holders:Juergen Buchmueller
/*********************************************************************
- formats/vt_dsk.h
+ formats/vt_dsk_legacy.h
- Tandy Color Computer / Dragon disk images
+ VTech Laser/VZ disk images (legacy support)
*********************************************************************/
-#ifndef VT_DSK_H
-#define VT_DSK_H
+#ifndef VT_DSK_LEGACY_H
+#define VT_DSK_LEGACY_H
#include "formats/flopimg.h"
LEGACY_FLOPPY_OPTIONS_EXTERN(vz);
-#endif /* VT_DSK_H */
+#endif /* VT_DSK_LEGACY_H */
diff --git a/src/tools/imgtool/modules/vzdos.cpp b/src/tools/imgtool/modules/vzdos.cpp
index 4ccbc801253..135df100119 100644
--- a/src/tools/imgtool/modules/vzdos.cpp
+++ b/src/tools/imgtool/modules/vzdos.cpp
@@ -14,7 +14,7 @@
#include <cmath>
#include "imgtool.h"
#include "formats/imageutl.h"
-#include "formats/vt_dsk.h"
+#include "formats/vt_dsk_legacy.h"
#include "iflopimg.h"
/*
diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp
index 4a2aa8c9e54..c23945ab01e 100644
--- a/src/tools/unidasm.cpp
+++ b/src/tools/unidasm.cpp
@@ -98,6 +98,7 @@ using util::BIT;
#include "cpu/m68000/m68kdasm.h"
#include "cpu/m6805/6805dasm.h"
#include "cpu/m6809/6x09dasm.h"
+#include "cpu/m68hc16/cpu16dasm.h"
#include "cpu/m88000/m88000d.h"
#include "cpu/mb86233/mb86233d.h"
#include "cpu/mb86235/mb86235d.h"
@@ -357,6 +358,7 @@ struct options
const dasm_table_entry *dasm;
uint32_t skip;
uint32_t count;
+ bool octal;
};
static const dasm_table_entry dasm_table[] =
@@ -395,6 +397,7 @@ static const dasm_table_entry dasm_table[] =
{ "cop444", le, 0, []() -> util::disasm_interface * { return new cop444_disassembler; } },
{ "cop424", le, 0, []() -> util::disasm_interface * { return new cop424_disassembler; } },
{ "cp1610", be, -1, []() -> util::disasm_interface * { return new cp1610_disassembler; } },
+ { "cpu16", be, 0, []() -> util::disasm_interface * { return new cpu16_disassembler; } },
{ "cr16a", le, 0, []() -> util::disasm_interface * { return new cr16a_disassembler; } },
{ "cr16b", le, 0, []() -> util::disasm_interface * { return new cr16b_disassembler; } },
{ "cr16c", le, 0, []() -> util::disasm_interface * { return new cr16c_disassembler; } },
@@ -426,6 +429,7 @@ static const dasm_table_entry dasm_table[] =
{ "h16", be, 0, []() -> util::disasm_interface * { return new h16_disassembler; } },
{ "hc11", be, 0, []() -> util::disasm_interface * { return new hc11_disassembler; } },
{ "hcd62121", le, 0, []() -> util::disasm_interface * { return new hcd62121_disassembler; } },
+ { "hd6120", be, -1, []() -> util::disasm_interface * { return new hd6120_disassembler; } },
{ "hd61700", le, -1, []() -> util::disasm_interface * { return new hd61700_disassembler; } },
{ "hd6301", be, 0, []() -> util::disasm_interface * { return new m680x_disassembler(6301); } },
{ "hd6309", be, 0, []() -> util::disasm_interface * { return new hd6309_disassembler; } },
@@ -1110,6 +1114,8 @@ static int parse_options(int argc, char *argv[], options *opts)
opts->upper = true;
else if(tolower((uint8_t)curarg[1]) == 'x')
opts->xchbytes = true;
+ else if(tolower((uint8_t)curarg[1]) == 'o')
+ opts->octal = true;
else
goto usage;
@@ -1183,7 +1189,7 @@ static int parse_options(int argc, char *argv[], options *opts)
usage:
printf("Usage: %s <filename> -arch <architecture> [-basepc <pc>] \n", argv[0]);
printf(" [-mode <n>] [-norawbytes] [-xchbytes] [-flipped] [-upper] [-lower]\n");
- printf(" [-skip <n>] [-count <n>]\n");
+ printf(" [-skip <n>] [-count <n>] [-octal]\n");
printf("\n");
printf("Supported architectures:");
const int colwidth = 1 + std::strlen(std::max_element(std::begin(dasm_table), std::end(dasm_table), [](const dasm_table_entry &a, const dasm_table_entry &b) { return std::strlen(a.name) < std::strlen(b.name); })->name);
@@ -1350,7 +1356,7 @@ int main(int argc, char *argv[])
// pc to string conversion
std::function<std::string (offs_t pc)> pc_to_string;
int aw = 32 - count_leading_zeros(pc_mask);
- bool is_octal = false; // Parameter? Per-cpu config?
+ bool is_octal = opts.octal; // Parameter? Per-cpu config?
if((flags & util::disasm_interface::PAGED2LEVEL) == util::disasm_interface::PAGED2LEVEL) {
int bits1 = disasm->page_address_bits();
int bits2 = disasm->page2_address_bits();
@@ -1471,62 +1477,122 @@ int main(int argc, char *argv[])
max_len >>= granularity_shift;
std::function<std::string (offs_t pc, offs_t size)> dump_raw_bytes;
- switch(granularity) {
- case 1:
- dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
- std::string result = "";
- for(offs_t i=0; i != size; i++) {
- if(i)
- result += ' ';
- result += util::string_format("%02x", base_buffer.r8(pc));
- pc = next_pc(pc, step);
- }
- return result;
- };
- max_len = (max_len * 3) - 1;
- break;
-
- case 2:
- dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
- std::string result = "";
- for(offs_t i=0; i != size; i++) {
- if(i)
- result += ' ';
- result += util::string_format("%04x", base_buffer.r16(pc));
- pc = next_pc(pc, step);
- }
- return result;
- };
- max_len = (max_len * 5) - 1;
- break;
-
- case 4:
- dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
- std::string result = "";
- for(offs_t i=0; i != size; i++) {
- if(i)
- result += ' ';
- result += util::string_format("%08x", base_buffer.r32(pc));
- pc = next_pc(pc, step);
- }
- return result;
- };
- max_len = (max_len * 9) - 1;
- break;
-
- case 8:
- dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
- std::string result = "";
- for(offs_t i=0; i != size; i++) {
- if(i)
- result += ' ';
- result += util::string_format("%016x", base_buffer.r64(pc));
- pc = next_pc(pc, step);
- }
- return result;
- };
- max_len = (max_len * 17) - 1;
- break;
+ if(is_octal) {
+ switch(granularity) {
+ case 1:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%03o", base_buffer.r8(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 4) - 1;
+ break;
+
+ case 2:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%06o", base_buffer.r16(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 7) - 1;
+ break;
+
+ case 4:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%011o", base_buffer.r32(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 12) - 1;
+ break;
+
+ case 8:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%022o", base_buffer.r64(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 23) - 1;
+ break;
+ }
+ } else {
+ switch(granularity) {
+ case 1:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%02x", base_buffer.r8(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 3) - 1;
+ break;
+
+ case 2:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%04x", base_buffer.r16(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 5) - 1;
+ break;
+
+ case 4:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%08x", base_buffer.r32(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 9) - 1;
+ break;
+
+ case 8:
+ dump_raw_bytes = [step = disasm->opcode_alignment(), next_pc, base_buffer](offs_t pc, offs_t size) -> std::string {
+ std::string result = "";
+ for(offs_t i=0; i != size; i++) {
+ if(i)
+ result += ' ';
+ result += util::string_format("%016x", base_buffer.r64(pc));
+ pc = next_pc(pc, step);
+ }
+ return result;
+ };
+ max_len = (max_len * 17) - 1;
+ break;
+ }
}
if(opts.flipped) {